Mother 3/Enemy data

From Data Crystal
Jump to navigation Jump to search
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.

Note: 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.

Format

Each entry in the table uses 144 bytes.

Field listing

  • 00-09 (0A) = Unclassified data
  • 0A-0B (02) = [ A ] Battle background number
  • 0C-0D (02) = [ B ] Swirl music number
  • 0E-0F (02) = [ C ] Battle music number
  • 10-11 (02) = [ D ] Win music number
  • 12-13 (02) = [ E ] Level
  • 14-17 (04) = [ F ] HP
  • 18-1B (04) = [ G ] PP
  • 1C-1C (01) = [ H ] Offense
  • 1D-1D (01) = [ I ] Defense
  • 1E-1E (01) = [ J ] IQ
  • 1F-1F (01) = [ K ] Speed
  • 20-23 (04) = Unclassified data
  • 24-24 (01) = [ L ] Offense (surprise attack)
  • 25-25 (01) = [ M ] Defense (surprise attack)
  • 26-26 (01) = [ N ] IQ (surprise attack)
  • 27-27 (01) = [ O ] Speed (surprise attack)
  • 28-2B (04) = Unclassified data
  • 2C-53 (28) = [ P ] Weakness table
  • 54-63 (10) = [ Q ] Action table
  • 64-65 (02) = Unclassified data
  • 66-66 (01) = [ R ] Encounter text number
  • 67-67 (01) = [ S ] Death text number
  • 68-77 (10) = Unclassified data
  • 78-83 (0C) = [ T ] Item drop table
  • 84-87 (04) = [ U ] Experience
  • 88-8B (04) = [ V ] Money
  • 8C-8F (04) = Unclassified data

Table view

       00   01   02   03   04   05   06   07   08   09   0A   0B   0C   0D   0E   0F
    +--------------------------------------------------------------------------------
00  | [                       ?                       ] [   A   ] [   B   ] [   C   ]
10  | [   D   ] [   E   ] [        F        ] [        G        ] [ H] [ I] [ J] [ K]
20  | [        ?        ] [ L] [ M] [ N] [ O] [        ?        ] [        P       ->
30  | <-                                     P                                     ->
40  | <-                                     P                                     ->
50  | <-        P       ] [                            Q                           ->
60  | <-        Q       ] [   ?   ] [ R] [ S] [                  ?                 ->
70  | <-                  ?                 ] [                  T                 ->
80  | <-        T       ] [        U        ] [        V        ] [        ?        ]

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.

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