Scripts:Cursed Shield

Jump to navigation Jump to search

In Final Fantasy VI, there's an item called the "Cursed Shield." If you have it equipped for a ridiculous number of battles (255, I think), then it will become uncursed and turn into the most powerful shield in the game. This plotscript duplicates that behavior: it checks if anyone in the active party is equipping the shield and adds to a counter if they are. After the counter reaches 100, the item is transformed into the "Paladin Shield."


# Original author: Moogle1
include, plotscr.hsd
include, myrpg.hsi

global variable(1, shield counter) # keeps track of battles fought with shield equipped
define constant(100, battles needed) # number of battles required to uncurse shield

plotscript, cursed shield, begin
 for (who, 0, 3) do (
  # Check the active party for the cursed shield
  if (hero by slot(who) <> -1) then (
   if (check equipment(who, slot:arms) == item:Cursed) then (
    shield counter := shield counter + 1
    if (shield counter >= battles needed) then (
     unequip(who, slot:arms)
     delete item(item:Cursed)
     force equip(who, slot:arms, item:Paladin)
     shield counter := 0


Set cursed shield as the after-battle script on every map. If you're already using an after-battle script, you can call cursed shield from that script.

The main limitation with this script is that it won't work with more than one copy of the item. You can have more than one kind of item if you duplicate the script; for example, a cursed shield, a cursed ring, and so on. But if you ever give your player more than one cursed shield, one shield will uncurse at double speed and then the second will uncurse normally.

Of course, you can always change the item that's being transformed -- no need for it to be a cursed shield.