Final Fantasy VI/Steal Command Algorithm

From Data Crystal
< Final Fantasy VI
Revision as of 01:51, 30 March 2013 by Snarfblam (talk | contribs) (removing category)
Jump to navigation Jump to search

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, monster no longer has any 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.