EarthBound/Item Properties Table: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(Changed category to EarthBound:Items data)
(Changed to use Template:table el)
Line 10: Line 10:
=Format=
=Format=
==Name==
==Name==
* '''Length:''' 25 bytes (0x18)
{{table el|len=25 bytes (0x18)|loc=0x00-0x18|valrange=String of [[EarthBound:Plain text|plain EarthBound text]]}}
* '''Range:''' 00-18
Name of the item in [[EarthBound:Plain text|plain EarthBound text]].
Name of the item in [[EarthBound:Plain text|plain EarthBound text]].


==Type==
==Type==
* '''Length:''' 1 byte (0x1)
{{table el|len=1 byte (0x1)|loc=0x19|valrange=0-255 (0x00-0xFF)}}
* '''Range:''' 19
Type of the item. Affects how [[#"Strength", "Extra Power Increase", "Extra Power", "Special"|these bytes toward the end]] are interpreted. Uses [[binary]]:
Type of the item. Affects how [[#"Strength", "Extra Power Increase", "Extra Power", "Special"|these bytes toward the end]] are interpreted. Uses [[binary]]:
  COLUMNS      NL MT ST OP (null, main type, sub type, options)
  COLUMNS      NL MT ST OP (null, main type, sub type, options)
Line 57: Line 55:


==Cost==
==Cost==
* '''Length:''' 2 bytes (0x2)
{{table el|len=2 bytes (0x2)|loc=0x1A-0x1B|valrange=0-65535 (0x0000-0xFFFF)}}
* '''Range:''' 1A-1B
Cost of item. If zero, item may not be sold or dropped. Items are sold for half of their cost, rounded down.
Cost of item. If zero, item may not be sold or dropped. Items are sold for half of their cost, rounded down.


==Ownership==
==Ownership==
* '''Length:''' 1 byte (0x1)
{{table el|len=1 byte (0x1)|loc=0x1C|valrange=0x00-0xFF (bit separate, not a number value)}}
* '''Range:''' 1C
Each [[Binary#Bit|bit]] is a true false flag. The following list shows the [[hexadecimal]] of the bit paired with what happens when that bit is set:
Each [[Binary#Bit|bit]] is a true false flag. The following list shows the [[hexadecimal]] of the bit paired with what happens when that bit is set:
* 0x01 = [[EarthBound:Ness|Ness]] can use
* 0x01 = [[EarthBound:Ness|Ness]] can use
Line 75: Line 71:


==Effect==
==Effect==
* '''Length:''' 2 bytes (0x2)
{{table el|len=2 bytes (0x2)|loc=0x1D-0x1E|valrange=0-255 (0x00-0xFF), but it must be a valid index in the [[EarthBound:Battle Actions Table|Battle Actions Table]]}}
* '''Range:''' 1D-1E
The [[EarthBound:Battle Actions Table|effect]] of using the item.
The [[EarthBound:Battle Actions Table|effect]] of using the item.


=="Strength", "Extra Power Increase", "Extra Power", "Special"==
=="Strength", "Extra Power Increase", "Extra Power", "Special"==
* '''Length:''' 4 bytes (0x4)
{{table el|len=4 bytes (0x4)|loc=0x1F-0x22|valrange=Varies on item's [[#Type|type]]}}
* '''Range:''' 1F-22
These bytes, with their names listed in the order they appear in the ROM, have different effects depending on the [[#Type|type]] of the item. The names are not very accurate to what they do, but they have stuck from when the table was first documented. They are abbreviated as STR, EPI, EPW, and SPE in the following list showing their meaning for different types:
These bytes, with their names listed in the order they appear in the ROM, have different effects depending on the [[#Type|type]] of the item. The names are not very accurate to what they do, but they have stuck from when the table was first documented. They are abbreviated as STR, EPI, EPW, and SPE in the following list showing their meaning for different types:
  Known meanings of bytes 1F-22 for various types. If the type or byte
  Known meanings of bytes 1F-22 for various types. If the type or byte
Line 121: Line 115:


==Help Text Address==
==Help Text Address==
* '''Length:''' 4 bytes (0x4)
{{table el|len=4 bytes (0x4)|loc=0x23-0x26|valrange=0x00000000-0x00FFFFFF, but it must point to valid text; may or may not require a pointer to the ROM as opposed to RAM}}
* '''Range:''' 23-26
[[Pointer]] to the text shown when you select "help" on an item from the inventory screen.
[[Pointer]] to the text shown when you select "help" on an item from the inventory screen.



Revision as of 21:54, 5 October 2005

Item Properties Table
Game [[EarthBound]]
Start Address 0x155200
End Address 0x1578B1
# of Entries 254
Entry Length 39 bytes (0x27)
Total Length 9906 bytes (0x26b2)
Back to the [[EarthBound/{{{loc}}} map|{{{loc}}} map]]

The Item Properties Table stores most of the data for items, including the name, type, effect, and help text pointer. The first item is named "null" and has an index of 0.

Format

Name

Name of the item in plain EarthBound text.

Type

Type of the item. Affects how these bytes toward the end are interpreted. Uses binary:

COLUMNS      NL MT ST OP (null, main type, sub type, options)
   type 00 - 00 00 00 00 - franklin badge
   type 04 - 00 00 01 00 - teddy bears
   type 08 - 00 00 10 00 - broken item

Equipable items

Weapon - options = [00] bash or [01] shoot
   type 16 - 00 01 00 00 - bash
   type 17 - 00 01 00 01 - shoot
Armor
   type 20 - 00 01 01 00 - body
   type 24 - 00 01 10 00 - arm
   type 28 - 00 01 11 00 - other
Food items - no options
   type 32 - 00 10 00 00 - eatten
   type 36 - 00 10 01 00 - drinks
   type 40 - 00 10 10 00 - condiment
   type 44 - 00 10 11 00 - food for all

Special (healing, battle, and plot) items

Healing - no options
   type 48 - 00 11 00 00 - hand-aid, protractor, ruler - healing items
Battle items - direction [00] = enemy
                         [01] = party
   type 52 - 00 11 01 00 - battle offensive items
   type 53 - 00 11 01 01 - battle defensive items
Plot items - [00] = regular
             [10] = works only in specifc area
             [11] = works only when talking to right Sprite
                     (door, atm, person)
   type 56 - 00 11 10 00 - sound stone, meterornium
   type 58 - 00 11 10 10 - zom paper, hawk eye, bike - Limited area
   type 59 - 00 11 10 11 - keys, ATM, plot items - used at someone
   
   
   type255 - 11 11 11 11 - Null (item #0)

Cost

Cost of item. If zero, item may not be sold or dropped. Items are sold for half of their cost, rounded down.

Ownership

  • Length: 1 byte (0x1)
  • Offset within entry: 0x1C
  • Range of values: 0x00-0xFF (bit separate, not a number value)

Each bit is a true false flag. The following list shows the hexadecimal of the bit paired with what happens when that bit is set:

  • 0x01 = Ness can use
  • 0x02 = Paula can use
  • 0x04 = Jeff can use
  • 0x08 = Poo can use
  • 0x10 = Item is the source or target of an item transformation
  • 0x20 = "Give" command disabled (cannot move from one character's inventory to another)
  • 0x40 = Unknown; all built-in items have 0x80 set the same as 0x40
  • 0x80 = Item disappears after use

Effect

The effect of using the item.

"Strength", "Extra Power Increase", "Extra Power", "Special"

These bytes, with their names listed in the order they appear in the ROM, have different effects depending on the type of the item. The names are not very accurate to what they do, but they have stuck from when the table was first documented. They are abbreviated as STR, EPI, EPW, and SPE in the following list showing their meaning for different types:

Known meanings of bytes 1F-22 for various types. If the type or byte
is not mentioned in this list it is either unknown or unused.
ITEM TYPE NUMBERS ARE LISTED IN DECIMAL.

Type 4 (teddy bears):
STR: NPC Battle AI Table entry

Type 8 (broken item):
EPI: IQ required to fix item
EPW: Index of fixed item

Food Items (types 32, 36, 40, and 44):
EPI: Regular HP recover
EPW: Poo HP recover

Armor Items:
Type 20:
STR: Defence
EPW: Speed
SPE: Protection

Type 24:
STR: Defence
EPW: Luck
SPE: Protection

Type 28:
STR: Defence
EPW: Luck
SPE: Protection

Weapon Items (types 16 and 17):
STR: Offense
EPI: Poo Offense (unsure for type 17)
EPW: Guts (unsure for type 17)
SPE: Miss Rate

Help Text Address

  • Length: 4 bytes (0x4)
  • Offset within entry: 0x23-0x26
  • 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 select "help" on an item from the inventory screen.

See Also

External Links