The current URL is datacrystal.tcrf.net.
EarthBound/Enemy Configuration Table: Difference between revisions
(created page, incomplete) |
(More added to the table, still incomplete, 8 bytes left) |
||
Line 76: | Line 76: | ||
{{table el|len=1 byte|loc=0x35|valrange=0-255 (0x00-0xFF0), but above 31 (0x1F) is garbage}} | {{table el|len=1 byte|loc=0x35|valrange=0-255 (0x00-0xFF0), but above 31 (0x1F) is garbage}} | ||
The '''palette''' used for the [[#Battle sprite|battle sprite]]. Only values 0-31 (0x00-0x1F) are meant to be used; higher values go into other non-palette data, but still work and therefore may be useful. | The '''palette''' used for the [[#Battle sprite|battle sprite]]. Only values 0-31 (0x00-0x1F) are meant to be used; higher values go into other non-palette data, but still work and therefore may be useful. | ||
==Level== | |||
{{table el|len=1 byte|loc=0x36|valrange=0-255 (0x00-0xFF)}} | |||
The '''level''' is used by the [[#Run flag|run flag]]. It may have other unknown effects. | |||
==Music== | |||
{{table el|len=1 byte|loc=0x37|valrange=0-255 (0x00-0xFF)}} | |||
The '''music''' played when fighting this enemy by index in the [[EarthBound:Music listing|music listing]]. | |||
==Offense== | |||
{{table el|len=1 byte|loc=0x38|valrange=0-255 (0x00-0xFF)}} | |||
An enemy's '''offense''' is how strong their attacks are. An enemy with a greater offense value deals more damage. | |||
==Unknown K== | |||
{{table el|len=1 byte|loc=0x39|valrange=?}} | |||
'''''Unknown K''''''s purpose is unknown. It is definitely not a second byte for offense, although it would be reasonable for it to be related. | |||
==Defense== | |||
{{table el|len=1 byte|loc=0x3A|valrange=0-255 (0x00-0xFF)}} | |||
An enemy's '''defense''' is how strong their armor is. An enemy with a greater defense value takes less damage. | |||
==Unknown L== | |||
{{table el|len=1 byte|loc=0x39|valrange=0-1}} | |||
'''''Unknown L''''''s purpose is unknown. It has also been called '''Unknown 4'''. It is definitely not a second byte for defense, although it would be reasonable for it to be related. In the original game, it is 0 for all enemies except "Heavily Armed Pokey" and "Soul Consuming Flame." | |||
==Speed== | |||
{{table el|len=1 byte|loc=0x3C|valrange=0-255 (0x00-0xFF)}} | |||
An enemy's '''speed''' affects ?. | |||
==Guts== | |||
{{table el|len=1 byte|loc=0x3D|valrange=0-255 (0x00-0xFF)}} | |||
An enemy's '''guts''' affects ?. | |||
==Luck== | |||
{{table el|len=1 byte|loc=0x3E|valrange=0-255 (0x00-0xFF)}} | |||
An enemy's '''luck''' affects ?. | |||
==Weakness to PSI Fire== | |||
{{table el|len=1 byte|loc=0x3F|valrange=0-4}} | |||
'''Weakness to PSI Fire''' is a [[EarthBound:Damage PSI weakness value|damage PSI weakness value]]. | |||
==Weakness to PSI Freeze== | |||
{{table el|len=1 byte|loc=0x40|valrange=0-4}} | |||
'''Weakness to PSI Freeze''' is a [[EarthBound:Damage PSI weakness value|damage PSI weakness value]]. | |||
==Weakness to PSI Flash== | |||
{{table el|len=1 byte|loc=0x41|valrange=0-4}} | |||
'''Weakness to PSI Flash''' is a [[EarthBound:Status PSI weakness value|status PSI weakness value]]. | |||
==Weakness to Paralysis== | |||
{{table el|len=1 byte|loc=0x42|valrange=0-4}} | |||
'''Weakness to Paralysis''' is a [[EarthBound:Status PSI weakness value|status PSI weakness value]]. | |||
==Weakness to Hypnosis/Brainshock== | |||
{{table el|len=1 byte|loc=0x43|valrange=0-4}} | |||
'''Weakness to Hypnosis/Brainshock''' is a [[EarthBound:Status PSI weakness value|status PSI weakness value]]. | |||
==Miss rate== | |||
{{table el|len=1 byte|loc=0x44|valrange=0-255 (0x00-0xFF)?}} | |||
An enemy's '''miss rate''' is its chance of missing the player when it attacks. The specifics are unknown. | |||
==Action order== | |||
{{table el|len=1 byte|loc=0x45|valrange=0-3}} | |||
Controls the order in which the enemy's actions are used. | |||
{| border="1" cellpadding="1" | |||
!Value !! Action order pattern | |||
|- | |||
|00 || Random | |||
|- | |||
|01 || Random, favor third | |||
|- | |||
|02 || In order | |||
|- | |||
|03 || Staggered order (pattern like 34343434341212121212) | |||
|- | |||
|} | |||
==Action #1== | |||
{{table el|len=2 bytes|loc=0x46-0x47|valrange=0-65535 (0x0000-0xFFFF), but it must be a valid index in the [[EarthBound:Battle Actions Table|Battle Actions Table]]}} | |||
The [[EarthBound:Battle Actions Table|effect]] of this enemy's '''action #1'''. May be affected by [[#Action #1 argument]]. | |||
==Action #2== | |||
{{table el|len=2 bytes|loc=0x48-0x49|valrange=0-65535 (0x0000-0xFFFF), but it must be a valid index in the [[EarthBound:Battle Actions Table|Battle Actions Table]]}} | |||
The [[EarthBound:Battle Actions Table|effect]] of this enemy's '''action #2'''. May be affected by [[#Action #2 argument]]. | |||
==Action #3== | |||
{{table el|len=2 bytes|loc=0x4A-0x4B|valrange=0-65535 (0x0000-0xFFFF), but it must be a valid index in the [[EarthBound:Battle Actions Table|Battle Actions Table]]}} | |||
The [[EarthBound:Battle Actions Table|effect]] of this enemy's '''action #3'''. May be affected by [[#Action #3 argument]]. | |||
==Action #4== | |||
{{table el|len=2 bytes|loc=0x4C-0x4D|valrange=0-65535 (0x0000-0xFFFF), but it must be a valid index in the [[EarthBound:Battle Actions Table|Battle Actions Table]]}} | |||
The [[EarthBound:Battle Actions Table|effect]] of this enemy's '''action #4'''. May be affected by [[#Action #4 argument]]. | |||
==Final action== | |||
{{table el|len=2 bytes|loc=0x4E-0x4F|valrange=0-65535 (0x0000-0xFFFF), but it must be a valid index in the [[EarthBound:Battle Actions Table|Battle Actions Table]]}} | |||
The [[EarthBound:Battle Actions Table|effect]] of this enemy's '''final action''', which is automatically performed upon the death of the enemy. May be affected by [[#Final action argument]]. | |||
==Action #1 argument== | |||
{{table el|len=1 bytes|loc=0x50|valrange=0-255 (0x00-0xFF), but it must be a valid argument for [[#Action #1]]}} | |||
This could be many different things depending on [[#Action #1]]. | |||
==Action #2 argument== | |||
{{table el|len=1 bytes|loc=0x51|valrange=0-255 (0x00-0xFF), but it must be a valid argument for [[#Action #2]]}} | |||
This could be many different things depending on [[#Action #2]]. | |||
==Action #3 argument== | |||
{{table el|len=1 bytes|loc=0x52|valrange=0-255 (0x00-0xFF), but it must be a valid argument for [[#Action #3]]}} | |||
This could be many different things depending on [[#Action #3]]. | |||
==Action #4 argument== | |||
{{table el|len=1 bytes|loc=0x53|valrange=0-255 (0x00-0xFF), but it must be a valid argument for [[#Action #4]]}} | |||
This could be many different things depending on [[#Action #4]]. | |||
==Final action argument== | |||
{{table el|len=1 bytes|loc=0x53|valrange=0-255 (0x00-0xFF), but it must be a valid argument for [[#Final action]]}} | |||
This could be many different things depending on [[#Final action]]. | |||
==Unknown H== | |||
{{table el|len=1 byte|loc=0x54|valrange=0-3}} | |||
'''''Unknown H''''''s purpose is unknown. It has also been called '''Unknown 3'''. Tomato believed it had some relationship with enemies calling for help or having multiple enemies on the screen. | |||
=See Also= | =See Also= |
Revision as of 18:10, 27 December 2005
Enemy Configuration Table | |
Game | [[EarthBound]] |
Start Address | 0x159789 |
End Address | 0x15EC5A |
# of Entries | 231 |
Entry Length | 94 bytes (0x5E) |
Total Length | 21714 bytes (0x54D2) |
Back to the [[EarthBound/{{{loc}}} map|{{{loc}}} map]] |
The Enemy Configuration Table stores most of the data for enemies which is used inside battles. The first enemy is named "null" and has an index of 0. Information about where enemies spawn is in the enemy placement data and spans a few tables.
Format
"The" flag
- Length: 1 byte
- Offset within entry: 0x00
- Range of values: 0-1
If the "The" flag is 1, then the word "the" is put in front of the enemy's name whenever it is mentioned in combat.
Name
- Length: 25 bytes (0x18)
- Offset within entry: 0x01-0x19
- Range of values: String of plain EarthBound text
Name of the enemy in plain EarthBound text.
Gender
- Length: 1 byte
- Offset within entry: 0x1A
- Range of values: 1-3
The gender of the enemy indicates which pronoun should be used when referring to it: male (1), female (2), or neutral (3).
Type
- Length: 1 byte
- Offset within entry: 0x1B
- Range of values: 0-2
The elemental type of the enemy. Enemies can be normal (1), insect (2), or metal (3). This changes the affects of certain items.
Battle sprite
- Length: 2 bytes
- Offset within entry: 0x1C-1D
- Range of values: 0x0000-0xFFFF (must be a valid battle sprite index)
The sprite to be used in battle to represent this enemy. Note that byte 0x35 determines the palette used.
Out of battle sprite
- Length: 2 bytes
- Offset within entry: 0x1E-1F
- Range of values: 0x0000-0xFFFF (must be a valid out of battle sprite index)
Run flag
- Length: 1 byte
- Offset within entry: 0x20
- Range of values: 0-1
If true (1), then the enemy will run away from the player if the player's level is greater than the enemy's level.
HP
- Length: 2 bytes
- Offset within entry: 0x21-0x22
- Range of values: 0-65535 (0x0000-0xFFFF)
The number of hit points the enemy has. That is, the amount of damage which must be dealt to the enemy before it dies (unless the enemy heals itself).
PP
- Length: 2 bytes
- Offset within entry: 0x23-0x24
- Range of values: 0-65535 (0x0000-0xFFFF)
The number of physic points the enemy has. Physic points (mana points) are used when casting PSI (spells). If the enemy runs out of physic points, they cannot cast any more PSI.
Experience
- Length: 4 bytes
- Offset within entry: 0x25-0x28
- Range of values: 0x00000000-0xFFFFFFFF
The amount of experience granted to the player's party upon defeating the enemy. This is spilt among however many playable characters there are in the player's party (1-4).
Money
- Length: 2 bytes
- Offset within entry: 0x29-0x2A
- Range of values: 0-65535 (0x0000-0xFFFF)
The amount of money added to the player's ATM account upon defeating the enemy.
Movement
- Length: 2 bytes
- Offset within entry: 0x2B-0x2C
- Range of values: 0-65535 (0x0000-0xFFFF)
This chooses the enemy's out of battle movement pattern. Exactly how this works is not well understood.
Start text pointer
- Length: 4 bytes (0x4)
- Offset within entry: 0x2D-0x30
- Range of values: 0x00000000-0x00FFFFFF, but it must point to valid text; may or may not require a pointer to the ROM as opposed to RAM
Pointer to the text shown when you start a battle with this enemy.
Death text pointer
- Length: 4 bytes (0x4)
- Offset within entry: 0x31-0x34
- Range of values: 0x00000000-0x00FFFFFF, but it must point to valid text; may or may not require a pointer to the ROM as opposed to RAM
Pointer to the text shown when you defeat this enemy.
Battle sprite palette
- Length: 1 byte
- Offset within entry: 0x35
- Range of values: 0-255 (0x00-0xFF0), but above 31 (0x1F) is garbage
The palette used for the battle sprite. Only values 0-31 (0x00-0x1F) are meant to be used; higher values go into other non-palette data, but still work and therefore may be useful.
Level
- Length: 1 byte
- Offset within entry: 0x36
- Range of values: 0-255 (0x00-0xFF)
The level is used by the run flag. It may have other unknown effects.
Music
- Length: 1 byte
- Offset within entry: 0x37
- Range of values: 0-255 (0x00-0xFF)
The music played when fighting this enemy by index in the music listing.
Offense
- Length: 1 byte
- Offset within entry: 0x38
- Range of values: 0-255 (0x00-0xFF)
An enemy's offense is how strong their attacks are. An enemy with a greater offense value deals more damage.
Unknown K
- Length: 1 byte
- Offset within entry: 0x39
- Range of values: ?
Unknown K's purpose is unknown. It is definitely not a second byte for offense, although it would be reasonable for it to be related.
Defense
- Length: 1 byte
- Offset within entry: 0x3A
- Range of values: 0-255 (0x00-0xFF)
An enemy's defense is how strong their armor is. An enemy with a greater defense value takes less damage.
Unknown L
- Length: 1 byte
- Offset within entry: 0x39
- Range of values: 0-1
Unknown L's purpose is unknown. It has also been called Unknown 4. It is definitely not a second byte for defense, although it would be reasonable for it to be related. In the original game, it is 0 for all enemies except "Heavily Armed Pokey" and "Soul Consuming Flame."
Speed
- Length: 1 byte
- Offset within entry: 0x3C
- Range of values: 0-255 (0x00-0xFF)
An enemy's speed affects ?.
Guts
- Length: 1 byte
- Offset within entry: 0x3D
- Range of values: 0-255 (0x00-0xFF)
An enemy's guts affects ?.
Luck
- Length: 1 byte
- Offset within entry: 0x3E
- Range of values: 0-255 (0x00-0xFF)
An enemy's luck affects ?.
Weakness to PSI Fire
- Length: 1 byte
- Offset within entry: 0x3F
- Range of values: 0-4
Weakness to PSI Fire is a damage PSI weakness value.
Weakness to PSI Freeze
- Length: 1 byte
- Offset within entry: 0x40
- Range of values: 0-4
Weakness to PSI Freeze is a damage PSI weakness value.
Weakness to PSI Flash
- Length: 1 byte
- Offset within entry: 0x41
- Range of values: 0-4
Weakness to PSI Flash is a status PSI weakness value.
Weakness to Paralysis
- Length: 1 byte
- Offset within entry: 0x42
- Range of values: 0-4
Weakness to Paralysis is a status PSI weakness value.
Weakness to Hypnosis/Brainshock
- Length: 1 byte
- Offset within entry: 0x43
- Range of values: 0-4
Weakness to Hypnosis/Brainshock is a status PSI weakness value.
Miss rate
- Length: 1 byte
- Offset within entry: 0x44
- Range of values: 0-255 (0x00-0xFF)?
An enemy's miss rate is its chance of missing the player when it attacks. The specifics are unknown.
Action order
- Length: 1 byte
- Offset within entry: 0x45
- Range of values: 0-3
Controls the order in which the enemy's actions are used.
Value | Action order pattern |
---|---|
00 | Random |
01 | Random, favor third |
02 | In order |
03 | Staggered order (pattern like 34343434341212121212) |
Action #1
- Length: 2 bytes
- Offset within entry: 0x46-0x47
- Range of values: 0-65535 (0x0000-0xFFFF), but it must be a valid index in the Battle Actions Table
The effect of this enemy's action #1. May be affected by #Action #1 argument.
Action #2
- Length: 2 bytes
- Offset within entry: 0x48-0x49
- Range of values: 0-65535 (0x0000-0xFFFF), but it must be a valid index in the Battle Actions Table
The effect of this enemy's action #2. May be affected by #Action #2 argument.
Action #3
- Length: 2 bytes
- Offset within entry: 0x4A-0x4B
- Range of values: 0-65535 (0x0000-0xFFFF), but it must be a valid index in the Battle Actions Table
The effect of this enemy's action #3. May be affected by #Action #3 argument.
Action #4
- Length: 2 bytes
- Offset within entry: 0x4C-0x4D
- Range of values: 0-65535 (0x0000-0xFFFF), but it must be a valid index in the Battle Actions Table
The effect of this enemy's action #4. May be affected by #Action #4 argument.
Final action
- Length: 2 bytes
- Offset within entry: 0x4E-0x4F
- Range of values: 0-65535 (0x0000-0xFFFF), but it must be a valid index in the Battle Actions Table
The effect of this enemy's final action, which is automatically performed upon the death of the enemy. May be affected by #Final action argument.
Action #1 argument
- Length: 1 bytes
- Offset within entry: 0x50
- Range of values: 0-255 (0x00-0xFF), but it must be a valid argument for #Action #1
This could be many different things depending on #Action #1.
Action #2 argument
- Length: 1 bytes
- Offset within entry: 0x51
- Range of values: 0-255 (0x00-0xFF), but it must be a valid argument for #Action #2
This could be many different things depending on #Action #2.
Action #3 argument
- Length: 1 bytes
- Offset within entry: 0x52
- Range of values: 0-255 (0x00-0xFF), but it must be a valid argument for #Action #3
This could be many different things depending on #Action #3.
Action #4 argument
- Length: 1 bytes
- Offset within entry: 0x53
- Range of values: 0-255 (0x00-0xFF), but it must be a valid argument for #Action #4
This could be many different things depending on #Action #4.
Final action argument
- Length: 1 bytes
- Offset within entry: 0x53
- Range of values: 0-255 (0x00-0xFF), but it must be a valid argument for #Final action
This could be many different things depending on #Final action.
Unknown H
- Length: 1 byte
- Offset within entry: 0x54
- Range of values: 0-3
Unknown H's purpose is unknown. It has also been called Unknown 3. Tomato believed it had some relationship with enemies calling for help or having multiple enemies on the screen.
See Also
External Links
This page is rather stubbly and could use some expansion. Are you a bad enough dude to rescue this article? |