The current URL is datacrystal.tcrf.net.
Mother 3/Battle tables info chunk: Difference between revisions
Lorenzooone (talk | contribs) |
(No difference)
|
Revision as of 23:12, 12 June 2017
Overview
PSI data, Item data, Battle skills table and Battle actions table all share this group of 0x28 (40) bytes.
It is called Battle Info chunk.
This is a chunk of bytes of MOTHER 3.
Format
- 00-03 (04) = [ A ] Effect in-battle
- 04-07 (04) = [ B ] Element
- 08-0B (04) = [ C ] Target
- 0C-0D (02) = [ D ] Attack Multiplier
- 0E-0F (02) = [ E ] Lower HP/PP value
- 10-11 (02) = [ F ] Upper HP/PP value
- 12-12 (01) = [ G ] Status ailment
- 13-13 (01) = [ H ] Status ailment chance
- 14-17 (04) = [ I ] Status action
- 18-1B (04) = [ J ] Priority
- 1C-1D (02) = [ K ] Battle text number
- 1E-21 (04) = [ L ] Animation values
- 22-23 (02) = [ M ] Sound effect number
- 24-24 (01) = [ N ] Miss chance
- 25-25 (01) = [ O ] Smash chance
- 26-27 (02) = [ P ] Redirectable
Chunk view
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F +-------------------------------------------------------------------------------- 00 | [ A ] [ B ] [ C ] [ D ] [ E ] 10 | [ F ] [G ] [H ] [ I ] [ J ] [ K ] [ L -> 20 | <- L ] [ M ] [N ] [O ] [ P ]
Effect
Based on the value of these bytes, the action/item/PSI does different things in battle.
These are the possible values:
- 00 - Random Damage (High/Low HP values)
- 01 - Attack Based Damage (Uses Attack multiplier)
- 02 - PSI Random Damage (High/Low HP values)
- 03 - HP Healing
- 04 - HP Healing
- 05 - PP Healing
- 06 - PP Healing / Shield Removal
- 07 - Damageless Actions (?)
- 08 - Damageless Actions
Element
These bytes determine what elemental type of damage the action/item/PSI deals.
These are the possible values:
- 00 - Neutral
- 01 - Fire
- 02 - Freeze
- 03 - Thunder
- 04 - Bomb
Target
These bytes determine who will be targeted by the use of the action/item/PSI.
These are the possible values:
- 00 - To the character/enemy who uses it
- 01 - Choose one character
- 02 - Choose one character
- 03 - To all characters
- 04 - To all characters
- 05 - To a random character
- 06 - Two times to a random number of character slots
- 07 - Three times to a random number of character slots
- 08 - Four times to a random number of character slots
- 09 - Five times to a random number of character slots
- 0A - Six times to a random number of character slots
- 0B - Eight times to a random number of character slots
- 0C - Choose one character
- 0D - Choose one enemy
- 0E - To all enemies
- 0F - To a random enemy
- 10 - Twice to random enemies
- 11 - Thrice to random enemies
- 12 - Four times to random enemies
- 13 - Five times to random enemies
- 14 - Choose one enemy
- 15 - To a random entity on the field
- 16 - To all the ones on the field
- 17 - Unselectable action/item/PSI
- 18 - Can only choose the first character
- 19 - Can only choose the third character
- 1A - Can only choose the second character
- 1B - Can only choose the fourth character
Attack multiplier
If the Effect byte is different from 01, these bytes go unused.
The first byte is the value that multiplies the character's/enemy's Attack.
Together with weaknesses, defense and shields, the result determines the damage output.
Lower and upper HP/PP values
The lower and upper HP/PP values indicate the range of recovery for recovery-based actions/items/PSI and the range of damage for random damage-based ones. Each value uses 16 bits.
Status ailment
This value determines what the action/item/PSI heals, if it heals the target, or deals, if it damages the target. The values are indexed by the Statuses text list.
Status chance
This value determines the probability that the status gets applied.
Here's an example:
Let W = enemy weakness value against this affliction (W := enemy_weakness_table[statuses]) Let C = affliction chance Let R = random number from 0 to 99, inclusive If R < (C * W / 100): status afflicted Else: status not afflicted
For example, say you're using PK Freeze against a Monkalrus. The Monkalrus has a solidification weakness value of 30. PK Freeze's affliction chance is 8. So,
If R < (8 * 30 / 100) or, if R < 2.4 or, if R < 2 (the game does not use fractions here; the quotient is always rounded down)
That is, PK Freeze has a 2% chance of solidifying a Monkalrus.
Notes:
- Statuses without values in the weaknesses of enemy table use the value of 0x64 (100).
- Status value 0x10 (16) is the Defend stance.
Status action
This value gets used only if the action/item/PSI doesn't deal damage.
If the first byte's value is 00, the action/item/PSI tries to heal the status. Otherwise, the action/item/PSI tries to inflict the status.
If the action/item/PSI deals damage, it can only inflict the status.
Priority
This value determines which actions/items/PSIs go first. The lower it is, the more priority the action/item/PSI has.
For same values of priority, Speed is used to calculate the order.
Battle text
This value is a pointer to the entry in the Battle text table that must be displayed when using the action/item/PSI.
Animations
These bytes manage which animations get played by the use of actions/items/PSIs.
Byte 1E, if different from 00, will make the background darker while the animation plays.
Byte 1F is the battle animation number.
Byte 20 is the number of the animation that plays only if the action/item/PSI hits the target, otherwise it won't play. This animation also prints the damage/healing numbers.
Byte 21 seems unused.
It is not fully known how byte 1E and 1F correspond to the battle animations entry table.
Sound effect
Bytes 22 and 23 determine which sound effect to play before printing the text of the action/item/PSI.
This number corresponds to the song pointer table, and not to the sound player songlist.
Miss chance
This is the probability of the action/item/PSI to miss.
It's in percentage.
For example, the value of 0x46, of Flint's Power Smash, means that the skill has a 70% chance of missing.
Smash chance
This is the probability of the action/item/PSI to get a smash.
It's in percentage.
For example, normal attacks have a value of 0x03, so they have a 3% chance of doing a smash.
Redirectable
If these bytes have a value of 0, if the target gets killed during the turn but before the enemy/character acts, the action/item/PSI isn't used. This isn't a problem for multiple-target actions/items/PSIs.