about summary refs log tree commit diff stats
path: root/gba/source
diff options
context:
space:
mode:
Diffstat (limited to 'gba/source')
-rw-r--r--gba/source/basestats.c1667
-rw-r--r--gba/source/basestats.h26
-rw-r--r--gba/source/dexorder.c10
-rw-r--r--gba/source/dexorder.h15
-rw-r--r--gba/source/exptables.c828
-rw-r--r--gba/source/exptables.h15
-rw-r--r--gba/source/gamedata.c9
-rw-r--r--gba/source/gamedata.h3
-rw-r--r--gba/source/serialize.c9
9 files changed, 2567 insertions, 15 deletions
diff --git a/gba/source/basestats.c b/gba/source/basestats.c new file mode 100644 index 0000000..a8c335b --- /dev/null +++ b/gba/source/basestats.c
@@ -0,0 +1,1667 @@
1/*
2 * Copyright (C) 2017 Scott Norton
3 * Copyright (C) 2017 hatkirby
4 *
5 * This software may be modified and distributed under the terms
6 * of the MIT license. See the LICENSE file for details.
7 */
8#include "basestats.h"
9
10enum {
11 GROWTH_MEDIUM_FAST,
12 GROWTH_ERRATIC,
13 GROWTH_FLUCTUATING,
14 GROWTH_MEDIUM_SLOW,
15 GROWTH_FAST,
16 GROWTH_SLOW
17};
18
19const struct SmallBaseStats gSmallBaseStats[] = {
20 { // ??????????
21 }, {
22 // Bulbasaur
23 45, 49, 49, 45, 65, 65,
24 31, // gender
25 GROWTH_MEDIUM_SLOW
26 }, { // Ivysaur
27 60, 62, 63, 60, 80, 80,
28 31, // gender
29 GROWTH_MEDIUM_SLOW
30 }, { // Venusaur
31 80, 82, 83, 80, 100, 100,
32 31, // gender
33 GROWTH_MEDIUM_SLOW
34 }, { // Charmander
35 39, 52, 43, 65, 60, 50,
36 31, // gender
37 GROWTH_MEDIUM_SLOW
38 }, { // Charmeleon
39 58, 64, 58, 80, 80, 65,
40 31, // gender
41 GROWTH_MEDIUM_SLOW
42 }, { // Charizard
43 78, 84, 78, 100, 109, 85,
44 31, // gender
45 GROWTH_MEDIUM_SLOW
46 }, { // Squirtle
47 44, 48, 65, 43, 50, 64,
48 31, // gender
49 GROWTH_MEDIUM_SLOW
50 }, { // Wartortle
51 59, 63, 80, 58, 65, 80,
52 31, // gender
53 GROWTH_MEDIUM_SLOW
54 }, { // Blastoise
55 79, 83, 100, 78, 85, 105,
56 31, // gender
57 GROWTH_MEDIUM_SLOW
58 }, { // Caterpie
59 45, 30, 35, 45, 20, 20,
60 127, // gender
61 GROWTH_MEDIUM_FAST
62 }, { // Metapod
63 50, 20, 55, 30, 25, 25,
64 127, // gender
65 GROWTH_MEDIUM_FAST
66 }, { // Butterfree
67 60, 45, 50, 70, 80, 80,
68 127, // gender
69 GROWTH_MEDIUM_FAST
70 }, { // Weedle
71 40, 35, 30, 50, 20, 20,
72 127, // gender
73 GROWTH_MEDIUM_FAST
74 }, { // Kakuna
75 45, 25, 50, 35, 25, 25,
76 127, // gender
77 GROWTH_MEDIUM_FAST
78 }, { // Beedrill
79 65, 80, 40, 75, 45, 80,
80 127, // gender
81 GROWTH_MEDIUM_FAST
82 }, { // Pidgey
83 40, 45, 40, 56, 35, 35,
84 127, // gender
85 GROWTH_MEDIUM_SLOW
86 }, { // Pidgeotto
87 63, 60, 55, 71, 50, 50,
88 127, // gender
89 GROWTH_MEDIUM_SLOW
90 }, { // Pidgeot
91 83, 80, 75, 91, 70, 70,
92 127, // gender
93 GROWTH_MEDIUM_SLOW
94 }, { // Rattata
95 30, 56, 35, 72, 25, 35,
96 127, // gender
97 GROWTH_MEDIUM_FAST
98 }, { // Raticate
99 55, 81, 60, 97, 50, 70,
100 127, // gender
101 GROWTH_MEDIUM_FAST
102 }, { // Spearow
103 40, 60, 30, 70, 31, 31,
104 127, // gender
105 GROWTH_MEDIUM_FAST
106 }, { // Fearow
107 65, 90, 65, 100, 61, 61,
108 127, // gender
109 GROWTH_MEDIUM_FAST
110 }, { // Ekans
111 35, 60, 44, 55, 40, 54,
112 127, // gender
113 GROWTH_MEDIUM_FAST
114 }, { // Arbok
115 60, 85, 69, 80, 65, 79,
116 127, // gender
117 GROWTH_MEDIUM_FAST
118 }, { // Pikachu
119 35, 55, 30, 90, 50, 40,
120 127, // gender
121 GROWTH_MEDIUM_FAST
122 }, { // Raichu
123 60, 90, 55, 100, 90, 80,
124 127, // gender
125 GROWTH_MEDIUM_FAST
126 }, { // Sandshrew
127 50, 75, 85, 40, 20, 30,
128 127, // gender
129 GROWTH_MEDIUM_FAST
130 }, { // Sandslash
131 75, 100, 110, 65, 45, 55,
132 127, // gender
133 GROWTH_MEDIUM_FAST
134 }, { // Nidoran♀
135 55, 47, 52, 41, 40, 40,
136 254, // gender
137 GROWTH_MEDIUM_SLOW
138 }, { // Nidorina
139 70, 62, 67, 56, 55, 55,
140 254, // gender
141 GROWTH_MEDIUM_SLOW
142 }, { // Nidoqueen
143 90, 82, 87, 76, 75, 85,
144 254, // gender
145 GROWTH_MEDIUM_SLOW
146 }, { // Nidoran♂
147 46, 57, 40, 50, 40, 40,
148 0, // gender
149 GROWTH_MEDIUM_SLOW
150 }, { // Nidorino
151 61, 72, 57, 65, 55, 55,
152 0, // gender
153 GROWTH_MEDIUM_SLOW
154 }, { // Nidoking
155 81, 92, 77, 85, 85, 75,
156 0, // gender
157 GROWTH_MEDIUM_SLOW
158 }, { // Clefairy
159 70, 45, 48, 35, 60, 65,
160 191, // gender
161 GROWTH_FAST
162 }, { // Clefable
163 95, 70, 73, 60, 85, 90,
164 191, // gender
165 GROWTH_FAST
166 }, { // Vulpix
167 38, 41, 40, 65, 50, 65,
168 191, // gender
169 GROWTH_MEDIUM_FAST
170 }, { // Ninetales
171 73, 76, 75, 100, 81, 100,
172 191, // gender
173 GROWTH_MEDIUM_FAST
174 }, { // Jigglypuff
175 115, 45, 20, 20, 45, 25,
176 191, // gender
177 GROWTH_FAST
178 }, { // Wigglytuff
179 140, 70, 45, 45, 75, 50,
180 191, // gender
181 GROWTH_FAST
182 }, { // Zubat
183 40, 45, 35, 55, 30, 40,
184 127, // gender
185 GROWTH_MEDIUM_FAST
186 }, { // Golbat
187 75, 80, 70, 90, 65, 75,
188 127, // gender
189 GROWTH_MEDIUM_FAST
190 }, { // Oddish
191 45, 50, 55, 30, 75, 65,
192 127, // gender
193 GROWTH_MEDIUM_SLOW
194 }, { // Gloom
195 60, 65, 70, 40, 85, 75,
196 127, // gender
197 GROWTH_MEDIUM_SLOW
198 }, { // Vileplume
199 75, 80, 85, 50, 100, 90,
200 127, // gender
201 GROWTH_MEDIUM_SLOW
202 }, { // Paras
203 35, 70, 55, 25, 45, 55,
204 127, // gender
205 GROWTH_MEDIUM_FAST
206 }, { // Parasect
207 60, 95, 80, 30, 60, 80,
208 127, // gender
209 GROWTH_MEDIUM_FAST
210 }, { // Venonat
211 60, 55, 50, 45, 40, 55,
212 127, // gender
213 GROWTH_MEDIUM_FAST
214 }, { // Venomoth
215 70, 65, 60, 90, 90, 75,
216 127, // gender
217 GROWTH_MEDIUM_FAST
218 }, { // Diglett
219 10, 55, 25, 95, 35, 45,
220 127, // gender
221 GROWTH_MEDIUM_FAST
222 }, { // Dugtrio
223 35, 80, 50, 120, 50, 70,
224 127, // gender
225 GROWTH_MEDIUM_FAST
226 }, { // Meowth
227 40, 45, 35, 90, 40, 40,
228 127, // gender
229 GROWTH_MEDIUM_FAST
230 }, { // Persian
231 65, 70, 60, 115, 65, 65,
232 127, // gender
233 GROWTH_MEDIUM_FAST
234 }, { // Psyduck
235 50, 52, 48, 55, 65, 50,
236 127, // gender
237 GROWTH_MEDIUM_FAST
238 }, { // Golduck
239 80, 82, 78, 85, 95, 80,
240 127, // gender
241 GROWTH_MEDIUM_FAST
242 }, { // Mankey
243 40, 80, 35, 70, 35, 45,
244 127, // gender
245 GROWTH_MEDIUM_FAST
246 }, { // Primeape
247 65, 105, 60, 95, 60, 70,
248 127, // gender
249 GROWTH_MEDIUM_FAST
250 }, { // Growlithe
251 55, 70, 45, 60, 70, 50,
252 63, // gender
253 GROWTH_SLOW
254 }, { // Arcanine
255 90, 110, 80, 95, 100, 80,
256 63, // gender
257 GROWTH_SLOW
258 }, { // Poliwag
259 40, 50, 40, 90, 40, 40,
260 127, // gender
261 GROWTH_MEDIUM_SLOW
262 }, { // Poliwhirl
263 65, 65, 65, 90, 50, 50,
264 127, // gender
265 GROWTH_MEDIUM_SLOW
266 }, { // Poliwrath
267 90, 85, 95, 70, 70, 90,
268 127, // gender
269 GROWTH_MEDIUM_SLOW
270 }, { // Abra
271 25, 20, 15, 90, 105, 55,
272 63, // gender
273 GROWTH_MEDIUM_SLOW
274 }, { // Kadabra
275 40, 35, 30, 105, 120, 70,
276 63, // gender
277 GROWTH_MEDIUM_SLOW
278 }, { // Alakazam
279 55, 50, 45, 120, 135, 85,
280 63, // gender
281 GROWTH_MEDIUM_SLOW
282 }, { // Machop
283 70, 80, 50, 35, 35, 35,
284 63, // gender
285 GROWTH_MEDIUM_SLOW
286 }, { // Machoke
287 80, 100, 70, 45, 50, 60,
288 63, // gender
289 GROWTH_MEDIUM_SLOW
290 }, { // Machamp
291 90, 130, 80, 55, 65, 85,
292 63, // gender
293 GROWTH_MEDIUM_SLOW
294 }, { // Bellsprout
295 50, 75, 35, 40, 70, 30,
296 127, // gender
297 GROWTH_MEDIUM_SLOW
298 }, { // Weepinbell
299 65, 90, 50, 55, 85, 45,
300 127, // gender
301 GROWTH_MEDIUM_SLOW
302 }, { // Victreebel
303 80, 105, 65, 70, 100, 60,
304 127, // gender
305 GROWTH_MEDIUM_SLOW
306 }, { // Tentacool
307 40, 40, 35, 70, 50, 100,
308 127, // gender
309 GROWTH_SLOW
310 }, { // Tentacruel
311 80, 70, 65, 100, 80, 120,
312 127, // gender
313 GROWTH_SLOW
314 }, { // Geodude
315 40, 80, 100, 20, 30, 30,
316 127, // gender
317 GROWTH_MEDIUM_SLOW
318 }, { // Graveler
319 55, 95, 115, 35, 45, 45,
320 127, // gender
321 GROWTH_MEDIUM_SLOW
322 }, { // Golem
323 80, 110, 130, 45, 55, 65,
324 127, // gender
325 GROWTH_MEDIUM_SLOW
326 }, { // Ponyta
327 50, 85, 55, 90, 65, 65,
328 127, // gender
329 GROWTH_MEDIUM_FAST
330 }, { // Rapidash
331 65, 100, 70, 105, 80, 80,
332 127, // gender
333 GROWTH_MEDIUM_FAST
334 }, { // Slowpoke
335 90, 65, 65, 15, 40, 40,
336 127, // gender
337 GROWTH_MEDIUM_FAST
338 }, { // Slowbro
339 95, 75, 110, 30, 100, 80,
340 127, // gender
341 GROWTH_MEDIUM_FAST
342 }, { // Magnemite
343 25, 35, 70, 45, 95, 55,
344 255, // gender
345 GROWTH_MEDIUM_FAST
346 }, { // Magneton
347 50, 60, 95, 70, 120, 70,
348 255, // gender
349 GROWTH_MEDIUM_FAST
350 }, { // Farfetch'd
351 52, 65, 55, 60, 58, 62,
352 127, // gender
353 GROWTH_MEDIUM_FAST
354 }, { // Doduo
355 35, 85, 45, 75, 35, 35,
356 127, // gender
357 GROWTH_MEDIUM_FAST
358 }, { // Dodrio
359 60, 110, 70, 100, 60, 60,
360 127, // gender
361 GROWTH_MEDIUM_FAST
362 }, { // Seel
363 65, 45, 55, 45, 45, 70,
364 127, // gender
365 GROWTH_MEDIUM_FAST
366 }, { // Dewgong
367 90, 70, 80, 70, 70, 95,
368 127, // gender
369 GROWTH_MEDIUM_FAST
370 }, { // Grimer
371 80, 80, 50, 25, 40, 50,
372 127, // gender
373 GROWTH_MEDIUM_FAST
374 }, { // Muk
375 105, 105, 75, 50, 65, 100,
376 127, // gender
377 GROWTH_MEDIUM_FAST
378 }, { // Shellder
379 30, 65, 100, 40, 45, 25,
380 127, // gender
381 GROWTH_SLOW
382 }, { // Cloyster
383 50, 95, 180, 70, 85, 45,
384 127, // gender
385 GROWTH_SLOW
386 }, { // Gastly
387 30, 35, 30, 80, 100, 35,
388 127, // gender
389 GROWTH_MEDIUM_SLOW
390 }, { // Haunter
391 45, 50, 45, 95, 115, 55,
392 127, // gender
393 GROWTH_MEDIUM_SLOW
394 }, { // Gengar
395 60, 65, 60, 110, 130, 75,
396 127, // gender
397 GROWTH_MEDIUM_SLOW
398 }, { // Onix
399 35, 45, 160, 70, 30, 45,
400 127, // gender
401 GROWTH_MEDIUM_FAST
402 }, { // Drowzee
403 60, 48, 45, 42, 43, 90,
404 127, // gender
405 GROWTH_MEDIUM_FAST
406 }, { // Hypno
407 85, 73, 70, 67, 73, 115,
408 127, // gender
409 GROWTH_MEDIUM_FAST
410 }, { // Krabby
411 30, 105, 90, 50, 25, 25,
412 127, // gender
413 GROWTH_MEDIUM_FAST
414 }, { // Kingler
415 55, 130, 115, 75, 50, 50,
416 127, // gender
417 GROWTH_MEDIUM_FAST
418 }, { // Voltorb
419 40, 30, 50, 100, 55, 55,
420 255, // gender
421 GROWTH_MEDIUM_FAST
422 }, { // Electrode
423 60, 50, 70, 140, 80, 80,
424 255, // gender
425 GROWTH_MEDIUM_FAST
426 }, { // Exeggcute
427 60, 40, 80, 40, 60, 45,
428 127, // gender
429 GROWTH_SLOW
430 }, { // Exeggutor
431 95, 95, 85, 55, 125, 65,
432 127, // gender
433 GROWTH_SLOW
434 }, { // Cubone
435 50, 50, 95, 35, 40, 50,
436 127, // gender
437 GROWTH_MEDIUM_FAST
438 }, { // Marowak
439 60, 80, 110, 45, 50, 80,
440 127, // gender
441 GROWTH_MEDIUM_FAST
442 }, { // Hitmonlee
443 50, 120, 53, 87, 35, 110,
444 0, // gender
445 GROWTH_MEDIUM_FAST
446 }, { // Hitmonchan
447 50, 105, 79, 76, 35, 110,
448 0, // gender
449 GROWTH_MEDIUM_FAST
450 }, { // Lickitung
451 90, 55, 75, 30, 60, 75,
452 127, // gender
453 GROWTH_MEDIUM_FAST
454 }, { // Koffing
455 40, 65, 95, 35, 60, 45,
456 127, // gender
457 GROWTH_MEDIUM_FAST
458 }, { // Weezing
459 65, 90, 120, 60, 85, 70,
460 127, // gender
461 GROWTH_MEDIUM_FAST
462 }, { // Rhyhorn
463 80, 85, 95, 25, 30, 30,
464 127, // gender
465 GROWTH_SLOW
466 }, { // Rhydon
467 105, 130, 120, 40, 45, 45,
468 127, // gender
469 GROWTH_SLOW
470 }, { // Chansey
471 250, 5, 5, 50, 35, 105,
472 254, // gender
473 GROWTH_FAST
474 }, { // Tangela
475 65, 55, 115, 60, 100, 40,
476 127, // gender
477 GROWTH_MEDIUM_FAST
478 }, { // Kangaskhan
479 105, 95, 80, 90, 40, 80,
480 254, // gender
481 GROWTH_MEDIUM_FAST
482 }, { // Horsea
483 30, 40, 70, 60, 70, 25,
484 127, // gender
485 GROWTH_MEDIUM_FAST
486 }, { // Seadra
487 55, 65, 95, 85, 95, 45,
488 127, // gender
489 GROWTH_MEDIUM_FAST
490 }, { // Goldeen
491 45, 67, 60, 63, 35, 50,
492 127, // gender
493 GROWTH_MEDIUM_FAST
494 }, { // Seaking
495 80, 92, 65, 68, 65, 80,
496 127, // gender
497 GROWTH_MEDIUM_FAST
498 }, { // Staryu
499 30, 45, 55, 85, 70, 55,
500 255, // gender
501 GROWTH_SLOW
502 }, { // Starmie
503 60, 75, 85, 115, 100, 85,
504 255, // gender
505 GROWTH_SLOW
506 }, { // Mr. mime
507 40, 45, 65, 90, 100, 120,
508 127, // gender
509 GROWTH_MEDIUM_FAST
510 }, { // Scyther
511 70, 110, 80, 105, 55, 80,
512 127, // gender
513 GROWTH_MEDIUM_FAST
514 }, { // Jynx
515 65, 50, 35, 95, 115, 95,
516 254, // gender
517 GROWTH_MEDIUM_FAST
518 }, { // Electabuzz
519 65, 83, 57, 105, 95, 85,
520 63, // gender
521 GROWTH_MEDIUM_FAST
522 }, { // Magmar
523 65, 95, 57, 93, 100, 85,
524 63, // gender
525 GROWTH_MEDIUM_FAST
526 }, { // Pinsir
527 65, 125, 100, 85, 55, 70,
528 127, // gender
529 GROWTH_SLOW
530 }, { // Tauros
531 75, 100, 95, 110, 40, 70,
532 0, // gender
533 GROWTH_SLOW
534 }, { // Magikarp
535 20, 10, 55, 80, 15, 20,
536 127, // gender
537 GROWTH_SLOW
538 }, { // Gyarados
539 95, 125, 79, 81, 60, 100,
540 127, // gender
541 GROWTH_SLOW
542 }, { // Lapras
543 130, 85, 80, 60, 85, 95,
544 127, // gender
545 GROWTH_SLOW
546 }, { // Ditto
547 48, 48, 48, 48, 48, 48,
548 255, // gender
549 GROWTH_MEDIUM_FAST
550 }, { // Eevee
551 55, 55, 50, 55, 45, 65,
552 31, // gender
553 GROWTH_MEDIUM_FAST
554 }, { // Vaporeon
555 130, 65, 60, 65, 110, 95,
556 31, // gender
557 GROWTH_MEDIUM_FAST
558 }, { // Jolteon
559 65, 65, 60, 130, 110, 95,
560 31, // gender
561 GROWTH_MEDIUM_FAST
562 }, { // Flareon
563 65, 130, 60, 65, 95, 110,
564 31, // gender
565 GROWTH_MEDIUM_FAST
566 }, { // Porygon
567 65, 60, 70, 40, 85, 75,
568 255, // gender
569 GROWTH_MEDIUM_FAST
570 }, { // Omanyte
571 35, 40, 100, 35, 90, 55,
572 31, // gender
573 GROWTH_MEDIUM_FAST
574 }, { // Omastar
575 70, 60, 125, 55, 115, 70,
576 31, // gender
577 GROWTH_MEDIUM_FAST
578 }, { // Kabuto
579 30, 80, 90, 55, 55, 45,
580 31, // gender
581 GROWTH_MEDIUM_FAST
582 }, { // Kabutops
583 60, 115, 105, 80, 65, 70,
584 31, // gender
585 GROWTH_MEDIUM_FAST
586 }, { // Aerodactyl
587 80, 105, 65, 130, 60, 75,
588 31, // gender
589 GROWTH_SLOW
590 }, { // Snorlax
591 160, 110, 65, 30, 65, 110,
592 31, // gender
593 GROWTH_SLOW
594 }, { // Articuno
595 90, 85, 100, 85, 95, 125,
596 255, // gender
597 GROWTH_SLOW
598 }, { // Zapdos
599 90, 90, 85, 100, 125, 90,
600 255, // gender
601 GROWTH_SLOW
602 }, { // Moltres
603 90, 100, 90, 90, 125, 85,
604 255, // gender
605 GROWTH_SLOW
606 }, { // Dratini
607 41, 64, 45, 50, 50, 50,
608 127, // gender
609 GROWTH_SLOW
610 }, { // Dragonair
611 61, 84, 65, 70, 70, 70,
612 127, // gender
613 GROWTH_SLOW
614 }, { // Dragonite
615 91, 134, 95, 80, 100, 100,
616 127, // gender
617 GROWTH_SLOW
618 }, { // Mewtwo
619 106, 110, 90, 130, 154, 90,
620 255, // gender
621 GROWTH_SLOW
622 }, { // Mew
623 100, 100, 100, 100, 100, 100,
624 255, // gender
625 GROWTH_MEDIUM_SLOW
626 }, { // Chikorita
627 45, 49, 65, 45, 49, 65,
628 31, // gender
629 GROWTH_MEDIUM_SLOW
630 }, { // Bayleef
631 60, 62, 80, 60, 63, 80,
632 31, // gender
633 GROWTH_MEDIUM_SLOW
634 }, { // Meganium
635 80, 82, 100, 80, 83, 100,
636 31, // gender
637 GROWTH_MEDIUM_SLOW
638 }, { // Cyndaquil
639 39, 52, 43, 65, 60, 50,
640 31, // gender
641 GROWTH_MEDIUM_SLOW
642 }, { // Quilava
643 58, 64, 58, 80, 80, 65,
644 31, // gender
645 GROWTH_MEDIUM_SLOW
646 }, { // Typhlosion
647 78, 84, 78, 100, 109, 85,
648 31, // gender
649 GROWTH_MEDIUM_SLOW
650 }, { // Totodile
651 50, 65, 64, 43, 44, 48,
652 31, // gender
653 GROWTH_MEDIUM_SLOW
654 }, { // Croconaw
655 65, 80, 80, 58, 59, 63,
656 31, // gender
657 GROWTH_MEDIUM_SLOW
658 }, { // Feraligatr
659 85, 105, 100, 78, 79, 83,
660 31, // gender
661 GROWTH_MEDIUM_SLOW
662 }, { // Sentret
663 35, 46, 34, 20, 35, 45,
664 127, // gender
665 GROWTH_MEDIUM_FAST
666 }, { // Furret
667 85, 76, 64, 90, 45, 55,
668 127, // gender
669 GROWTH_MEDIUM_FAST
670 }, { // Hoothoot
671 60, 30, 30, 50, 36, 56,
672 127, // gender
673 GROWTH_MEDIUM_FAST
674 }, { // Noctowl
675 100, 50, 50, 70, 76, 96,
676 127, // gender
677 GROWTH_MEDIUM_FAST
678 }, { // Ledyba
679 40, 20, 30, 55, 40, 80,
680 127, // gender
681 GROWTH_FAST
682 }, { // Ledian
683 55, 35, 50, 85, 55, 110,
684 127, // gender
685 GROWTH_FAST
686 }, { // Spinarak
687 40, 60, 40, 30, 40, 40,
688 127, // gender
689 GROWTH_FAST
690 }, { // Ariados
691 70, 90, 70, 40, 60, 60,
692 127, // gender
693 GROWTH_FAST
694 }, { // Crobat
695 85, 90, 80, 130, 70, 80,
696 127, // gender
697 GROWTH_MEDIUM_FAST
698 }, { // Chinchou
699 75, 38, 38, 67, 56, 56,
700 127, // gender
701 GROWTH_SLOW
702 }, { // Lanturn
703 125, 58, 58, 67, 76, 76,
704 127, // gender
705 GROWTH_SLOW
706 }, { // Pichu
707 20, 40, 15, 60, 35, 35,
708 127, // gender
709 GROWTH_MEDIUM_FAST
710 }, { // Cleffa
711 50, 25, 28, 15, 45, 55,
712 191, // gender
713 GROWTH_FAST
714 }, { // Igglybuff
715 90, 30, 15, 15, 40, 20,
716 191, // gender
717 GROWTH_FAST
718 }, { // Togepi
719 35, 20, 65, 20, 40, 65,
720 31, // gender
721 GROWTH_FAST
722 }, { // Togetic
723 55, 40, 85, 40, 80, 105,
724 31, // gender
725 GROWTH_FAST
726 }, { // Natu
727 40, 50, 45, 70, 70, 45,
728 127, // gender
729 GROWTH_MEDIUM_FAST
730 }, { // Xatu
731 65, 75, 70, 95, 95, 70,
732 127, // gender
733 GROWTH_MEDIUM_FAST
734 }, { // Mareep
735 55, 40, 40, 35, 65, 45,
736 127, // gender
737 GROWTH_MEDIUM_SLOW
738 }, { // Flaaffy
739 70, 55, 55, 45, 80, 60,
740 127, // gender
741 GROWTH_MEDIUM_SLOW
742 }, { // Ampharos
743 90, 75, 75, 55, 115, 90,
744 127, // gender
745 GROWTH_MEDIUM_SLOW
746 }, { // Bellossom
747 75, 80, 85, 50, 90, 100,
748 127, // gender
749 GROWTH_MEDIUM_SLOW
750 }, { // Marill
751 70, 20, 50, 40, 20, 50,
752 127, // gender
753 GROWTH_FAST
754 }, { // Azumarill
755 100, 50, 80, 50, 50, 80,
756 127, // gender
757 GROWTH_FAST
758 }, { // Sudowoodo
759 70, 100, 115, 30, 30, 65,
760 127, // gender
761 GROWTH_MEDIUM_FAST
762 }, { // Politoed
763 90, 75, 75, 70, 90, 100,
764 127, // gender
765 GROWTH_MEDIUM_SLOW
766 }, { // Hoppip
767 35, 35, 40, 50, 35, 55,
768 127, // gender
769 GROWTH_MEDIUM_SLOW
770 }, { // Skiploom
771 55, 45, 50, 80, 45, 65,
772 127, // gender
773 GROWTH_MEDIUM_SLOW
774 }, { // Jumpluff
775 75, 55, 70, 110, 55, 85,
776 127, // gender
777 GROWTH_MEDIUM_SLOW
778 }, { // Aipom
779 55, 70, 55, 85, 40, 55,
780 127, // gender
781 GROWTH_FAST
782 }, { // Sunkern
783 30, 30, 30, 30, 30, 30,
784 127, // gender
785 GROWTH_MEDIUM_SLOW
786 }, { // Sunflora
787 75, 75, 55, 30, 105, 85,
788 127, // gender
789 GROWTH_MEDIUM_SLOW
790 }, { // Yanma
791 65, 65, 45, 95, 75, 45,
792 127, // gender
793 GROWTH_MEDIUM_FAST
794 }, { // Wooper
795 55, 45, 45, 15, 25, 25,
796 127, // gender
797 GROWTH_MEDIUM_FAST
798 }, { // Quagsire
799 95, 85, 85, 35, 65, 65,
800 127, // gender
801 GROWTH_MEDIUM_FAST
802 }, { // Espeon
803 65, 65, 60, 110, 130, 95,
804 31, // gender
805 GROWTH_MEDIUM_FAST
806 }, { // Umbreon
807 95, 65, 110, 65, 60, 130,
808 31, // gender
809 GROWTH_MEDIUM_FAST
810 }, { // Murkrow
811 60, 85, 42, 91, 85, 42,
812 127, // gender
813 GROWTH_MEDIUM_SLOW
814 }, { // Slowking
815 95, 75, 80, 30, 100, 110,
816 127, // gender
817 GROWTH_MEDIUM_FAST
818 }, { // Misdreavus
819 60, 60, 60, 85, 85, 85,
820 127, // gender
821 GROWTH_FAST
822 }, { // Unown
823 48, 72, 48, 48, 72, 48,
824 255, // gender
825 GROWTH_MEDIUM_FAST
826 }, { // Wobbuffet
827 190, 33, 58, 33, 33, 58,
828 127, // gender
829 GROWTH_MEDIUM_FAST
830 }, { // Girafarig
831 70, 80, 65, 85, 90, 65,
832 127, // gender
833 GROWTH_MEDIUM_FAST
834 }, { // Pineco
835 50, 65, 90, 15, 35, 35,
836 127, // gender
837 GROWTH_MEDIUM_FAST
838 }, { // Forretress
839 75, 90, 140, 40, 60, 60,
840 127, // gender
841 GROWTH_MEDIUM_FAST
842 }, { // Dunsparce
843 100, 70, 70, 45, 65, 65,
844 127, // gender
845 GROWTH_MEDIUM_FAST
846 }, { // Gligar
847 65, 75, 105, 85, 35, 65,
848 127, // gender
849 GROWTH_MEDIUM_SLOW
850 }, { // Steelix
851 75, 85, 200, 30, 55, 65,
852 127, // gender
853 GROWTH_MEDIUM_FAST
854 }, { // Snubbull
855 60, 80, 50, 30, 40, 40,
856 191, // gender
857 GROWTH_FAST
858 }, { // Granbull
859 90, 120, 75, 45, 60, 60,
860 191, // gender
861 GROWTH_FAST
862 }, { // Qwilfish
863 65, 95, 75, 85, 55, 55,
864 127, // gender
865 GROWTH_MEDIUM_FAST
866 }, { // Scizor
867 70, 130, 100, 65, 55, 80,
868 127, // gender
869 GROWTH_MEDIUM_FAST
870 }, { // Shuckle
871 20, 10, 230, 5, 10, 230,
872 127, // gender
873 GROWTH_MEDIUM_SLOW
874 }, { // Heracross
875 80, 125, 75, 85, 40, 95,
876 127, // gender
877 GROWTH_SLOW
878 }, { // Sneasel
879 55, 95, 55, 115, 35, 75,
880 127, // gender
881 GROWTH_MEDIUM_SLOW
882 }, { // Teddiursa
883 60, 80, 50, 40, 50, 50,
884 127, // gender
885 GROWTH_MEDIUM_FAST
886 }, { // Ursaring
887 90, 130, 75, 55, 75, 75,
888 127, // gender
889 GROWTH_MEDIUM_FAST
890 }, { // Slugma
891 40, 40, 40, 20, 70, 40,
892 127, // gender
893 GROWTH_MEDIUM_FAST
894 }, { // Magcargo
895 50, 50, 120, 30, 80, 80,
896 127, // gender
897 GROWTH_MEDIUM_FAST
898 }, { // Swinub
899 50, 50, 40, 50, 30, 30,
900 127, // gender
901 GROWTH_SLOW
902 }, { // Piloswine
903 100, 100, 80, 50, 60, 60,
904 127, // gender
905 GROWTH_SLOW
906 }, { // Corsola
907 55, 55, 85, 35, 65, 85,
908 191, // gender
909 GROWTH_FAST
910 }, { // Remoraid
911 35, 65, 35, 65, 65, 35,
912 127, // gender
913 GROWTH_MEDIUM_FAST
914 }, { // Octillery
915 75, 105, 75, 45, 105, 75,
916 127, // gender
917 GROWTH_MEDIUM_FAST
918 }, { // Delibird
919 45, 55, 45, 75, 65, 45,
920 127, // gender
921 GROWTH_FAST
922 }, { // Mantine
923 65, 40, 70, 70, 80, 140,
924 127, // gender
925 GROWTH_SLOW
926 }, { // Skarmory
927 65, 80, 140, 70, 40, 70,
928 127, // gender
929 GROWTH_SLOW
930 }, { // Houndour
931 45, 60, 30, 65, 80, 50,
932 127, // gender
933 GROWTH_SLOW
934 }, { // Houndoom
935 75, 90, 50, 95, 110, 80,
936 127, // gender
937 GROWTH_SLOW
938 }, { // Kingdra
939 75, 95, 95, 85, 95, 95,
940 127, // gender
941 GROWTH_MEDIUM_FAST
942 }, { // Phanpy
943 90, 60, 60, 40, 40, 40,
944 127, // gender
945 GROWTH_MEDIUM_FAST
946 }, { // Donphan
947 90, 120, 120, 50, 60, 60,
948 127, // gender
949 GROWTH_MEDIUM_FAST
950 }, { // Porygon2
951 85, 80, 90, 60, 105, 95,
952 255, // gender
953 GROWTH_MEDIUM_FAST
954 }, { // Stantler
955 73, 95, 62, 85, 85, 65,
956 127, // gender
957 GROWTH_SLOW
958 }, { // Smeargle
959 55, 20, 35, 75, 20, 45,
960 127, // gender
961 GROWTH_FAST
962 }, { // Tyrogue
963 35, 35, 35, 35, 35, 35,
964 0, // gender
965 GROWTH_MEDIUM_FAST
966 }, { // Hitmontop
967 50, 95, 95, 70, 35, 110,
968 0, // gender
969 GROWTH_MEDIUM_FAST
970 }, { // Smoochum
971 45, 30, 15, 65, 85, 65,
972 254, // gender
973 GROWTH_MEDIUM_FAST
974 }, { // Elekid
975 45, 63, 37, 95, 65, 55,
976 63, // gender
977 GROWTH_MEDIUM_FAST
978 }, { // Magby
979 45, 75, 37, 83, 70, 55,
980 63, // gender
981 GROWTH_MEDIUM_FAST
982 }, { // Miltank
983 95, 80, 105, 100, 40, 70,
984 254, // gender
985 GROWTH_SLOW
986 }, { // Blissey
987 255, 10, 10, 55, 75, 135,
988 254, // gender
989 GROWTH_FAST
990 }, { // Raikou
991 90, 85, 75, 115, 115, 100,
992 255, // gender
993 GROWTH_SLOW
994 }, { // Entei
995 115, 115, 85, 100, 90, 75,
996 255, // gender
997 GROWTH_SLOW
998 }, { // Suicune
999 100, 75, 115, 85, 90, 115,
1000 255, // gender
1001 GROWTH_SLOW
1002 }, { // Larvitar
1003 50, 64, 50, 41, 45, 50,
1004 127, // gender
1005 GROWTH_SLOW
1006 }, { // Pupitar
1007 70, 84, 70, 51, 65, 70,
1008 127, // gender
1009 GROWTH_SLOW
1010 }, { // Tyranitar
1011 100, 134, 110, 61, 95, 100,
1012 127, // gender
1013 GROWTH_SLOW
1014 }, { // Lugia
1015 106, 90, 130, 110, 90, 154,
1016 255, // gender
1017 GROWTH_SLOW
1018 }, { // Ho-Oh
1019 106, 130, 90, 90, 110, 154,
1020 255, // gender
1021 GROWTH_SLOW
1022 }, { // Celebi
1023 100, 100, 100, 100, 100, 100,
1024 255, // gender
1025 GROWTH_MEDIUM_SLOW
1026 }, { // ?
1027 50, 150, 50, 150, 150, 50,
1028 255, // gender
1029 GROWTH_MEDIUM_FAST
1030 }, { // ?
1031 50, 150, 50, 150, 150, 50,
1032 255, // gender
1033 GROWTH_MEDIUM_FAST
1034 }, { // ?
1035 50, 150, 50, 150, 150, 50,
1036 255, // gender
1037 GROWTH_MEDIUM_FAST
1038 }, { // ?
1039 50, 150, 50, 150, 150, 50,
1040 255, // gender
1041 GROWTH_MEDIUM_FAST
1042 }, { // ?
1043 50, 150, 50, 150, 150, 50,
1044 255, // gender
1045 GROWTH_MEDIUM_FAST
1046 }, { // ?
1047 50, 150, 50, 150, 150, 50,
1048 255, // gender
1049 GROWTH_MEDIUM_FAST
1050 }, { // ?
1051 50, 150, 50, 150, 150, 50,
1052 255, // gender
1053 GROWTH_MEDIUM_FAST
1054 }, { // ?
1055 50, 150, 50, 150, 150, 50,
1056 255, // gender
1057 GROWTH_MEDIUM_FAST
1058 }, { // ?
1059 50, 150, 50, 150, 150, 50,
1060 255, // gender
1061 GROWTH_MEDIUM_FAST
1062 }, { // ?
1063 50, 150, 50, 150, 150, 50,
1064 255, // gender
1065 GROWTH_MEDIUM_FAST
1066 }, { // ?
1067 50, 150, 50, 150, 150, 50,
1068 255, // gender
1069 GROWTH_MEDIUM_FAST
1070 }, { // ?
1071 50, 150, 50, 150, 150, 50,
1072 255, // gender
1073 GROWTH_MEDIUM_FAST
1074 }, { // ?
1075 50, 150, 50, 150, 150, 50,
1076 255, // gender
1077 GROWTH_MEDIUM_FAST
1078 }, { // ?
1079 50, 150, 50, 150, 150, 50,
1080 255, // gender
1081 GROWTH_MEDIUM_FAST
1082 }, { // ?
1083 50, 150, 50, 150, 150, 50,
1084 255, // gender
1085 GROWTH_MEDIUM_FAST
1086 }, { // ?
1087 50, 150, 50, 150, 150, 50,
1088 255, // gender
1089 GROWTH_MEDIUM_FAST
1090 }, { // ?
1091 50, 150, 50, 150, 150, 50,
1092 255, // gender
1093 GROWTH_MEDIUM_FAST
1094 }, { // ?
1095 50, 150, 50, 150, 150, 50,
1096 255, // gender
1097 GROWTH_MEDIUM_FAST
1098 }, { // ?
1099 50, 150, 50, 150, 150, 50,
1100 255, // gender
1101 GROWTH_MEDIUM_FAST
1102 }, { // ?
1103 50, 150, 50, 150, 150, 50,
1104 255, // gender
1105 GROWTH_MEDIUM_FAST
1106 }, { // ?
1107 50, 150, 50, 150, 150, 50,
1108 255, // gender
1109 GROWTH_MEDIUM_FAST
1110 }, { // ?
1111 50, 150, 50, 150, 150, 50,
1112 255, // gender
1113 GROWTH_MEDIUM_FAST
1114 }, { // ?
1115 50, 150, 50, 150, 150, 50,
1116 255, // gender
1117 GROWTH_MEDIUM_FAST
1118 }, { // ?
1119 50, 150, 50, 150, 150, 50,
1120 255, // gender
1121 GROWTH_MEDIUM_FAST
1122 }, { // ?
1123 50, 150, 50, 150, 150, 50,
1124 255, // gender
1125 GROWTH_MEDIUM_FAST
1126 }, { // Treecko
1127 40, 45, 35, 70, 65, 55,
1128 31, // gender
1129 GROWTH_MEDIUM_SLOW
1130 }, { // Grovyle
1131 50, 65, 45, 95, 85, 65,
1132 31, // gender
1133 GROWTH_MEDIUM_SLOW
1134 }, { // Sceptile
1135 70, 85, 65, 120, 105, 85,
1136 31, // gender
1137 GROWTH_MEDIUM_SLOW
1138 }, { // Torchic
1139 45, 60, 40, 45, 70, 50,
1140 31, // gender
1141 GROWTH_MEDIUM_SLOW
1142 }, { // Combusken
1143 60, 85, 60, 55, 85, 60,
1144 31, // gender
1145 GROWTH_MEDIUM_SLOW
1146 }, { // Blaziken
1147 80, 120, 70, 80, 110, 70,
1148 31, // gender
1149 GROWTH_MEDIUM_SLOW
1150 }, { // Mudkip
1151 50, 70, 50, 40, 50, 50,
1152 31, // gender
1153 GROWTH_MEDIUM_SLOW
1154 }, { // Marshtomp
1155 70, 85, 70, 50, 60, 70,
1156 31, // gender
1157 GROWTH_MEDIUM_SLOW
1158 }, { // Swampert
1159 100, 110, 90, 60, 85, 90,
1160 31, // gender
1161 GROWTH_MEDIUM_SLOW
1162 }, { // Poochyena
1163 35, 55, 35, 35, 30, 30,
1164 127, // gender
1165 GROWTH_MEDIUM_FAST
1166 }, { // Mightyena
1167 70, 90, 70, 70, 60, 60,
1168 127, // gender
1169 GROWTH_MEDIUM_FAST
1170 }, { // Zigzagoon
1171 38, 30, 41, 60, 30, 41,
1172 127, // gender
1173 GROWTH_MEDIUM_FAST
1174 }, { // Linoone
1175 78, 70, 61, 100, 50, 61,
1176 127, // gender
1177 GROWTH_MEDIUM_FAST
1178 }, { // Wurmple
1179 45, 45, 35, 20, 20, 30,
1180 127, // gender
1181 GROWTH_MEDIUM_FAST
1182 }, { // Silcoon
1183 50, 35, 55, 15, 25, 25,
1184 127, // gender
1185 GROWTH_MEDIUM_FAST
1186 }, { // Beautifly
1187 60, 70, 50, 65, 90, 50,
1188 127, // gender
1189 GROWTH_MEDIUM_FAST
1190 }, { // Cascoon
1191 50, 35, 55, 15, 25, 25,
1192 127, // gender
1193 GROWTH_MEDIUM_FAST
1194 }, { // Dustox
1195 60, 50, 70, 65, 50, 90,
1196 127, // gender
1197 GROWTH_MEDIUM_FAST
1198 }, { // Lotad
1199 40, 30, 30, 30, 40, 50,
1200 127, // gender
1201 GROWTH_MEDIUM_SLOW
1202 }, { // Lombre
1203 60, 50, 50, 50, 60, 70,
1204 127, // gender
1205 GROWTH_MEDIUM_SLOW
1206 }, { // Ludicolo
1207 80, 70, 70, 70, 90, 100,
1208 127, // gender
1209 GROWTH_MEDIUM_SLOW
1210 }, { // Seedot
1211 40, 40, 50, 30, 30, 30,
1212 127, // gender
1213 GROWTH_MEDIUM_SLOW
1214 }, { // Nuzleaf
1215 70, 70, 40, 60, 60, 40,
1216 127, // gender
1217 GROWTH_MEDIUM_SLOW
1218 }, { // Shiftry
1219 90, 100, 60, 80, 90, 60,
1220 127, // gender
1221 GROWTH_MEDIUM_SLOW
1222 }, { // Nincada
1223 31, 45, 90, 40, 30, 30,
1224 127, // gender
1225 GROWTH_ERRATIC
1226 }, { // Ninjask
1227 61, 90, 45, 160, 50, 50,
1228 127, // gender
1229 GROWTH_ERRATIC
1230 }, { // Shedinja
1231 1, 90, 45, 40, 30, 30,
1232 255, // gender
1233 GROWTH_ERRATIC
1234 }, { // Taillow
1235 40, 55, 30, 85, 30, 30,
1236 127, // gender
1237 GROWTH_MEDIUM_SLOW
1238 }, { // Swellow
1239 60, 85, 60, 125, 50, 50,
1240 127, // gender
1241 GROWTH_MEDIUM_SLOW
1242 }, { // Shroomish
1243 60, 40, 60, 35, 40, 60,
1244 127, // gender
1245 GROWTH_FLUCTUATING
1246 }, { // Breloom
1247 60, 130, 80, 70, 60, 60,
1248 127, // gender
1249 GROWTH_FLUCTUATING
1250 }, { // Spinda
1251 60, 60, 60, 60, 60, 60,
1252 127, // gender
1253 GROWTH_FAST
1254 }, { // Wingull
1255 40, 30, 30, 85, 55, 30,
1256 127, // gender
1257 GROWTH_MEDIUM_FAST
1258 }, { // Pelipper
1259 60, 50, 100, 65, 85, 70,
1260 127, // gender
1261 GROWTH_MEDIUM_FAST
1262 }, { // Surskit
1263 40, 30, 32, 65, 50, 52,
1264 127, // gender
1265 GROWTH_MEDIUM_FAST
1266 }, { // Masquerain
1267 70, 60, 62, 60, 80, 82,
1268 127, // gender
1269 GROWTH_MEDIUM_FAST
1270 }, { // Wailmer
1271 130, 70, 35, 60, 70, 35,
1272 127, // gender
1273 GROWTH_FLUCTUATING
1274 }, { // Wailord
1275 170, 90, 45, 60, 90, 45,
1276 127, // gender
1277 GROWTH_FLUCTUATING
1278 }, { // Skitty
1279 50, 45, 45, 50, 35, 35,
1280 191, // gender
1281 GROWTH_FAST
1282 }, { // Delcatty
1283 70, 65, 65, 70, 55, 55,
1284 191, // gender
1285 GROWTH_FAST
1286 }, { // Kecleon
1287 60, 90, 70, 40, 60, 120,
1288 127, // gender
1289 GROWTH_MEDIUM_SLOW
1290 }, { // Baltoy
1291 40, 40, 55, 55, 40, 70,
1292 255, // gender
1293 GROWTH_MEDIUM_FAST
1294 }, { // Claydol
1295 60, 70, 105, 75, 70, 120,
1296 255, // gender
1297 GROWTH_MEDIUM_FAST
1298 }, { // Nosepass
1299 30, 45, 135, 30, 45, 90,
1300 127, // gender
1301 GROWTH_MEDIUM_FAST
1302 }, { // Torkoal
1303 70, 85, 140, 20, 85, 70,
1304 127, // gender
1305 GROWTH_MEDIUM_FAST
1306 }, { // Sableye
1307 50, 75, 75, 50, 65, 65,
1308 127, // gender
1309 GROWTH_MEDIUM_SLOW
1310 }, { // Barboach
1311 50, 48, 43, 60, 46, 41,
1312 127, // gender
1313 GROWTH_MEDIUM_FAST
1314 }, { // Whiscash
1315 110, 78, 73, 60, 76, 71,
1316 127, // gender
1317 GROWTH_MEDIUM_FAST
1318 }, { // Luvdisc
1319 43, 30, 55, 97, 40, 65,
1320 191, // gender
1321 GROWTH_FAST
1322 }, { // Corphish
1323 43, 80, 65, 35, 50, 35,
1324 127, // gender
1325 GROWTH_FLUCTUATING
1326 }, { // Crawdaunt
1327 63, 120, 85, 55, 90, 55,
1328 127, // gender
1329 GROWTH_FLUCTUATING
1330 }, { // Feebas
1331 20, 15, 20, 80, 10, 55,
1332 127, // gender
1333 GROWTH_ERRATIC
1334 }, { // Milotic
1335 95, 60, 79, 81, 100, 125,
1336 127, // gender
1337 GROWTH_ERRATIC
1338 }, { // Carvanha
1339 45, 90, 20, 65, 65, 20,
1340 127, // gender
1341 GROWTH_SLOW
1342 }, { // Sharpedo
1343 70, 120, 40, 95, 95, 40,
1344 127, // gender
1345 GROWTH_SLOW
1346 }, { // Trapinch
1347 45, 100, 45, 10, 45, 45,
1348 127, // gender
1349 GROWTH_MEDIUM_SLOW
1350 }, { // Vibrava
1351 50, 70, 50, 70, 50, 50,
1352 127, // gender
1353 GROWTH_MEDIUM_SLOW
1354 }, { // Flygon
1355 80, 100, 80, 100, 80, 80,
1356 127, // gender
1357 GROWTH_MEDIUM_SLOW
1358 }, { // Makuhita
1359 72, 60, 30, 25, 20, 30,
1360 63, // gender
1361 GROWTH_FLUCTUATING
1362 }, { // Hariyama
1363 144, 120, 60, 50, 40, 60,
1364 63, // gender
1365 GROWTH_FLUCTUATING
1366 }, { // Electrike
1367 40, 45, 40, 65, 65, 40,
1368 127, // gender
1369 GROWTH_SLOW
1370 }, { // Manectric
1371 70, 75, 60, 105, 105, 60,
1372 127, // gender
1373 GROWTH_SLOW
1374 }, { // Numel
1375 60, 60, 40, 35, 65, 45,
1376 127, // gender
1377 GROWTH_MEDIUM_FAST
1378 }, { // Camerupt
1379 70, 100, 70, 40, 105, 75,
1380 127, // gender
1381 GROWTH_MEDIUM_FAST
1382 }, { // Spheal
1383 70, 40, 50, 25, 55, 50,
1384 127, // gender
1385 GROWTH_MEDIUM_SLOW
1386 }, { // Sealeo
1387 90, 60, 70, 45, 75, 70,
1388 127, // gender
1389 GROWTH_MEDIUM_SLOW
1390 }, { // Walrein
1391 110, 80, 90, 65, 95, 90,
1392 127, // gender
1393 GROWTH_MEDIUM_SLOW
1394 }, { // Cacnea
1395 50, 85, 40, 35, 85, 40,
1396 127, // gender
1397 GROWTH_MEDIUM_SLOW
1398 }, { // Cacturne
1399 70, 115, 60, 55, 115, 60,
1400 127, // gender
1401 GROWTH_MEDIUM_SLOW
1402 }, { // Snorunt
1403 50, 50, 50, 50, 50, 50,
1404 127, // gender
1405 GROWTH_MEDIUM_FAST
1406 }, { // Glalie
1407 80, 80, 80, 80, 80, 80,
1408 127, // gender
1409 GROWTH_MEDIUM_FAST
1410 }, { // Lunatone
1411 70, 55, 65, 70, 95, 85,
1412 255, // gender
1413 GROWTH_FAST
1414 }, { // Solrock
1415 70, 95, 85, 70, 55, 65,
1416 255, // gender
1417 GROWTH_FAST
1418 }, { // Azurill
1419 50, 20, 40, 20, 20, 40,
1420 191, // gender
1421 GROWTH_FAST
1422 }, { // Spoink
1423 60, 25, 35, 60, 70, 80,
1424 127, // gender
1425 GROWTH_FAST
1426 }, { // Grumpig
1427 80, 45, 65, 80, 90, 110,
1428 127, // gender
1429 GROWTH_FAST
1430 }, { // Plusle
1431 60, 50, 40, 95, 85, 75,
1432 127, // gender
1433 GROWTH_MEDIUM_FAST
1434 }, { // Minun
1435 60, 40, 50, 95, 75, 85,
1436 127, // gender
1437 GROWTH_MEDIUM_FAST
1438 }, { // Mawile
1439 50, 85, 85, 50, 55, 55,
1440 127, // gender
1441 GROWTH_FAST
1442 }, { // Meditite
1443 30, 40, 55, 60, 40, 55,
1444 127, // gender
1445 GROWTH_MEDIUM_FAST
1446 }, { // Medicham
1447 60, 60, 75, 80, 60, 75,
1448 127, // gender
1449 GROWTH_MEDIUM_FAST
1450 }, { // Swablu
1451 45, 40, 60, 50, 40, 75,
1452 127, // gender
1453 GROWTH_ERRATIC
1454 }, { // Altaria
1455 75, 70, 90, 80, 70, 105,
1456 127, // gender
1457 GROWTH_ERRATIC
1458 }, { // Wynaut
1459 95, 23, 48, 23, 23, 48,
1460 127, // gender
1461 GROWTH_MEDIUM_FAST
1462 }, { // Duskull
1463 20, 40, 90, 25, 30, 90,
1464 127, // gender
1465 GROWTH_FAST
1466 }, { // Dusclops
1467 40, 70, 130, 25, 60, 130,
1468 127, // gender
1469 GROWTH_FAST
1470 }, { // Roselia
1471 50, 60, 45, 65, 100, 80,
1472 127, // gender
1473 GROWTH_MEDIUM_SLOW
1474 }, { // Slakoth
1475 60, 60, 60, 30, 35, 35,
1476 127, // gender
1477 GROWTH_SLOW
1478 }, { // Vigoroth
1479 80, 80, 80, 90, 55, 55,
1480 127, // gender
1481 GROWTH_SLOW
1482 }, { // Slaking
1483 150, 160, 100, 100, 95, 65,
1484 127, // gender
1485 GROWTH_SLOW
1486 }, { // Gulpin
1487 70, 43, 53, 40, 43, 53,
1488 127, // gender
1489 GROWTH_FLUCTUATING
1490 }, { // Swalot
1491 100, 73, 83, 55, 73, 83,
1492 127, // gender
1493 GROWTH_FLUCTUATING
1494 }, { // Tropius
1495 99, 68, 83, 51, 72, 87,
1496 127, // gender
1497 GROWTH_SLOW
1498 }, { // Whismur
1499 64, 51, 23, 28, 51, 23,
1500 127, // gender
1501 GROWTH_MEDIUM_SLOW
1502 }, { // Loudred
1503 84, 71, 43, 48, 71, 43,
1504 127, // gender
1505 GROWTH_MEDIUM_SLOW
1506 }, { // Exploud
1507 104, 91, 63, 68, 91, 63,
1508 127, // gender
1509 GROWTH_MEDIUM_SLOW
1510 }, { // Clamperl
1511 35, 64, 85, 32, 74, 55,
1512 127, // gender
1513 GROWTH_ERRATIC
1514 }, { // Huntail
1515 55, 104, 105, 52, 94, 75,
1516 127, // gender
1517 GROWTH_ERRATIC
1518 }, { // Gorebyss
1519 55, 84, 105, 52, 114, 75,
1520 127, // gender
1521 GROWTH_ERRATIC
1522 }, { // Absol
1523 65, 130, 60, 75, 75, 60,
1524 127, // gender
1525 GROWTH_MEDIUM_SLOW
1526 }, { // Shuppet
1527 44, 75, 35, 45, 63, 33,
1528 127, // gender
1529 GROWTH_FAST
1530 }, { // Banette
1531 64, 115, 65, 65, 83, 63,
1532 127, // gender
1533 GROWTH_FAST
1534 }, { // Seviper
1535 73, 100, 60, 65, 100, 60,
1536 127, // gender
1537 GROWTH_FLUCTUATING
1538 }, { // Zangoose
1539 73, 115, 60, 90, 60, 60,
1540 127, // gender
1541 GROWTH_ERRATIC
1542 }, { // Relicanth
1543 100, 90, 130, 55, 45, 65,
1544 31, // gender
1545 GROWTH_SLOW
1546 }, { // Aron
1547 50, 70, 100, 30, 40, 40,
1548 127, // gender
1549 GROWTH_SLOW
1550 }, { // Lairon
1551 60, 90, 140, 40, 50, 50,
1552 127, // gender
1553 GROWTH_SLOW
1554 }, { // Aggron
1555 70, 110, 180, 50, 60, 60,
1556 127, // gender
1557 GROWTH_SLOW
1558 }, { // Castform
1559 70, 70, 70, 70, 70, 70,
1560 127, // gender
1561 GROWTH_MEDIUM_FAST
1562 }, { // Volbeat
1563 65, 73, 55, 85, 47, 75,
1564 0, // gender
1565 GROWTH_ERRATIC
1566 }, { // Illumise
1567 65, 47, 55, 85, 73, 75,
1568 254, // gender
1569 GROWTH_FLUCTUATING
1570 }, { // Lileep
1571 66, 41, 77, 23, 61, 87,
1572 31, // gender
1573 GROWTH_ERRATIC
1574 }, { // Cradily
1575 86, 81, 97, 43, 81, 107,
1576 31, // gender
1577 GROWTH_ERRATIC
1578 }, { // Anorith
1579 45, 95, 50, 75, 40, 50,
1580 31, // gender
1581 GROWTH_ERRATIC
1582 }, { // Armaldo
1583 75, 125, 100, 45, 70, 80,
1584 31, // gender
1585 GROWTH_ERRATIC
1586 }, { // Ralts
1587 28, 25, 25, 40, 45, 35,
1588 127, // gender
1589 GROWTH_SLOW
1590 }, { // Kirlia
1591 38, 35, 35, 50, 65, 55,
1592 127, // gender
1593 GROWTH_SLOW
1594 }, { // Gardevoir
1595 68, 65, 65, 80, 125, 115,
1596 127, // gender
1597 GROWTH_SLOW
1598 }, { // Bagon
1599 45, 75, 60, 50, 40, 30,
1600 127, // gender
1601 GROWTH_SLOW
1602 }, { // Shelgon
1603 65, 95, 100, 50, 60, 50,
1604 127, // gender
1605 GROWTH_SLOW
1606 }, { // Salamence
1607 95, 135, 80, 100, 110, 80,
1608 127, // gender
1609 GROWTH_SLOW
1610 }, { // Beldum
1611 40, 55, 80, 30, 35, 60,
1612 255, // gender
1613 GROWTH_SLOW
1614 }, { // Metang
1615 60, 75, 100, 50, 55, 80,
1616 255, // gender
1617 GROWTH_SLOW
1618 }, { // Metagross
1619 80, 135, 130, 70, 95, 90,
1620 255, // gender
1621 GROWTH_SLOW
1622 }, { // Regirock
1623 80, 100, 200, 50, 50, 100,
1624 255, // gender
1625 GROWTH_SLOW
1626 }, { // Regice
1627 80, 50, 100, 50, 100, 200,
1628 255, // gender
1629 GROWTH_SLOW
1630 }, { // Registeel
1631 80, 75, 150, 50, 75, 150,
1632 255, // gender
1633 GROWTH_SLOW
1634 }, { // Kyogre
1635 100, 100, 90, 90, 150, 140,
1636 255, // gender
1637 GROWTH_SLOW
1638 }, { // Groudon
1639 100, 150, 140, 90, 100, 90,
1640 255, // gender
1641 GROWTH_SLOW
1642 }, { // Rayquaza
1643 105, 150, 90, 95, 150, 90,
1644 255, // gender
1645 GROWTH_SLOW
1646 }, { // Latias
1647 80, 80, 90, 110, 110, 130,
1648 254, // gender
1649 GROWTH_SLOW
1650 }, { // Latios
1651 80, 90, 80, 110, 130, 110,
1652 0, // gender
1653 GROWTH_SLOW
1654 }, { // Jirachi
1655 100, 100, 100, 100, 100, 100,
1656 255, // gender
1657 GROWTH_SLOW
1658 }, { // Deoxys
1659 50, 150, 50, 150, 150, 50,
1660 255, // gender
1661 GROWTH_SLOW
1662 }, { // Chimecho
1663 65, 50, 70, 65, 95, 80,
1664 127, // gender
1665 GROWTH_FAST
1666 }
1667};
diff --git a/gba/source/basestats.h b/gba/source/basestats.h new file mode 100644 index 0000000..8adb031 --- /dev/null +++ b/gba/source/basestats.h
@@ -0,0 +1,26 @@
1/*
2 * Copyright (C) 2017 Scott Norton
3 * Copyright (C) 2017 hatkirby
4 *
5 * This software may be modified and distributed under the terms
6 * of the MIT license. See the LICENSE file for details.
7 */
8#ifndef BASESTATS_H
9#define BASESTATS_H
10
11#include <gba.h>
12
13struct SmallBaseStats {
14 u8 baseHP;
15 u8 baseAttack;
16 u8 baseDefense;
17 u8 baseSpeed;
18 u8 baseSpAttack;
19 u8 baseSpDefense;
20 u8 genderRatio;
21 u8 growthRate;
22};
23
24extern const struct SmallBaseStats gSmallBaseStats[];
25
26#endif
diff --git a/gba/source/dexorder.c b/gba/source/dexorder.c new file mode 100644 index 0000000..ae79706 --- /dev/null +++ b/gba/source/dexorder.c
@@ -0,0 +1,10 @@
1/*
2 * Copyright (C) 2017 Scott Norton
3 * Copyright (C) 2017 hatkirby
4 *
5 * This software may be modified and distributed under the terms
6 * of the MIT license. See the LICENSE file for details.
7 */
8#include "dexorder.h"
9
10const u16 gSpeciesToNationalPokedexNum[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 290, 291, 292, 276, 277, 285, 286, 327, 278, 279, 283, 284, 320, 321, 300, 301, 352, 343, 344, 299, 324, 302, 339, 340, 370, 341, 342, 349, 350, 318, 319, 328, 329, 330, 296, 297, 309, 310, 322, 323, 363, 364, 365, 331, 332, 361, 362, 337, 338, 298, 325, 326, 311, 312, 303, 307, 308, 333, 334, 360, 355, 356, 315, 287, 288, 289, 316, 317, 357, 293, 294, 295, 366, 367, 368, 359, 353, 354, 336, 335, 369, 304, 305, 306, 351, 313, 314, 345, 346, 347, 348, 280, 281, 282, 371, 372, 373, 374, 375, 376, 377, 378, 379, 382, 383, 384, 380, 381, 385, 386, 358};
diff --git a/gba/source/dexorder.h b/gba/source/dexorder.h new file mode 100644 index 0000000..21cf4b1 --- /dev/null +++ b/gba/source/dexorder.h
@@ -0,0 +1,15 @@
1/*
2 * Copyright (C) 2017 Scott Norton
3 * Copyright (C) 2017 hatkirby
4 *
5 * This software may be modified and distributed under the terms
6 * of the MIT license. See the LICENSE file for details.
7 */
8#ifndef DEXORDER_H
9#define DEXORDER_H
10
11#include <gba.h>
12
13extern const u16 gSpeciesToNationalPokedexNum[];
14
15#endif
diff --git a/gba/source/exptables.c b/gba/source/exptables.c new file mode 100644 index 0000000..60bf731 --- /dev/null +++ b/gba/source/exptables.c
@@ -0,0 +1,828 @@
1/*
2 * Copyright (C) 2017 Scott Norton
3 * Copyright (C) 2017 hatkirby
4 *
5 * This software may be modified and distributed under the terms
6 * of the MIT license. See the LICENSE file for details.
7 */
8#include "exptables.h"
9
10const u32 gExperienceTables[][101] = {
11 { // Medium Fast
12 0, // 0
13 1, // 1
14 8, // 2
15 27, // 3
16 64, // 4
17 125, // 5
18 216, // 6
19 343, // 7
20 512, // 8
21 729, // 9
22 1000, // 10
23 1331, // 11
24 1728, // 12
25 2197, // 13
26 2744, // 14
27 3375, // 15
28 4096, // 16
29 4913, // 17
30 5832, // 18
31 6859, // 19
32 8000, // 20
33 9261, // 21
34 10648, // 22
35 12167, // 23
36 13824, // 24
37 15625, // 25
38 17576, // 26
39 19683, // 27
40 21952, // 28
41 24389, // 29
42 27000, // 30
43 29791, // 31
44 32768, // 32
45 35937, // 33
46 39304, // 34
47 42875, // 35
48 46656, // 36
49 50653, // 37
50 54872, // 38
51 59319, // 39
52 64000, // 40
53 68921, // 41
54 74088, // 42
55 79507, // 43
56 85184, // 44
57 91125, // 45
58 97336, // 46
59 103823, // 47
60 110592, // 48
61 117649, // 49
62 125000, // 50
63 132651, // 51
64 140608, // 52
65 148877, // 53
66 157464, // 54
67 166375, // 55
68 175616, // 56
69 185193, // 57
70 195112, // 58
71 205379, // 59
72 216000, // 60
73 226981, // 61
74 238328, // 62
75 250047, // 63
76 262144, // 64
77 274625, // 65
78 287496, // 66
79 300763, // 67
80 314432, // 68
81 328509, // 69
82 343000, // 70
83 357911, // 71
84 373248, // 72
85 389017, // 73
86 405224, // 74
87 421875, // 75
88 438976, // 76
89 456533, // 77
90 474552, // 78
91 493039, // 79
92 512000, // 80
93 531441, // 81
94 551368, // 82
95 571787, // 83
96 592704, // 84
97 614125, // 85
98 636056, // 86
99 658503, // 87
100 681472, // 88
101 704969, // 89
102 729000, // 90
103 753571, // 91
104 778688, // 92
105 804357, // 93
106 830584, // 94
107 857375, // 95
108 884736, // 96
109 912673, // 97
110 941192, // 98
111 970299, // 99
112 1000000 // 100
113 }, { // Erratic
114 0, // 0
115 1, // 1
116 15, // 2
117 52, // 3
118 122, // 4
119 237, // 5
120 406, // 6
121 637, // 7
122 942, // 8
123 1326, // 9
124 1800, // 10
125 2369, // 11
126 3041, // 12
127 3822, // 13
128 4719, // 14
129 5737, // 15
130 6881, // 16
131 8155, // 17
132 9564, // 18
133 11111, // 19
134 12800, // 20
135 14632, // 21
136 16610, // 22
137 18737, // 23
138 21012, // 24
139 23437, // 25
140 26012, // 26
141 28737, // 27
142 31610, // 28
143 34632, // 29
144 37800, // 30
145 41111, // 31
146 44564, // 32
147 48155, // 33
148 51881, // 34
149 55737, // 35
150 59719, // 36
151 63822, // 37
152 68041, // 38
153 72369, // 39
154 76800, // 40
155 81326, // 41
156 85942, // 42
157 90637, // 43
158 95406, // 44
159 100237, // 45
160 105122, // 46
161 110052, // 47
162 115015, // 48
163 120001, // 49
164 125000, // 50
165 131324, // 51
166 137795, // 52
167 144410, // 53
168 151165, // 54
169 158056, // 55
170 165079, // 56
171 172229, // 57
172 179503, // 58
173 186894, // 59
174 194400, // 60
175 202013, // 61
176 209728, // 62
177 217540, // 63
178 225443, // 64
179 233431, // 65
180 241496, // 66
181 249633, // 67
182 257834, // 68
183 267406, // 69
184 276458, // 70
185 286328, // 71
186 296358, // 72
187 305767, // 73
188 316074, // 74
189 326531, // 75
190 336255, // 76
191 346965, // 77
192 357812, // 78
193 367807, // 79
194 378880, // 80
195 390077, // 81
196 400293, // 82
197 411686, // 83
198 423190, // 84
199 433572, // 85
200 445239, // 86
201 457001, // 87
202 467489, // 88
203 479378, // 89
204 491346, // 90
205 501878, // 91
206 513934, // 92
207 526049, // 93
208 536557, // 94
209 548720, // 95
210 560922, // 96
211 571333, // 97
212 583539, // 98
213 591882, // 99
214 600000 // 100
215 }, { // Fluctuating
216 0, // 0
217 1, // 1
218 4, // 2
219 13, // 3
220 32, // 4
221 65, // 5
222 112, // 6
223 178, // 7
224 276, // 8
225 393, // 9
226 540, // 10
227 745, // 11
228 967, // 12
229 1230, // 13
230 1591, // 14
231 1957, // 15
232 2457, // 16
233 3046, // 17
234 3732, // 18
235 4526, // 19
236 5440, // 20
237 6482, // 21
238 7666, // 22
239 9003, // 23
240 10506, // 24
241 12187, // 25
242 14060, // 26
243 16140, // 27
244 18439, // 28
245 20974, // 29
246 23760, // 30
247 26811, // 31
248 30146, // 32
249 33780, // 33
250 37731, // 34
251 42017, // 35
252 46656, // 36
253 50653, // 37
254 55969, // 38
255 60505, // 39
256 66560, // 40
257 71677, // 41
258 78533, // 42
259 84277, // 43
260 91998, // 44
261 98415, // 45
262 107069, // 46
263 114205, // 47
264 123863, // 48
265 131766, // 49
266 142500, // 50
267 151222, // 51
268 163105, // 52
269 172697, // 53
270 185807, // 54
271 196322, // 55
272 210739, // 56
273 222231, // 57
274 238036, // 58
275 250562, // 59
276 267840, // 60
277 281456, // 61
278 300293, // 62
279 315059, // 63
280 335544, // 64
281 351520, // 65
282 373744, // 66
283 390991, // 67
284 415050, // 68
285 433631, // 69
286 459620, // 70
287 479600, // 71
288 507617, // 72
289 529063, // 73
290 559209, // 74
291 582187, // 75
292 614566, // 76
293 639146, // 77
294 673863, // 78
295 700115, // 79
296 737280, // 80
297 765275, // 81
298 804997, // 82
299 834809, // 83
300 877201, // 84
301 908905, // 85
302 954084, // 86
303 987754, // 87
304 1035837, // 88
305 1071552, // 89
306 1122660, // 90
307 1160499, // 91
308 1214753, // 92
309 1254796, // 93
310 1312322, // 94
311 1354652, // 95
312 1415577, // 96
313 1460276, // 97
314 1524731, // 98
315 1571884, // 99
316 1640000 // 100
317 }, { // Medium Slow
318 0, // 0
319 1, // 1
320 9, // 2
321 57, // 3
322 96, // 4
323 135, // 5
324 179, // 6
325 236, // 7
326 314, // 8
327 419, // 9
328 560, // 10
329 742, // 11
330 973, // 12
331 1261, // 13
332 1612, // 14
333 2035, // 15
334 2535, // 16
335 3120, // 17
336 3798, // 18
337 4575, // 19
338 5460, // 20
339 6458, // 21
340 7577, // 22
341 8825, // 23
342 10208, // 24
343 11735, // 25
344 13411, // 26
345 15244, // 27
346 17242, // 28
347 19411, // 29
348 21760, // 30
349 24294, // 31
350 27021, // 32
351 29949, // 33
352 33084, // 34
353 36435, // 35
354 40007, // 36
355 43808, // 37
356 47846, // 38
357 52127, // 39
358 56660, // 40
359 61450, // 41
360 66505, // 42
361 71833, // 43
362 77440, // 44
363 83335, // 45
364 89523, // 46
365 96012, // 47
366 102810, // 48
367 109923, // 49
368 117360, // 50
369 125126, // 51
370 133229, // 52
371 141677, // 53
372 150476, // 54
373 159635, // 55
374 169159, // 56
375 179056, // 57
376 189334, // 58
377 199999, // 59
378 211060, // 60
379 222522, // 61
380 234393, // 62
381 246681, // 63
382 259392, // 64
383 272535, // 65
384 286115, // 66
385 300140, // 67
386 314618, // 68
387 329555, // 69
388 344960, // 70
389 360838, // 71
390 377197, // 72
391 394045, // 73
392 411388, // 74
393 429235, // 75
394 447591, // 76
395 466464, // 77
396 485862, // 78
397 505791, // 79
398 526260, // 80
399 547274, // 81
400 568841, // 82
401 590969, // 83
402 613664, // 84
403 636935, // 85
404 660787, // 86
405 685228, // 87
406 710266, // 88
407 735907, // 89
408 762160, // 90
409 789030, // 91
410 816525, // 92
411 844653, // 93
412 873420, // 94
413 902835, // 95
414 932903, // 96
415 963632, // 97
416 995030, // 98
417 1027103, // 99
418 1059860 // 100
419 }, { // Fast
420 0, // 0
421 1, // 1
422 6, // 2
423 21, // 3
424 51, // 4
425 100, // 5
426 172, // 6
427 274, // 7
428 409, // 8
429 583, // 9
430 800, // 10
431 1064, // 11
432 1382, // 12
433 1757, // 13
434 2195, // 14
435 2700, // 15
436 3276, // 16
437 3930, // 17
438 4665, // 18
439 5487, // 19
440 6400, // 20
441 7408, // 21
442 8518, // 22
443 9733, // 23
444 11059, // 24
445 12500, // 25
446 14060, // 26
447 15746, // 27
448 17561, // 28
449 19511, // 29
450 21600, // 30
451 23832, // 31
452 26214, // 32
453 28749, // 33
454 31443, // 34
455 34300, // 35
456 37324, // 36
457 40522, // 37
458 43897, // 38
459 47455, // 39
460 51200, // 40
461 55136, // 41
462 59270, // 42
463 63605, // 43
464 68147, // 44
465 72900, // 45
466 77868, // 46
467 83058, // 47
468 88473, // 48
469 94119, // 49
470 100000, // 50
471 106120, // 51
472 112486, // 52
473 119101, // 53
474 125971, // 54
475 133100, // 55
476 140492, // 56
477 148154, // 57
478 156089, // 58
479 164303, // 59
480 172800, // 60
481 181584, // 61
482 190662, // 62
483 200037, // 63
484 209715, // 64
485 219700, // 65
486 229996, // 66
487 240610, // 67
488 251545, // 68
489 262807, // 69
490 274400, // 70
491 286328, // 71
492 298598, // 72
493 311213, // 73
494 324179, // 74
495 337500, // 75
496 351180, // 76
497 365226, // 77
498 379641, // 78
499 394431, // 79
500 409600, // 80
501 425152, // 81
502 441094, // 82
503 457429, // 83
504 474163, // 84
505 491300, // 85
506 508844, // 86
507 526802, // 87
508 545177, // 88
509 563975, // 89
510 583200, // 90
511 602856, // 91
512 622950, // 92
513 643485, // 93
514 664467, // 94
515 685900, // 95
516 707788, // 96
517 730138, // 97
518 752953, // 98
519 776239, // 99
520 800000 // 100
521 }, { // Slow
522 0, // 0
523 1, // 1
524 10, // 2
525 33, // 3
526 80, // 4
527 156, // 5
528 270, // 6
529 428, // 7
530 640, // 8
531 911, // 9
532 1250, // 10
533 1663, // 11
534 2160, // 12
535 2746, // 13
536 3430, // 14
537 4218, // 15
538 5120, // 16
539 6141, // 17
540 7290, // 18
541 8573, // 19
542 10000, // 20
543 11576, // 21
544 13310, // 22
545 15208, // 23
546 17280, // 24
547 19531, // 25
548 21970, // 26
549 24603, // 27
550 27440, // 28
551 30486, // 29
552 33750, // 30
553 37238, // 31
554 40960, // 32
555 44921, // 33
556 49130, // 34
557 53593, // 35
558 58320, // 36
559 63316, // 37
560 68590, // 38
561 74148, // 39
562 80000, // 40
563 86151, // 41
564 92610, // 42
565 99383, // 43
566 106480, // 44
567 113906, // 45
568 121670, // 46
569 129778, // 47
570 138240, // 48
571 147061, // 49
572 156250, // 50
573 165813, // 51
574 175760, // 52
575 186096, // 53
576 196830, // 54
577 207968, // 55
578 219520, // 56
579 231491, // 57
580 243890, // 58
581 256723, // 59
582 270000, // 60
583 283726, // 61
584 297910, // 62
585 312558, // 63
586 327680, // 64
587 343281, // 65
588 359370, // 66
589 375953, // 67
590 393040, // 68
591 410636, // 69
592 428750, // 70
593 447388, // 71
594 466560, // 72
595 486271, // 73
596 506530, // 74
597 527343, // 75
598 548720, // 76
599 570666, // 77
600 593190, // 78
601 616298, // 79
602 640000, // 80
603 664301, // 81
604 689210, // 82
605 714733, // 83
606 740880, // 84
607 767656, // 85
608 795070, // 86
609 823128, // 87
610 851840, // 88
611 881211, // 89
612 911250, // 90
613 941963, // 91
614 973360, // 92
615 1005446, // 93
616 1038230, // 94
617 1071718, // 95
618 1105920, // 96
619 1140841, // 97
620 1176490, // 98
621 1212873, // 99
622 1250000 // 100
623 }, { // Medium Fast copy 2 (unused? to-do: investigate)
624 0, // 0
625 1, // 1
626 8, // 2
627 27, // 3
628 64, // 4
629 125, // 5
630 216, // 6
631 343, // 7
632 512, // 8
633 729, // 9
634 1000, // 10
635 1331, // 11
636 1728, // 12
637 2197, // 13
638 2744, // 14
639 3375, // 15
640 4096, // 16
641 4913, // 17
642 5832, // 18
643 6859, // 19
644 8000, // 20
645 9261, // 21
646 10648, // 22
647 12167, // 23
648 13824, // 24
649 15625, // 25
650 17576, // 26
651 19683, // 27
652 21952, // 28
653 24389, // 29
654 27000, // 30
655 29791, // 31
656 32768, // 32
657 35937, // 33
658 39304, // 34
659 42875, // 35
660 46656, // 36
661 50653, // 37
662 54872, // 38
663 59319, // 39
664 64000, // 40
665 68921, // 41
666 74088, // 42
667 79507, // 43
668 85184, // 44
669 91125, // 45
670 97336, // 46
671 103823, // 47
672 110592, // 48
673 117649, // 49
674 125000, // 50
675 132651, // 51
676 140608, // 52
677 148877, // 53
678 157464, // 54
679 166375, // 55
680 175616, // 56
681 185193, // 57
682 195112, // 58
683 205379, // 59
684 216000, // 60
685 226981, // 61
686 238328, // 62
687 250047, // 63
688 262144, // 64
689 274625, // 65
690 287496, // 66
691 300763, // 67
692 314432, // 68
693 328509, // 69
694 343000, // 70
695 357911, // 71
696 373248, // 72
697 389017, // 73
698 405224, // 74
699 421875, // 75
700 438976, // 76
701 456533, // 77
702 474552, // 78
703 493039, // 79
704 512000, // 80
705 531441, // 81
706 551368, // 82
707 571787, // 83
708 592704, // 84
709 614125, // 85
710 636056, // 86
711 658503, // 87
712 681472, // 88
713 704969, // 89
714 729000, // 90
715 753571, // 91
716 778688, // 92
717 804357, // 93
718 830584, // 94
719 857375, // 95
720 884736, // 96
721 912673, // 97
722 941192, // 98
723 970299, // 99
724 1000000 // 100
725 }, { // Medium Fast copy 3 (unused? to-do: investigate)
726 0, // 0
727 1, // 1
728 8, // 2
729 27, // 3
730 64, // 4
731 125, // 5
732 216, // 6
733 343, // 7
734 512, // 8
735 729, // 9
736 1000, // 10
737 1331, // 11
738 1728, // 12
739 2197, // 13
740 2744, // 14
741 3375, // 15
742 4096, // 16
743 4913, // 17
744 5832, // 18
745 6859, // 19
746 8000, // 20
747 9261, // 21
748 10648, // 22
749 12167, // 23
750 13824, // 24
751 15625, // 25
752 17576, // 26
753 19683, // 27
754 21952, // 28
755 24389, // 29
756 27000, // 30
757 29791, // 31
758 32768, // 32
759 35937, // 33
760 39304, // 34
761 42875, // 35
762 46656, // 36
763 50653, // 37
764 54872, // 38
765 59319, // 39
766 64000, // 40
767 68921, // 41
768 74088, // 42
769 79507, // 43
770 85184, // 44
771 91125, // 45
772 97336, // 46
773 103823, // 47
774 110592, // 48
775 117649, // 49
776 125000, // 50
777 132651, // 51
778 140608, // 52
779 148877, // 53
780 157464, // 54
781 166375, // 55
782 175616, // 56
783 185193, // 57
784 195112, // 58
785 205379, // 59
786 216000, // 60
787 226981, // 61
788 238328, // 62
789 250047, // 63
790 262144, // 64
791 274625, // 65
792 287496, // 66
793 300763, // 67
794 314432, // 68
795 328509, // 69
796 343000, // 70
797 357911, // 71
798 373248, // 72
799 389017, // 73
800 405224, // 74
801 421875, // 75
802 438976, // 76
803 456533, // 77
804 474552, // 78
805 493039, // 79
806 512000, // 80
807 531441, // 81
808 551368, // 82
809 571787, // 83
810 592704, // 84
811 614125, // 85
812 636056, // 86
813 658503, // 87
814 681472, // 88
815 704969, // 89
816 729000, // 90
817 753571, // 91
818 778688, // 92
819 804357, // 93
820 830584, // 94
821 857375, // 95
822 884736, // 96
823 912673, // 97
824 941192, // 98
825 970299, // 99
826 1000000 // 100
827 }
828};
diff --git a/gba/source/exptables.h b/gba/source/exptables.h new file mode 100644 index 0000000..8ab7eb7 --- /dev/null +++ b/gba/source/exptables.h
@@ -0,0 +1,15 @@
1/*
2 * Copyright (C) 2017 Scott Norton
3 * Copyright (C) 2017 hatkirby
4 *
5 * This software may be modified and distributed under the terms
6 * of the MIT license. See the LICENSE file for details.
7 */
8#ifndef EXPTABLES_H
9#define EXPTABLES_H
10
11#include <gba.h>
12
13extern const u32 gExperienceTables[][101];
14
15#endif
diff --git a/gba/source/gamedata.c b/gba/source/gamedata.c index ae593b1..271eaf9 100644 --- a/gba/source/gamedata.c +++ b/gba/source/gamedata.c
@@ -140,9 +140,6 @@ bool initSaveData(struct GameData* gameData)
140 pSaveBlock1 gSaveBlock1; 140 pSaveBlock1 gSaveBlock1;
141 pSaveBlock2 gSaveBlock2; 141 pSaveBlock2 gSaveBlock2;
142 pSaveBlock3 gSaveBlock3; 142 pSaveBlock3 gSaveBlock3;
143 struct BaseStats* gBaseStats;
144 const u32 (*gExpTables)[101];
145 const u16* gNatOrder;
146 //u32 titlemid = 0; 143 //u32 titlemid = 0;
147 144
148 // get the address of the save loading function. 145 // get the address of the save loading function.
@@ -345,9 +342,6 @@ bool initSaveData(struct GameData* gameData)
345 //mainloop = (void(*)()) 0x8000429; 342 //mainloop = (void(*)()) 0x8000429;
346 //titlemid = 0x807928f; 343 //titlemid = 0x807928f;
347 //load_pokemon = (void(*)()) 0x804c245; 344 //load_pokemon = (void(*)()) 0x804c245;
348 gBaseStats = (struct BaseStats*) ( GAME_FR ? 0 : 0x82547d0 );
349 gExpTables = (ExperienceTables) ( GAME_FR ? 0 : 0x8253b30 );
350 gNatOrder = (const u16*) ( GAME_FR ? 0 : 0x825203a );
351 345
352 break; 346 break;
353 } 347 }
@@ -518,9 +512,6 @@ bool initSaveData(struct GameData* gameData)
518 gameData->SaveBlock1 = gSaveBlock1; 512 gameData->SaveBlock1 = gSaveBlock1;
519 gameData->SaveBlock2 = gSaveBlock2; 513 gameData->SaveBlock2 = gSaveBlock2;
520 gameData->SaveBlock3 = gSaveBlock3; 514 gameData->SaveBlock3 = gSaveBlock3;
521 gameData->baseStats = gBaseStats;
522 gameData->expTables = gExpTables;
523 gameData->natOrder = gNatOrder;
524 515
525 return true; 516 return true;
526} 517}
diff --git a/gba/source/gamedata.h b/gba/source/gamedata.h index 247626a..979ef03 100644 --- a/gba/source/gamedata.h +++ b/gba/source/gamedata.h
@@ -27,9 +27,6 @@ struct GameData {
27 pSaveBlock1 SaveBlock1; 27 pSaveBlock1 SaveBlock1;
28 pSaveBlock2 SaveBlock2; 28 pSaveBlock2 SaveBlock2;
29 pSaveBlock3 SaveBlock3; 29 pSaveBlock3 SaveBlock3;
30 struct BaseStats* baseStats;
31 ExperienceTables expTables;
32 const u16* natOrder;
33}; 30};
34 31
35bool initSaveData(struct GameData* gameData); 32bool initSaveData(struct GameData* gameData);
diff --git a/gba/source/serialize.c b/gba/source/serialize.c index 72afe2f..086e751 100644 --- a/gba/source/serialize.c +++ b/gba/source/serialize.c
@@ -7,6 +7,9 @@
7#include "serialize.h" 7#include "serialize.h"
8#include "gamedata.h" 8#include "gamedata.h"
9#include "link.h" 9#include "link.h"
10#include "basestats.h"
11#include "exptables.h"
12#include "dexorder.h"
10 13
11#define UNOWN_SPECIES_INDEX 201 14#define UNOWN_SPECIES_INDEX 201
12#define SHEDINJA_SPECIES_INDEX 303 15#define SHEDINJA_SPECIES_INDEX 303
@@ -60,7 +63,7 @@ void PokemonIntermediateInit(
60 struct PokemonSubstruct2* sub2 = GetBoxPokemonSubstruct2(bpkm); 63 struct PokemonSubstruct2* sub2 = GetBoxPokemonSubstruct2(bpkm);
61 struct PokemonSubstruct3* sub3 = GetBoxPokemonSubstruct3(bpkm); 64 struct PokemonSubstruct3* sub3 = GetBoxPokemonSubstruct3(bpkm);
62 65
63 struct BaseStats* baseStats = &gameData->baseStats[sub0->species]; 66 const struct SmallBaseStats* baseStats = &gSmallBaseStats[sub0->species];
64 67
65 for (int i=0; i<POKEMON_NAME_LENGTH; i++) 68 for (int i=0; i<POKEMON_NAME_LENGTH; i++)
66 { 69 {
@@ -74,7 +77,7 @@ void PokemonIntermediateInit(
74 77
75 pki->otId = bpkm->otId; 78 pki->otId = bpkm->otId;
76 pki->otGender = sub3->otGender; 79 pki->otGender = sub3->otGender;
77 pki->species = gameData->natOrder[sub0->species - 1]; 80 pki->species = gSpeciesToNationalPokedexNum[sub0->species - 1];
78 pki->heldItem = sub0->heldItem; 81 pki->heldItem = sub0->heldItem;
79 pki->experience = sub0->experience; 82 pki->experience = sub0->experience;
80 83
@@ -141,7 +144,7 @@ void PokemonIntermediateInit(
141 // Calculate level from experience. 144 // Calculate level from experience.
142 pki->level = 1; 145 pki->level = 1;
143 146
144 const u32* expTable = gameData->expTables[baseStats->growthRate]; 147 const u32* expTable = gExperienceTables[baseStats->growthRate];
145 while ((pki->level <= 100) && (expTable[pki->level] <= sub0->experience)) 148 while ((pki->level <= 100) && (expTable[pki->level] <= sub0->experience))
146 { 149 {
147 pki->level++; 150 pki->level++;