Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

EarthBound/Enemy Configuration Table: Difference between revisions

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

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

Name of the enemy in plain EarthBound text.

Gender

The gender of the enemy indicates which pronoun should be used when referring to it: male (1), female (2), or neutral (3).

Type

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

The sprite to be used in battle to represent this enemy. Note that byte 0x35 determines the palette used.

Out of battle sprite

Run flag

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

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

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

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

The amount of money added to the player's ATM account upon defeating the enemy.

Movement

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

The level is used by the run flag. It may have other unknown effects.

Music

The music played when fighting this enemy by index in the music listing.

Offense

An enemy's offense is how strong their attacks are. An enemy with a greater offense value deals more damage.

Unknown K

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

An enemy's defense is how strong their armor is. An enemy with a greater defense value takes less damage.

Unknown L

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

An enemy's speed affects ?.

Guts

An enemy's guts affects ?.

Luck

An enemy's luck affects ?.

Weakness to PSI Fire

Weakness to PSI Fire is a damage PSI weakness value.

Weakness to PSI Freeze

Weakness to PSI Freeze is a damage PSI weakness value.

Weakness to PSI Flash

Weakness to PSI Flash is a status PSI weakness value.

Weakness to Paralysis

Weakness to Paralysis is a status PSI weakness value.

Weakness to Hypnosis/Brainshock

Weakness to Hypnosis/Brainshock is a status PSI weakness value.

Miss rate

An enemy's miss rate is its chance of missing the player when it attacks. The specifics are unknown.

Action order

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

The effect of this enemy's action #1. May be affected by #Action #1 argument.


Action #2

The effect of this enemy's action #2. May be affected by #Action #2 argument.


Action #3

The effect of this enemy's action #3. May be affected by #Action #3 argument.


Action #4

The effect of this enemy's action #4. May be affected by #Action #4 argument.


Final action

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

This could be many different things depending on #Action #1.

Action #2 argument

This could be many different things depending on #Action #2.

Action #3 argument

This could be many different things depending on #Action #3.

Action #4 argument

This could be many different things depending on #Action #4.

Final action argument

This could be many different things depending on #Final action.

Unknown H

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

So very stubbly.
This page is rather stubbly and could use some expansion.
Are you a bad enough dude to rescue this article?