Fixed pokemon.bin (PSMD)

From ProjectPokemon Wiki
Revision as of 22:30, 23 August 2016 by UniqueGeek (talk | contribs) (Created page with "== Overview == In Pokémon Super Mystery Dungeon, fixed_pokemon.bin contains move and stat data for all non-standard Pokémon that appear in any sort of dungeon, including sta...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Overview

In Pokémon Super Mystery Dungeon, fixed_pokemon.bin contains move and stat data for all non-standard Pokémon that appear in any sort of dungeon, including starters, bosses, and allies.

Structure

Located in RomFS:/dungeon/fixed_pokemon.bin, it is a SIR0 file, complete with the standard SIR0 header, content header, and footer.

Content Header

The content header is a series of 32-bit integers. The first is the number of entries in the file. The second one is unknown, and is set to 0. The rest are pointers to the start of each entry.

Entries

Each entry is 0x30 bytes long. Any byte not listed here is unknown; however, it has been observed that some of the unknown data can give statuses, like sleeping.

Offset Length (Bytes) Name Description
0x00 2 Pokemon ID In most cases, this is the ID of the Pokemon the entry represents. In others, it is a negative number with unknown meaning.
0x02 2 HP Boost This number is added to the Pokemon's normal base HP.
0x08 2 Move 1 ID of the first move the Pokemon knows.
0x0A 2 Move 2 ID of the second move the Pokemon knows.
0x0C 2 Move 3 ID of the third move the Pokemon knows.
0x0E 2 Move 4 ID of the fourth move the Pokemon knows.
0x17 1 Attack Boost This number is added to the Pokemon's normal base Attack.
0x18 1 Sp. Attack Boost This number is added to the Pokemon's normal base Sp. Attack.
0x19 1 Defense Boost This number is added to the Pokemon's normal base Defense.
0x1A 1 Sp. Defense Boost This number is added to the Pokemon's normal base Sp. Defense.
0x1B 1 Speed Boost This number is added to the Pokemon's normal base Speed.

Entry Ranges

The game treats different ranges of entries differently.

Use with Starters

When the game sets the species of either the hero or the partner, it looks for an entry in the Starter range.

If an entry is found (in no particular order):

  • Level is set to 5
  • Ability is set to the first ability for that Pokemon
  • Moves are set using the fixed_pokemon entry.
  • Status boosts are applied
  • (possibly more)

If an entry is not found when setting a starter, none of the above happens, and Level, Ability, and Moves remain unchanged.

Use with Scarf Evolution (Possible spoilers ahead)

When a Pokemon evolves using harmony scarves, the game looks for an entry in the Evolutions range corresponding to the evolved Pokemon, and stat bonuses are applied. Moves and level remain unaltered.

It is currently unknown what happens when a Pokemon with multiple possible evolutions evolves using harmony scarves, and there's one or more possible entries in the Evolutions range.

Pokemon

Here's a list of all Pokemon found in the file, grouped by possible category.

--Unknown
0-7: -1 through -8
--Legacy?
8: Dunsparce
9: Emolga
10: Virizion
11: Espon
12: Umbreon
--Unknown
13-16: -9 through -12
--Starters
17: Pikachu
18: Riolu
19: Bulbasaur
20: Ivysaur
21: Charamander
22: Charmeleon
23: Squirtle
24: Wartortle
25: Chikorita
26: Bayleaf
27: Cyndaquil
28: Quilava
29: Totodile
30: Cronconaw
31: Treeko
32: Grovyle
33: Torchic
34: Combusken
35: Mudkip
36: Marshtomp
37: Turtwig
38: Grotle
39: Chimchar
40: Monferno
41: Piplup
42: Prinplup 
43: Snivy
44: Serpine
45: Tepig
46: Pignite
47: Oshawott
48: Dewott
49: Chespin
50: Quilladin
51: Fennekin
52: Braixen
53: Froakie
54: Frogadier
--Evolutions
55: Riachu
56: Lucario
(and more)
75: -1
76: -2
77: Riachu again
78: Lucario again
-- Friendly NPCs
79: Nuzleaf
80: Nuzleaf
81: Nuzleaf
82: Nuzleaf
83: Goomy (School Forest?)
84: Goomy (Adventure?)
85: Espur
86: Espur (Adventure?)
87: Espur
88: Espur
89: Deerling (School Forest?)
90: Deerling (Adventure?)
91: Beheeyem
92: Archen
93: Archen
94: Archen
95: Mawile
96: Mawile
97: Denenne
98: Bunnelby
99: Bunnelby
100: Buizel
101: Buizel
102: Entei
103: Raikou
104: Suicune
105: Ampharos
106: Celebi (Green)
107: Jirachi
108: Pancham (Alliance Demo?)
109: Pancham (Adventure?)
110: Shelmet (Alliance Demo?)
111: Shelmet (Adventure?)
112: Mew
113: Sylveon
--Enemy NPCs (Bosses)
114: Gabite
115: Beedrill
116: Beedrill
117: Combee
118: Combee
119: Combee
120: Poliwrath
121: Poliwrath
122: Poliwrath
123: Poliwag
124: Giratina
125: Litwick
126: Litwick
127: Litwick
128: Litwick
129: Jirachi (The boss, not friendly NPC)
130: Magmortar
131: Magmar
132: Magmar
133: Magmar
134: Magmar
135: Tangela
136: Tangela
137: Void Shadows
138: Void Shadows
139: Void Shadows
140: Void Shadows
141: Void Shadows
142: Void Shadows
143: Mega Tyranitar
144: Mega Gengar
145: Mega Gengar
146: Beheeyem
147: Yveltal
148: Beheeyem
149: Beheeyem
150: Nuzleaf
151: Dark Matter (2)
152: Dark Matter (4)
153: Dark Matter (5)
154: Dark Matter (6)
155: Dark Matter (7)
156: Watchog
157: Ho-Oh
158: Articuno
159: Zapdos
160: Moltres
161: Lugia
162: Darkrai
163: Kyurem (1)
164: Kyurem (2)
165: Kyurem (3)
166: Hariyama
167: Kyogre (Special entries at end of list; id 973)
168: Nosepass
169: Groudon (Special entries at end of list; id 974)
170: Mewtwo
171: Mewtwo
172: Mewtwo
173: Cobalion 
174: Terrakion
175: Virizion
176: Keldo (1)
177: Zekrom
178: Reshiram
179: Registeel
180: Regirock
181: Registeel
182: Regigigas
183: Dialga
184: Palkia
185: Giratina (1)
186: Giratina (2)
187: Rayquaza
188: Rayquaza (Special entries at end of list; id 969
189: Uxie
190: Mespirit
191: Azelf
192: Celebi (Green)
193: Celebi (Pink)
194: Diancie (1)
195: Phione
196: Manaphy
197: Shaymin (1)
198: Shaymin (2)
199: Arceus (1)
200: Suicune
201: Raikou
202: Entei
203: Zygarde
204: Cresselia
205: Heatran
206: Hydreigon
207: Latias
208: Latios
209: Yveltal
--Unknown/garbage
210: Raichu
211: Raichu
212: Gabite
213-226: Raichu
227: Salamence
228: Raichu
229: Sudowoodo
230: Sudowoodo
231: Sudowoodo
232: Sudowoodo
233: Sudowoodo
234: Sudowoodo
235: Sudowoodo
--Unknown/garbage
236-243: Raichu
--Clients: Outlaws, Battle Challenges, MAYBE Escorts
244: Houndour
245: Pyroar
246: Spiritomb
247: Scraggy
248: Salamence
249: Primeape
250: Seadra
251: Liepard
252: Glameow
253: Natu
254: Trapinch
255: Basculin
256: Goldeen
257: Kingler
258: Absol (1)
259: Sawk
260: Hitmonchan
261: Hitmonlee
262: Throh
263: Mandibuzz
264: Vullaby
265: Braviary
266: Machop
267: Slaking
268: Pansear
269: Mankey
270: Rhydon
271: Skarmory
272: Timburr
273: Aerodactyl (1)
274: Golurk
275: Blastoise
276: Golem
277: Octillery
278: Weavile
279: Arbok
280: Drapion
281: Abomasnow
282: Snorunt
283: Snover
284: Barboach
285: Aegislash
286: Malamar
287: Hypno
288: Magcargo
289: Garchomp
290: Unfezant
291: Flabébé (1)
292: Kabutops
293: Pawniard
294: Nidoran♂
295: Nidorino
296: Nidoking
297: Hitmontop
298: Hariyama
299: Meditite
300: Gastly
301: Drifblim
302: Haunter
303: Garbodor
304: Weezing
305: Grimer
306: Weepinbell
307: Darumaka
308: Machoke
309: Charizard
310: Raichu
-- Open Pass Pokemon?
311: Seviper
312: Seviper
313: Paras
314: Paras
315: Bouffalant
316: Bouffalant
317: Shroomish
318: Shroomish
--Unknown/garbage
319-389: Raichu (ID 31)
390: Ho-Oh (ID 319)
391-432: Raichu (ID 31)
--Unknown/legacy/garbage
433: Timburr
434: Timburr
435: Reshiram
436: Zekrom
437: Snivy
438-441: Raichu
442: Furfrou (1)
443: Furfrou (1)
444: Oddish
445: Mr. Mime
446: Stantler
447: Mankey
448: Spearow
449: Machop
450: Scraggy
451: Scraggy
452: Doduo
453: Doduo
454: Foongus
455: Woobat
456: Woobat
457: Woobat
458: Woobat
459: Wurmple
460: Cottonee
461: Glameow
462: Garchomp (1)
463: Glameow