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."
# CURSED 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 variable(who) 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 ) ) ) ) end
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.