The current URL is datacrystal.tcrf.net.
Mother 3/Enemy data: Difference between revisions
Lorenzooone (talk | contribs) |
Lorenzooone (talk | contribs) (→Format) |
||
Line 48: | Line 48: | ||
* <tt>6D-6D (01)</tt> = <tt>{{color2|#FFFFFF|#8BD08B|[ V ]}}</tt> [[#In battle sprite height|In battle sprite height]] | * <tt>6D-6D (01)</tt> = <tt>{{color2|#FFFFFF|#8BD08B|[ V ]}}</tt> [[#In battle sprite height|In battle sprite height]] | ||
* <tt>6E-77 (05)</tt> = ''Unclassified data'' | * <tt>6E-77 (05)</tt> = ''Unclassified data'' | ||
* <tt> | * <tt>72-72 (01)</tt> = <tt>{{color2|#FFFFFF|#8BD08B|[ V ]}}</tt> [[#In battle sprite height|In battle sprite height Front]] | ||
* <tt> | * <tt>73-73 (01)</tt> = <tt>{{color2|#FFFFFF|#8BD08B|[ V ]}}</tt> [[#In battle sprite height|In battle sprite height Back]] | ||
* <tt>75-77 (03)</tt> = ''Unclassified data'' | * <tt>75-77 (03)</tt> = ''Unclassified data'' | ||
* <tt>78-83 (0C)</tt> = <tt>{{color2|#FFFFFF|#9932CC|[ W ]}}</tt> [[#Item drop table|Item drop table]] | * <tt>78-83 (0C)</tt> = <tt>{{color2|#FFFFFF|#9932CC|[ W ]}}</tt> [[#Item drop table|Item drop table]] |
Revision as of 15:08, 29 September 2016
This is a sub-page of Mother 3.
Enemy data table | |
Game | MOTHER 3 |
Start Address | 0xD0D28 |
End Address | 0xD9D27 |
# of Entries | 256 (0x100) |
Entry Length | 144 bytes (0x90) |
Total Length | 36864 bytes (0x9000) |
Back to the ROM map |
Overview
The enemy data table contains the stats for each enemy in the game. It does not include the enemy names; for that, see the enemy names table.
Notes: for whatever stupid freaking reason, at least one enemy (the Minor Robot) has its battle actions hard-coded. Changing its battle actions in this table seems to have no effect. Also, some enemy have hard-coded weakness text too (Miracle Fassad).
Format
Each entry in the table uses 144 bytes.
Field listing
- 00-04 (05) = Unclassified data
- 05-05 (01) = [ A ] Smell type number
- 06-09 (04) = Unclassified data
- 0A-0B (02) = [ B ] Battle background number
- 0C-0D (02) = [ C ] Swirl music number
- 0E-0F (02) = [ D ] Battle music number
- 10-11 (02) = [ E ] Win music number
- 12-13 (02) = [ F ] Level
- 14-17 (04) = [ G ] HP
- 18-1B (04) = [ H ] PP
- 1C-1C (01) = [ I ] Offense
- 1D-1D (01) = [ J ] Defense
- 1E-1E (01) = [ K ] IQ
- 1F-1F (01) = [ L ] Speed
- 20-23 (04) = Unclassified data
- 24-24 (01) = [ M ] Offense (surprise attack)
- 25-25 (01) = [ N ] Defense (surprise attack)
- 26-26 (01) = [ O ] IQ (surprise attack)
- 27-27 (01) = [ P ] Speed (surprise attack)
- 28-2B (04) = Unclassified data
- 2C-53 (28) = [ Q ] Weakness table
- 54-63 (10) = [ R ] Action table
- 64-65 (02) = [ S ] Attack sound number
- 66-66 (01) = [ T ] Encounter text number
- 67-67 (01) = [ U ] Death text number
- 68-6C (05) = Unclassified data
- 6D-6D (01) = [ V ] In battle sprite height
- 6E-77 (05) = Unclassified data
- 72-72 (01) = [ V ] In battle sprite height Front
- 73-73 (01) = [ V ] In battle sprite height Back
- 75-77 (03) = Unclassified data
- 78-83 (0C) = [ W ] Item drop table
- 84-87 (04) = [ X ] Experience
- 88-8B (04) = [ Y ] Money
- 8C-8F (04) = [ Z ] Smell weaknesses
Table view
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F +-------------------------------------------------------------------------------- 00 | [ ? ] [ A] [ ? ] [ B ] [ C ] [ D ] 10 | [ E ] [ F ] [ G ] [ H ] [ I] [ J] [ K] [ L] 20 | [ ? ] [ M] [ N] [ O] [ P] [ ? ] [ Q -> 30 | <- Q -> 40 | <- Q -> 50 | <- Q ] [ R -> 60 | <- R ] [ S ] [ T] [ U] [ ? ] [ V] [ ? -> 70 | <- ? ] [ V] [ V] [ ? ] [ W -> 80 | <- W ] [ X ] [ Y ] [ Z ]
Smell type
Every enemy has a type that's revealed when you smell them. What the game does is simply taking this value and adding it 01F2 to get the pointer to the correct line from the battle text.
Battle background
Each enemy has a battle background associated with it. This number corresponds to the battle background master table.
Music numbers
Each enemy has three songs associated with it:
- The swirl music plays when you first touch the enemy, and the swirl animates
- The battle music plays throughout the battle
- The win music plays when you win the battle
These numbers correspond to the song pointer table, and not to the sound player songlist.
Weakness table
Each enemy has a table of 20 different weakness values. Each value is 16 bits. The higher the value is, the weaker the enemy is to that particular ailment/ability. The weaknesses are:
00: Poison | 0A: Numbness? |
01: Paralysis | 0B: DCMC |
02: Sleep | 0C: Wall staple |
03: Strange | 0D: Apologize |
04: Cry | 0E: Make laugh |
05: Forgetful | 0F: PK Love, Starstorm, Ground |
06: Nausea | 10: PK Fire |
07: Fleas | 11: PK Freeze |
08: Burned | 12: PK Thunder |
09: Solidified | 13: Bomb |
Action table
Each enemy has eight battle actions; each action value is 16 bits. The values correspond to the battle actions table.
Encounter and death text
A particular line of text is shown when you encounter and defeat an enemy; for example, "X suddenly attacked!" and "X became tame!". These values are one byte each, and they correspond to the battle text table.
In battle sprite height
Byte 6D tells the game where to print in general the enemy sprite in battle. If 00, it will be near the center of the screen, if 01 it will be lower, if 02 it will be at the bottom.
This byte gets then modified by the 73 byte for the front and 74 byte for the back.
The higher these values are, the lower the sprite will be placed.
Item drop table
This table has three entries, with four bytes each:
- 00-00 (01) = Item number
- 01-03 (03) = Percent chance of being dropped
Smell weaknesses pointers
Two values of two bytes each. They are pointers to the battle text that should be printed. Value "E6 01" is used to prevent printing one or both weakness lines.