EarthBound/Enemy Configuration Table: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(created page, incomplete)
 
m (Xkeeper moved page EarthBound:Enemy Configuration Table to EarthBound/Enemy Configuration Table: normalize subpages and titles)
 
(19 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{subpage|game=EarthBound:ROM map}}
{{Infobox table|name=Enemy Configuration Table
{{Infobox table|name=Enemy Configuration Table
|game=[[EarthBound]]
|game=EarthBound
|loc=ROM
|start=0x159789
|start=0x159789
|end=0x15EC5A
|end=0x15EC5A
Line 18: Line 21:
'''Name''' of the enemy in [[EarthBound:Plain text|plain EarthBound text]].
'''Name''' of the enemy in [[EarthBound:Plain text|plain EarthBound text]].


==Gender==
==Sex==
{{table el|len=1 byte|loc=0x1A|valrange=1-3}}
{{table el|len=1 byte|loc=0x1A|valrange=1-3}}
The '''gender''' of the enemy indicates which pronoun should be used when referring to it: male (1), female (2), or neutral (3).
The '''sex''' of the enemy indicates which pronoun should be used when referring to it: male (1), female (2), or neutral (3).


==Type==
==Type==
{{table el|len=1 byte|loc=0x1B|valrange=0-2}}
{{table el|len=1 byte|loc=0x1B|valrange=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.
The elemental '''type''' of the enemy. Enemies can be normal (0), insect (1), or metal (2). This changes the effects of certain items.


==Battle sprite==
==Battle sprite==
Line 45: Line 48:
==PP==
==PP==
{{table el|len=2 bytes|loc=0x23-0x24|valrange=0-65535 (0x0000-0xFFFF)}}
{{table el|len=2 bytes|loc=0x23-0x24|valrange=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.
The number of '''psychic points''' the enemy has. Psychic points are expended when using PSI. If the enemy runs out of psychic points, they cannot use any more PSI.


==Experience==
==Experience==
Line 74: Line 77:


==Battle sprite palette==
==Battle sprite palette==
{{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-0xFF), 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=0x3B|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''' determines which order the enemy attacks.
If there are multiple enemies, the one with the higher speed usually moves first.
==Guts==
{{table el|len=1 byte|loc=0x3D|valrange=0-255 (0x00-0xFF)}}
An enemy's '''guts''' affects how often their attacks do critical damage against their target.( known in earthbound as "SMAAASH" )
==Luck==
{{table el|len=1 byte|loc=0x3E|valrange=0-255 (0x00-0xFF)}}
An enemy's '''luck''' affects how often they are able to dodge attacks.
The higher this value, the higher their chance of avoiding any non-PSI attacks.
Enemies with higher luck may also be immune to certain levels of Ness's "PSI Special" attack.
==Weakness to PSI Fire==
{{table el|len=1 byte|loc=0x3F|valrange=0-3}}
'''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-3}}
'''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-3}}
'''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-3}}
'''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-3}}
'''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=0x54|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=0x55|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.
==No-escape flag==
{{table el|len=1 byte|loc=0x56|valrange=0-1}}
When enabled, the '''no-escape flag''' makes it impossible for the player to flee from combat with the enemy.
==Item drop frequency==
{{table el|len=1 byte|loc=0x57|valrange=0-7}}
The '''item drop frequency''' affects how often the enemy's [[#Item dropped|dropped item]] is dropped. In general, greater values mean a drop is more common. Specifically, P(drop) = <math>\frac{2^{freq byte}}{128}</math> or as a table:
{| border="1" cellpadding="1"
!Value !! Probability of item drop
|-
|00 || 1/128
|-
|01 || 1/64
|-
|02 || 1/32
|-
|03 || 1/16
|-
|04 || 1/8
|-
|05 || 1/4
|-
|06 || 1/2
|-
|07 || 1/1 (always)
|-
|}
==Item dropped==
{{table el|len=1 byte|loc=0x58|valrange=0-255 (0x00-0xFF), but it must be a valid index in the [[EarthBound:Item Properties Table|Item Properties Table]]}}
The index in the [[EarthBound:Item Properties Table|Item Properties Table]] of the '''item dropped''' by this enemy.
==Status==
{{table el|len=1 byte|loc=0x59|valrange=0-7}}
The initial '''status''' of the enemy.
{| border="1" cellpadding="1"
!Value !! Starting status
|-
|00 || Normal
|-
|01 || PSI Shield Alpha (Blocks PSI)
|-
|02 || PSI Shield Beta (Reflects PSI)
|-
|03 || Shield Alpha (Blocks physical)
|-
|04 || Shield Beta (Reflects physical)
|-
|05 || Asleep
|-
|06 || Can't concentrate
|-
|07 || Feeling strange
|-
|}
==Death sound==
{{table el|len=1 byte|loc=0x5A|valrange=0-1}}
Determines whether the enemy's '''death sound''' is that of a normal enemy (0) or a boss (1).
==Row==
{{table el|len=1 byte|loc=0x5B|valrange=0-1}}
Determines whether the enemy appears in the front '''row''' (0) or the back '''row''' (1).
==Max call==
{{table el|len=1 byte|loc=0x5C|valrange=0-255 (0x00-0xFF)}}
The maximum number of additional enemies this enemy may call. This only affects enemies who have actions which call other enemies.
==Mirror success rate==
{{table el|len=1 byte|loc=0x5D|valrange=0-100 (0x00-0x64)}}
Percent chance that Poo's (the fourth character) ''mirror'' move will work on this enemy.


=See Also=
=See Also=
* [[EarthBound:Battle Actions Table|Battle Actions Table]]
* [[EarthBound:Item Properties Table|Item Properties Table]]
* [[EarthBound:Map Data:Enemy Placement data|Enemy Placement data]]


=External Links=
=External Links=
* [http://pkhack.fobby.net/misc/txt/enemies_table.txt Document this page is based off of] by [[User:AnyoneEB|AnyoneEB]]
* [http://pkhack.fobby.net/misc/txt/enemies_table.txt Document this page is based off of] by [[User:AnyoneEB|AnyoneEB]]


{{stub}}
[[Category:EarthBound:Enemy data]]
[[Category:EarthBound:Enemy data]]

Latest revision as of 02:41, 24 January 2024

This is a sub-page of EarthBound.

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 ROM 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.

Sex

The sex 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 (0), insect (1), or metal (2). This changes the effects 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 psychic points the enemy has. Psychic points are expended when using PSI. If the enemy runs out of psychic points, they cannot use 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-0xFF), 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 determines which order the enemy attacks. If there are multiple enemies, the one with the higher speed usually moves first.

Guts

An enemy's guts affects how often their attacks do critical damage against their target.( known in earthbound as "SMAAASH" )

Luck

An enemy's luck affects how often they are able to dodge attacks.

The higher this value, the higher their chance of avoiding any non-PSI attacks.

Enemies with higher luck may also be immune to certain levels of Ness's "PSI Special" attack.

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.

No-escape flag

When enabled, the no-escape flag makes it impossible for the player to flee from combat with the enemy.

Item drop frequency

The item drop frequency affects how often the enemy's dropped item is dropped. In general, greater values mean a drop is more common. Specifically, P(drop) = <math>\frac{2^{freq byte}}{128}</math> or as a table:

Value Probability of item drop
00 1/128
01 1/64
02 1/32
03 1/16
04 1/8
05 1/4
06 1/2
07 1/1 (always)

Item dropped

The index in the Item Properties Table of the item dropped by this enemy.

Status

The initial status of the enemy.

Value Starting status
00 Normal
01 PSI Shield Alpha (Blocks PSI)
02 PSI Shield Beta (Reflects PSI)
03 Shield Alpha (Blocks physical)
04 Shield Beta (Reflects physical)
05 Asleep
06 Can't concentrate
07 Feeling strange

Death sound

Determines whether the enemy's death sound is that of a normal enemy (0) or a boss (1).

Row

Determines whether the enemy appears in the front row (0) or the back row (1).

Max call

The maximum number of additional enemies this enemy may call. This only affects enemies who have actions which call other enemies.

Mirror success rate

Percent chance that Poo's (the fourth character) mirror move will work on this enemy.

See Also

External Links