Difference between revisions of "MOTHER 3:Item data"

From Data Crystal
Jump to: navigation, search
m
(Item type)
 
(30 intermediate revisions by the same user not shown)
Line 20: Line 20:
 
* <tt>00-03 (04)</tt> = <tt>{{color2|#000000|#87CEEB|[ A ]}}</tt> Item number                   
 
* <tt>00-03 (04)</tt> = <tt>{{color2|#000000|#87CEEB|[ A ]}}</tt> Item number                   
 
* <tt>04-07 (04)</tt> = <tt>{{color2|#000000|#90EE90|[ B ]}}</tt> [[#Item type|Item type]]                   
 
* <tt>04-07 (04)</tt> = <tt>{{color2|#000000|#90EE90|[ B ]}}</tt> [[#Item type|Item type]]                   
* <tt>08-08 (01)</tt> = <tt>{{color2|#000000|#FFB6C1|[ C ]}}</tt> [[#Key item flag|Key item flag]]
+
* <tt>08-09 (02)</tt> = <tt>{{color2|#000000|#FFB6C1|[ C ]}}</tt> [[#Key item flag|Key item flag]]
* <tt>09-09 (01)</tt> = ''Unclassified data''                   
 
 
* <tt>0A-0B (02)</tt> = <tt>{{color2|#000000|#FAFAD2|[ D ]}}</tt> Sell price
 
* <tt>0A-0B (02)</tt> = <tt>{{color2|#000000|#FAFAD2|[ D ]}}</tt> Sell price
* <tt>0C-0D (02)</tt> = <tt>{{color2|#000000|#FFFFE0|[ E ]}}</tt> [[#Equip flags|Equip flags]]
+
* <tt>0C-0F (04)</tt> = <tt>{{color2|#000000|#FFFFE0|[ E ]}}</tt> [[#Equip flags|Equip flags]]
* <tt>0E-0F (02)</tt> = ''Unclassified data''                   
 
 
* <tt>10-13 (04)</tt> = <tt>{{color2|#000000|#B0C4DE|[ F ]}}</tt> HP increase (signed)
 
* <tt>10-13 (04)</tt> = <tt>{{color2|#000000|#B0C4DE|[ F ]}}</tt> HP increase (signed)
* <tt>14-15 (02)</tt> = <tt>{{color2|#000000|#D3D3D3|[ G ]}}</tt> PP increase (signed)
+
* <tt>14-17 (04)</tt> = <tt>{{color2|#000000|#D3D3D3|[ G ]}}</tt> PP increase (signed)
* <tt>16-17 (02)</tt> = ''Unclassified data''                   
 
 
* <tt>18-18 (01)</tt> = <tt>{{color2|#000000|#F08080|[ H ]}}</tt> Offense increase (signed)
 
* <tt>18-18 (01)</tt> = <tt>{{color2|#000000|#F08080|[ H ]}}</tt> Offense increase (signed)
 
* <tt>19-19 (01)</tt> = <tt>{{color2|#000000|#FFA07A|[ I ]}}</tt> Defense increase (signed)
 
* <tt>19-19 (01)</tt> = <tt>{{color2|#000000|#FFA07A|[ I ]}}</tt> Defense increase (signed)
 
* <tt>1A-1A (01)</tt> = <tt>{{color2|#000000|#ADD8E6|[ J ]}}</tt> IQ increase (signed)
 
* <tt>1A-1A (01)</tt> = <tt>{{color2|#000000|#ADD8E6|[ J ]}}</tt> IQ increase (signed)
 
* <tt>1B-1B (01)</tt> = <tt>{{color2|#FFFFFF|#00008B|[ K ]}}</tt> Speed increase (signed)
 
* <tt>1B-1B (01)</tt> = <tt>{{color2|#FFFFFF|#00008B|[ K ]}}</tt> Speed increase (signed)
* <tt>1C-1F (04)</tt> = ''Unclassified data''                   
+
* <tt>1C-1F (04)</tt> = <tt>{{color2|#FFFFFF|#065545|[ L ]}}</tt> Kindness increase (signed)             
* <tt>20-35 (16)</tt> = <tt>{{color2|#FFFFFF|#006400|[ L ]}}</tt> [[#Status ailment protection|Status ailment protection]]
+
* <tt>20-35 (16)</tt> = <tt>{{color2|#FFFFFF|#006400|[ M ]}}</tt> [[#Status ailment protection|Status ailment protection]]
* <tt>36-3A (05)</tt> = <tt>{{color2|#FFFFFF|#8B0000|[ M ]}}</tt> [[#Elemental protection|Elemental protection]]
+
* <tt>36-3A (05)</tt> = <tt>{{color2|#FFFFFF|#8B0000|[ N ]}}</tt> [[#Elemental protection|Elemental protection]]
* <tt>3B-4D (13)</tt> = ''Unclassified data''                   
+
* <tt>3B-3F (05)</tt> = <tt>{{color2|#FFFFFF|#435678|[ O ]}}</tt> [[#Attacking type|Attacking type]]
* <tt>4E-4F (02)</tt> = <tt>{{color2|#FFFFFF|#B8860B|[ N ]}}</tt> [[#Lower and upper HP values|Lower HP value]]
+
* <tt>40-67 (28)</tt> = <tt>{{color2|#FFFFFF|#053656|[ P ]}}</tt> [[#Info chunk|PSI/Item/Actions Info Chunk]]
* <tt>50-51 (02)</tt> = <tt>{{color2|#FFFFFF|#483D8B|[ O ]}}</tt> [[#Lower and upper HP values|Upper HP value]]
+
* <tt>68-6B (04)</tt> = <tt>{{color2|#000000|#27D378|[ Q ]}}</tt> [[#Item uses|Item uses in-battle]]
* <tt>52-52 (01)</tt> = <tt>{{color2|#FFFFFF|#A9A9A9|[ P ]}}</tt> [[#Status ailment|Status ailment]]
 
* <tt>53-5B (09)</tt> = ''Unclassified data''
 
* <tt>5C-5D (02)</tt> = <tt>{{color2|#FFFFFF|#000000|[ Q ]}}</tt> Battle text number
 
* <tt>5E-6B (0E)</tt> = ''Unclassified data''
 
  
 
===Table view===
 
===Table view===
 
         00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
 
         00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
 
     +--------------------------------------------------------------------------------
 
     +--------------------------------------------------------------------------------
  00  | {{color2|#000000|#87CEEB|[        A        ]}} {{color2|#000000|#90EE90|[        B        ]}} {{color2|#000000|#FFB6C1|[ C]}} [ ?] {{color2|#000000|#FAFAD2|[  D  ]}} {{color2|#000000|#FFFFE0|[   E   ]}} [  ?  ]
+
  00  | {{color2|#000000|#87CEEB|[        A        ]}} {{color2|#000000|#90EE90|[        B        ]}} {{color2|#000000|#FFB6C1|[   C   ]}} {{color2|#000000|#FAFAD2|[  D  ]}} {{color2|#000000|#FFFFE0|[       E       ]}}
  10  | {{color2|#000000|#B0C4DE|[        F        ]}} {{color2|#000000|#D3D3D3|[   G   ]}} [  ?  ] {{color2|#000000|#F08080|[ H]}} {{color2|#000000|#FFA07A|[ I]}} {{color2|#000000|#ADD8E6|[ J]}} {{color2|#FFFFFF|#00008B|[ K]}} [        ?       ]
+
  10  | {{color2|#000000|#B0C4DE|[        F        ]}} {{color2|#000000|#D3D3D3|[       G       ]}} {{color2|#000000|#F08080|[ H]}} {{color2|#000000|#FFA07A|[ I]}} {{color2|#000000|#ADD8E6|[ J]}} {{color2|#FFFFFF|#00008B|[ K]}} {{color2|#FFFFFF|#065545|[        L       ]}}
  20  | {{color2|#FFFFFF|#006400|[                                      L                                     ->}}
+
  20  | {{color2|#FFFFFF|#006400|[                                      M                                     ->}}
  30  | {{color2|#FFFFFF|#006400|<-            L           ]}} {{color2|#FFFFFF|#8B0000|[          M         ]}} [          ?          ->
+
  30  | {{color2|#FFFFFF|#006400|<-            M           ]}} {{color2|#FFFFFF|#8B0000|[          N         ]}} {{color2|#FFFFFF|#435678|[           O         ]}}
  40  | <-                                ?                                ] {{color2|#FFFFFF|#B8860B|[   N  ]}}
+
  40  | {{color2|#FFFFFF|#053656|[                                     P                                    ->}}
  50  | {{color2|#FFFFFF|#483D8B|[  O  ]}} {{color2|#FFFFFF|#A9A9A9|[ P]}} [                    ?                    ] {{color2|#FFFFFF|#000000|[   Q   ]}} [   ?  ->
+
  50  | {{color2|#FFFFFF|#053656|<-                                    P                                    ->}}
60  | <-                           ?                          ]
+
60  | {{color2|#FFFFFF|#053656|<-                P                   ]}} {{color2|#000000|#27D378|[       Q       ]}}
 +
 
 +
===About PP increase (signed)===
 +
Even though the game considers only the first two bytes of PP increase, the developers left two more bytes.<br>
 +
This was probably done so the table has the same structure as the [[MOTHER_3:Level-up_stats_table|Level-up stats table]].
  
 
==Item type==
 
==Item type==
Line 71: Line 68:
 
| <tt>05</tt>: Status healer
 
| <tt>05</tt>: Status healer
 
|-
 
|-
| <tt>06</tt>: Nausea
+
| <tt>06</tt>: Damaging Item
 
|-
 
|-
| <tt>07</tt>: Fleas
+
| <tt>07</tt>: Special Effect Item
 
|-
 
|-
| <tt>08</tt>: Burned
+
| <tt>08</tt>: Key Item
 
|-
 
|-
| <tt>09</tt>: Solidified
+
| <tt>09</tt>: Unused Key Item
 
|}
 
|}
  
Line 139: Line 136:
 
|}
 
|}
  
==Lower and upper HP values==
+
==Attacking type==
The lower and upper HP values indicate the range of recovery for recovery-based items. Each value uses 16 bits.
+
These bytes are only considered if the item is a Weapon.<br>
 +
The first byte detemines what battle action the normal "Bash" one should become when the weapon is equipped.<br>
 +
This is used to make the battle action name change to "Kick", "Shoot" and other such names.<br>
 +
By modifying this value, one can make characters who aren't supposed to use PSI use them or use the battle action Consider.<br>
 +
The battle action name pointers to the [[MOTHER_3:Battle_text|Battle text]] are obtained by adding 0x9D to the value of the first byte.<br>
 +
Boney's battle action won't change name if it's an attack, but it will change name if the action becomes a skill.
  
==Status ailment==
+
==Info chunk==
This seems to control which status ailment to heal for items such as the Antidote, Fresh Mint, etc., according to the table below:
+
[[MOTHER_3:PSI_data|PSI data]], [[MOTHER_3:Item_data|Item data]], [[MOTHER_3:Battle_skills_table|Battle skills table]] and [[MOTHER_3:Battle_actions_table|Battle actions table]] all share this group of 0x28 (40) bytes.<br><br>
 +
It is called [[MOTHER_3:Battle_tables_info_chunk|Battle Info chunk]].<br>
  
{| style="width: 20%"
+
==Item uses==
|-
+
If the third byte value is 01, the item will be usable only one time, in battle, before disappearing.<br>
| <tt>01</tt>: Poison (Antidote)
+
If the third byte value is 00, the item won't disappear after the use.
|-
 
| <tt>02</tt>: Numbness (Anti-Paralysis)
 
|-
 
| <tt>03</tt>: Sleep (Alarm Cicada)
 
|-
 
| <tt>04</tt>: Confusion (Paper Fan)
 
|-
 
| <tt>05</tt>: Crying (Eye Drops)
 
|-
 
| <tt>06</tt>: Forgetfulness (Recollection Bell)
 
|-
 
| <tt>07</tt>: Nausea (Fresh Mint)
 
|-
 
| <tt>08</tt>: Fleas (Flea Powder)
 
|}
 
  
 
[[Category:MOTHER 3|Item data]]
 
[[Category:MOTHER 3|Item data]]

Latest revision as of 01:12, 4 January 2021

Item data table
Game MOTHER 3
Start Address 0xE5108
End Address 0xEBD07
# of Entries 256 (0x100)
Entry Length 108 bytes (0x6C)
Total Length 27648 bytes (0x6C00)
Back to the ROM map

Overview

The item data table contains the stats and parameters for each item in the game. It does not include the item names; for that, see the item names table.

Format

Each entry in the table uses 108 bytes.

Field listing

Table view

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

About PP increase (signed)

Even though the game considers only the first two bytes of PP increase, the developers left two more bytes.
This was probably done so the table has the same structure as the Level-up stats table.

Item type

Not fully known. Values range from 0 to 9:

00: Weapon
01: Body armor
02: Headgear
03: Armgear
04: Food
05: Status healer
06: Damaging Item
07: Special Effect Item
08: Key Item
09: Unused Key Item

Key item flag

Seems to be 01 for non-key items, 00 for key items.

Equip flags

This is a bitfield indicating who can equip this item:

  • 01 = ?
  • 02 = Flint
  • 04 = Lucas
  • 08 = Duster
  • 10 = Kumatora
  • 20 = Boney
  • 40 = Salsa
  • 80 = ?

Status ailment protection

Indicates how much to protect against certain status ailments. A more negative value means more protection. Each value is a 16-bit signed integer. There are 11 values, corresponding to the table below:

00: Poison
01: Paralysis
02: Sleep
03: Strange
04: Cry
05: Forgetful
06: Nausea
07: Fleas
08: Burned
09: Solidified
0A: Numbness?

Elemental protection

Similar to the status ailment protection, an item may also protect from elemental damage taken from PSI or Bomb items. Each value is an 8-bit signed integer. There are 5 values, corresponding to the table below:

00: Neutral (PK Love, Starstorm, Ground)
01: PK Fire
02: PK Freeze
03: PK Thunder
04: Bombs

Attacking type

These bytes are only considered if the item is a Weapon.
The first byte detemines what battle action the normal "Bash" one should become when the weapon is equipped.
This is used to make the battle action name change to "Kick", "Shoot" and other such names.
By modifying this value, one can make characters who aren't supposed to use PSI use them or use the battle action Consider.
The battle action name pointers to the Battle text are obtained by adding 0x9D to the value of the first byte.
Boney's battle action won't change name if it's an attack, but it will change name if the action becomes a skill.

Info chunk

PSI data, Item data, Battle skills table and Battle actions table all share this group of 0x28 (40) bytes.

It is called Battle Info chunk.

Item uses

If the third byte value is 01, the item will be usable only one time, in battle, before disappearing.
If the third byte value is 00, the item won't disappear after the use.