Jump to content

HG/SS Pokemon File Specifications


Recommended Posts

Personal Files  
- files located at /a/0/0/2
- file contains 4 sections
#1 Section - General Data 
- section is 10 bytes
Offset Length Name Description
0x0 0x1 Base HP  
0x1 0x1 Base Attack  
0x2 0x1 Base Defense  
0x3 0x1 Base Speed  
0x4 0x1 Base Special Attack  
0x5 0x1 Base Special Defense  
0x6 0x1 Type 1  
0x7 0x1 Type 2 If monotype, this will be the same as Type 1.
0x8 0x1 Catch Rate  
0x9 0x1 Base Experience The base amount of experience gained by defeating this Pokemon.
#2 Section - Effort Values 
- section is 2 bytes
Offset Length Name Description
0 2 Bits HP  
2 2 Bits Speed  
4 2 Bits Attack  
6 2 Bits Defense  
8 2 Bits Special Attack  
10 2 bits Special Defense  
12 4 Bits Padding  
#3 Section - General Data (Continued) 
- section is 14 bytes
Offset Length Name Description
0x0 0x2 Held Item (50%) Uncommon held item for wild encounters.
0x2 0x2 Held Item (5%) Rare held item for wild encounters.
0x4 0x1 Gender Ratio Out of 255, this is the approximate number of females you'd encounter
0x5 0x1 Hatch Multiplier This number multiplied by 256 gives you the base number of steps required to hatch an egg.
0x6 0x1 Base Happiness  
0x7 0x1 Experience Rate One of six values with preset growth rates.
0x8 0x1 Egg Group 1  
0x9 0x1 Egg Group 2 If no second egg group, this will be the same as Egg Group 1.
0xA 0x1 Ability 1  
0xB 0x1 Ability 2 Left blank if there's no second ability.
0xC 0x1 Run Chance Used strictly for Safari Zone encounters.
0xD 0x1 Color This is for Pokedex colors.
#4 Section - TM's List 
- This section is 128 bits. 
- The first 92 bits refer to TMs, the next 8 to HMs, and the last 28 are padding. 
- If the bit is 1, that TM can be learned by this Pokemon. If it is 0, it cannot.

 

Learnset Files  
- files located at /a/0/3/3
- file contains 2 sections
#1 Section - Learnset 
- section is 2 bytes for every Move in the Pokemon's learnset 
- possible limit of 40 bytes, or 20 moves
Offset Length Name Description
0 9 Bits Move ID  
9 7 Bits Level Learned  
#2 Section - File End 
- section is 4 bytes
Offset Length Name Description
0x0 0x2 Delimiter Tells the game where to stop reading. Always 0xFFFF.
0x2 0x2 Padding  

 

Evolution Files Back To Pokemon ▲
- files located at /a/0/3/4
- file contains 2 sections
#1 Section - Evolutions 
- section is 6 bytes for every evolution method 
- possible limit of 7 evolutions, or 42 bytes 
- possible that all 42 bytes are required, and 0x0 if unused
Offset Length Name Description
0x0 0x1 Evolution Method One of 26 evolutions methods.
0x1 0x1 Padding  
0x2 0x2 Requirement Number This is the level required or the index of the Pokemon, item, etc. required for the evolution method. 0x0 if not needed.
0x1 0x1 Evolved ID This is the index mumber of the Pokemon to evolve into.
#2 Section - File End
Offset Length Name Description
0x0 0x2 Padding  

 

Growth Table Files Back To Pokemon ▲
- files located at /a/0/0/3
- file contains 1 section
#1 Section - Growth Table 
- section is 4 bytes for each level, starting with Level 0 
- total size is 404 bytes
Offset Length Name Description
0x0 0x4 Experience Requirement Experience required to reach this level.

 

Baby Form Table File  
- files located at /a/poketool/personal/pms.narc
- file contains 1 section - special babies are defined in code in the overlays
#1 Section - Baby Form Table 
- section is 2 bytes for each Pokemon, including alternate forms 
- total size is 1016 
- starts with index 0, making Bulbasaur the second short
Offset Length Name Description
0x0 0x2 Baby Index Number This is the index number of the default baby produced from breeding.

 

Move Tutor Table File  
- files located at /fielddata/wazaoshie/waza_oshie.bin
- file contains 1 section - does not include Dragon or starter tutors
#1 Section - Move Tutor Table 
- section is 8 bytes for each Pokemon, including alternate forms 
- total size is 4040 
- starts with index 1, making Bulbasaur the first entry
Offset Length Name Description
0x0 0x1 Moves 1-8 (Bitfield) This bitfield is for moves 1-8, moving from least to most significant.
0x1 0x1 Moves 9-16 (Bitfield) This bitfield is for moves 9-16.
0x2 0x1 Moves 17-24 (Bitfield) This bitfield is for moves 17-24.
0x3 0x1 Moves 25-32 (Bitfield) This bitfield is for moves 25-32.
0x4 0x1 Moves 33-40 (Bitfield) This bitfield is for moves 33-40.
0x5 0x1 Moves 41-48 (Bitfield) This bitfield is for moves 41-48.
0x6 0x1 Moves 49-52 (Bitfield) This bitfield is for moves 49-52, with 4 bits of padding.

 

Move Tutor Table  
- table is in Overlay 001 at 0x23AE0
- does not include Dragon or starter tutors - full table reference in the Appendix
#1 Section - Move Tutor Table 
- section is 4 bytes for each entry, with 52 entries 
- total size is 208 
- changing the values is possible, expanding the table is currently not known
Offset Length Name Description
0x0 0x2 Move ID This is the ID number for the entry.
0x2 0x1 BP Cost This is the BP Cost for the entry, 0 if unapplicable.
0x3 0x1 Tutor ID This is the ID of the tutor for the entry.

 

 

Edited by Hiro TDK
Added Move Tutor Information
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...