Pokémon data structure (Generation I): Difference between revisions

m
replaced: Pokemon → Pokémon (15)
No edit summary
m (replaced: Pokemon → Pokémon (15))
Line 1: Line 1:
The '''Pokémon data structure''' in the [[Generation I]] games stores most information about the current state of a {{player}}'s [[caught Pokémon]]. It has a length of 64 bytes for Pokémon in the player's [[party]] (44 bytes for the Pokemon itself and 20 bytes for the OT's name and the Nickname) and 53 bytes for Pokémon in boxes (33 for the Pokemon itself and 20 for the OT's name and Nickname) on [[Pokémon Storage System|Bill's PC]]. The information lost when depositing a Pokémon in Bill's PC is its [[level]], [[HP]], {{stat|Attack}}, {{stat|Defense}}, {{stat|Speed}} and {{stat|Special}}; this allows the [[box trick]] to work by recalculating the lost information upon withdrawing the Pokémon again.
The '''Pokémon data structure''' in the [[Generation I]] games stores most information about the current state of a {{player}}'s [[caught Pokémon]]. It has a length of 64 bytes for Pokémon in the player's [[party]] (44 bytes for the Pokémon itself and 20 bytes for the OT's name and the Nickname) and 53 bytes for Pokémon in boxes (33 for the Pokémon itself and 20 for the OT's name and Nickname) on [[Pokémon Storage System|Bill's PC]]. The information lost when depositing a Pokémon in Bill's PC is its [[level]], [[HP]], {{stat|Attack}}, {{stat|Defense}}, {{stat|Speed}} and {{stat|Special}}; this allows the [[box trick]] to work by recalculating the lost information upon withdrawing the Pokémon again.


==The structure==
==The structure==
Line 249: Line 249:
| 0xE4 || 6th Pokémon's structure || 44 Bytes
| 0xE4 || 6th Pokémon's structure || 44 Bytes
|-
|-
| 0x110 || 1st Pokemon's OT name || 10 Bytes
| 0x110 || 1st Pokémon's OT name || 10 Bytes
|-
|-
| 0x11B || 2nd Pokemon's OT name || 10 Bytes
| 0x11B || 2nd Pokémon's OT name || 10 Bytes
|-
|-
| 0x126 || 3rd Pokemon's OT name || 10 Bytes
| 0x126 || 3rd Pokémon's OT name || 10 Bytes
|-
|-
| 0x131 || 4th Pokemon's OT name || 10 Bytes
| 0x131 || 4th Pokémon's OT name || 10 Bytes
|-
|-
| 0x13C || 5th Pokemon's OT name || 10 Bytes
| 0x13C || 5th Pokémon's OT name || 10 Bytes
|-
|-
| 0x147 || 6th Pokemon's OT name || 10 Bytes
| 0x147 || 6th Pokémon's OT name || 10 Bytes
|-
|-
| 0x152 || 1st Pokemon's Nickname || 10 Bytes
| 0x152 || 1st Pokémon's Nickname || 10 Bytes
|-
|-
| 0x15D || 2nd Pokemon's Nickname || 10 Bytes
| 0x15D || 2nd Pokémon's Nickname || 10 Bytes
|-
|-
| 0x168 || 3rd Pokemon's Nickname || 10 Bytes
| 0x168 || 3rd Pokémon's Nickname || 10 Bytes
|-
|-
| 0x173 || 4th Pokemon's Nickname || 10 Bytes
| 0x173 || 4th Pokémon's Nickname || 10 Bytes
|-
|-
| 0x17E || 5th Pokemon's Nickname || 10 Bytes
| 0x17E || 5th Pokémon's Nickname || 10 Bytes
|-
|-
| 0x189 || 6th Pokemon's Nickname || 10 Bytes
| 0x189 || 6th Pokémon's Nickname || 10 Bytes
|}
|}


Also of note is that the storage of the current Pokémon's information during battle. The internal index of the current Pokemon is stored at 0xCF91, and the current Pokémon's data structure begins at 0xCF98.
Also of note is that the storage of the current Pokémon's information during battle. The internal index of the current Pokémon is stored at 0xCF91, and the current Pokémon's data structure begins at 0xCF98.


{{Data structure}}<br>
{{Data structure}}<br>
{{Project Games notice|data structure}}
{{Project Games notice|data structure}}