Final Fantasy VI: Steal Command Algorithm

From Data Crystal
Revision as of 23:48, 27 October 2005 by Labmaster (talk | contribs) (Steal Command Algorithm: internal hyperlinks)
Jump to: navigation, search

contributed by --X-or 19:17, 27 Oct 2005 (EDT)

Steal Command Algorithm

1 .If monster has no items then you automatically fail to steal

2. StealValue = Your level + Constant Value - monster's level

3. If you have a Sneak Ring equipped: StealValue -> StealValue * 2

4. If StealValue <= 0 then you fail to steal

4. If StealValue > = 128 then you automatically steal

4. If StealValue < Random Value then you fail to steal, otherwise you successfully steal

5. You have a certain Probability of getting a rare item, otherwise you get a common item.

6. If the monster doesn't have an item to steal in that slot, then you fail to steal, otherwise you successfully steal that item.

7. If you successfully steal an item, the monster no longer have an item on both slots.

Constant Value

offset : 0x23BBB
default value : 0x32


Example:
Locke is at level 9 and monster at level 5.
StealValue = 0x09 + 0x32 - 0x05
StealValue = 0x36 ( = 54 )


The higher that value, the lower are your chance to fail stealing.

Random Value

offset : 0x23BD0
default value 0x64

The random value is picked within ]0x00,0x64[ = {0x01,0x02,...,0x62,0x63}

Example:
If the default value is changed to 0x09 then step 4 is
if StealValue < [Value randomly picked within {1,2,...,8,9}] then you fail to steal

The lower that value, the higher your chance to steal successfully.

Probability

offset : 0x23BDD
default value 0x20

You have a chance of 0x20 / 0x100 ( = 1/8 ) to steal a rare item

Example:
If the default value is changed to 0x80
You have a chance of 0x80 / 0x100 = 50% to steal a rare item.

The higher that value, the higher are your chance to steal a rare item.