Infinite Items
Preparation:
First, figure out what item you're going to be trying for. Scout around and
steal from monsters to see what they cough up. Certain extra steps you take
in battle will depend on the kind of item you want.
Next, prepare your party.
You will need one character who can "Throw", and one who can "Steal". For
simplicity, we'll just use the "Ninja" and "Thief" classes instead of
assigning those skills in the Job menu. You will only need one Ninja, and
the rest of your party can be Thieves.
If you have it, equip as many Thieves as possible with the "Thief Glove".
This will enhance their Steal skill.
Now you will need two (and ONLY two) of a weapon that your Ninja can equip
(any weapon, it doesn't matter what) in your Inventory. For example, two
Guardian knives, or a Guardian Knife and a Mithril Knife.
Have your Ninja equip ONE of the knives, and leave the other hand empty.
You may wish to SORT your inventory and place the second knife at the top of
the screen for easy access in battle. This way, you're not scrolling down
half a screen looking for it.
For example, if you were using two Guardian knives, your Inventory would
read:
Guardian : 1
and your Equip menu would read:
R.Hand Guardian
L.Hand
Now make certain that you do not have ANY of the item you wish to steal.
If you do, this trick will fail.
Battle:
Have your Thief characters defend until it is your Ninja's turn.
With your Ninja, equip the second weapon that you left in the inventory
(in our examples, the Guardian knife) by going into the Item menu, selecting
the weapon, pressing Up until you see the Left and Right Hands (and their
contents, one will be blank), and placing the weapon in the free hand.
Your Ninja should now be equipped with two knives.
Now have your Ninja use the Throw command (it's still their turn, so they
can do that). Select the BLANK SPOT where the weapon you just equipped
used to be. Then select an enemy to throw it at (it doesn't matter who, it
will do no damage).
- If the item you want to Steal is something that cannot be USED or THROWN,
then you must repeat the above step one more time. For example: Shields,
Armor, and Accessories need to repeat the "Throw the Blank Spot" step.
Potions and most Weapons don't repeat that step.
Now have your Thief characters use the Steal command on the monster with the
item you want. Keep stealing until you get the item. Once you've
successfully stolen it...
- If the item is a Potion, use one immediately. You should now see "M5"
of the item in your Inventory.
- If the item is a throwable Weapon, then have your Ninja throw one. You
should now see "M5" of the item in your Inventory.
- If the item is non-usable and non-throwable, and you've already performed
the "Throw Blank Spot" step twice, you don't need to do anything else now.
You should see 99 of the item in your Inventory.
You're done. Win the battle or run away.
Infinite Gil
M5 stands for an infinite amount of the item, but there's a minor quirk when
you try to sell it in a store. They will only let you sell either one of it,
or all of it. You can get infinite Gil by selling them one at a time, or a
large chunk by selling them all at once, which is actually selling 255 of
them.
If you use the "Sort" command in your Inventory menu, any M5 will turn into
99.
Explanation:
This trick takes advantage of a bug where, when an item is equipped in
battle, it does not completely remove the item from the slot, as well as a
loophole in how the game adds and subtracts in hexadecimal.
A single byte represents the item quantity, and another item type, in each
item slot in your inventory. The range of a hex byte is 00 to FF, or from
0 to 255. There are no negative numbers, so if there is no trap to prevent
a number from going less than 0, it will loop around to FF, or 255. Certain
commands, such as Item, do have this trap, and will correctly blank out the
item spot when you use the last of that item, but the Equip command in
battle doesn't.
When you throw the empty spot, the game reduces it's quantity by 1. Since
the quantity is 0, and that byte isn't designed to use negative numbers,
it loops around to 255. (Or M5 on the screen...M is probably the text
character for the hex value of 25.)
When you steal an item, it takes place of the first open item slot, even if
a quantity already exists there. It also adds 1 to the quantity, looping
255 back around to 0. This is why you have to either use/throw one right
away (to bring it back around to 255) or throw two Blanks (to keep it from
reaching 0 in the first place after you've stolen it.)
The game handles the value 255 strangely. Anything less, and the game will
change it into 99 (thus why you get 99 shields instead of 254 of them).
That's just yet another bug to the game.
Certain actions, such as using Sort in the Inventory screen, performs
another kind of trapping. "If Quantity is greater than 99, then change it
to equal 99." This is why you end up with 99 shields or armors instead of
254, but like mentioned above, it handles the value 255 strangely. It only
seems to apply to that value when using Sort.