shithub: pokecrystal

Download patch

ref: 6ab1d028bbb94ba35c16d715341444453e895716
parent: 9ba224e2e68d066d0a82369a403da28d84656787
author: Remy Oukaour <[email protected]>
date: Thu Dec 14 18:00:54 EST 2017

Split items/ and trainers/ into their data/ and engine/ components
Move some data into a pokemon/ subdirectory

--- a/FAQ.md
+++ b/FAQ.md
@@ -1,17 +1,31 @@
 # FAQ
 
+
+## Questions
+
+- [What is pokecrystal11.gbc?](#what-is-pokecrystal11gbc)
+- [Can't build ROM; "ERROR: `UNION` already defined"](#cant-build-rom-error-union-already-defined)
+- [Can't build ROM; "Segmentation fault" from `rgbgfx`](#cant-build-rom-segmentation-fault-from-rgbgfx)
+- [Can't build ROM; "Section is too big" or "Unable to place section in bank"](#cant-build-rom-section-is-too-big-or-unable-to-place-section-in-bank)
+- [How do I edit maps?](#how-do-i-edit-maps)
+- [I need more help!](#i-need-more-help)
+
+
 ## What is pokecrystal11.gbc?
 
 Version 1.1 of Pokémon Crystal, which fixed some issues with the initial international release. `make crystal11` defines `CRYSTAL11` so the assembly builds the changed version.
 
+
 ## Can't build ROM; "ERROR: `UNION` already defined"
 
 Download [**rgbds 0.3.3**](rgbds). Earlier versions will not work.
 
+
 ## Can't build ROM; "Segmentation fault" from `rgbgfx`
 
 If you are using 64-bit Windows, download [**64-bit Cygwin**](cygwin) and [**64-bit rgbds**](rgbds).
 
+
 ## Can't build ROM; "Section is too big" or "Unable to place section in bank"
 
 If you have not changed any of the asm, make sure you have the latest version of pokecrystal and the correct version of rgbds (see [INSTALL.md](INSTALL.md)).
@@ -18,9 +32,11 @@
 
 If you added or changed any code, it has to fit in the **memory banks**. The 2MB ROM is divided into 128 banks of 4KB each, numbered $00 to $7F. The linkerscript **pokecrystal.link** lists which **`SECTION`**s go in which banks. Try moving some code into a new section.
 
+
 ## How do I edit maps?
 
 For `asm` scripts, read [docs/map_scripts.md](docs/map_scripts.md). For `blk` layouts, try [crowdmap](crowdmap) or [Polished Map](polished-map).
+
 
 ## I need more help!
 
--- a/Makefile
+++ b/Makefile
@@ -25,9 +25,9 @@
 maps.o \
 engine/events.o \
 engine/credits.o \
-data/egg_moves.o \
-data/evos_attacks.o \
-data/pokedex/entries.o \
+data/pokemon/egg_moves.o \
+data/pokemon/evos_attacks.o \
+data/pokemon/dex_entries.o \
 misc/crystal_misc.o \
 text/common_text.o \
 gfx/pics.o
--- a/audio.asm
+++ b/audio.asm
@@ -4,7 +4,7 @@
 SECTION "Audio", ROMX
 
 INCLUDE "audio/engine.asm"
-INCLUDE "trainers/encounter_music.asm"
+INCLUDE "data/trainers/encounter_music.asm"
 INCLUDE "audio/music_pointers.asm"
 INCLUDE "audio/music/nothing.asm"
 INCLUDE "audio/cry_pointers.asm"
@@ -157,6 +157,6 @@
 
 SECTION "Cries", ROMX
 
-CryHeaders:: INCLUDE "audio/cry_headers.asm"
+INCLUDE "data/pokemon/cry_headers.asm"
 
 INCLUDE "audio/cries.asm"
--- a/audio/cry_headers.asm
+++ /dev/null
@@ -1,258 +1,0 @@
-; f2787
-;                               index,          pitch, length
-BulbasaurCryHeader:   cry_header CRY_BULBASAUR,   $080,  $081
-IvysaurCryHeader:     cry_header CRY_BULBASAUR,   $020,  $100
-VenusaurCryHeader:    cry_header CRY_BULBASAUR,   $000,  $140
-CharmanderCryHeader:  cry_header CRY_CHARMANDER,  $060,  $0c0
-CharmeleonCryHeader:  cry_header CRY_CHARMANDER,  $020,  $0c0
-CharizardCryHeader:   cry_header CRY_CHARMANDER,  $000,  $100
-SquirtleCryHeader:    cry_header CRY_SQUIRTLE,    $060,  $0c0
-WartortleCryHeader:   cry_header CRY_SQUIRTLE,    $020,  $0c0
-BlastoiseCryHeader:   cry_header CRY_BLASTOISE,   $000,  $100
-CaterpieCryHeader:    cry_header CRY_CATERPIE,    $080,  $0a0
-MetapodCryHeader:     cry_header CRY_METAPOD,     $0cc,  $081
-ButterfreeCryHeader:  cry_header CRY_CATERPIE,    $077,  $0c0
-WeedleCryHeader:      cry_header CRY_WEEDLE,      $0ee,  $081
-KakunaCryHeader:      cry_header CRY_BLASTOISE,   $0ff,  $081
-BeedrillCryHeader:    cry_header CRY_BLASTOISE,   $060,  $100
-PidgeyCryHeader:      cry_header CRY_PIDGEY,      $0df,  $084
-PidgeottoCryHeader:   cry_header CRY_PIDGEOTTO,   $028,  $140
-PidgeotCryHeader:     cry_header CRY_PIDGEOTTO,   $011,  $17f
-RattataCryHeader:     cry_header CRY_RATTATA,     $000,  $100
-RaticateCryHeader:    cry_header CRY_RATTATA,     $020,  $17f
-SpearowCryHeader:     cry_header CRY_SPEAROW,     $000,  $100
-FearowCryHeader:      cry_header CRY_FEAROW,      $040,  $120
-EkansCryHeader:       cry_header CRY_EKANS,       $012,  $0c0
-ArbokCryHeader:       cry_header CRY_EKANS,       $0e0,  $090
-PikachuCryHeader:     cry_header CRY_BULBASAUR,   $0ee,  $081
-RaichuCryHeader:      cry_header CRY_RAICHU,      $0ee,  $088
-SandshrewCryHeader:   cry_header CRY_NIDORAN_M,   $020,  $0c0
-SandslashCryHeader:   cry_header CRY_NIDORAN_M,   $0ff,  $17f
-NidoranFCryHeader:    cry_header CRY_NIDORAN_F,   $000,  $100
-NidorinaCryHeader:    cry_header CRY_NIDORAN_F,   $02c,  $160
-NidoqueenCryHeader:   cry_header CRY_NIDOQUEEN,   $000,  $100
-NidoranMCryHeader:    cry_header CRY_NIDORAN_M,   $000,  $100
-NidorinoCryHeader:    cry_header CRY_NIDORAN_M,   $02c,  $140
-NidokingCryHeader:    cry_header CRY_RAICHU,      $000,  $100
-ClefairyCryHeader:    cry_header CRY_CLEFAIRY,    $0cc,  $081
-ClefableCryHeader:    cry_header CRY_CLEFAIRY,    $0aa,  $0a0
-VulpixCryHeader:      cry_header CRY_VULPIX,      $04f,  $090
-NinetalesCryHeader:   cry_header CRY_VULPIX,      $088,  $0e0
-JigglypuffCryHeader:  cry_header CRY_PIDGEY,      $0ff,  $0b5
-WigglytuffCryHeader:  cry_header CRY_PIDGEY,      $068,  $0e0
-ZubatCryHeader:       cry_header CRY_SQUIRTLE,    $0e0,  $100
-GolbatCryHeader:      cry_header CRY_SQUIRTLE,    $0fa,  $100
-OddishCryHeader:      cry_header CRY_ODDISH,      $0dd,  $081
-GloomCryHeader:       cry_header CRY_ODDISH,      $0aa,  $0c0
-VileplumeCryHeader:   cry_header CRY_VILEPLUME,   $022,  $17f
-ParasCryHeader:       cry_header CRY_PARAS,       $020,  $160
-ParasectCryHeader:    cry_header CRY_PARAS,       $042,  $17f
-VenonatCryHeader:     cry_header CRY_VENONAT,     $044,  $0c0
-VenomothCryHeader:    cry_header CRY_VENONAT,     $029,  $100
-DiglettCryHeader:     cry_header CRY_DIGLETT,     $0aa,  $081
-DugtrioCryHeader:     cry_header CRY_DIGLETT,     $02a,  $090
-MeowthCryHeader:      cry_header CRY_CLEFAIRY,    $077,  $090
-PersianCryHeader:     cry_header CRY_CLEFAIRY,    $099,  $17f
-PsyduckCryHeader:     cry_header CRY_PSYDUCK,     $020,  $0e0
-GolduckCryHeader:     cry_header CRY_PSYDUCK,     $0ff,  $0c0
-MankeyCryHeader:      cry_header CRY_NIDOQUEEN,   $0dd,  $0e0
-PrimeapeCryHeader:    cry_header CRY_NIDOQUEEN,   $0af,  $0c0
-GrowlitheCryHeader:   cry_header CRY_GROWLITHE,   $020,  $0c0
-ArcanineCryHeader:    cry_header CRY_WEEDLE,      $000,  $100
-PoliwagCryHeader:     cry_header CRY_PIDGEY,      $0ff,  $17f
-PoliwhirlCryHeader:   cry_header CRY_PIDGEY,      $077,  $0e0
-PoliwrathCryHeader:   cry_header CRY_PIDGEY,      $000,  $17f
-AbraCryHeader:        cry_header CRY_METAPOD,     $0c0,  $081
-KadabraCryHeader:     cry_header CRY_METAPOD,     $0a8,  $140
-AlakazamCryHeader:    cry_header CRY_METAPOD,     $098,  $17f
-MachopCryHeader:      cry_header CRY_GROWLITHE,   $0ee,  $081
-MachokeCryHeader:     cry_header CRY_GROWLITHE,   $048,  $0e0
-MachampCryHeader:     cry_header CRY_GROWLITHE,   $008,  $140
-BellsproutCryHeader:  cry_header CRY_PSYDUCK,     $055,  $081
-WeepinbellCryHeader:  cry_header CRY_WEEPINBELL,  $044,  $0a0
-VictreebelCryHeader:  cry_header CRY_WEEPINBELL,  $066,  $14c
-TentacoolCryHeader:   cry_header CRY_VENONAT,     $000,  $100
-TentacruelCryHeader:  cry_header CRY_VENONAT,     $0ee,  $17f
-GeodudeCryHeader:     cry_header CRY_VULPIX,      $0f0,  $090
-GravelerCryHeader:    cry_header CRY_VULPIX,      $000,  $100
-GolemCryHeader:       cry_header CRY_GOLEM,       $0e0,  $0c0
-PonytaCryHeader:      cry_header CRY_WEEPINBELL,  $000,  $100
-RapidashCryHeader:    cry_header CRY_WEEPINBELL,  $020,  $140
-SlowpokeCryHeader:    cry_header CRY_SLOWPOKE,    $000,  $100
-SlowbroCryHeader:     cry_header CRY_GROWLITHE,   $000,  $100
-MagnemiteCryHeader:   cry_header CRY_METAPOD,     $080,  $0e0
-MagnetonCryHeader:    cry_header CRY_METAPOD,     $020,  $140
-FarfetchDCryHeader:   cry_header CRY_SPEAROW,     $0dd,  $081
-DoduoCryHeader:       cry_header CRY_DIGLETT,     $0bb,  $081
-DodrioCryHeader:      cry_header CRY_DIGLETT,     $099,  $0a0
-SeelCryHeader:        cry_header CRY_SEEL,        $088,  $140
-DewgongCryHeader:     cry_header CRY_SEEL,        $023,  $17f
-GrimerCryHeader:      cry_header CRY_GRIMER,      $000,  $100
-MukCryHeader:         cry_header CRY_MUK,         $0ef,  $17f
-ShellderCryHeader:    cry_header CRY_FEAROW,      $000,  $100
-CloysterCryHeader:    cry_header CRY_FEAROW,      $06f,  $160
-GastlyCryHeader:      cry_header CRY_METAPOD,     $000,  $100
-HaunterCryHeader:     cry_header CRY_METAPOD,     $030,  $0c0
-GengarCryHeader:      cry_header CRY_MUK,         $000,  $17f
-OnixCryHeader:        cry_header CRY_EKANS,       $0ff,  $140
-DrowzeeCryHeader:     cry_header CRY_DROWZEE,     $088,  $0a0
-HypnoCryHeader:       cry_header CRY_DROWZEE,     $0ee,  $0c0
-KrabbyCryHeader:      cry_header CRY_KRABBY,      $020,  $160
-KinglerCryHeader:     cry_header CRY_KRABBY,      $0ee,  $160
-VoltorbCryHeader:     cry_header CRY_VOLTORB,     $0ed,  $100
-ElectrodeCryHeader:   cry_header CRY_VOLTORB,     $0a8,  $110
-ExeggcuteCryHeader:   cry_header CRY_DIGLETT,     $000,  $100
-ExeggutorCryHeader:   cry_header CRY_DROWZEE,     $000,  $100
-CuboneCryHeader:      cry_header CRY_CLEFAIRY,    $000,  $100
-MarowakCryHeader:     cry_header CRY_ODDISH,      $04f,  $0e0
-HitmonleeCryHeader:   cry_header CRY_GOLEM,       $080,  $140
-HitmonchanCryHeader:  cry_header CRY_SEEL,        $0ee,  $140
-LickitungCryHeader:   cry_header CRY_SEEL,        $000,  $100
-KoffingCryHeader:     cry_header CRY_GOLEM,       $0e6,  $15d
-WeezingCryHeader:     cry_header CRY_GOLEM,       $0ff,  $17f
-RhyhornCryHeader:     cry_header CRY_CHARMANDER,  $000,  $100
-RhydonCryHeader:      cry_header CRY_RHYDON,      $000,  $100
-ChanseyCryHeader:     cry_header CRY_PIDGEOTTO,   $00a,  $140
-TangelaCryHeader:     cry_header CRY_GOLEM,       $000,  $100
-KangaskhanCryHeader:  cry_header CRY_KANGASKHAN,  $000,  $100
-HorseaCryHeader:      cry_header CRY_CLEFAIRY,    $099,  $090
-SeadraCryHeader:      cry_header CRY_CLEFAIRY,    $03c,  $081
-GoldeenCryHeader:     cry_header CRY_CATERPIE,    $080,  $0c0
-SeakingCryHeader:     cry_header CRY_CATERPIE,    $010,  $17f
-StaryuCryHeader:      cry_header CRY_PARAS,       $002,  $0a0
-StarmieCryHeader:     cry_header CRY_PARAS,       $000,  $100
-MrMimeCryHeader:      cry_header CRY_KRABBY,      $008,  $0c0
-ScytherCryHeader:     cry_header CRY_CATERPIE,    $000,  $100
-JynxCryHeader:        cry_header CRY_DROWZEE,     $0ff,  $17f
-ElectabuzzCryHeader:  cry_header CRY_VOLTORB,     $08f,  $17f
-MagmarCryHeader:      cry_header CRY_CHARMANDER,  $0ff,  $0b0
-PinsirCryHeader:      cry_header CRY_PIDGEOTTO,   $000,  $100
-TaurosCryHeader:      cry_header CRY_SQUIRTLE,    $011,  $0c0
-MagikarpCryHeader:    cry_header CRY_EKANS,       $080,  $080
-GyaradosCryHeader:    cry_header CRY_EKANS,       $000,  $100
-LaprasCryHeader:      cry_header CRY_LAPRAS,      $000,  $100
-DittoCryHeader:       cry_header CRY_PIDGEY,      $0ff,  $17f
-EeveeCryHeader:       cry_header CRY_VENONAT,     $088,  $0e0
-VaporeonCryHeader:    cry_header CRY_VENONAT,     $0aa,  $17f
-JolteonCryHeader:     cry_header CRY_VENONAT,     $03d,  $100
-FlareonCryHeader:     cry_header CRY_VENONAT,     $010,  $0a0
-PorygonCryHeader:     cry_header CRY_WEEPINBELL,  $0aa,  $17f
-OmanyteCryHeader:     cry_header CRY_GROWLITHE,   $0f0,  $081
-OmastarCryHeader:     cry_header CRY_GROWLITHE,   $0ff,  $0c0
-KabutoCryHeader:      cry_header CRY_CATERPIE,    $0bb,  $0c0
-KabutopsCryHeader:    cry_header CRY_FEAROW,      $0ee,  $081
-AerodactylCryHeader:  cry_header CRY_VILEPLUME,   $020,  $170
-SnorlaxCryHeader:     cry_header CRY_GRIMER,      $055,  $081
-ArticunoCryHeader:    cry_header CRY_RAICHU,      $080,  $0c0
-ZapdosCryHeader:      cry_header CRY_FEAROW,      $0ff,  $100
-MoltresCryHeader:     cry_header CRY_RAICHU,      $0f8,  $0c0
-DratiniCryHeader:     cry_header CRY_BULBASAUR,   $060,  $0c0
-DragonairCryHeader:   cry_header CRY_BULBASAUR,   $040,  $100
-DragoniteCryHeader:   cry_header CRY_BULBASAUR,   $03c,  $140
-MewtwoCryHeader:      cry_header CRY_PARAS,       $099,  $17f
-MewCryHeader:         cry_header CRY_PARAS,       $0ee,  $17f
-ChikoritaCryHeader:   cry_header CRY_CHIKORITA,  -$010,  $0b0
-BayleefCryHeader:     cry_header CRY_CHIKORITA,  -$022,  $120
-MeganiumCryHeader:    cry_header CRY_CHIKORITA,  -$0b7,  $200
-CyndaquilCryHeader:   cry_header CRY_CYNDAQUIL,   $347,  $080
-QuilavaCryHeader:     cry_header CRY_CYNDAQUIL,   $321,  $120
-TyphlosionCryHeader:  cry_header CRY_TYPHLOSION,  $f00,  $0d4
-TotodileCryHeader:    cry_header CRY_TOTODILE,    $46c,  $0e8
-CroconawCryHeader:    cry_header CRY_TOTODILE,    $440,  $110
-FeraligatrCryHeader:  cry_header CRY_TOTODILE,    $3fc,  $180
-SentretCryHeader:     cry_header CRY_SENTRET,     $08a,  $0b8
-FurretCryHeader:      cry_header CRY_SENTRET,     $06b,  $102
-HoothootCryHeader:    cry_header CRY_HOOTHOOT,    $091,  $0d8
-NoctowlCryHeader:     cry_header CRY_HOOTHOOT,    $000,  $1a0
-LedybaCryHeader:      cry_header CRY_LEDYBA,      $000,  $0de
-LedianCryHeader:      cry_header CRY_LEDYBA,     -$096,  $138
-SpinarakCryHeader:    cry_header CRY_SPINARAK,    $011,  $200
-AriadosCryHeader:     cry_header CRY_SPINARAK,   -$0ae,  $1e2
-CrobatCryHeader:      cry_header CRY_SQUIRTLE,   -$010,  $140
-ChinchouCryHeader:    cry_header CRY_CYNDAQUIL,   $3c9,  $140
-LanturnCryHeader:     cry_header CRY_CYNDAQUIL,   $2d0,  $110
-PichuCryHeader:       cry_header CRY_PICHU,       $000,  $140
-CleffaCryHeader:      cry_header CRY_CLEFFA,      $061,  $091
-IgglybuffCryHeader:   cry_header CRY_CHIKORITA,   $0e8,  $0e8
-TogepiCryHeader:      cry_header CRY_TOGEPI,      $010,  $100
-TogeticCryHeader:     cry_header CRY_TOGETIC,     $03b,  $038
-NatuCryHeader:        cry_header CRY_NATU,       -$067,  $100
-XatuCryHeader:        cry_header CRY_NATU,       -$0a7,  $168
-MareepCryHeader:      cry_header CRY_MAREEP,      $022,  $0d8
-FlaaffyCryHeader:     cry_header CRY_MAREEP,     -$007,  $180
-AmpharosCryHeader:    cry_header CRY_AMPHAROS,   -$07c,  $0e8
-BellossomCryHeader:   cry_header CRY_CLEFFA,      $084,  $150
-MarillCryHeader:      cry_header CRY_MARILL,      $11b,  $120
-AzumarillCryHeader:   cry_header CRY_MARILL,      $0b6,  $180
-SudowoodoCryHeader:   cry_header CRY_CLEFFA,      $f40,  $180
-PolitoedCryHeader:    cry_header CRY_CLEFFA,     -$2a3,  $1c8
-HoppipCryHeader:      cry_header CRY_CLEFFA,      $03b,  $0c8
-SkiploomCryHeader:    cry_header CRY_CLEFFA,      $027,  $138
-JumpluffCryHeader:    cry_header CRY_CLEFFA,      $000,  $180
-AipomCryHeader:       cry_header CRY_AIPOM,      -$051,  $0e8
-SunkernCryHeader:     cry_header CRY_MARILL,      $12b,  $0b8
-SunfloraCryHeader:    cry_header CRY_SUNFLORA,   -$020,  $180
-YanmaCryHeader:       cry_header CRY_TOTODILE,    $031,  $0c8
-WooperCryHeader:      cry_header CRY_WOOPER,      $093,  $0af
-QuagsireCryHeader:    cry_header CRY_WOOPER,     -$0c6,  $140
-EspeonCryHeader:      cry_header CRY_AIPOM,       $0a2,  $140
-UmbreonCryHeader:     cry_header CRY_VENONAT,    -$0e9,  $0f0
-MurkrowCryHeader:     cry_header CRY_MARILL,     -$01f,  $180
-SlowkingCryHeader:    cry_header CRY_SLOWKING,    $104,  $200
-MisdreavusCryHeader:  cry_header CRY_HOOTHOOT,    $130,  $0e8
-UnownCryHeader:       cry_header CRY_HOOTHOOT,    $162,  $100
-WobbuffetCryHeader:   cry_header CRY_AMPHAROS,    $27b,  $144
-GirafarigCryHeader:   cry_header CRY_GIRAFARIG,   $041,  $200
-PinecoCryHeader:      cry_header CRY_SLOWKING,    $080,  $100
-ForretressCryHeader:  cry_header CRY_SLOWKING,    $000,  $180
-DunsparceCryHeader:   cry_header CRY_DUNSPARCE,   $1c4,  $100
-GligarCryHeader:      cry_header CRY_GLIGAR,     -$102,  $100
-SteelixCryHeader:     cry_header CRY_TYPHLOSION,  $0ef,  $0f7
-SnubbullCryHeader:    cry_header CRY_DUNSPARCE,   $112,  $0e8
-GranbullCryHeader:    cry_header CRY_DUNSPARCE,   $000,  $180
-QwilfishCryHeader:    cry_header CRY_SLOWKING,    $160,  $0e0
-ScizorCryHeader:      cry_header CRY_AMPHAROS,    $000,  $160
-ShuckleCryHeader:     cry_header CRY_DUNSPARCE,   $290,  $0a8
-HeracrossCryHeader:   cry_header CRY_AMPHAROS,    $035,  $0e0
-SneaselCryHeader:     cry_header CRY_WOOPER,      $053,  $0af
-TeddiursaCryHeader:   cry_header CRY_TEDDIURSA,   $7a2,  $06e
-UrsaringCryHeader:    cry_header CRY_TEDDIURSA,   $640,  $0d8
-SlugmaCryHeader:      cry_header CRY_SLUGMA,     -$1d8,  $140
-MagcargoCryHeader:    cry_header CRY_MAGCARGO,   -$20d,  $1c0
-SwinubCryHeader:      cry_header CRY_CYNDAQUIL,   $1fe,  $140
-PiloswineCryHeader:   cry_header CRY_MAGCARGO,   -$109,  $100
-CorsolaCryHeader:     cry_header CRY_MAGCARGO,    $0a1,  $0e8
-RemoraidCryHeader:    cry_header CRY_SUNFLORA,    $00d,  $100
-OctilleryCryHeader:   cry_header CRY_TOTODILE,    $000,  $180
-DelibirdCryHeader:    cry_header CRY_TEDDIURSA,   $002,  $06a
-MantineCryHeader:     cry_header CRY_MANTINE,    -$0be,  $0f0
-SkarmoryCryHeader:    cry_header CRY_AMPHAROS,    $8a9,  $180
-HoundourCryHeader:    cry_header CRY_CYNDAQUIL,   $039,  $140
-HoundoomCryHeader:    cry_header CRY_TOTODILE,   -$10a,  $100
-KingdraCryHeader:     cry_header CRY_SLUGMA,      $2fb,  $100
-PhanpyCryHeader:      cry_header CRY_SENTRET,     $048,  $230
-DonphanCryHeader:     cry_header CRY_DONPHAN,     $000,  $1a0
-Porygon2CryHeader:    cry_header CRY_GIRAFARIG,   $073,  $240
-StantlerCryHeader:    cry_header CRY_AIPOM,      -$160,  $180
-SmeargleCryHeader:    cry_header CRY_PICHU,      -$21a,  $1f0
-TyrogueCryHeader:     cry_header CRY_AIPOM,       $02c,  $108
-HitmontopCryHeader:   cry_header CRY_SLUGMA,      $000,  $100
-SmoochumCryHeader:    cry_header CRY_MARILL,      $068,  $100
-ElekidCryHeader:      cry_header CRY_SUNFLORA,   -$2d8,  $0b4
-MagbyCryHeader:       cry_header CRY_TEDDIURSA,   $176,  $03a
-MiltankCryHeader:     cry_header CRY_GLIGAR,     -$1cd,  $1a0
-BlisseyCryHeader:     cry_header CRY_SLOWKING,    $293,  $140
-RaikouCryHeader:      cry_header CRY_RAIKOU,      $22e,  $120
-EnteiCryHeader:       cry_header CRY_ENTEI,       $000,  $1a0
-SuicuneCryHeader:     cry_header CRY_MAGCARGO,    $000,  $180
-LarvitarCryHeader:    cry_header CRY_RAIKOU,      $05f,  $0d0
-PupitarCryHeader:     cry_header CRY_SPINARAK,   -$1db,  $150
-TyranitarCryHeader:   cry_header CRY_RAIKOU,     -$100,  $180
-LugiaCryHeader:       cry_header CRY_TYPHLOSION,  $000,  $100
-HoOhCryHeader:        cry_header CRY_AIPOM,       $000,  $180
-CelebiCryHeader:      cry_header CRY_ENTEI,       $14a,  $111
-CryHeader252:         cry_header CRY_NIDORAN_M,      0,     0
-CryHeader253:         cry_header CRY_NIDORAN_M,      0,     0
-CryHeader254:         cry_header CRY_NIDORAN_M,      0,     0
-CryHeader255:         cry_header CRY_NIDORAN_M,      0,     0
-; f2d81
--- a/constants/item_constants.asm
+++ b/constants/item_constants.asm
@@ -1,9 +1,9 @@
 ; item ids
 ; indexes for:
-; - ItemAttributes (see items/item_attributes.asm)
-; - ItemDescriptions (see items/item_descriptions.asm)
-; - ItemEffects (see items/item_effects.asm)
-; - ItemNames (see items/item_names.asm)
+; - ItemAttributes (see data/items/item_attributes.asm)
+; - ItemDescriptions (see data/items/item_descriptions.asm)
+; - ItemEffects (see engine/item_effects.asm)
+; - ItemNames (see data/items/item_names.asm)
 	const_def
 	const NO_ITEM      ; $00
 	const MASTER_BALL  ; $01
@@ -372,7 +372,7 @@
 	const HELD_78
 	const HELD_FOCUS_BAND
 
-; item_attribute struct members (see items/item_attributes.asm)
+; item_attribute struct members (see data/items/item_attributes.asm)
 	const_def
 	const ITEMATTR_PRICE
 	const ITEMATTR_PRICE_HI
@@ -397,7 +397,7 @@
 	const MARTTYPE_PHARMACY
 	const MARTTYPE_ROOFTOP
 
-; Marts indexes (see items/marts.asm)
+; Marts indexes (see data/items/marts.asm)
 	const_def
 	const MART_CHERRYGROVE
 	const MART_CHERRYGROVE_DEX
--- a/constants/landmark_constants.asm
+++ b/constants/landmark_constants.asm
@@ -1,4 +1,4 @@
-; Landmarks indexes (see data/landmarks.asm)
+; Landmarks indexes (see data/maps/landmarks.asm)
 	const_def
 
 ; Johto landmarks
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -127,7 +127,7 @@
 EMOTE_OBJECT EQU 7
 
 
-; SpawnPoints indexes (see data/spawn_points.asm)
+; SpawnPoints indexes (see data/maps/spawn_points.asm)
 const_value = -1
 	const SPAWN_N_A
 	const SPAWN_HOME
--- a/constants/map_dimension_constants.asm
+++ b/constants/map_dimension_constants.asm
@@ -16,8 +16,8 @@
 ; map group ids
 ; `newgroup` indexes are for:
 ; - MapGroupPointers (see maps/map_headers.asm)
-; - OutdoorSprites (see data/outdoor_sprites.asm)
-; - MapGroupRoofs (see data/mapgroup_roofs.asm)
+; - OutdoorSprites (see data/maps/outdoor_sprites.asm)
+; - MapGroupRoofs (see data/maps/mapgroup_roofs.asm)
 ; `mapgroup` indexes are for the sub-tables of MapGroupPointers (see maps/map_headers.asm)
 	const_def
 
--- a/constants/pokemon_constants.asm
+++ b/constants/pokemon_constants.asm
@@ -1,11 +1,11 @@
 ; pokemon ids
 ; indexes for:
-; - CryHeaders (see audio/cry_headers.asm)
-; - BaseData (see data/base_stats.asm)
-; - EggMovePointers (see data/egg_move_pointers.asm)
-; - EvosAttacksPointers (see data/evos_attacks_pointers.asm)
-; - PokemonNames (see data/pokemon_names.asm)
-; - PokedexDataPointerTable (see data/pokedex/entry_pointers.asm)
+; - CryHeaders (see data/pokemon/cry_headers.asm)
+; - BaseData (see data/pokemon/base_stats.asm)
+; - EggMovePointers (see data/pokemon/egg_move_pointers.asm)
+; - EvosAttacksPointers (see data/pokemon/evos_attacks_pointers.asm)
+; - PokemonNames (see data/pokemon/pokemon_names.asm)
+; - PokedexDataPointerTable (see data/pokemon/dex_entry_pointers.asm)
 ; - AnimationPointers (see gfx/pics/anim_pointers.asm)
 ; - BitmasksPointers (see gfx/pics/bitmask_pointers.asm)
 ; - AnimationExtraPointers (see gfx/pics/extra_pointers.asm)
@@ -12,10 +12,10 @@
 ; - FramesPointers (see gfx/pics/frame_pointers.asm)
 ; - PokemonPalettes (see gfx/pics/palette_pointers.asm)
 ; - PicPointers (see gfx/pics/pic_pointers.asm)
-; - AlphabeticalPokedexOrder (see data/pokedex/order_alpha.asm)
-; - NewPokedexOrder (see data/pokedex/order_new.asm)
-; - MonMenuIcons (see data/mon_menu_icons.asm)
-; - Pokered_MonIndices (see engine/time_capsule/conversion.asm)
+; - AlphabeticalPokedexOrder (see data/pokemon/dex_order_alpha.asm)
+; - NewPokedexOrder (see data/pokemon/dex_order_new.asm)
+; - MonMenuIcons (see data/pokemon/menu_icons.asm)
+; - Pokered_MonIndices (see data/time_capsule/mon_order.asm)
 ; - SortedPokemon (see misc/fixed_words.asm)
 const_value set 1
 	const BULBASAUR  ; 01
--- a/constants/pokemon_data_constants.asm
+++ b/constants/pokemon_data_constants.asm
@@ -1,4 +1,4 @@
-; base data struct members (see data/base_stats/*.asm)
+; base data struct members (see data/pokemon/base_stats/*.asm)
 BASE_DEX_NO      EQUS "(BaseDexNo - CurBaseData)"
 BASE_STATS       EQUS "(BaseStats - CurBaseData)"
 BASE_HP          EQUS "(BaseHP - CurBaseData)"
@@ -145,7 +145,7 @@
 	const ICON_BIGMON
 
 
-; evolution types (used in data/evos_attacks.asm)
+; evolution types (used in data/pokemon/evos_attacks.asm)
 const_value SET 1
 	const EVOLVE_LEVEL
 	const EVOLVE_ITEM
--- a/constants/trainer_constants.asm
+++ b/constants/trainer_constants.asm
@@ -5,12 +5,12 @@
 
 ; trainer class ids
 ; `trainerclass` indexes are for:
-; - TrainerClassAttributes (see trainers/attributes.asm)
-; - TrainerClassDVs (see trainers/dvs.asm)
-; - TrainerEncounterMusic (see trainers/encounter_music.asm)
-; - TrainerGroups (see trainers/trainer_pointers.asm)
-; - BTTrainerClassGenders (see misc/battle_tower_47.asm)
-; trainer constants are Trainers indexes, for the sub-tables of TrainerGroups (see trainers/trainers.asm)
+; - TrainerClassAttributes (see data/trainers/trainer_attributes.asm)
+; - TrainerClassDVs (see data/trainers/trainer_dvs.asm)
+; - TrainerEncounterMusic (see data/trainers/encounter_music.asm)
+; - TrainerGroups (see data/trainers/party_pointers.asm)
+; - BTTrainerClassGenders (see data/trainers/gendered_trainers.asm)
+; trainer constants are Trainers indexes, for the sub-tables of TrainerGroups (see data/trainers/parties.asm)
 	enum_start
 CHRIS EQU __enum__
 	trainerclass TRAINER_NONE ; 0
@@ -677,7 +677,7 @@
 
 NUM_TRAINER_CLASSES EQU __enum__
 
-; TrainerClassAttributes fields (see trainers/attributes.asm)
+; TrainerClassAttributes fields (see data/trainers/trainer_attributes.asm)
 	const_def
 	const TRNATTR_ITEM1
 	const TRNATTR_ITEM2
--- a/data/base_stats.asm
+++ /dev/null
@@ -1,252 +1,0 @@
-BaseData::
-INCLUDE "data/base_stats/bulbasaur.asm"
-INCLUDE "data/base_stats/ivysaur.asm"
-INCLUDE "data/base_stats/venusaur.asm"
-INCLUDE "data/base_stats/charmander.asm"
-INCLUDE "data/base_stats/charmeleon.asm"
-INCLUDE "data/base_stats/charizard.asm"
-INCLUDE "data/base_stats/squirtle.asm"
-INCLUDE "data/base_stats/wartortle.asm"
-INCLUDE "data/base_stats/blastoise.asm"
-INCLUDE "data/base_stats/caterpie.asm"
-INCLUDE "data/base_stats/metapod.asm"
-INCLUDE "data/base_stats/butterfree.asm"
-INCLUDE "data/base_stats/weedle.asm"
-INCLUDE "data/base_stats/kakuna.asm"
-INCLUDE "data/base_stats/beedrill.asm"
-INCLUDE "data/base_stats/pidgey.asm"
-INCLUDE "data/base_stats/pidgeotto.asm"
-INCLUDE "data/base_stats/pidgeot.asm"
-INCLUDE "data/base_stats/rattata.asm"
-INCLUDE "data/base_stats/raticate.asm"
-INCLUDE "data/base_stats/spearow.asm"
-INCLUDE "data/base_stats/fearow.asm"
-INCLUDE "data/base_stats/ekans.asm"
-INCLUDE "data/base_stats/arbok.asm"
-INCLUDE "data/base_stats/pikachu.asm"
-INCLUDE "data/base_stats/raichu.asm"
-INCLUDE "data/base_stats/sandshrew.asm"
-INCLUDE "data/base_stats/sandslash.asm"
-INCLUDE "data/base_stats/nidoran_f.asm"
-INCLUDE "data/base_stats/nidorina.asm"
-INCLUDE "data/base_stats/nidoqueen.asm"
-INCLUDE "data/base_stats/nidoran_m.asm"
-INCLUDE "data/base_stats/nidorino.asm"
-INCLUDE "data/base_stats/nidoking.asm"
-INCLUDE "data/base_stats/clefairy.asm"
-INCLUDE "data/base_stats/clefable.asm"
-INCLUDE "data/base_stats/vulpix.asm"
-INCLUDE "data/base_stats/ninetales.asm"
-INCLUDE "data/base_stats/jigglypuff.asm"
-INCLUDE "data/base_stats/wigglytuff.asm"
-INCLUDE "data/base_stats/zubat.asm"
-INCLUDE "data/base_stats/golbat.asm"
-INCLUDE "data/base_stats/oddish.asm"
-INCLUDE "data/base_stats/gloom.asm"
-INCLUDE "data/base_stats/vileplume.asm"
-INCLUDE "data/base_stats/paras.asm"
-INCLUDE "data/base_stats/parasect.asm"
-INCLUDE "data/base_stats/venonat.asm"
-INCLUDE "data/base_stats/venomoth.asm"
-INCLUDE "data/base_stats/diglett.asm"
-INCLUDE "data/base_stats/dugtrio.asm"
-INCLUDE "data/base_stats/meowth.asm"
-INCLUDE "data/base_stats/persian.asm"
-INCLUDE "data/base_stats/psyduck.asm"
-INCLUDE "data/base_stats/golduck.asm"
-INCLUDE "data/base_stats/mankey.asm"
-INCLUDE "data/base_stats/primeape.asm"
-INCLUDE "data/base_stats/growlithe.asm"
-INCLUDE "data/base_stats/arcanine.asm"
-INCLUDE "data/base_stats/poliwag.asm"
-INCLUDE "data/base_stats/poliwhirl.asm"
-INCLUDE "data/base_stats/poliwrath.asm"
-INCLUDE "data/base_stats/abra.asm"
-INCLUDE "data/base_stats/kadabra.asm"
-INCLUDE "data/base_stats/alakazam.asm"
-INCLUDE "data/base_stats/machop.asm"
-INCLUDE "data/base_stats/machoke.asm"
-INCLUDE "data/base_stats/machamp.asm"
-INCLUDE "data/base_stats/bellsprout.asm"
-INCLUDE "data/base_stats/weepinbell.asm"
-INCLUDE "data/base_stats/victreebel.asm"
-INCLUDE "data/base_stats/tentacool.asm"
-INCLUDE "data/base_stats/tentacruel.asm"
-INCLUDE "data/base_stats/geodude.asm"
-INCLUDE "data/base_stats/graveler.asm"
-INCLUDE "data/base_stats/golem.asm"
-INCLUDE "data/base_stats/ponyta.asm"
-INCLUDE "data/base_stats/rapidash.asm"
-INCLUDE "data/base_stats/slowpoke.asm"
-INCLUDE "data/base_stats/slowbro.asm"
-INCLUDE "data/base_stats/magnemite.asm"
-INCLUDE "data/base_stats/magneton.asm"
-INCLUDE "data/base_stats/farfetch_d.asm"
-INCLUDE "data/base_stats/doduo.asm"
-INCLUDE "data/base_stats/dodrio.asm"
-INCLUDE "data/base_stats/seel.asm"
-INCLUDE "data/base_stats/dewgong.asm"
-INCLUDE "data/base_stats/grimer.asm"
-INCLUDE "data/base_stats/muk.asm"
-INCLUDE "data/base_stats/shellder.asm"
-INCLUDE "data/base_stats/cloyster.asm"
-INCLUDE "data/base_stats/gastly.asm"
-INCLUDE "data/base_stats/haunter.asm"
-INCLUDE "data/base_stats/gengar.asm"
-INCLUDE "data/base_stats/onix.asm"
-INCLUDE "data/base_stats/drowzee.asm"
-INCLUDE "data/base_stats/hypno.asm"
-INCLUDE "data/base_stats/krabby.asm"
-INCLUDE "data/base_stats/kingler.asm"
-INCLUDE "data/base_stats/voltorb.asm"
-INCLUDE "data/base_stats/electrode.asm"
-INCLUDE "data/base_stats/exeggcute.asm"
-INCLUDE "data/base_stats/exeggutor.asm"
-INCLUDE "data/base_stats/cubone.asm"
-INCLUDE "data/base_stats/marowak.asm"
-INCLUDE "data/base_stats/hitmonlee.asm"
-INCLUDE "data/base_stats/hitmonchan.asm"
-INCLUDE "data/base_stats/lickitung.asm"
-INCLUDE "data/base_stats/koffing.asm"
-INCLUDE "data/base_stats/weezing.asm"
-INCLUDE "data/base_stats/rhyhorn.asm"
-INCLUDE "data/base_stats/rhydon.asm"
-INCLUDE "data/base_stats/chansey.asm"
-INCLUDE "data/base_stats/tangela.asm"
-INCLUDE "data/base_stats/kangaskhan.asm"
-INCLUDE "data/base_stats/horsea.asm"
-INCLUDE "data/base_stats/seadra.asm"
-INCLUDE "data/base_stats/goldeen.asm"
-INCLUDE "data/base_stats/seaking.asm"
-INCLUDE "data/base_stats/staryu.asm"
-INCLUDE "data/base_stats/starmie.asm"
-INCLUDE "data/base_stats/mr__mime.asm"
-INCLUDE "data/base_stats/scyther.asm"
-INCLUDE "data/base_stats/jynx.asm"
-INCLUDE "data/base_stats/electabuzz.asm"
-INCLUDE "data/base_stats/magmar.asm"
-INCLUDE "data/base_stats/pinsir.asm"
-INCLUDE "data/base_stats/tauros.asm"
-INCLUDE "data/base_stats/magikarp.asm"
-INCLUDE "data/base_stats/gyarados.asm"
-INCLUDE "data/base_stats/lapras.asm"
-INCLUDE "data/base_stats/ditto.asm"
-INCLUDE "data/base_stats/eevee.asm"
-INCLUDE "data/base_stats/vaporeon.asm"
-INCLUDE "data/base_stats/jolteon.asm"
-INCLUDE "data/base_stats/flareon.asm"
-INCLUDE "data/base_stats/porygon.asm"
-INCLUDE "data/base_stats/omanyte.asm"
-INCLUDE "data/base_stats/omastar.asm"
-INCLUDE "data/base_stats/kabuto.asm"
-INCLUDE "data/base_stats/kabutops.asm"
-INCLUDE "data/base_stats/aerodactyl.asm"
-INCLUDE "data/base_stats/snorlax.asm"
-INCLUDE "data/base_stats/articuno.asm"
-INCLUDE "data/base_stats/zapdos.asm"
-INCLUDE "data/base_stats/moltres.asm"
-INCLUDE "data/base_stats/dratini.asm"
-INCLUDE "data/base_stats/dragonair.asm"
-INCLUDE "data/base_stats/dragonite.asm"
-INCLUDE "data/base_stats/mewtwo.asm"
-INCLUDE "data/base_stats/mew.asm"
-INCLUDE "data/base_stats/chikorita.asm"
-INCLUDE "data/base_stats/bayleef.asm"
-INCLUDE "data/base_stats/meganium.asm"
-INCLUDE "data/base_stats/cyndaquil.asm"
-INCLUDE "data/base_stats/quilava.asm"
-INCLUDE "data/base_stats/typhlosion.asm"
-INCLUDE "data/base_stats/totodile.asm"
-INCLUDE "data/base_stats/croconaw.asm"
-INCLUDE "data/base_stats/feraligatr.asm"
-INCLUDE "data/base_stats/sentret.asm"
-INCLUDE "data/base_stats/furret.asm"
-INCLUDE "data/base_stats/hoothoot.asm"
-INCLUDE "data/base_stats/noctowl.asm"
-INCLUDE "data/base_stats/ledyba.asm"
-INCLUDE "data/base_stats/ledian.asm"
-INCLUDE "data/base_stats/spinarak.asm"
-INCLUDE "data/base_stats/ariados.asm"
-INCLUDE "data/base_stats/crobat.asm"
-INCLUDE "data/base_stats/chinchou.asm"
-INCLUDE "data/base_stats/lanturn.asm"
-INCLUDE "data/base_stats/pichu.asm"
-INCLUDE "data/base_stats/cleffa.asm"
-INCLUDE "data/base_stats/igglybuff.asm"
-INCLUDE "data/base_stats/togepi.asm"
-INCLUDE "data/base_stats/togetic.asm"
-INCLUDE "data/base_stats/natu.asm"
-INCLUDE "data/base_stats/xatu.asm"
-INCLUDE "data/base_stats/mareep.asm"
-INCLUDE "data/base_stats/flaaffy.asm"
-INCLUDE "data/base_stats/ampharos.asm"
-INCLUDE "data/base_stats/bellossom.asm"
-INCLUDE "data/base_stats/marill.asm"
-INCLUDE "data/base_stats/azumarill.asm"
-INCLUDE "data/base_stats/sudowoodo.asm"
-INCLUDE "data/base_stats/politoed.asm"
-INCLUDE "data/base_stats/hoppip.asm"
-INCLUDE "data/base_stats/skiploom.asm"
-INCLUDE "data/base_stats/jumpluff.asm"
-INCLUDE "data/base_stats/aipom.asm"
-INCLUDE "data/base_stats/sunkern.asm"
-INCLUDE "data/base_stats/sunflora.asm"
-INCLUDE "data/base_stats/yanma.asm"
-INCLUDE "data/base_stats/wooper.asm"
-INCLUDE "data/base_stats/quagsire.asm"
-INCLUDE "data/base_stats/espeon.asm"
-INCLUDE "data/base_stats/umbreon.asm"
-INCLUDE "data/base_stats/murkrow.asm"
-INCLUDE "data/base_stats/slowking.asm"
-INCLUDE "data/base_stats/misdreavus.asm"
-INCLUDE "data/base_stats/unown.asm"
-INCLUDE "data/base_stats/wobbuffet.asm"
-INCLUDE "data/base_stats/girafarig.asm"
-INCLUDE "data/base_stats/pineco.asm"
-INCLUDE "data/base_stats/forretress.asm"
-INCLUDE "data/base_stats/dunsparce.asm"
-INCLUDE "data/base_stats/gligar.asm"
-INCLUDE "data/base_stats/steelix.asm"
-INCLUDE "data/base_stats/snubbull.asm"
-INCLUDE "data/base_stats/granbull.asm"
-INCLUDE "data/base_stats/qwilfish.asm"
-INCLUDE "data/base_stats/scizor.asm"
-INCLUDE "data/base_stats/shuckle.asm"
-INCLUDE "data/base_stats/heracross.asm"
-INCLUDE "data/base_stats/sneasel.asm"
-INCLUDE "data/base_stats/teddiursa.asm"
-INCLUDE "data/base_stats/ursaring.asm"
-INCLUDE "data/base_stats/slugma.asm"
-INCLUDE "data/base_stats/magcargo.asm"
-INCLUDE "data/base_stats/swinub.asm"
-INCLUDE "data/base_stats/piloswine.asm"
-INCLUDE "data/base_stats/corsola.asm"
-INCLUDE "data/base_stats/remoraid.asm"
-INCLUDE "data/base_stats/octillery.asm"
-INCLUDE "data/base_stats/delibird.asm"
-INCLUDE "data/base_stats/mantine.asm"
-INCLUDE "data/base_stats/skarmory.asm"
-INCLUDE "data/base_stats/houndour.asm"
-INCLUDE "data/base_stats/houndoom.asm"
-INCLUDE "data/base_stats/kingdra.asm"
-INCLUDE "data/base_stats/phanpy.asm"
-INCLUDE "data/base_stats/donphan.asm"
-INCLUDE "data/base_stats/porygon2.asm"
-INCLUDE "data/base_stats/stantler.asm"
-INCLUDE "data/base_stats/smeargle.asm"
-INCLUDE "data/base_stats/tyrogue.asm"
-INCLUDE "data/base_stats/hitmontop.asm"
-INCLUDE "data/base_stats/smoochum.asm"
-INCLUDE "data/base_stats/elekid.asm"
-INCLUDE "data/base_stats/magby.asm"
-INCLUDE "data/base_stats/miltank.asm"
-INCLUDE "data/base_stats/blissey.asm"
-INCLUDE "data/base_stats/raikou.asm"
-INCLUDE "data/base_stats/entei.asm"
-INCLUDE "data/base_stats/suicune.asm"
-INCLUDE "data/base_stats/larvitar.asm"
-INCLUDE "data/base_stats/pupitar.asm"
-INCLUDE "data/base_stats/tyranitar.asm"
-INCLUDE "data/base_stats/lugia.asm"
-INCLUDE "data/base_stats/ho_oh.asm"
-INCLUDE "data/base_stats/celebi.asm"
--- a/data/base_stats/abra.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db ABRA ; 063
-
-	db  25,  20,  15,  90, 105,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db PSYCHIC, PSYCHIC
-	db 200 ; catch rate
-	db 73 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F25 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/abra/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH
-	; end
--- a/data/base_stats/aerodactyl.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db AERODACTYL ; 142
-
-	db  80, 105,  65, 130,  60,  75
-	;   hp  atk  def  spd  sat  sdf
-
-	db ROCK, FLYING
-	db 45 ; catch rate
-	db 202 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 35 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/aerodactyl/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn AVIAN, AVIAN ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, STEEL_WING, FLY, FLAMETHROWER
-	; end
--- a/data/base_stats/aipom.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db AIPOM ; 190
-
-	db  55,  70,  55,  85,  40,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 45 ; catch rate
-	db 94 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/aipom/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, STRENGTH, THUNDERBOLT
-	; end
--- a/data/base_stats/alakazam.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db ALAKAZAM ; 065
-
-	db  55,  50,  45, 120, 135,  85
-	;   hp  atk  def  spd  sat  sdf
-
-	db PSYCHIC, PSYCHIC
-	db 50 ; catch rate
-	db 186 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F25 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/alakazam/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DIG, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH
-	; end
--- a/data/base_stats/ampharos.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db AMPHAROS ; 181
-
-	db  90,  75,  75,  55, 115,  90
-	;   hp  atk  def  spd  sat  sdf
-
-	db ELECTRIC, ELECTRIC
-	db 45 ; catch rate
-	db 194 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/ampharos/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT
-	; end
--- a/data/base_stats/arbok.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db ARBOK ; 024
-
-	db  60,  85,  69,  80,  65,  79
-	;   hp  atk  def  spd  sat  sdf
-
-	db POISON, POISON
-	db 90 ; catch rate
-	db 147 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/arbok/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, REPTILE ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, STRENGTH
-	; end
--- a/data/base_stats/arcanine.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db ARCANINE ; 059
-
-	db  90, 110,  80,  95, 100,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FIRE
-	db 75 ; catch rate
-	db 213 ; base exp
-	db BURNT_BERRY ; item 1
-	db BURNT_BERRY ; item 2
-	db GENDER_F25 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/arcanine/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
-	; end
--- a/data/base_stats/ariados.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db ARIADOS ; 168
-
-	db  70,  90,  70,  40,  60,  60
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, POISON
-	db 90 ; catch rate
-	db 134 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/ariados/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FLASH
-	; end
--- a/data/base_stats/articuno.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db ARTICUNO ; 144
-
-	db  90,  85, 100,  85,  95, 125
-	;   hp  atk  def  spd  sat  sdf
-
-	db ICE, FLYING
-	db 3 ; catch rate
-	db 215 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 80 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/articuno/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, STEEL_WING, FLY, ICE_BEAM
-	; end
--- a/data/base_stats/azumarill.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db AZUMARILL ; 184
-
-	db 100,  50,  80,  50,  50,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 75 ; catch rate
-	db 153 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/azumarill/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn AMPHIBIAN, FAIRY ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/bayleef.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db BAYLEEF ; 153
-
-	db  60,  62,  80,  60,  63,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, GRASS
-	db 45 ; catch rate
-	db 141 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/bayleef/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, PLANT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLASH
-	; end
--- a/data/base_stats/beedrill.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db BEEDRILL ; 015
-
-	db  65,  80,  40,  75,  45,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, POISON
-	db 45 ; catch rate
-	db 159 ; base exp
-	db NO_ITEM ; item 1
-	db POISON_BARB ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/beedrill/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, FURY_CUTTER, CUT
-	; end
--- a/data/base_stats/bellossom.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db BELLOSSOM ; 182
-
-	db  75,  80,  85,  50,  90, 100
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, GRASS
-	db 45 ; catch rate
-	db 184 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/bellossom/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn PLANT, PLANT ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, CUT, FLASH
-	; end
--- a/data/base_stats/bellsprout.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db BELLSPROUT ; 069
-
-	db  50,  75,  35,  40,  70,  30
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, POISON
-	db 255 ; catch rate
-	db 84 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/bellsprout/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn PLANT, PLANT ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
-	; end
--- a/data/base_stats/blastoise.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db BLASTOISE ; 009
-
-	db  79,  83, 100,  78,  85, 105
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 45 ; catch rate
-	db 210 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/blastoise/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, AMPHIBIAN ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/blissey.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db BLISSEY ; 242
-
-	db 255,  10,  10,  55,  75, 135
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 30 ; catch rate
-	db 255 ; base exp
-	db NO_ITEM ; item 1
-	db LUCKY_EGG ; item 2
-	db GENDER_F100 ; gender
-	db 100 ; unknown
-	db 40 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/blissey/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn FAIRY, FAIRY ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/bulbasaur.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db BULBASAUR ; 001
-
-	db  45,  49,  49,  45,  65,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, POISON
-	db 45 ; catch rate
-	db 64 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/bulbasaur/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, PLANT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
-	; end
--- a/data/base_stats/butterfree.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db BUTTERFREE ; 012
-
-	db  60,  45,  50,  70,  80,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, FLYING
-	db 45 ; catch rate
-	db 160 ; base exp
-	db NO_ITEM ; item 1
-	db SILVERPOWDER ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/butterfree/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, NIGHTMARE, FLASH
-	; end
--- a/data/base_stats/caterpie.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db CATERPIE ; 010
-
-	db  45,  30,  35,  45,  20,  20
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, BUG
-	db 255 ; catch rate
-	db 53 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/caterpie/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm
-	; end
--- a/data/base_stats/celebi.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db CELEBI ; 251
-
-	db 100, 100, 100, 100, 100, 100
-	;   hp  atk  def  spd  sat  sdf
-
-	db PSYCHIC, GRASS
-	db 45 ; catch rate
-	db 64 ; base exp
-	db NO_ITEM ; item 1
-	db MIRACLEBERRY ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 120 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/celebi/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, NIGHTMARE, FLASH
-	; end
--- a/data/base_stats/chansey.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db CHANSEY ; 113
-
-	db 250,  05,  05,  50,  35, 105
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 30 ; catch rate
-	db 255 ; base exp
-	db NO_ITEM ; item 1
-	db LUCKY_EGG ; item 2
-	db GENDER_F100 ; gender
-	db 100 ; unknown
-	db 40 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/chansey/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn FAIRY, FAIRY ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/charizard.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db CHARIZARD ; 006
-
-	db  78,  84,  78, 100, 109,  85
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FLYING
-	db 45 ; catch rate
-	db 209 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/charizard/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, REPTILE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, CUT, FLY, STRENGTH, FLAMETHROWER
-	; end
--- a/data/base_stats/charmander.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db CHARMANDER ; 004
-
-	db  39,  52,  43,  65,  60,  50
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FIRE
-	db 45 ; catch rate
-	db 65 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/charmander/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, REPTILE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER
-	; end
--- a/data/base_stats/charmeleon.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db CHARMELEON ; 005
-
-	db  58,  64,  58,  80,  80,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FIRE
-	db 45 ; catch rate
-	db 142 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/charmeleon/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, REPTILE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER
-	; end
--- a/data/base_stats/chikorita.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db CHIKORITA ; 152
-
-	db  45,  49,  65,  45,  49,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, GRASS
-	db 45 ; catch rate
-	db 64 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/chikorita/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, PLANT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, CUT, FLASH
-	; end
--- a/data/base_stats/chinchou.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db CHINCHOU ; 170
-
-	db  75,  38,  38,  67,  56,  56
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, ELECTRIC
-	db 190 ; catch rate
-	db 90 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/chinchou/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn FISH, FISH ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/clefable.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db CLEFABLE ; 036
-
-	db  95,  70,  73,  60,  85,  90
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 25 ; catch rate
-	db 129 ; base exp
-	db MYSTERYBERRY ; item 1
-	db MOON_STONE ; item 2
-	db GENDER_F75 ; gender
-	db 100 ; unknown
-	db 10 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/clefable/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn FAIRY, FAIRY ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/clefairy.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db CLEFAIRY ; 035
-
-	db  70,  45,  48,  35,  60,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 150 ; catch rate
-	db 68 ; base exp
-	db MYSTERYBERRY ; item 1
-	db MOON_STONE ; item 2
-	db GENDER_F75 ; gender
-	db 100 ; unknown
-	db 10 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/clefairy/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn FAIRY, FAIRY ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/cleffa.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db CLEFFA ; 173
-
-	db  50,  25,  28,  15,  45,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 150 ; catch rate
-	db 37 ; base exp
-	db MYSTERYBERRY ; item 1
-	db MOON_STONE ; item 2
-	db GENDER_F75 ; gender
-	db 100 ; unknown
-	db 10 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/cleffa/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, FLASH, FLAMETHROWER
-	; end
--- a/data/base_stats/cloyster.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db CLOYSTER ; 091
-
-	db  50,  95, 180,  70,  85,  45
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, ICE
-	db 60 ; catch rate
-	db 203 ; base exp
-	db PEARL ; item 1
-	db BIG_PEARL ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/cloyster/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn INVERTEBRATE, INVERTEBRATE ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, ICE_BEAM
-	; end
--- a/data/base_stats/corsola.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db CORSOLA ; 222
-
-	db  55,  55,  85,  35,  65,  85
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, ROCK
-	db 60 ; catch rate
-	db 113 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F75 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/corsola/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn AMPHIBIAN, INVERTEBRATE ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
-	; end
--- a/data/base_stats/crobat.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db CROBAT ; 169
-
-	db  85,  90,  80, 130,  70,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db POISON, FLYING
-	db 90 ; catch rate
-	db 204 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/crobat/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AVIAN, AVIAN ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
-	; end
--- a/data/base_stats/croconaw.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db CROCONAW ; 159
-
-	db  65,  80,  80,  58,  59,  63
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 45 ; catch rate
-	db 143 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/croconaw/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, AMPHIBIAN ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
-	; end
--- a/data/base_stats/cubone.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db CUBONE ; 104
-
-	db  50,  50,  95,  35,  40,  50
-	;   hp  atk  def  spd  sat  sdf
-
-	db GROUND, GROUND
-	db 190 ; catch rate
-	db 87 ; base exp
-	db NO_ITEM ; item 1
-	db THICK_CLUB ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/cubone/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn MONSTER, MONSTER ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER, ICE_BEAM
-	; end
--- a/data/base_stats/cyndaquil.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db CYNDAQUIL ; 155
-
-	db  39,  52,  43,  65,  60,  50
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FIRE
-	db 45 ; catch rate
-	db 65 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/cyndaquil/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, CUT, FLAMETHROWER
-	; end
--- a/data/base_stats/delibird.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db DELIBIRD ; 225
-
-	db  45,  55,  45,  75,  65,  45
-	;   hp  atk  def  spd  sat  sdf
-
-	db ICE, FLYING
-	db 45 ; catch rate
-	db 183 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/delibird/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn AMPHIBIAN, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, FLY, ICE_BEAM
-	; end
--- a/data/base_stats/dewgong.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db DEWGONG ; 087
-
-	db  90,  70,  80,  70,  70,  95
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, ICE
-	db 75 ; catch rate
-	db 176 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/dewgong/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMPHIBIAN, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/diglett.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db DIGLETT ; 050
-
-	db  10,  55,  25,  95,  35,  45
-	;   hp  atk  def  spd  sat  sdf
-
-	db GROUND, GROUND
-	db 255 ; catch rate
-	db 81 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/diglett/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT
-	; end
--- a/data/base_stats/ditto.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db DITTO ; 132
-
-	db  48,  48,  48,  48,  48,  48
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 35 ; catch rate
-	db 61 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/ditto/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn LADIES_MAN, LADIES_MAN ; egg groups
-
-	; tmhm
-	tmhm
-	; end
--- a/data/base_stats/dodrio.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db DODRIO ; 085
-
-	db  60, 110,  70, 100,  60,  60
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, FLYING
-	db 45 ; catch rate
-	db 158 ; base exp
-	db NO_ITEM ; item 1
-	db SHARP_BEAK ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/dodrio/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AVIAN, AVIAN ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, THIEF, STEEL_WING, FLY
-	; end
--- a/data/base_stats/doduo.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db DODUO ; 084
-
-	db  35,  85,  45,  75,  35,  35
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, FLYING
-	db 190 ; catch rate
-	db 96 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/doduo/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AVIAN, AVIAN ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, THIEF, STEEL_WING, FLY
-	; end
--- a/data/base_stats/donphan.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db DONPHAN ; 232
-
-	db  90, 120, 120,  50,  60,  60
-	;   hp  atk  def  spd  sat  sdf
-
-	db GROUND, GROUND
-	db 60 ; catch rate
-	db 189 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/donphan/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH
-	; end
--- a/data/base_stats/dragonair.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db DRAGONAIR ; 148
-
-	db  61,  84,  65,  70,  70,  70
-	;   hp  atk  def  spd  sat  sdf
-
-	db DRAGON, DRAGON
-	db 45 ; catch rate
-	db 144 ; base exp
-	db NO_ITEM ; item 1
-	db DRAGON_SCALE ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 40 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/dragonair/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn AMPHIBIAN, REPTILE ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, SURF, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/dragonite.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db DRAGONITE ; 149
-
-	db  91, 134,  95,  80, 100, 100
-	;   hp  atk  def  spd  sat  sdf
-
-	db DRAGON, FLYING
-	db 45 ; catch rate
-	db 218 ; base exp
-	db NO_ITEM ; item 1
-	db DRAGON_SCALE ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 40 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/dragonite/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn AMPHIBIAN, REPTILE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, FLY, SURF, STRENGTH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/dratini.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db DRATINI ; 147
-
-	db  41,  64,  45,  50,  50,  50
-	;   hp  atk  def  spd  sat  sdf
-
-	db DRAGON, DRAGON
-	db 45 ; catch rate
-	db 67 ; base exp
-	db NO_ITEM ; item 1
-	db DRAGON_SCALE ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 40 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/dratini/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn AMPHIBIAN, REPTILE ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, SURF, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/drowzee.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db DROWZEE ; 096
-
-	db  60,  48,  45,  42,  43,  90
-	;   hp  atk  def  spd  sat  sdf
-
-	db PSYCHIC, PSYCHIC
-	db 190 ; catch rate
-	db 102 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/drowzee/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, FLASH
-	; end
--- a/data/base_stats/dugtrio.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db DUGTRIO ; 051
-
-	db  35,  80,  50, 120,  50,  70
-	;   hp  atk  def  spd  sat  sdf
-
-	db GROUND, GROUND
-	db 50 ; catch rate
-	db 153 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/dugtrio/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT
-	; end
--- a/data/base_stats/dunsparce.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db DUNSPARCE ; 206
-
-	db 100,  70,  70,  45,  65,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 190 ; catch rate
-	db 75 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/dunsparce/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLAMETHROWER, THUNDERBOLT
-	; end
--- a/data/base_stats/eevee.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db EEVEE ; 133
-
-	db  55,  55,  50,  55,  45,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 45 ; catch rate
-	db 92 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 35 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/eevee/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT
-	; end
--- a/data/base_stats/ekans.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db EKANS ; 023
-
-	db  35,  60,  44,  55,  40,  54
-	;   hp  atk  def  spd  sat  sdf
-
-	db POISON, POISON
-	db 255 ; catch rate
-	db 62 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/ekans/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, REPTILE ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, STRENGTH
-	; end
--- a/data/base_stats/electabuzz.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db ELECTABUZZ ; 125
-
-	db  65,  83,  57, 105,  95,  85
-	;   hp  atk  def  spd  sat  sdf
-
-	db ELECTRIC, ELECTRIC
-	db 45 ; catch rate
-	db 156 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F25 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/electabuzz/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT
-	; end
--- a/data/base_stats/electrode.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db ELECTRODE ; 101
-
-	db  60,  50,  70, 140,  80,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db ELECTRIC, ELECTRIC
-	db 60 ; catch rate
-	db 150 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/electrode/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INANIMATE, INANIMATE ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT
-	; end
--- a/data/base_stats/elekid.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db ELEKID ; 239
-
-	db  45,  63,  37,  95,  65,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db ELECTRIC, ELECTRIC
-	db 45 ; catch rate
-	db 106 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F25 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/elekid/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FLASH, THUNDERBOLT
-	; end
--- a/data/base_stats/entei.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db ENTEI ; 244
-
-	db 115, 115,  85, 100,  90,  75
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FIRE
-	db 3 ; catch rate
-	db 217 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 80 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/entei/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, CUT, STRENGTH, FLASH, FLAMETHROWER
-	; end
--- a/data/base_stats/espeon.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db ESPEON ; 196
-
-	db  65,  65,  60, 110, 130,  95
-	;   hp  atk  def  spd  sat  sdf
-
-	db PSYCHIC, PSYCHIC
-	db 45 ; catch rate
-	db 197 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 35 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/espeon/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, CUT, FLASH
-	; end
--- a/data/base_stats/exeggcute.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db EXEGGCUTE ; 102
-
-	db  60,  40,  80,  40,  60,  45
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, PSYCHIC
-	db 90 ; catch rate
-	db 98 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/exeggcute/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn PLANT, PLANT ; egg groups
-
-	; tmhm
-	tmhm CURSE, ROLLOUT, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLASH
-	; end
--- a/data/base_stats/exeggutor.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db EXEGGUTOR ; 103
-
-	db  95,  95,  85,  55, 125,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, PSYCHIC
-	db 45 ; catch rate
-	db 212 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/exeggutor/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn PLANT, PLANT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLASH
-	; end
--- a/data/base_stats/farfetch_d.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db FARFETCH_D ; 083
-
-	db  52,  65,  55,  60,  58,  62
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, FLYING
-	db 45 ; catch rate
-	db 94 ; base exp
-	db NO_ITEM ; item 1
-	db STICK ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/farfetch_d/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AVIAN, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, CUT, FLY
-	; end
--- a/data/base_stats/fearow.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db FEAROW ; 022
-
-	db  65,  90,  65, 100,  61,  61
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, FLYING
-	db 90 ; catch rate
-	db 162 ; base exp
-	db NO_ITEM ; item 1
-	db SHARP_BEAK ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/fearow/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AVIAN, AVIAN ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
-	; end
--- a/data/base_stats/feraligatr.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db FERALIGATR ; 160
-
-	db  85, 105, 100,  78,  79,  83
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 45 ; catch rate
-	db 210 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/feraligatr/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, AMPHIBIAN ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
-	; end
--- a/data/base_stats/flaaffy.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db FLAAFFY ; 180
-
-	db  70,  55,  55,  45,  80,  60
-	;   hp  atk  def  spd  sat  sdf
-
-	db ELECTRIC, ELECTRIC
-	db 120 ; catch rate
-	db 117 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/flaaffy/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT
-	; end
--- a/data/base_stats/flareon.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db FLAREON ; 136
-
-	db  65, 130,  60,  65,  95, 110
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FIRE
-	db 45 ; catch rate
-	db 198 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 35 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/flareon/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, FLAMETHROWER
-	; end
--- a/data/base_stats/forretress.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db FORRETRESS ; 205
-
-	db  75,  90, 140,  40,  60,  60
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, STEEL
-	db 75 ; catch rate
-	db 118 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/forretress/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH
-	; end
--- a/data/base_stats/furret.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db FURRET ; 162
-
-	db  85,  76,  64,  90,  45,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 90 ; catch rate
-	db 116 ; base exp
-	db BERRY ; item 1
-	db GOLD_BERRY ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/furret/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, SURF, STRENGTH
-	; end
--- a/data/base_stats/gastly.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db GASTLY ; 092
-
-	db  30,  35,  30,  80, 100,  35
-	;   hp  atk  def  spd  sat  sdf
-
-	db GHOST, POISON
-	db 190 ; catch rate
-	db 95 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/gastly/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn AMORPHOUS, AMORPHOUS ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT
-	; end
--- a/data/base_stats/gengar.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db GENGAR ; 094
-
-	db  60,  65,  60, 110, 130,  75
-	;   hp  atk  def  spd  sat  sdf
-
-	db GHOST, POISON
-	db 45 ; catch rate
-	db 190 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/gengar/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn AMORPHOUS, AMORPHOUS ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, STRENGTH, THUNDERBOLT
-	; end
--- a/data/base_stats/geodude.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db GEODUDE ; 074
-
-	db  40,  80, 100,  20,  30,  30
-	;   hp  atk  def  spd  sat  sdf
-
-	db ROCK, GROUND
-	db 255 ; catch rate
-	db 86 ; base exp
-	db NO_ITEM ; item 1
-	db EVERSTONE ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/geodude/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn INANIMATE, INANIMATE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLAMETHROWER
-	; end
--- a/data/base_stats/girafarig.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db GIRAFARIG ; 203
-
-	db  70,  80,  65,  85,  90,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, PSYCHIC
-	db 60 ; catch rate
-	db 149 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/girafarig/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, THUNDERBOLT
-	; end
--- a/data/base_stats/gligar.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db GLIGAR ; 207
-
-	db  65,  75, 105,  85,  35,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db GROUND, FLYING
-	db 60 ; catch rate
-	db 108 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/gligar/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
-	; end
--- a/data/base_stats/gloom.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db GLOOM ; 044
-
-	db  60,  65,  70,  40,  85,  75
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, POISON
-	db 120 ; catch rate
-	db 132 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/gloom/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn PLANT, PLANT ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
-	; end
--- a/data/base_stats/golbat.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db GOLBAT ; 042
-
-	db  75,  80,  70,  90,  65,  75
-	;   hp  atk  def  spd  sat  sdf
-
-	db POISON, FLYING
-	db 90 ; catch rate
-	db 171 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/golbat/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AVIAN, AVIAN ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING
-	; end
--- a/data/base_stats/goldeen.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db GOLDEEN ; 118
-
-	db  45,  67,  60,  63,  35,  50
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 225 ; catch rate
-	db 111 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/goldeen/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FISH, FISH ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/golduck.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db GOLDUCK ; 055
-
-	db  80,  82,  78,  85,  95,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 75 ; catch rate
-	db 174 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/golduck/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMPHIBIAN, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, FURY_CUTTER, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/golem.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db GOLEM ; 076
-
-	db  80, 110, 130,  45,  55,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db ROCK, GROUND
-	db 45 ; catch rate
-	db 177 ; base exp
-	db NO_ITEM ; item 1
-	db EVERSTONE ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/golem/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn INANIMATE, INANIMATE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, STRENGTH, FLAMETHROWER
-	; end
--- a/data/base_stats/granbull.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db GRANBULL ; 210
-
-	db  90, 120,  75,  45,  60,  60
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 75 ; catch rate
-	db 178 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F75 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/granbull/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn FIELD, FAIRY ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT
-	; end
--- a/data/base_stats/graveler.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db GRAVELER ; 075
-
-	db  55,  95, 115,  35,  45,  45
-	;   hp  atk  def  spd  sat  sdf
-
-	db ROCK, GROUND
-	db 120 ; catch rate
-	db 134 ; base exp
-	db NO_ITEM ; item 1
-	db EVERSTONE ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/graveler/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn INANIMATE, INANIMATE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLAMETHROWER
-	; end
--- a/data/base_stats/grimer.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db GRIMER ; 088
-
-	db  80,  80,  50,  25,  40,  50
-	;   hp  atk  def  spd  sat  sdf
-
-	db POISON, POISON
-	db 190 ; catch rate
-	db 90 ; base exp
-	db NO_ITEM ; item 1
-	db NUGGET ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/grimer/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMORPHOUS, AMORPHOUS ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER, THUNDERBOLT
-	; end
--- a/data/base_stats/growlithe.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db GROWLITHE ; 058
-
-	db  55,  70,  45,  60,  70,  50
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FIRE
-	db 190 ; catch rate
-	db 91 ; base exp
-	db BURNT_BERRY ; item 1
-	db BURNT_BERRY ; item 2
-	db GENDER_F25 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/growlithe/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
-	; end
--- a/data/base_stats/gyarados.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db GYARADOS ; 130
-
-	db  95, 125,  79,  81,  60, 100
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, FLYING
-	db 45 ; catch rate
-	db 214 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 5 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/gyarados/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn FISH, REPTILE ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/haunter.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db HAUNTER ; 093
-
-	db  45,  50,  45,  95, 115,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db GHOST, POISON
-	db 90 ; catch rate
-	db 126 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/haunter/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn AMORPHOUS, AMORPHOUS ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT
-	; end
--- a/data/base_stats/heracross.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db HERACROSS ; 214
-
-	db  80, 125,  75,  85,  40,  95
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, FIGHTING
-	db 45 ; catch rate
-	db 200 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/heracross/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
-	; end
--- a/data/base_stats/hitmonchan.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db HITMONCHAN ; 107
-
-	db  50, 105,  79,  76,  35, 110
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIGHTING, FIGHTING
-	db 45 ; catch rate
-	db 140 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F0 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/hitmonchan/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH
-	; end
--- a/data/base_stats/hitmonlee.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db HITMONLEE ; 106
-
-	db  50, 120,  53,  87,  35, 110
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIGHTING, FIGHTING
-	db 45 ; catch rate
-	db 139 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F0 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/hitmonlee/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH
-	; end
--- a/data/base_stats/hitmontop.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db HITMONTOP ; 237
-
-	db  50,  95,  95,  70,  35, 110
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIGHTING, FIGHTING
-	db 45 ; catch rate
-	db 138 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F0 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/hitmontop/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH
-	; end
--- a/data/base_stats/ho_oh.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db HO_OH ; 250
-
-	db 106, 130,  90,  90, 110, 154
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FLYING
-	db 3 ; catch rate
-	db 220 ; base exp
-	db SACRED_ASH ; item 1
-	db SACRED_ASH ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 120 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/ho_oh/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, STEEL_WING, NIGHTMARE, FLY, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT
-	; end
--- a/data/base_stats/hoothoot.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db HOOTHOOT ; 163
-
-	db  60,  30,  30,  50,  36,  56
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, FLYING
-	db 255 ; catch rate
-	db 58 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/hoothoot/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AVIAN, AVIAN ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY, FLASH
-	; end
--- a/data/base_stats/hoppip.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db HOPPIP ; 187
-
-	db  35,  35,  40,  50,  35,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, FLYING
-	db 255 ; catch rate
-	db 74 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/hoppip/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn FAIRY, PLANT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH
-	; end
--- a/data/base_stats/horsea.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db HORSEA ; 116
-
-	db  30,  40,  70,  60,  70,  25
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 225 ; catch rate
-	db 83 ; base exp
-	db NO_ITEM ; item 1
-	db DRAGON_SCALE ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/horsea/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMPHIBIAN, REPTILE ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/houndoom.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db HOUNDOOM ; 229
-
-	db  75,  90,  50,  95, 110,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db DARK, FIRE
-	db 45 ; catch rate
-	db 204 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/houndoom/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLAMETHROWER
-	; end
--- a/data/base_stats/houndour.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db HOUNDOUR ; 228
-
-	db  45,  60,  30,  65,  80,  50
-	;   hp  atk  def  spd  sat  sdf
-
-	db DARK, FIRE
-	db 120 ; catch rate
-	db 114 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/houndour/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLAMETHROWER
-	; end
--- a/data/base_stats/hypno.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db HYPNO ; 097
-
-	db  85,  73,  70,  67,  73, 115
-	;   hp  atk  def  spd  sat  sdf
-
-	db PSYCHIC, PSYCHIC
-	db 75 ; catch rate
-	db 165 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/hypno/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, FLASH
-	; end
--- a/data/base_stats/igglybuff.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db IGGLYBUFF ; 174
-
-	db  90,  30,  15,  15,  40,  20
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 170 ; catch rate
-	db 39 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F75 ; gender
-	db 100 ; unknown
-	db 10 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/igglybuff/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, FLASH, FLAMETHROWER
-	; end
--- a/data/base_stats/ivysaur.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db IVYSAUR ; 002
-
-	db  60,  62,  63,  60,  80,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, POISON
-	db 45 ; catch rate
-	db 141 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/ivysaur/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, PLANT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
-	; end
--- a/data/base_stats/jigglypuff.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db JIGGLYPUFF ; 039
-
-	db 115,  45,  20,  20,  45,  25
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 170 ; catch rate
-	db 76 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F75 ; gender
-	db 100 ; unknown
-	db 10 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/jigglypuff/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn FAIRY, FAIRY ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/jolteon.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db JOLTEON ; 135
-
-	db  65,  65,  60, 130, 110,  95
-	;   hp  atk  def  spd  sat  sdf
-
-	db ELECTRIC, ELECTRIC
-	db 45 ; catch rate
-	db 197 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 35 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/jolteon/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, FLASH, THUNDERBOLT
-	; end
--- a/data/base_stats/jumpluff.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db JUMPLUFF ; 189
-
-	db  75,  55,  70, 110,  55,  85
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, FLYING
-	db 45 ; catch rate
-	db 176 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/jumpluff/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn FAIRY, PLANT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH
-	; end
--- a/data/base_stats/jynx.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db JYNX ; 124
-
-	db  65,  50,  35,  95, 115,  95
-	;   hp  atk  def  spd  sat  sdf
-
-	db ICE, PSYCHIC
-	db 45 ; catch rate
-	db 137 ; base exp
-	db ICE_BERRY ; item 1
-	db ICE_BERRY ; item 2
-	db GENDER_F100 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/jynx/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, ICE_BEAM
-	; end
--- a/data/base_stats/kabuto.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db KABUTO ; 140
-
-	db  30,  80,  90,  55,  55,  45
-	;   hp  atk  def  spd  sat  sdf
-
-	db ROCK, WATER
-	db 45 ; catch rate
-	db 119 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 30 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/kabuto/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMPHIBIAN, INVERTEBRATE ; egg groups
-
-	; tmhm
-	tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, ICE_BEAM
-	; end
--- a/data/base_stats/kabutops.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db KABUTOPS ; 141
-
-	db  60, 115, 105,  80,  65,  70
-	;   hp  atk  def  spd  sat  sdf
-
-	db ROCK, WATER
-	db 45 ; catch rate
-	db 201 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 30 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/kabutops/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMPHIBIAN, INVERTEBRATE ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, WHIRLPOOL, ICE_BEAM
-	; end
--- a/data/base_stats/kadabra.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db KADABRA ; 064
-
-	db  40,  35,  30, 105, 120,  70
-	;   hp  atk  def  spd  sat  sdf
-
-	db PSYCHIC, PSYCHIC
-	db 100 ; catch rate
-	db 145 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F25 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/kadabra/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DIG, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH
-	; end
--- a/data/base_stats/kakuna.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db KAKUNA ; 014
-
-	db  45,  25,  50,  35,  25,  25
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, POISON
-	db 120 ; catch rate
-	db 71 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/kakuna/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm
-	; end
--- a/data/base_stats/kangaskhan.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db KANGASKHAN ; 115
-
-	db 105,  95,  80,  90,  40,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 45 ; catch rate
-	db 175 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F100 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/kangaskhan/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn MONSTER, MONSTER ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/kingdra.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db KINGDRA ; 230
-
-	db  75,  95,  95,  85,  95,  95
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, DRAGON
-	db 45 ; catch rate
-	db 207 ; base exp
-	db NO_ITEM ; item 1
-	db DRAGON_SCALE ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/kingdra/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMPHIBIAN, REPTILE ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/kingler.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db KINGLER ; 099
-
-	db  55, 130, 115,  75,  50,  50
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 60 ; catch rate
-	db 206 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/kingler/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INVERTEBRATE, INVERTEBRATE ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
-	; end
--- a/data/base_stats/koffing.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db KOFFING ; 109
-
-	db  40,  65,  95,  35,  60,  45
-	;   hp  atk  def  spd  sat  sdf
-
-	db POISON, POISON
-	db 190 ; catch rate
-	db 114 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/koffing/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMORPHOUS, AMORPHOUS ; egg groups
-
-	; tmhm
-	tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, REST, ATTRACT, THIEF, FLAMETHROWER, THUNDERBOLT
-	; end
--- a/data/base_stats/krabby.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db KRABBY ; 098
-
-	db  30, 105,  90,  50,  25,  25
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 225 ; catch rate
-	db 115 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/krabby/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INVERTEBRATE, INVERTEBRATE ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
-	; end
--- a/data/base_stats/lanturn.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db LANTURN ; 171
-
-	db 125,  58,  58,  67,  76,  76
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, ELECTRIC
-	db 75 ; catch rate
-	db 156 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/lanturn/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn FISH, FISH ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/lapras.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db LAPRAS ; 131
-
-	db 130,  85,  80,  60,  85,  95
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, ICE
-	db 45 ; catch rate
-	db 219 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 40 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/lapras/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn MONSTER, AMPHIBIAN ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, STRENGTH, WHIRLPOOL, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/larvitar.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db LARVITAR ; 246
-
-	db  50,  64,  50,  41,  45,  50
-	;   hp  atk  def  spd  sat  sdf
-
-	db ROCK, GROUND
-	db 45 ; catch rate
-	db 67 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 40 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/larvitar/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn MONSTER, MONSTER ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DETECT, REST, ATTRACT
-	; end
--- a/data/base_stats/ledian.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db LEDIAN ; 166
-
-	db  55,  35,  50,  85,  55, 110
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, FLYING
-	db 90 ; catch rate
-	db 134 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/ledian/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, REST, ATTRACT, THIEF, FLASH
-	; end
--- a/data/base_stats/ledyba.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db LEDYBA ; 165
-
-	db  40,  20,  30,  55,  40,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, FLYING
-	db 255 ; catch rate
-	db 54 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/ledyba/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, REST, ATTRACT, THIEF, FLASH
-	; end
--- a/data/base_stats/lickitung.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db LICKITUNG ; 108
-
-	db  90,  55,  75,  30,  60,  75
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 45 ; catch rate
-	db 127 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/lickitung/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn MONSTER, MONSTER ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, CUT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/lugia.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db LUGIA ; 249
-
-	db 106,  90, 130, 110,  90, 154
-	;   hp  atk  def  spd  sat  sdf
-
-	db PSYCHIC, FLYING
-	db 3 ; catch rate
-	db 220 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 120 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/lugia/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DREAM_EATER, DETECT, REST, STEEL_WING, NIGHTMARE, FLY, SURF, STRENGTH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/machamp.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MACHAMP ; 068
-
-	db  90, 130,  80,  55,  65,  85
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIGHTING, FIGHTING
-	db 45 ; catch rate
-	db 193 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F25 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/machamp/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER
-	; end
--- a/data/base_stats/machoke.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MACHOKE ; 067
-
-	db  80, 100,  70,  45,  50,  60
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIGHTING, FIGHTING
-	db 90 ; catch rate
-	db 146 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F25 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/machoke/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER
-	; end
--- a/data/base_stats/machop.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MACHOP ; 066
-
-	db  70,  80,  50,  35,  35,  35
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIGHTING, FIGHTING
-	db 180 ; catch rate
-	db 88 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F25 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/machop/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER
-	; end
--- a/data/base_stats/magby.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MAGBY ; 240
-
-	db  45,  75,  37,  83,  70,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FIRE
-	db 45 ; catch rate
-	db 117 ; base exp
-	db BURNT_BERRY ; item 1
-	db BURNT_BERRY ; item 2
-	db GENDER_F25 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/magby/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER
-	; end
--- a/data/base_stats/magcargo.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MAGCARGO ; 219
-
-	db  50,  50, 120,  30,  80,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, ROCK
-	db 75 ; catch rate
-	db 154 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/magcargo/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMORPHOUS, AMORPHOUS ; egg groups
-
-	; tmhm
-	tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, STRENGTH, FLAMETHROWER
-	; end
--- a/data/base_stats/magikarp.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MAGIKARP ; 129
-
-	db  20,  10,  55,  80,  15,  20
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 255 ; catch rate
-	db 20 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 5 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/magikarp/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn FISH, REPTILE ; egg groups
-
-	; tmhm
-	tmhm
-	; end
--- a/data/base_stats/magmar.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MAGMAR ; 126
-
-	db  65,  95,  57,  93, 100,  85
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FIRE
-	db 45 ; catch rate
-	db 167 ; base exp
-	db BURNT_BERRY ; item 1
-	db BURNT_BERRY ; item 2
-	db GENDER_F25 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/magmar/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER
-	; end
--- a/data/base_stats/magnemite.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MAGNEMITE ; 081
-
-	db  25,  35,  70,  45,  95,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db ELECTRIC, STEEL
-	db 190 ; catch rate
-	db 89 ; base exp
-	db NO_ITEM ; item 1
-	db METAL_COAT ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/magnemite/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INANIMATE, INANIMATE ; egg groups
-
-	; tmhm
-	tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT
-	; end
--- a/data/base_stats/magneton.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MAGNETON ; 082
-
-	db  50,  60,  95,  70, 120,  70
-	;   hp  atk  def  spd  sat  sdf
-
-	db ELECTRIC, STEEL
-	db 60 ; catch rate
-	db 161 ; base exp
-	db NO_ITEM ; item 1
-	db METAL_COAT ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/magneton/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INANIMATE, INANIMATE ; egg groups
-
-	; tmhm
-	tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT
-	; end
--- a/data/base_stats/mankey.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MANKEY ; 056
-
-	db  40,  80,  35,  70,  35,  45
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIGHTING, FIGHTING
-	db 190 ; catch rate
-	db 74 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/mankey/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT
-	; end
--- a/data/base_stats/mantine.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MANTINE ; 226
-
-	db  65,  40,  70,  70,  80, 140
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, FLYING
-	db 25 ; catch rate
-	db 168 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/mantine/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn AMPHIBIAN, AMPHIBIAN ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/mareep.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MAREEP ; 179
-
-	db  55,  40,  40,  35,  65,  45
-	;   hp  atk  def  spd  sat  sdf
-
-	db ELECTRIC, ELECTRIC
-	db 235 ; catch rate
-	db 59 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/mareep/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, FLASH, THUNDERBOLT
-	; end
--- a/data/base_stats/marill.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MARILL ; 183
-
-	db  70,  20,  50,  40,  20,  50
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 190 ; catch rate
-	db 58 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/marill/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn AMPHIBIAN, FAIRY ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/marowak.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MAROWAK ; 105
-
-	db  60,  80, 110,  45,  50,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db GROUND, GROUND
-	db 75 ; catch rate
-	db 124 ; base exp
-	db NO_ITEM ; item 1
-	db THICK_CLUB ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/marowak/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn MONSTER, MONSTER ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER, ICE_BEAM
-	; end
--- a/data/base_stats/meganium.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MEGANIUM ; 154
-
-	db  80,  82, 100,  80,  83, 100
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, GRASS
-	db 45 ; catch rate
-	db 208 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/meganium/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, PLANT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLASH
-	; end
--- a/data/base_stats/meowth.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MEOWTH ; 052
-
-	db  40,  45,  35,  90,  40,  40
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 255 ; catch rate
-	db 69 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/meowth/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT
-	; end
--- a/data/base_stats/metapod.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db METAPOD ; 011
-
-	db  50,  20,  55,  30,  25,  25
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, BUG
-	db 120 ; catch rate
-	db 72 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/metapod/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm
-	; end
--- a/data/base_stats/mew.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MEW ; 151
-
-	db 100, 100, 100, 100, 100, 100
-	;   hp  atk  def  spd  sat  sdf
-
-	db PSYCHIC, PSYCHIC
-	db 45 ; catch rate
-	db 64 ; base exp
-	db NO_ITEM ; item 1
-	db MIRACLEBERRY ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 120 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/mew/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, FIRE_BLAST, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, FLY, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/mewtwo.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MEWTWO ; 150
-
-	db 106, 110,  90, 130, 154,  90
-	;   hp  atk  def  spd  sat  sdf
-
-	db PSYCHIC, PSYCHIC
-	db 3 ; catch rate
-	db 220 ; base exp
-	db NO_ITEM ; item 1
-	db BERSERK_GENE ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 120 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/mewtwo/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, THUNDERPUNCH, DREAM_EATER, DETECT, REST, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/miltank.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MILTANK ; 241
-
-	db  95,  80, 105, 100,  40,  70
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 45 ; catch rate
-	db 200 ; base exp
-	db MOOMOO_MILK ; item 1
-	db MOOMOO_MILK ; item 2
-	db GENDER_F100 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/miltank/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, SURF, STRENGTH, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/misdreavus.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MISDREAVUS ; 200
-
-	db  60,  60,  60,  85,  85,  85
-	;   hp  atk  def  spd  sat  sdf
-
-	db GHOST, GHOST
-	db 45 ; catch rate
-	db 147 ; base exp
-	db NO_ITEM ; item 1
-	db SPELL_TAG ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/misdreavus/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn AMORPHOUS, AMORPHOUS ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, FLASH, THUNDERBOLT
-	; end
--- a/data/base_stats/moltres.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MOLTRES ; 146
-
-	db  90, 100,  90,  90, 125,  85
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FLYING
-	db 3 ; catch rate
-	db 217 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 80 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/moltres/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, STEEL_WING, FLY, FLAMETHROWER
-	; end
--- a/data/base_stats/mr__mime.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MR__MIME ; 122
-
-	db  40,  45,  65,  90, 100, 120
-	;   hp  atk  def  spd  sat  sdf
-
-	db PSYCHIC, PSYCHIC
-	db 45 ; catch rate
-	db 136 ; base exp
-	db NO_ITEM ; item 1
-	db MYSTERYBERRY ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/mr__mime/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn HUMANSHAPE, HUMANSHAPE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH, THUNDERBOLT
-	; end
--- a/data/base_stats/muk.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MUK ; 089
-
-	db 105, 105,  75,  50,  65, 100
-	;   hp  atk  def  spd  sat  sdf
-
-	db POISON, POISON
-	db 75 ; catch rate
-	db 157 ; base exp
-	db NO_ITEM ; item 1
-	db NUGGET ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/muk/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMORPHOUS, AMORPHOUS ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER, THUNDERBOLT
-	; end
--- a/data/base_stats/murkrow.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db MURKROW ; 198
-
-	db  60,  85,  42,  91,  85,  42
-	;   hp  atk  def  spd  sat  sdf
-
-	db DARK, FLYING
-	db 30 ; catch rate
-	db 107 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/murkrow/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn AVIAN, AVIAN ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY
-	; end
--- a/data/base_stats/natu.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db NATU ; 177
-
-	db  40,  50,  45,  70,  70,  45
-	;   hp  atk  def  spd  sat  sdf
-
-	db PSYCHIC, FLYING
-	db 190 ; catch rate
-	db 73 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/natu/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AVIAN, AVIAN ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLASH
-	; end
--- a/data/base_stats/nidoking.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db NIDOKING ; 034
-
-	db  81,  92,  77,  85,  85,  75
-	;   hp  atk  def  spd  sat  sdf
-
-	db POISON, GROUND
-	db 45 ; catch rate
-	db 195 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F0 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/nidoking/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/nidoqueen.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db NIDOQUEEN ; 031
-
-	db  90,  82,  87,  76,  75,  85
-	;   hp  atk  def  spd  sat  sdf
-
-	db POISON, GROUND
-	db 45 ; catch rate
-	db 194 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F100 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/nidoqueen/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/nidoran_f.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db NIDORAN_F ; 029
-
-	db  55,  47,  52,  41,  40,  40
-	;   hp  atk  def  spd  sat  sdf
-
-	db POISON, POISON
-	db 235 ; catch rate
-	db 59 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F100 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/nidoran_f/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, THUNDERBOLT
-	; end
--- a/data/base_stats/nidoran_m.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db NIDORAN_M ; 032
-
-	db  46,  57,  40,  50,  40,  40
-	;   hp  atk  def  spd  sat  sdf
-
-	db POISON, POISON
-	db 235 ; catch rate
-	db 60 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F0 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/nidoran_m/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, THUNDERBOLT
-	; end
--- a/data/base_stats/nidorina.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db NIDORINA ; 030
-
-	db  70,  62,  67,  56,  55,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db POISON, POISON
-	db 120 ; catch rate
-	db 117 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F100 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/nidorina/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, STRENGTH, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/nidorino.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db NIDORINO ; 033
-
-	db  61,  72,  57,  65,  55,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db POISON, POISON
-	db 120 ; catch rate
-	db 118 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F0 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/nidorino/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, STRENGTH, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/ninetales.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db NINETALES ; 038
-
-	db  73,  76,  75, 100,  81, 100
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FIRE
-	db 75 ; catch rate
-	db 178 ; base exp
-	db BURNT_BERRY ; item 1
-	db BURNT_BERRY ; item 2
-	db GENDER_F75 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/ninetales/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
-	; end
--- a/data/base_stats/noctowl.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db NOCTOWL ; 164
-
-	db 100,  50,  50,  70,  76,  96
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, FLYING
-	db 90 ; catch rate
-	db 162 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/noctowl/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AVIAN, AVIAN ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY, FLASH
-	; end
--- a/data/base_stats/octillery.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db OCTILLERY ; 224
-
-	db  75, 105,  75,  45, 105,  75
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 75 ; catch rate
-	db 164 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/octillery/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMPHIBIAN, FISH ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, FLAMETHROWER, ICE_BEAM
-	; end
--- a/data/base_stats/oddish.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db ODDISH ; 043
-
-	db  45,  50,  55,  30,  75,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, POISON
-	db 255 ; catch rate
-	db 78 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/oddish/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn PLANT, PLANT ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
-	; end
--- a/data/base_stats/omanyte.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db OMANYTE ; 138
-
-	db  35,  40, 100,  35,  90,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db ROCK, WATER
-	db 45 ; catch rate
-	db 120 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 30 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/omanyte/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMPHIBIAN, INVERTEBRATE ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, ICE_BEAM
-	; end
--- a/data/base_stats/omastar.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db OMASTAR ; 139
-
-	db  70,  60, 125,  55, 115,  70
-	;   hp  atk  def  spd  sat  sdf
-
-	db ROCK, WATER
-	db 45 ; catch rate
-	db 199 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 30 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/omastar/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMPHIBIAN, INVERTEBRATE ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, ICE_BEAM
-	; end
--- a/data/base_stats/onix.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db ONIX ; 095
-
-	db  35,  45, 160,  70,  30,  45
-	;   hp  atk  def  spd  sat  sdf
-
-	db ROCK, GROUND
-	db 45 ; catch rate
-	db 108 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/onix/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INANIMATE, INANIMATE ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, STRENGTH
-	; end
--- a/data/base_stats/paras.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PARAS ; 046
-
-	db  35,  70,  55,  25,  45,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, GRASS
-	db 190 ; catch rate
-	db 70 ; base exp
-	db TINYMUSHROOM ; item 1
-	db BIG_MUSHROOM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/paras/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INSECT, PLANT ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, FLASH
-	; end
--- a/data/base_stats/parasect.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PARASECT ; 047
-
-	db  60,  95,  80,  30,  60,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, GRASS
-	db 75 ; catch rate
-	db 128 ; base exp
-	db TINYMUSHROOM ; item 1
-	db BIG_MUSHROOM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/parasect/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INSECT, PLANT ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, FLASH
-	; end
--- a/data/base_stats/persian.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PERSIAN ; 053
-
-	db  65,  70,  60, 115,  65,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 90 ; catch rate
-	db 148 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/persian/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT
-	; end
--- a/data/base_stats/phanpy.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PHANPY ; 231
-
-	db  90,  60,  60,  40,  40,  40
-	;   hp  atk  def  spd  sat  sdf
-
-	db GROUND, GROUND
-	db 120 ; catch rate
-	db 124 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/phanpy/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH
-	; end
--- a/data/base_stats/pichu.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PICHU ; 172
-
-	db  20,  40,  15,  60,  35,  35
-	;   hp  atk  def  spd  sat  sdf
-
-	db ELECTRIC, ELECTRIC
-	db 190 ; catch rate
-	db 42 ; base exp
-	db NO_ITEM ; item 1
-	db BERRY ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 10 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/pichu/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, FLASH, THUNDERBOLT
-	; end
--- a/data/base_stats/pidgeot.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PIDGEOT ; 018
-
-	db  83,  80,  75,  91,  70,  70
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, FLYING
-	db 45 ; catch rate
-	db 172 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/pidgeot/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn AVIAN, AVIAN ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
-	; end
--- a/data/base_stats/pidgeotto.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PIDGEOTTO ; 017
-
-	db  63,  60,  55,  71,  50,  50
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, FLYING
-	db 120 ; catch rate
-	db 113 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/pidgeotto/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn AVIAN, AVIAN ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
-	; end
--- a/data/base_stats/pidgey.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PIDGEY ; 016
-
-	db  40,  45,  40,  56,  35,  35
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, FLYING
-	db 255 ; catch rate
-	db 55 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/pidgey/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn AVIAN, AVIAN ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
-	; end
--- a/data/base_stats/pikachu.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PIKACHU ; 025
-
-	db  35,  55,  30,  90,  50,  40
-	;   hp  atk  def  spd  sat  sdf
-
-	db ELECTRIC, ELECTRIC
-	db 190 ; catch rate
-	db 82 ; base exp
-	db NO_ITEM ; item 1
-	db BERRY ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 10 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/pikachu/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FAIRY ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, STRENGTH, FLASH, THUNDERBOLT
-	; end
--- a/data/base_stats/piloswine.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PILOSWINE ; 221
-
-	db 100, 100,  80,  50,  60,  60
-	;   hp  atk  def  spd  sat  sdf
-
-	db ICE, GROUND
-	db 75 ; catch rate
-	db 160 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/piloswine/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, STRENGTH, ICE_BEAM
-	; end
--- a/data/base_stats/pineco.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PINECO ; 204
-
-	db  50,  65,  90,  15,  35,  35
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, BUG
-	db 190 ; catch rate
-	db 60 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/pineco/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, STRENGTH
-	; end
--- a/data/base_stats/pinsir.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PINSIR ; 127
-
-	db  65, 125, 100,  85,  55,  70
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, BUG
-	db 45 ; catch rate
-	db 200 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/pinsir/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
-	; end
--- a/data/base_stats/politoed.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db POLITOED ; 186
-
-	db  90,  75,  75,  70,  90, 100
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 45 ; catch rate
-	db 185 ; base exp
-	db NO_ITEM ; item 1
-	db KINGS_ROCK ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/politoed/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn AMPHIBIAN, AMPHIBIAN ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/poliwag.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db POLIWAG ; 060
-
-	db  40,  50,  40,  90,  40,  40
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 255 ; catch rate
-	db 77 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/poliwag/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn AMPHIBIAN, AMPHIBIAN ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/poliwhirl.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db POLIWHIRL ; 061
-
-	db  65,  65,  65,  90,  50,  50
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 120 ; catch rate
-	db 131 ; base exp
-	db NO_ITEM ; item 1
-	db KINGS_ROCK ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/poliwhirl/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn AMPHIBIAN, AMPHIBIAN ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/poliwrath.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db POLIWRATH ; 062
-
-	db  90,  85,  95,  70,  70,  90
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, FIGHTING
-	db 45 ; catch rate
-	db 185 ; base exp
-	db NO_ITEM ; item 1
-	db KINGS_ROCK ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/poliwrath/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn AMPHIBIAN, AMPHIBIAN ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/ponyta.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PONYTA ; 077
-
-	db  50,  85,  55,  90,  65,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FIRE
-	db 190 ; catch rate
-	db 152 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/ponyta/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
-	; end
--- a/data/base_stats/porygon.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PORYGON ; 137
-
-	db  65,  60,  70,  40,  85,  75
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 45 ; catch rate
-	db 130 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/porygon/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INANIMATE, INANIMATE ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, THIEF, NIGHTMARE, FLASH, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/porygon2.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PORYGON2 ; 233
-
-	db  85,  80,  90,  60, 105,  95
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 45 ; catch rate
-	db 180 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/porygon2/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INANIMATE, INANIMATE ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, REST, THIEF, NIGHTMARE, FLASH, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/primeape.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PRIMEAPE ; 057
-
-	db  65, 105,  60,  95,  60,  70
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIGHTING, FIGHTING
-	db 75 ; catch rate
-	db 149 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/primeape/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT
-	; end
--- a/data/base_stats/psyduck.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PSYDUCK ; 054
-
-	db  50,  52,  48,  55,  65,  50
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 190 ; catch rate
-	db 80 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/psyduck/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMPHIBIAN, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/pupitar.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db PUPITAR ; 247
-
-	db  70,  84,  70,  51,  65,  70
-	;   hp  atk  def  spd  sat  sdf
-
-	db ROCK, GROUND
-	db 45 ; catch rate
-	db 144 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 40 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/pupitar/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn MONSTER, MONSTER ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DETECT, REST, ATTRACT
-	; end
--- a/data/base_stats/quagsire.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db QUAGSIRE ; 195
-
-	db  95,  85,  85,  35,  65,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, GROUND
-	db 90 ; catch rate
-	db 137 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/quagsire/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMPHIBIAN, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, FLASH, WHIRLPOOL, ICE_BEAM
-	; end
--- a/data/base_stats/quilava.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db QUILAVA ; 156
-
-	db  58,  64,  58,  80,  80,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FIRE
-	db 45 ; catch rate
-	db 142 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/quilava/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER
-	; end
--- a/data/base_stats/qwilfish.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db QWILFISH ; 211
-
-	db  65,  95,  75,  85,  55,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, POISON
-	db 45 ; catch rate
-	db 100 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/qwilfish/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FISH, FISH ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/raichu.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db RAICHU ; 026
-
-	db  60,  90,  55, 100,  90,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db ELECTRIC, ELECTRIC
-	db 75 ; catch rate
-	db 122 ; base exp
-	db NO_ITEM ; item 1
-	db BERRY ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 10 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/raichu/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FAIRY ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, STRENGTH, FLASH, THUNDERBOLT
-	; end
--- a/data/base_stats/raikou.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db RAIKOU ; 243
-
-	db  90,  85,  75, 115, 115, 100
-	;   hp  atk  def  spd  sat  sdf
-
-	db ELECTRIC, ELECTRIC
-	db 3 ; catch rate
-	db 216 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 80 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/raikou/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, CUT, STRENGTH, FLASH, THUNDERBOLT
-	; end
--- a/data/base_stats/rapidash.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db RAPIDASH ; 078
-
-	db  65, 100,  70, 105,  80,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FIRE
-	db 60 ; catch rate
-	db 192 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/rapidash/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
-	; end
--- a/data/base_stats/raticate.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db RATICATE ; 020
-
-	db  55,  81,  60,  97,  50,  70
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 90 ; catch rate
-	db 116 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/raticate/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, CUT, STRENGTH, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/rattata.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db RATTATA ; 019
-
-	db  30,  56,  35,  72,  25,  35
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 255 ; catch rate
-	db 57 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/rattata/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF
-	; end
--- a/data/base_stats/remoraid.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db REMORAID ; 223
-
-	db  35,  65,  35,  65,  65,  35
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 190 ; catch rate
-	db 78 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/remoraid/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMPHIBIAN, FISH ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, FLAMETHROWER, ICE_BEAM
-	; end
--- a/data/base_stats/rhydon.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db RHYDON ; 112
-
-	db 105, 130, 120,  40,  45,  45
-	;   hp  atk  def  spd  sat  sdf
-
-	db GROUND, ROCK
-	db 60 ; catch rate
-	db 204 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/rhydon/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn MONSTER, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/rhyhorn.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db RHYHORN ; 111
-
-	db  80,  85,  95,  25,  30,  30
-	;   hp  atk  def  spd  sat  sdf
-
-	db GROUND, ROCK
-	db 120 ; catch rate
-	db 135 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/rhyhorn/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn MONSTER, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, REST, ATTRACT, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/sandshrew.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SANDSHREW ; 027
-
-	db  50,  75,  85,  40,  20,  30
-	;   hp  atk  def  spd  sat  sdf
-
-	db GROUND, GROUND
-	db 255 ; catch rate
-	db 93 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/sandshrew/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
-	; end
--- a/data/base_stats/sandslash.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SANDSLASH ; 028
-
-	db  75, 100, 110,  65,  45,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db GROUND, GROUND
-	db 90 ; catch rate
-	db 163 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/sandslash/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
-	; end
--- a/data/base_stats/scizor.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SCIZOR ; 212
-
-	db  70, 130, 100,  65,  55,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, STEEL
-	db 25 ; catch rate
-	db 200 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/scizor/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FURY_CUTTER, CUT, STRENGTH
-	; end
--- a/data/base_stats/scyther.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SCYTHER ; 123
-
-	db  70, 110,  80, 105,  55,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, FLYING
-	db 45 ; catch rate
-	db 187 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/scyther/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FURY_CUTTER, CUT
-	; end
--- a/data/base_stats/seadra.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SEADRA ; 117
-
-	db  55,  65,  95,  85,  95,  45
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 75 ; catch rate
-	db 155 ; base exp
-	db NO_ITEM ; item 1
-	db DRAGON_SCALE ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/seadra/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMPHIBIAN, REPTILE ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/seaking.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SEAKING ; 119
-
-	db  80,  92,  65,  68,  65,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 60 ; catch rate
-	db 170 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/seaking/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FISH, FISH ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/seel.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SEEL ; 086
-
-	db  65,  45,  55,  45,  45,  70
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 190 ; catch rate
-	db 100 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/seel/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMPHIBIAN, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/sentret.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SENTRET ; 161
-
-	db  35,  46,  34,  20,  35,  45
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 255 ; catch rate
-	db 57 ; base exp
-	db NO_ITEM ; item 1
-	db BERRY ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/sentret/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, SURF
-	; end
--- a/data/base_stats/shellder.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SHELLDER ; 090
-
-	db  30,  65, 100,  40,  45,  25
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 190 ; catch rate
-	db 97 ; base exp
-	db PEARL ; item 1
-	db BIG_PEARL ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/shellder/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn INVERTEBRATE, INVERTEBRATE ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, ICE_BEAM
-	; end
--- a/data/base_stats/shuckle.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SHUCKLE ; 213
-
-	db  20,  10, 230,  05,  10, 230
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, ROCK
-	db 190 ; catch rate
-	db 80 ; base exp
-	db BERRY ; item 1
-	db BERRY ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/shuckle/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH, FLASH
-	; end
--- a/data/base_stats/skarmory.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SKARMORY ; 227
-
-	db  65,  80, 140,  70,  40,  70
-	;   hp  atk  def  spd  sat  sdf
-
-	db STEEL, FLYING
-	db 25 ; catch rate
-	db 168 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/skarmory/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn AVIAN, AVIAN ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, CUT, FLY
-	; end
--- a/data/base_stats/skiploom.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SKIPLOOM ; 188
-
-	db  55,  45,  50,  80,  45,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, FLYING
-	db 120 ; catch rate
-	db 136 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/skiploom/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn FAIRY, PLANT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH
-	; end
--- a/data/base_stats/slowbro.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SLOWBRO ; 080
-
-	db  95,  75, 110,  30, 100,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, PSYCHIC
-	db 75 ; catch rate
-	db 164 ; base exp
-	db NO_ITEM ; item 1
-	db KINGS_ROCK ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/slowbro/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn MONSTER, AMPHIBIAN ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, FURY_CUTTER, NIGHTMARE, SURF, STRENGTH, FLASH, FLAMETHROWER, ICE_BEAM
-	; end
--- a/data/base_stats/slowking.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SLOWKING ; 199
-
-	db  95,  75,  80,  30, 100, 110
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, PSYCHIC
-	db 70 ; catch rate
-	db 164 ; base exp
-	db NO_ITEM ; item 1
-	db KINGS_ROCK ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/slowking/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn MONSTER, AMPHIBIAN ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, FURY_CUTTER, NIGHTMARE, SURF, STRENGTH, FLASH, WHIRLPOOL, FLAMETHROWER, ICE_BEAM
-	; end
--- a/data/base_stats/slowpoke.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SLOWPOKE ; 079
-
-	db  90,  65,  65,  15,  40,  40
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, PSYCHIC
-	db 190 ; catch rate
-	db 99 ; base exp
-	db NO_ITEM ; item 1
-	db KINGS_ROCK ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/slowpoke/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn MONSTER, AMPHIBIAN ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, STRENGTH, FLASH, FLAMETHROWER, ICE_BEAM
-	; end
--- a/data/base_stats/slugma.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SLUGMA ; 218
-
-	db  40,  40,  40,  20,  70,  40
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FIRE
-	db 190 ; catch rate
-	db 78 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/slugma/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMORPHOUS, AMORPHOUS ; egg groups
-
-	; tmhm
-	tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FLAMETHROWER
-	; end
--- a/data/base_stats/smeargle.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SMEARGLE ; 235
-
-	db  55,  20,  35,  75,  20,  45
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 45 ; catch rate
-	db 106 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/smeargle/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm
-	; end
--- a/data/base_stats/smoochum.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SMOOCHUM ; 238
-
-	db  45,  30,  15,  65,  85,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db ICE, PSYCHIC
-	db 45 ; catch rate
-	db 87 ; base exp
-	db ICE_BERRY ; item 1
-	db ICE_BERRY ; item 2
-	db GENDER_F100 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/smoochum/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SWEET_SCENT, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, ICE_BEAM
-	; end
--- a/data/base_stats/sneasel.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SNEASEL ; 215
-
-	db  55,  95,  55, 115,  35,  75
-	;   hp  atk  def  spd  sat  sdf
-
-	db DARK, ICE
-	db 60 ; catch rate
-	db 132 ; base exp
-	db NO_ITEM ; item 1
-	db QUICK_CLAW ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/sneasel/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, NIGHTMARE, CUT, SURF, STRENGTH, ICE_BEAM
-	; end
--- a/data/base_stats/snorlax.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SNORLAX ; 143
-
-	db 160, 110,  65,  30,  65, 110
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 25 ; catch rate
-	db 154 ; base exp
-	db LEFTOVERS ; item 1
-	db LEFTOVERS ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 40 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/snorlax/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn MONSTER, MONSTER ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/snubbull.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SNUBBULL ; 209
-
-	db  60,  80,  50,  30,  40,  40
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 190 ; catch rate
-	db 63 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F75 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/snubbull/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn FIELD, FAIRY ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT
-	; end
--- a/data/base_stats/spearow.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SPEAROW ; 021
-
-	db  40,  60,  30,  70,  31,  31
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, FLYING
-	db 255 ; catch rate
-	db 58 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/spearow/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AVIAN, AVIAN ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
-	; end
--- a/data/base_stats/spinarak.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SPINARAK ; 167
-
-	db  40,  60,  40,  30,  40,  40
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, POISON
-	db 255 ; catch rate
-	db 54 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/spinarak/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FLASH
-	; end
--- a/data/base_stats/squirtle.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SQUIRTLE ; 007
-
-	db  44,  48,  65,  43,  50,  64
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 45 ; catch rate
-	db 66 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/squirtle/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, AMPHIBIAN ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/stantler.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db STANTLER ; 234
-
-	db  73,  95,  62,  85,  85,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 45 ; catch rate
-	db 165 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/stantler/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLASH
-	; end
--- a/data/base_stats/starmie.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db STARMIE ; 121
-
-	db  60,  75,  85, 115, 100,  85
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, PSYCHIC
-	db 60 ; catch rate
-	db 207 ; base exp
-	db STARDUST ; item 1
-	db STAR_PIECE ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/starmie/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn INVERTEBRATE, INVERTEBRATE ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/staryu.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db STARYU ; 120
-
-	db  30,  45,  55,  85,  70,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 225 ; catch rate
-	db 106 ; base exp
-	db STARDUST ; item 1
-	db STAR_PIECE ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/staryu/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn INVERTEBRATE, INVERTEBRATE ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/steelix.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db STEELIX ; 208
-
-	db  75,  85, 200,  30,  55,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db STEEL, GROUND
-	db 25 ; catch rate
-	db 196 ; base exp
-	db NO_ITEM ; item 1
-	db METAL_COAT ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/steelix/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INANIMATE, INANIMATE ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, CUT, STRENGTH
-	; end
--- a/data/base_stats/sudowoodo.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SUDOWOODO ; 185
-
-	db  70, 100, 115,  30,  30,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db ROCK, ROCK
-	db 65 ; catch rate
-	db 135 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/sudowoodo/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INANIMATE, INANIMATE ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH
-	; end
--- a/data/base_stats/suicune.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SUICUNE ; 245
-
-	db 100,  75, 115,  85,  90, 115
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 3 ; catch rate
-	db 215 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 80 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/suicune/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, CUT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/sunflora.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SUNFLORA ; 192
-
-	db  75,  75,  55,  30, 105,  85
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, GRASS
-	db 120 ; catch rate
-	db 146 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/sunflora/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn PLANT, PLANT ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
-	; end
--- a/data/base_stats/sunkern.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SUNKERN ; 191
-
-	db  30,  30,  30,  30,  30,  30
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, GRASS
-	db 235 ; catch rate
-	db 52 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/sunkern/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn PLANT, PLANT ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
-	; end
--- a/data/base_stats/swinub.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db SWINUB ; 220
-
-	db  50,  50,  40,  50,  30,  30
-	;   hp  atk  def  spd  sat  sdf
-
-	db ICE, GROUND
-	db 225 ; catch rate
-	db 78 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/swinub/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, STRENGTH, ICE_BEAM
-	; end
--- a/data/base_stats/tangela.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db TANGELA ; 114
-
-	db  65,  55, 115,  60, 100,  40
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, GRASS
-	db 45 ; catch rate
-	db 166 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/tangela/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn PLANT, PLANT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT, FLASH
-	; end
--- a/data/base_stats/tauros.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db TAUROS ; 128
-
-	db  75, 100,  95, 110,  40,  70
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 45 ; catch rate
-	db 211 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F0 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/tauros/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, REST, ATTRACT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/teddiursa.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db TEDDIURSA ; 216
-
-	db  60,  80,  50,  40,  50,  50
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 120 ; catch rate
-	db 124 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/teddiursa/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH
-	; end
--- a/data/base_stats/tentacool.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db TENTACOOL ; 072
-
-	db  40,  40,  35,  70,  50, 100
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, POISON
-	db 190 ; catch rate
-	db 105 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/tentacool/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn INVERTEBRATE, INVERTEBRATE ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM
-	; end
--- a/data/base_stats/tentacruel.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db TENTACRUEL ; 073
-
-	db  80,  70,  65, 100,  80, 120
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, POISON
-	db 60 ; catch rate
-	db 205 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/tentacruel/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn INVERTEBRATE, INVERTEBRATE ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM
-	; end
--- a/data/base_stats/togepi.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db TOGEPI ; 175
-
-	db  35,  20,  65,  20,  40,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 190 ; catch rate
-	db 74 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 10 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/togepi/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, FLASH, FLAMETHROWER
-	; end
--- a/data/base_stats/togetic.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db TOGETIC ; 176
-
-	db  55,  40,  85,  40,  80, 105
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, FLYING
-	db 75 ; catch rate
-	db 114 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 10 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/togetic/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn AVIAN, FAIRY ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, STEEL_WING, FLY, FLASH, FLAMETHROWER
-	; end
--- a/data/base_stats/totodile.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db TOTODILE ; 158
-
-	db  50,  65,  64,  43,  44,  48
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 45 ; catch rate
-	db 66 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/totodile/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, AMPHIBIAN ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM
-	; end
--- a/data/base_stats/typhlosion.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db TYPHLOSION ; 157
-
-	db  78,  84,  78, 100, 109,  85
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FIRE
-	db 45 ; catch rate
-	db 209 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/typhlosion/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER
-	; end
--- a/data/base_stats/tyranitar.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db TYRANITAR ; 248
-
-	db 100, 134, 110,  61,  95, 100
-	;   hp  atk  def  spd  sat  sdf
-
-	db ROCK, DARK
-	db 45 ; catch rate
-	db 218 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 40 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/tyranitar/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn MONSTER, MONSTER ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DETECT, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/tyrogue.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db TYROGUE ; 236
-
-	db  35,  35,  35,  35,  35,  35
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIGHTING, FIGHTING
-	db 75 ; catch rate
-	db 91 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F0 ; gender
-	db 100 ; unknown
-	db 25 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/tyrogue/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH
-	; end
--- a/data/base_stats/umbreon.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db UMBREON ; 197
-
-	db  95,  65, 110,  65,  60, 130
-	;   hp  atk  def  spd  sat  sdf
-
-	db DARK, DARK
-	db 45 ; catch rate
-	db 197 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 35 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/umbreon/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, CUT, FLASH
-	; end
--- a/data/base_stats/unown.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db UNOWN ; 201
-
-	db  48,  72,  48,  48,  72,  48
-	;   hp  atk  def  spd  sat  sdf
-
-	db PSYCHIC, PSYCHIC
-	db 225 ; catch rate
-	db 61 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 40 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/unown_a/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm
-	; end
--- a/data/base_stats/ursaring.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db URSARING ; 217
-
-	db  90, 130,  75,  55,  75,  75
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 60 ; catch rate
-	db 189 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/ursaring/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH
-	; end
--- a/data/base_stats/vaporeon.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db VAPOREON ; 134
-
-	db 130,  65,  60,  65, 110,  95
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 45 ; catch rate
-	db 196 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 35 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/vaporeon/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/venomoth.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db VENOMOTH ; 049
-
-	db  70,  65,  60,  90,  90,  75
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, POISON
-	db 75 ; catch rate
-	db 138 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/venomoth/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, THIEF, FLASH
-	; end
--- a/data/base_stats/venonat.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db VENONAT ; 048
-
-	db  60,  55,  50,  45,  40,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, POISON
-	db 190 ; catch rate
-	db 75 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/venonat/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, THIEF
-	; end
--- a/data/base_stats/venusaur.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db VENUSAUR ; 003
-
-	db  80,  82,  83,  80, 100, 100
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, POISON
-	db 45 ; catch rate
-	db 208 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/venusaur/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, PLANT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
-	; end
--- a/data/base_stats/victreebel.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db VICTREEBEL ; 071
-
-	db  80, 105,  65,  70, 100,  60
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, POISON
-	db 45 ; catch rate
-	db 191 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/victreebel/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn PLANT, PLANT ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
-	; end
--- a/data/base_stats/vileplume.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db VILEPLUME ; 045
-
-	db  75,  80,  85,  50, 100,  90
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, POISON
-	db 45 ; catch rate
-	db 184 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/vileplume/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn PLANT, PLANT ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
-	; end
--- a/data/base_stats/voltorb.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db VOLTORB ; 100
-
-	db  40,  30,  50, 100,  55,  55
-	;   hp  atk  def  spd  sat  sdf
-
-	db ELECTRIC, ELECTRIC
-	db 190 ; catch rate
-	db 103 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/voltorb/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INANIMATE, INANIMATE ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT
-	; end
--- a/data/base_stats/vulpix.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db VULPIX ; 037
-
-	db  38,  41,  40,  65,  50,  65
-	;   hp  atk  def  spd  sat  sdf
-
-	db FIRE, FIRE
-	db 190 ; catch rate
-	db 63 ; base exp
-	db BURNT_BERRY ; item 1
-	db BURNT_BERRY ; item 2
-	db GENDER_F75 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/vulpix/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn FIELD, FIELD ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
-	; end
--- a/data/base_stats/wartortle.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db WARTORTLE ; 008
-
-	db  59,  63,  80,  58,  65,  80
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, WATER
-	db 45 ; catch rate
-	db 143 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F12_5 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/wartortle/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn MONSTER, AMPHIBIAN ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
-	; end
--- a/data/base_stats/weedle.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db WEEDLE ; 013
-
-	db  40,  35,  30,  50,  20,  20
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, POISON
-	db 255 ; catch rate
-	db 52 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/weedle/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm
-	; end
--- a/data/base_stats/weepinbell.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db WEEPINBELL ; 070
-
-	db  65,  90,  50,  55,  85,  45
-	;   hp  atk  def  spd  sat  sdf
-
-	db GRASS, POISON
-	db 120 ; catch rate
-	db 151 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/weepinbell/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_SLOW ; growth rate
-	dn PLANT, PLANT ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
-	; end
--- a/data/base_stats/weezing.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db WEEZING ; 110
-
-	db  65,  90, 120,  60,  85,  70
-	;   hp  atk  def  spd  sat  sdf
-
-	db POISON, POISON
-	db 60 ; catch rate
-	db 173 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/weezing/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMORPHOUS, AMORPHOUS ; egg groups
-
-	; tmhm
-	tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, REST, ATTRACT, THIEF, FLAMETHROWER, THUNDERBOLT
-	; end
--- a/data/base_stats/wigglytuff.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db WIGGLYTUFF ; 040
-
-	db 140,  70,  45,  45,  75,  50
-	;   hp  atk  def  spd  sat  sdf
-
-	db NORMAL, NORMAL
-	db 50 ; catch rate
-	db 109 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F75 ; gender
-	db 100 ; unknown
-	db 10 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/wigglytuff/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db FAST ; growth rate
-	dn FAIRY, FAIRY ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
-	; end
--- a/data/base_stats/wobbuffet.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db WOBBUFFET ; 202
-
-	db 190,  33,  58,  33,  33,  58
-	;   hp  atk  def  spd  sat  sdf
-
-	db PSYCHIC, PSYCHIC
-	db 45 ; catch rate
-	db 177 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/wobbuffet/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMORPHOUS, AMORPHOUS ; egg groups
-
-	; tmhm
-	tmhm
-	; end
--- a/data/base_stats/wooper.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db WOOPER ; 194
-
-	db  55,  45,  45,  15,  25,  25
-	;   hp  atk  def  spd  sat  sdf
-
-	db WATER, GROUND
-	db 255 ; catch rate
-	db 52 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/wooper/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AMPHIBIAN, FIELD ; egg groups
-
-	; tmhm
-	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, ICE_BEAM
-	; end
--- a/data/base_stats/xatu.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db XATU ; 178
-
-	db  65,  75,  70,  95,  95,  70
-	;   hp  atk  def  spd  sat  sdf
-
-	db PSYCHIC, FLYING
-	db 75 ; catch rate
-	db 171 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/xatu/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AVIAN, AVIAN ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLY, FLASH
-	; end
--- a/data/base_stats/yanma.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db YANMA ; 193
-
-	db  65,  65,  45,  95,  75,  45
-	;   hp  atk  def  spd  sat  sdf
-
-	db BUG, FLYING
-	db 75 ; catch rate
-	db 147 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 20 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/yanma/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn INSECT, INSECT ; egg groups
-
-	; tmhm
-	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, FLASH
-	; end
--- a/data/base_stats/zapdos.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db ZAPDOS ; 145
-
-	db  90,  90,  85, 100, 125,  90
-	;   hp  atk  def  spd  sat  sdf
-
-	db ELECTRIC, FLYING
-	db 3 ; catch rate
-	db 216 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDERLESS ; gender
-	db 100 ; unknown
-	db 80 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/zapdos/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db SLOW ; growth rate
-	dn NO_EGGS, NO_EGGS ; egg groups
-
-	; tmhm
-	tmhm CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, STEEL_WING, FLY, FLASH, THUNDERBOLT
-	; end
--- a/data/base_stats/zubat.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-	db ZUBAT ; 041
-
-	db  40,  45,  35,  55,  30,  40
-	;   hp  atk  def  spd  sat  sdf
-
-	db POISON, FLYING
-	db 255 ; catch rate
-	db 54 ; base exp
-	db NO_ITEM ; item 1
-	db NO_ITEM ; item 2
-	db GENDER_F50 ; gender
-	db 100 ; unknown
-	db 15 ; step cycles to hatch
-	db 5 ; unknown
-	INCBIN "gfx/pics/zubat/front.dimensions"
-	db 0, 0, 0, 0 ; padding
-	db MEDIUM_FAST ; growth rate
-	dn AVIAN, AVIAN ; egg groups
-
-	; tmhm
-	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING
-	; end
--- a/data/egg_move_pointers.asm
+++ /dev/null
@@ -1,257 +1,0 @@
-EggMovePointers:: ; 0x23b11
-	dw BulbasaurEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw CharmanderEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw SquirtleEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw PidgeyEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw RattataEggMoves
-	dw NoEggMoves
-	dw SpearowEggMoves
-	dw NoEggMoves
-	dw EkansEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw SandshrewEggMoves
-	dw NoEggMoves
-	dw NidoranFEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NidoranMEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw VulpixEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw ZubatEggMoves
-	dw NoEggMoves
-	dw OddishEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw ParasEggMoves
-	dw NoEggMoves
-	dw VenonatEggMoves
-	dw NoEggMoves
-	dw DiglettEggMoves
-	dw NoEggMoves
-	dw MeowthEggMoves
-	dw NoEggMoves
-	dw PsyduckEggMoves
-	dw NoEggMoves
-	dw MankeyEggMoves
-	dw NoEggMoves
-	dw GrowlitheEggMoves
-	dw NoEggMoves
-	dw PoliwagEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw AbraEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw MachopEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw BellsproutEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw TentacoolEggMoves
-	dw NoEggMoves
-	dw GeodudeEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw PonytaEggMoves
-	dw NoEggMoves
-	dw SlowpokeEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw FarfetchDEggMoves
-	dw DoduoEggMoves
-	dw NoEggMoves
-	dw SeelEggMoves
-	dw NoEggMoves
-	dw GrimerEggMoves
-	dw NoEggMoves
-	dw ShellderEggMoves
-	dw NoEggMoves
-	dw GastlyEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw OnixEggMoves
-	dw DrowzeeEggMoves
-	dw NoEggMoves
-	dw KrabbyEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw ExeggcuteEggMoves
-	dw NoEggMoves
-	dw CuboneEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw LickitungEggMoves
-	dw KoffingEggMoves
-	dw NoEggMoves
-	dw RhyhornEggMoves
-	dw NoEggMoves
-	dw ChanseyEggMoves
-	dw TangelaEggMoves
-	dw KangaskhanEggMoves
-	dw HorseaEggMoves
-	dw NoEggMoves
-	dw GoldeenEggMoves
-	dw NoEggMoves
-if _CRYSTAL
-	dw NoEggMoves
-else
-	dw StaryuEggMoves
-endc
-	dw NoEggMoves
-	dw MrMimeEggMoves
-	dw ScytherEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw PinsirEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw LaprasEggMoves
-	dw NoEggMoves
-	dw EeveeEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw OmanyteEggMoves
-	dw NoEggMoves
-	dw KabutoEggMoves
-	dw NoEggMoves
-	dw AerodactylEggMoves
-	dw SnorlaxEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw DratiniEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw ChikoritaEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw CyndaquilEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw TotodileEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw SentretEggMoves
-	dw NoEggMoves
-	dw HoothootEggMoves
-	dw NoEggMoves
-	dw LedybaEggMoves
-	dw NoEggMoves
-	dw SpinarakEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw ChinchouEggMoves
-	dw NoEggMoves
-	dw PichuEggMoves
-	dw CleffaEggMoves
-	dw IgglybuffEggMoves
-	dw TogepiEggMoves
-	dw NoEggMoves
-	dw NatuEggMoves
-	dw NoEggMoves
-	dw MareepEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw MarillEggMoves
-	dw NoEggMoves
-	dw SudowoodoEggMoves
-	dw NoEggMoves
-	dw HoppipEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw AipomEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw YanmaEggMoves
-	dw WooperEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw MurkrowEggMoves
-	dw NoEggMoves
-	dw MisdreavusEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw GirafarigEggMoves
-	dw PinecoEggMoves
-	dw NoEggMoves
-	dw DunsparceEggMoves
-	dw GligarEggMoves
-	dw NoEggMoves
-	dw SnubbullEggMoves
-	dw NoEggMoves
-	dw QwilfishEggMoves
-	dw NoEggMoves
-	dw ShuckleEggMoves
-	dw HeracrossEggMoves
-	dw SneaselEggMoves
-	dw TeddiursaEggMoves
-	dw NoEggMoves
-	dw SlugmaEggMoves
-	dw NoEggMoves
-	dw SwinubEggMoves
-	dw NoEggMoves
-	dw CorsolaEggMoves
-	dw RemoraidEggMoves
-	dw NoEggMoves
-	dw DelibirdEggMoves
-	dw MantineEggMoves
-	dw SkarmoryEggMoves
-	dw HoundourEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw PhanpyEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw StantlerEggMoves
-	dw NoEggMoves
-	dw TyrogueEggMoves
-	dw NoEggMoves
-	dw SmoochumEggMoves
-	dw ElekidEggMoves
-	dw MagbyEggMoves
-	dw MiltankEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw LarvitarEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-	dw NoEggMoves
-; 0x23d07
--- a/data/egg_moves.asm
+++ /dev/null
@@ -1,870 +1,0 @@
-INCLUDE "includes.asm"
-
-
-SECTION "Egg Moves", ROMX
-
-; All instances of Charm, Steel Wing, Sweet Scent, and Lovely Kiss were
-; removed from egg move lists in Crystal, because they are also TMs.
-
-; Staryu's egg moves were removed in Crystal, because Staryu is genderless
-; and can only breed with Ditto.
-
-
-INCLUDE "data/egg_move_pointers.asm"
-
-
-EggMoves::
-
-BulbasaurEggMoves:
-	db LIGHT_SCREEN
-	db SKULL_BASH
-	db SAFEGUARD
-if !_CRYSTAL
-	db CHARM
-endc
-	db RAZOR_WIND
-	db PETAL_DANCE
-	db $ff
-
-CharmanderEggMoves:
-	db BELLY_DRUM
-	db ANCIENTPOWER
-	db ROCK_SLIDE
-	db BITE
-	db OUTRAGE
-	db BEAT_UP
-	db $ff
-
-SquirtleEggMoves:
-	db MIRROR_COAT
-	db HAZE
-	db MIST
-	db CONFUSION
-	db FORESIGHT
-	db FLAIL
-	db $ff
-
-PidgeyEggMoves:
-	db PURSUIT
-	db FAINT_ATTACK
-	db FORESIGHT
-if !_CRYSTAL
-	db STEEL_WING
-endc
-	db $ff
-
-RattataEggMoves:
-	db SCREECH
-	db FLAME_WHEEL
-	db FURY_SWIPES
-	db BITE
-	db COUNTER
-	db REVERSAL
-	db $ff
-
-SpearowEggMoves:
-	db FAINT_ATTACK
-	db FALSE_SWIPE
-	db SCARY_FACE
-	db QUICK_ATTACK
-	db TRI_ATTACK
-	db $ff
-
-EkansEggMoves:
-	db PURSUIT
-	db SLAM
-	db SPITE
-	db BEAT_UP
-if _CRYSTAL
-	db CRUNCH
-endc
-	db $ff
-
-SandshrewEggMoves:
-	db FLAIL
-	db SAFEGUARD
-	db COUNTER
-	db RAPID_SPIN
-if _CRYSTAL
-	db METAL_CLAW
-endc
-	db $ff
-
-NidoranFEggMoves:
-	db SUPERSONIC
-	db DISABLE
-	db TAKE_DOWN
-	db FOCUS_ENERGY
-	db CHARM
-	db COUNTER
-	db BEAT_UP
-	db $ff
-
-NidoranMEggMoves:
-	db SUPERSONIC
-	db DISABLE
-	db TAKE_DOWN
-	db CONFUSION
-	db AMNESIA
-	db COUNTER
-	db BEAT_UP
-	db $ff
-
-VulpixEggMoves:
-	db FAINT_ATTACK
-	db HYPNOSIS
-	db FLAIL
-	db SPITE
-	db DISABLE
-	db $ff
-
-ZubatEggMoves:
-	db QUICK_ATTACK
-	db PURSUIT
-	db FAINT_ATTACK
-	db GUST
-	db WHIRLWIND
-	db $ff
-
-OddishEggMoves:
-	db SWORDS_DANCE
-	db RAZOR_LEAF
-	db FLAIL
-	db SYNTHESIS
-if !_CRYSTAL
-	db CHARM
-endc
-	db $ff
-
-ParasEggMoves:
-	db FALSE_SWIPE
-	db SCREECH
-	db COUNTER
-	db PSYBEAM
-	db FLAIL
-if !_CRYSTAL
-	db SWEET_SCENT
-endc
-	db LIGHT_SCREEN
-	db PURSUIT
-	db $ff
-
-VenonatEggMoves:
-	db BATON_PASS
-	db SCREECH
-	db GIGA_DRAIN
-	db $ff
-
-DiglettEggMoves:
-	db FAINT_ATTACK
-	db SCREECH
-	db ANCIENTPOWER
-	db PURSUIT
-	db BEAT_UP
-	db $ff
-
-MeowthEggMoves:
-	db SPITE
-	db CHARM
-	db HYPNOSIS
-	db AMNESIA
-	db $ff
-
-PsyduckEggMoves:
-	db ICE_BEAM
-	db HYPNOSIS
-	db PSYBEAM
-	db FORESIGHT
-	db LIGHT_SCREEN
-	db FUTURE_SIGHT
-	db PSYCHIC_M
-if _CRYSTAL
-	db CROSS_CHOP
-endc
-	db $ff
-
-MankeyEggMoves:
-	db ROCK_SLIDE
-	db FORESIGHT
-	db MEDITATE
-	db COUNTER
-	db REVERSAL
-	db BEAT_UP
-	db $ff
-
-GrowlitheEggMoves:
-	db BODY_SLAM
-	db SAFEGUARD
-	db CRUNCH
-	db THRASH
-	db FIRE_SPIN
-	db $ff
-
-PoliwagEggMoves:
-	db MIST
-	db SPLASH
-	db BUBBLEBEAM
-	db HAZE
-	db MIND_READER
-	db $ff
-
-AbraEggMoves:
-	db LIGHT_SCREEN
-	db ENCORE
-	db BARRIER
-	db $ff
-
-MachopEggMoves:
-	db LIGHT_SCREEN
-	db MEDITATE
-	db ROLLING_KICK
-	db ENCORE
-	db $ff
-
-BellsproutEggMoves:
-	db SWORDS_DANCE
-	db ENCORE
-	db REFLECT
-	db SYNTHESIS
-	db LEECH_LIFE
-	db $ff
-
-TentacoolEggMoves:
-	db AURORA_BEAM
-	db MIRROR_COAT
-	db RAPID_SPIN
-	db HAZE
-	db SAFEGUARD
-	db $ff
-
-GeodudeEggMoves:
-	db MEGA_PUNCH
-	db ROCK_SLIDE
-	db $ff
-
-PonytaEggMoves:
-	db FLAME_WHEEL
-	db THRASH
-	db DOUBLE_KICK
-	db HYPNOSIS
-	db CHARM
-	db QUICK_ATTACK
-	db $ff
-
-SlowpokeEggMoves:
-	db SAFEGUARD
-	db BELLY_DRUM
-	db FUTURE_SIGHT
-	db STOMP
-	db $ff
-
-FarfetchDEggMoves:
-if !_CRYSTAL
-	db STEEL_WING
-endc
-	db FORESIGHT
-	db MIRROR_MOVE
-	db GUST
-	db QUICK_ATTACK
-	db FLAIL
-	db $ff
-
-DoduoEggMoves:
-	db QUICK_ATTACK
-	db SUPERSONIC
-	db HAZE
-	db FAINT_ATTACK
-	db FLAIL
-	db $ff
-
-SeelEggMoves:
-	db LICK
-	db PERISH_SONG
-	db DISABLE
-	db PECK
-	db SLAM
-	db ENCORE
-	db $ff
-
-GrimerEggMoves:
-	db HAZE
-	db MEAN_LOOK
-	db LICK
-	db $ff
-
-ShellderEggMoves:
-	db BUBBLEBEAM
-	db TAKE_DOWN
-	db BARRIER
-	db RAPID_SPIN
-	db SCREECH
-	db $ff
-
-GastlyEggMoves:
-	db PSYWAVE
-	db PERISH_SONG
-	db HAZE
-	db $ff
-
-OnixEggMoves:
-	db ROCK_SLIDE
-	db FLAIL
-	db $ff
-
-DrowzeeEggMoves:
-	db LIGHT_SCREEN
-	db BARRIER
-	db $ff
-
-KrabbyEggMoves:
-	db DIG
-	db HAZE
-	db AMNESIA
-	db FLAIL
-	db SLAM
-	db $ff
-
-ExeggcuteEggMoves:
-	db SYNTHESIS
-	db MOONLIGHT
-	db REFLECT
-	db MEGA_DRAIN
-	db ANCIENTPOWER
-	db $ff
-
-CuboneEggMoves:
-	db ROCK_SLIDE
-	db ANCIENTPOWER
-	db BELLY_DRUM
-	db SCREECH
-	db SKULL_BASH
-	db PERISH_SONG
-if _CRYSTAL
-	db SWORDS_DANCE
-endc
-	db $ff
-
-LickitungEggMoves:
-	db BELLY_DRUM
-	db MAGNITUDE
-	db BODY_SLAM
-	db $ff
-
-KoffingEggMoves:
-	db SCREECH
-	db PSYWAVE
-	db PSYBEAM
-	db DESTINY_BOND
-	db PAIN_SPLIT
-	db $ff
-
-RhyhornEggMoves:
-	db CRUNCH
-	db REVERSAL
-	db ROCK_SLIDE
-	db THRASH
-	db PURSUIT
-	db COUNTER
-	db MAGNITUDE
-	db $ff
-
-ChanseyEggMoves:
-	db PRESENT
-	db METRONOME
-	db HEAL_BELL
-	db $ff
-
-TangelaEggMoves:
-	db FLAIL
-	db CONFUSION
-	db MEGA_DRAIN
-	db REFLECT
-	db AMNESIA
-	db $ff
-
-KangaskhanEggMoves:
-	db STOMP
-	db FORESIGHT
-	db FOCUS_ENERGY
-	db SAFEGUARD
-	db DISABLE
-	db $ff
-
-HorseaEggMoves:
-	db FLAIL
-	db AURORA_BEAM
-	db OCTAZOOKA
-	db DISABLE
-	db SPLASH
-	db DRAGON_RAGE
-	db $ff
-
-GoldeenEggMoves:
-	db PSYBEAM
-	db HAZE
-	db HYDRO_PUMP
-	db $ff
-
-if !_CRYSTAL
-StaryuEggMoves:
-	db AURORA_BEAM
-	db BARRIER
-	db SUPERSONIC
-	db $ff
-endc
-
-MrMimeEggMoves:
-	db FUTURE_SIGHT
-	db HYPNOSIS
-	db MIMIC
-	db $ff
-
-ScytherEggMoves:
-	db COUNTER
-	db SAFEGUARD
-	db BATON_PASS
-	db RAZOR_WIND
-	db REVERSAL
-	db LIGHT_SCREEN
-	db $ff
-
-PinsirEggMoves:
-	db FURY_ATTACK
-	db FLAIL
-	db $ff
-
-LaprasEggMoves:
-	db AURORA_BEAM
-	db FORESIGHT
-	db $ff
-
-EeveeEggMoves:
-	db FLAIL
-	db CHARM
-	db $ff
-
-OmanyteEggMoves:
-	db BUBBLEBEAM
-	db AURORA_BEAM
-	db SLAM
-	db SUPERSONIC
-	db HAZE
-	db $ff
-
-KabutoEggMoves:
-	db BUBBLEBEAM
-	db AURORA_BEAM
-	db RAPID_SPIN
-	db DIG
-	db FLAIL
-	db $ff
-
-AerodactylEggMoves:
-	db WHIRLWIND
-	db PURSUIT
-	db FORESIGHT
-if !_CRYSTAL
-	db STEEL_WING
-endc
-	db $ff
-
-SnorlaxEggMoves:
-	db LICK
-if !_CRYSTAL
-	db CHARM
-endc
-	db $ff
-
-DratiniEggMoves:
-	db LIGHT_SCREEN
-	db MIST
-	db HAZE
-	db SUPERSONIC
-	db $ff
-
-ChikoritaEggMoves:
-	db VINE_WHIP
-	db LEECH_SEED
-	db COUNTER
-	db ANCIENTPOWER
-	db FLAIL
-	db SWORDS_DANCE
-	db $ff
-
-CyndaquilEggMoves:
-	db FURY_SWIPES
-	db QUICK_ATTACK
-	db REVERSAL
-	db THRASH
-	db FORESIGHT
-if _CRYSTAL
-	db SUBMISSION
-endc
-	db $ff
-
-TotodileEggMoves:
-	db CRUNCH
-	db THRASH
-	db HYDRO_PUMP
-	db ANCIENTPOWER
-	db RAZOR_WIND
-	db ROCK_SLIDE
-	db $ff
-
-SentretEggMoves:
-	db DOUBLE_EDGE
-	db PURSUIT
-	db SLASH
-	db FOCUS_ENERGY
-	db REVERSAL
-	db $ff
-
-HoothootEggMoves:
-	db MIRROR_MOVE
-	db SUPERSONIC
-	db FAINT_ATTACK
-	db WING_ATTACK
-	db WHIRLWIND
-if _CRYSTAL
-	db SKY_ATTACK
-endc
-	db $ff
-
-LedybaEggMoves:
-	db PSYBEAM
-	db BIDE
-	db LIGHT_SCREEN
-	db $ff
-
-SpinarakEggMoves:
-	db PSYBEAM
-	db DISABLE
-	db SONICBOOM
-	db BATON_PASS
-	db PURSUIT
-	db $ff
-
-ChinchouEggMoves:
-	db FLAIL
-	db SUPERSONIC
-	db SCREECH
-	db $ff
-
-PichuEggMoves:
-	db REVERSAL
-	db BIDE
-	db PRESENT
-	db ENCORE
-	db DOUBLESLAP
-	db $ff
-
-CleffaEggMoves:
-	db PRESENT
-	db METRONOME
-	db AMNESIA
-	db BELLY_DRUM
-	db SPLASH
-	db MIMIC
-	db $ff
-
-IgglybuffEggMoves:
-	db PERISH_SONG
-	db PRESENT
-	db FAINT_ATTACK
-	db $ff
-
-TogepiEggMoves:
-	db PRESENT
-	db MIRROR_MOVE
-	db PECK
-	db FORESIGHT
-	db FUTURE_SIGHT
-	db $ff
-
-NatuEggMoves:
-	db HAZE
-	db DRILL_PECK
-	db QUICK_ATTACK
-	db FAINT_ATTACK
-	db STEEL_WING
-	db $ff
-
-MareepEggMoves:
-	db THUNDERBOLT
-	db TAKE_DOWN
-	db BODY_SLAM
-	db SAFEGUARD
-	db SCREECH
-	db REFLECT
-	db $ff
-
-MarillEggMoves:
-	db LIGHT_SCREEN
-	db PRESENT
-	db AMNESIA
-	db FUTURE_SIGHT
-	db BELLY_DRUM
-	db PERISH_SONG
-	db SUPERSONIC
-	db FORESIGHT
-	db $ff
-
-SudowoodoEggMoves:
-	db SELFDESTRUCT
-	db $ff
-
-HoppipEggMoves:
-	db CONFUSION
-	db GROWL
-	db ENCORE
-	db DOUBLE_EDGE
-	db REFLECT
-	db AMNESIA
-	db PAY_DAY
-	db $ff
-
-AipomEggMoves:
-	db COUNTER
-	db SCREECH
-	db PURSUIT
-	db AGILITY
-	db SPITE
-	db SLAM
-	db DOUBLESLAP
-	db BEAT_UP
-	db $ff
-
-YanmaEggMoves:
-	db WHIRLWIND
-	db REVERSAL
-	db LEECH_LIFE
-	db $ff
-
-WooperEggMoves:
-	db BODY_SLAM
-	db ANCIENTPOWER
-	db SAFEGUARD
-	db $ff
-
-MurkrowEggMoves:
-	db WHIRLWIND
-	db DRILL_PECK
-	db QUICK_ATTACK
-	db MIRROR_MOVE
-	db WING_ATTACK
-if _CRYSTAL
-	db SKY_ATTACK
-endc
-	db $ff
-
-MisdreavusEggMoves:
-	db SCREECH
-	db DESTINY_BOND
-	db $ff
-
-GirafarigEggMoves:
-	db TAKE_DOWN
-	db AMNESIA
-	db FORESIGHT
-	db FUTURE_SIGHT
-	db BEAT_UP
-	db $ff
-
-PinecoEggMoves:
-	db REFLECT
-	db PIN_MISSILE
-	db FLAIL
-	db SWIFT
-	db $ff
-
-DunsparceEggMoves:
-	db BIDE
-	db ANCIENTPOWER
-	db ROCK_SLIDE
-	db BITE
-	db RAGE
-	db $ff
-
-GligarEggMoves:
-	db METAL_CLAW
-	db WING_ATTACK
-	db RAZOR_WIND
-	db COUNTER
-	db $ff
-
-SnubbullEggMoves:
-	db METRONOME
-	db FAINT_ATTACK
-	db REFLECT
-	db PRESENT
-	db CRUNCH
-	db HEAL_BELL
-	db LICK
-	db LEER
-	db $ff
-
-QwilfishEggMoves:
-	db FLAIL
-	db HAZE
-	db BUBBLEBEAM
-	db SUPERSONIC
-	db $ff
-
-ShuckleEggMoves:
-	db SWEET_SCENT
-	db $ff
-
-HeracrossEggMoves:
-	db HARDEN
-	db BIDE
-	db FLAIL
-	db $ff
-
-SneaselEggMoves:
-	db COUNTER
-	db SPITE
-	db FORESIGHT
-	db REFLECT
-	db BITE
-	db $ff
-
-TeddiursaEggMoves:
-	db CRUNCH
-	db TAKE_DOWN
-	db SEISMIC_TOSS
-	db FOCUS_ENERGY
-	db COUNTER
-if _CRYSTAL
-	db METAL_CLAW
-endc
-	db $ff
-
-SlugmaEggMoves:
-	db ACID_ARMOR
-	db $ff
-
-SwinubEggMoves:
-	db TAKE_DOWN
-	db BITE
-	db BODY_SLAM
-	db ROCK_SLIDE
-	db ANCIENTPOWER
-	db $ff
-
-CorsolaEggMoves:
-	db ROCK_SLIDE
-	db SAFEGUARD
-	db SCREECH
-	db MIST
-	db AMNESIA
-	db $ff
-
-RemoraidEggMoves:
-	db AURORA_BEAM
-	db OCTAZOOKA
-	db SUPERSONIC
-	db HAZE
-	db SCREECH
-	db $ff
-
-DelibirdEggMoves:
-	db AURORA_BEAM
-	db QUICK_ATTACK
-	db FUTURE_SIGHT
-	db SPLASH
-	db RAPID_SPIN
-	db $ff
-
-MantineEggMoves:
-	db TWISTER
-	db HYDRO_PUMP
-	db HAZE
-	db SLAM
-	db $ff
-
-SkarmoryEggMoves:
-	db DRILL_PECK
-	db PURSUIT
-	db WHIRLWIND
-if _CRYSTAL
-	db SKY_ATTACK
-endc
-	db $ff
-
-HoundourEggMoves:
-	db FIRE_SPIN
-	db RAGE
-	db PURSUIT
-	db COUNTER
-	db SPITE
-	db REVERSAL
-	db BEAT_UP
-	db $ff
-
-PhanpyEggMoves:
-	db FOCUS_ENERGY
-	db BODY_SLAM
-	db ANCIENTPOWER
-if _CRYSTAL
-	db WATER_GUN
-endc
-	db $ff
-
-StantlerEggMoves:
-	db REFLECT
-	db SPITE
-	db DISABLE
-	db LIGHT_SCREEN
-	db BITE
-	db $ff
-
-TyrogueEggMoves:
-	db RAPID_SPIN
-	db HI_JUMP_KICK
-	db MACH_PUNCH
-	db MIND_READER
-	db $ff
-
-SmoochumEggMoves:
-if !_CRYSTAL
-	db LOVELY_KISS
-endc
-	db MEDITATE
-	db $ff
-
-ElekidEggMoves:
-	db KARATE_CHOP
-	db BARRIER
-	db ROLLING_KICK
-	db MEDITATE
-if _CRYSTAL
-	db CROSS_CHOP
-endc
-	db $ff
-
-MagbyEggMoves:
-	db KARATE_CHOP
-	db MEGA_PUNCH
-	db BARRIER
-	db SCREECH
-if _CRYSTAL
-	db CROSS_CHOP
-endc
-	db $ff
-
-MiltankEggMoves:
-	db PRESENT
-	db REVERSAL
-	db SEISMIC_TOSS
-	db $ff
-
-LarvitarEggMoves:
-	db PURSUIT
-	db STOMP
-	db OUTRAGE
-	db FOCUS_ENERGY
-	db ANCIENTPOWER
-	db $ff
-
-NoEggMoves:
-	db $ff
--- a/data/evos_attacks.asm
+++ /dev/null
@@ -1,3398 +1,0 @@
-INCLUDE "includes.asm"
-
-
-SECTION "Evolutions and Attacks", ROMX
-
-
-INCLUDE "data/evos_attacks_pointers.asm"
-
-
-EvosAttacks::
-
-BulbasaurEvosAttacks:
-	db EVOLVE_LEVEL, 16, IVYSAUR
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 4, GROWL
-	db 7, LEECH_SEED
-	db 10, VINE_WHIP
-	db 15, POISONPOWDER
-	db 15, SLEEP_POWDER
-	db 20, RAZOR_LEAF
-	db 25, SWEET_SCENT
-	db 32, GROWTH
-	db 39, SYNTHESIS
-	db 46, SOLARBEAM
-	db 0 ; no more level-up moves
-
-IvysaurEvosAttacks:
-	db EVOLVE_LEVEL, 32, VENUSAUR
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, GROWL
-	db 1, LEECH_SEED
-	db 4, GROWL
-	db 7, LEECH_SEED
-	db 10, VINE_WHIP
-	db 15, POISONPOWDER
-	db 15, SLEEP_POWDER
-	db 22, RAZOR_LEAF
-	db 29, SWEET_SCENT
-	db 38, GROWTH
-	db 47, SYNTHESIS
-	db 56, SOLARBEAM
-	db 0 ; no more level-up moves
-
-VenusaurEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, GROWL
-	db 1, LEECH_SEED
-	db 1, VINE_WHIP
-	db 4, GROWL
-	db 7, LEECH_SEED
-	db 10, VINE_WHIP
-	db 15, POISONPOWDER
-	db 15, SLEEP_POWDER
-	db 22, RAZOR_LEAF
-	db 29, SWEET_SCENT
-	db 41, GROWTH
-	db 53, SYNTHESIS
-	db 65, SOLARBEAM
-	db 0 ; no more level-up moves
-
-CharmanderEvosAttacks:
-	db EVOLVE_LEVEL, 16, CHARMELEON
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, GROWL
-	db 7, EMBER
-	db 13, SMOKESCREEN
-	db 19, RAGE
-	db 25, SCARY_FACE
-	db 31, FLAMETHROWER
-	db 37, SLASH
-	db 43, DRAGON_RAGE
-	db 49, FIRE_SPIN
-	db 0 ; no more level-up moves
-
-CharmeleonEvosAttacks:
-	db EVOLVE_LEVEL, 36, CHARIZARD
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, GROWL
-	db 1, EMBER
-	db 7, EMBER
-	db 13, SMOKESCREEN
-	db 20, RAGE
-	db 27, SCARY_FACE
-	db 34, FLAMETHROWER
-	db 41, SLASH
-	db 48, DRAGON_RAGE
-	db 55, FIRE_SPIN
-	db 0 ; no more level-up moves
-
-CharizardEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, GROWL
-	db 1, EMBER
-	db 1, SMOKESCREEN
-	db 7, EMBER
-	db 13, SMOKESCREEN
-	db 20, RAGE
-	db 27, SCARY_FACE
-	db 34, FLAMETHROWER
-	db 36, WING_ATTACK
-	db 44, SLASH
-	db 54, DRAGON_RAGE
-	db 64, FIRE_SPIN
-	db 0 ; no more level-up moves
-
-SquirtleEvosAttacks:
-	db EVOLVE_LEVEL, 16, WARTORTLE
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 4, TAIL_WHIP
-	db 7, BUBBLE
-	db 10, WITHDRAW
-	db 13, WATER_GUN
-	db 18, BITE
-	db 23, RAPID_SPIN
-	db 28, PROTECT
-	db 33, RAIN_DANCE
-	db 40, SKULL_BASH
-	db 47, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-WartortleEvosAttacks:
-	db EVOLVE_LEVEL, 36, BLASTOISE
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, TAIL_WHIP
-	db 1, BUBBLE
-	db 4, TAIL_WHIP
-	db 7, BUBBLE
-	db 10, WITHDRAW
-	db 13, WATER_GUN
-	db 19, BITE
-	db 25, RAPID_SPIN
-	db 31, PROTECT
-	db 37, RAIN_DANCE
-	db 45, SKULL_BASH
-	db 53, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-BlastoiseEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, TAIL_WHIP
-	db 1, BUBBLE
-	db 1, WITHDRAW
-	db 4, TAIL_WHIP
-	db 7, BUBBLE
-	db 10, WITHDRAW
-	db 13, WATER_GUN
-	db 19, BITE
-	db 25, RAPID_SPIN
-	db 31, PROTECT
-	db 42, RAIN_DANCE
-	db 55, SKULL_BASH
-	db 68, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-CaterpieEvosAttacks:
-	db EVOLVE_LEVEL, 7, METAPOD
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, STRING_SHOT
-	db 0 ; no more level-up moves
-
-MetapodEvosAttacks:
-	db EVOLVE_LEVEL, 10, BUTTERFREE
-	db 0 ; no more evolutions
-	db 1, HARDEN
-	db 7, HARDEN
-	db 0 ; no more level-up moves
-
-ButterfreeEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, CONFUSION
-	db 10, CONFUSION
-	db 13, POISONPOWDER
-	db 14, STUN_SPORE
-	db 15, SLEEP_POWDER
-	db 18, SUPERSONIC
-	db 23, WHIRLWIND
-	db 28, GUST
-	db 34, PSYBEAM
-	db 40, SAFEGUARD
-	db 0 ; no more level-up moves
-
-WeedleEvosAttacks:
-	db EVOLVE_LEVEL, 7, KAKUNA
-	db 0 ; no more evolutions
-	db 1, POISON_STING
-	db 1, STRING_SHOT
-	db 0 ; no more level-up moves
-
-KakunaEvosAttacks:
-	db EVOLVE_LEVEL, 10, BEEDRILL
-	db 0 ; no more evolutions
-	db 1, HARDEN
-	db 7, HARDEN
-	db 0 ; no more level-up moves
-
-BeedrillEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, FURY_ATTACK
-	db 10, FURY_ATTACK
-	db 15, FOCUS_ENERGY
-	db 20, TWINEEDLE
-	db 25, RAGE
-	db 30, PURSUIT
-	db 35, PIN_MISSILE
-	db 40, AGILITY
-	db 0 ; no more level-up moves
-
-PidgeyEvosAttacks:
-	db EVOLVE_LEVEL, 18, PIDGEOTTO
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 5, SAND_ATTACK
-	db 9, GUST
-	db 15, QUICK_ATTACK
-	db 21, WHIRLWIND
-	db 29, WING_ATTACK
-	db 37, AGILITY
-	db 47, MIRROR_MOVE
-	db 0 ; no more level-up moves
-
-PidgeottoEvosAttacks:
-	db EVOLVE_LEVEL, 36, PIDGEOT
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, SAND_ATTACK
-	db 1, GUST
-	db 5, SAND_ATTACK
-	db 9, GUST
-	db 15, QUICK_ATTACK
-	db 23, WHIRLWIND
-	db 33, WING_ATTACK
-	db 43, AGILITY
-	db 55, MIRROR_MOVE
-	db 0 ; no more level-up moves
-
-PidgeotEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, SAND_ATTACK
-	db 1, GUST
-	db 1, QUICK_ATTACK
-	db 5, SAND_ATTACK
-	db 9, GUST
-	db 15, QUICK_ATTACK
-	db 23, WHIRLWIND
-	db 33, WING_ATTACK
-	db 46, AGILITY
-	db 61, MIRROR_MOVE
-	db 0 ; no more level-up moves
-
-RattataEvosAttacks:
-	db EVOLVE_LEVEL, 20, RATICATE
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, TAIL_WHIP
-	db 7, QUICK_ATTACK
-	db 13, HYPER_FANG
-	db 20, FOCUS_ENERGY
-	db 27, PURSUIT
-	db 34, SUPER_FANG
-	db 0 ; no more level-up moves
-
-RaticateEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, TAIL_WHIP
-	db 1, QUICK_ATTACK
-	db 7, QUICK_ATTACK
-	db 13, HYPER_FANG
-	db 20, SCARY_FACE
-	db 30, PURSUIT
-	db 40, SUPER_FANG
-	db 0 ; no more level-up moves
-
-SpearowEvosAttacks:
-	db EVOLVE_LEVEL, 20, FEAROW
-	db 0 ; no more evolutions
-	db 1, PECK
-	db 1, GROWL
-	db 7, LEER
-	db 13, FURY_ATTACK
-	db 25, PURSUIT
-	db 31, MIRROR_MOVE
-	db 37, DRILL_PECK
-	db 43, AGILITY
-	db 0 ; no more level-up moves
-
-FearowEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, PECK
-	db 1, GROWL
-	db 1, LEER
-	db 1, FURY_ATTACK
-	db 7, LEER
-	db 13, FURY_ATTACK
-	db 26, PURSUIT
-	db 32, MIRROR_MOVE
-	db 40, DRILL_PECK
-	db 47, AGILITY
-	db 0 ; no more level-up moves
-
-EkansEvosAttacks:
-	db EVOLVE_LEVEL, 22, ARBOK
-	db 0 ; no more evolutions
-	db 1, WRAP
-	db 1, LEER
-	db 9, POISON_STING
-	db 15, BITE
-	db 23, GLARE
-	db 29, SCREECH
-	db 37, ACID
-	db 43, HAZE
-	db 0 ; no more level-up moves
-
-ArbokEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, WRAP
-	db 1, LEER
-	db 1, POISON_STING
-	db 1, BITE
-	db 9, POISON_STING
-	db 15, BITE
-	db 25, GLARE
-	db 33, SCREECH
-	db 43, ACID
-	db 51, HAZE
-	db 0 ; no more level-up moves
-
-PikachuEvosAttacks:
-	db EVOLVE_ITEM, THUNDERSTONE, RAICHU
-	db 0 ; no more evolutions
-	db 1, THUNDERSHOCK
-	db 1, GROWL
-	db 6, TAIL_WHIP
-	db 8, THUNDER_WAVE
-	db 11, QUICK_ATTACK
-	db 15, DOUBLE_TEAM
-	db 20, SLAM
-	db 26, THUNDERBOLT
-	db 33, AGILITY
-	db 41, THUNDER
-	db 50, LIGHT_SCREEN
-	db 0 ; no more level-up moves
-
-RaichuEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, THUNDERSHOCK
-	db 1, TAIL_WHIP
-	db 1, QUICK_ATTACK
-	db 1, THUNDERBOLT
-	db 0 ; no more level-up moves
-
-SandshrewEvosAttacks:
-	db EVOLVE_LEVEL, 22, SANDSLASH
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 6, DEFENSE_CURL
-	db 11, SAND_ATTACK
-	db 17, POISON_STING
-	db 23, SLASH
-	db 30, SWIFT
-	db 37, FURY_SWIPES
-	db 45, SANDSTORM
-	db 0 ; no more level-up moves
-
-SandslashEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, DEFENSE_CURL
-	db 1, SAND_ATTACK
-	db 6, DEFENSE_CURL
-	db 11, SAND_ATTACK
-	db 17, POISON_STING
-	db 24, SLASH
-	db 33, SWIFT
-	db 42, FURY_SWIPES
-	db 52, SANDSTORM
-	db 0 ; no more level-up moves
-
-NidoranFEvosAttacks:
-	db EVOLVE_LEVEL, 16, NIDORINA
-	db 0 ; no more evolutions
-	db 1, GROWL
-	db 1, TACKLE
-	db 8, SCRATCH
-	db 12, DOUBLE_KICK
-	db 17, POISON_STING
-	db 23, TAIL_WHIP
-	db 30, BITE
-	db 38, FURY_SWIPES
-	db 0 ; no more level-up moves
-
-NidorinaEvosAttacks:
-	db EVOLVE_ITEM, MOON_STONE, NIDOQUEEN
-	db 0 ; no more evolutions
-	db 1, GROWL
-	db 1, TACKLE
-	db 8, SCRATCH
-	db 12, DOUBLE_KICK
-	db 19, POISON_STING
-	db 27, TAIL_WHIP
-	db 36, BITE
-	db 46, FURY_SWIPES
-	db 0 ; no more level-up moves
-
-NidoqueenEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, SCRATCH
-	db 1, DOUBLE_KICK
-	db 1, TAIL_WHIP
-	db 23, BODY_SLAM
-	db 0 ; no more level-up moves
-
-NidoranMEvosAttacks:
-	db EVOLVE_LEVEL, 16, NIDORINO
-	db 0 ; no more evolutions
-	db 1, LEER
-	db 1, TACKLE
-	db 8, HORN_ATTACK
-	db 12, DOUBLE_KICK
-	db 17, POISON_STING
-	db 23, FOCUS_ENERGY
-	db 30, FURY_ATTACK
-	db 38, HORN_DRILL
-	db 0 ; no more level-up moves
-
-NidorinoEvosAttacks:
-	db EVOLVE_ITEM, MOON_STONE, NIDOKING
-	db 0 ; no more evolutions
-	db 1, LEER
-	db 1, TACKLE
-	db 8, HORN_ATTACK
-	db 12, DOUBLE_KICK
-	db 19, POISON_STING
-	db 27, FOCUS_ENERGY
-	db 36, FURY_ATTACK
-	db 46, HORN_DRILL
-	db 0 ; no more level-up moves
-
-NidokingEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, HORN_ATTACK
-	db 1, DOUBLE_KICK
-	db 1, POISON_STING
-	db 23, THRASH
-	db 0 ; no more level-up moves
-
-ClefairyEvosAttacks:
-	db EVOLVE_ITEM, MOON_STONE, CLEFABLE
-	db 0 ; no more evolutions
-	db 1, POUND
-	db 1, GROWL
-	db 4, ENCORE
-	db 8, SING
-	db 13, DOUBLESLAP
-	db 19, MINIMIZE
-	db 26, DEFENSE_CURL
-	db 34, METRONOME
-	db 43, MOONLIGHT
-	db 53, LIGHT_SCREEN
-	db 0 ; no more level-up moves
-
-ClefableEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SING
-	db 1, DOUBLESLAP
-	db 1, METRONOME
-	db 1, MOONLIGHT
-	db 0 ; no more level-up moves
-
-VulpixEvosAttacks:
-	db EVOLVE_ITEM, FIRE_STONE, NINETALES
-	db 0 ; no more evolutions
-	db 1, EMBER
-	db 1, TAIL_WHIP
-	db 7, QUICK_ATTACK
-	db 13, ROAR
-	db 19, CONFUSE_RAY
-	db 25, SAFEGUARD
-	db 31, FLAMETHROWER
-	db 37, FIRE_SPIN
-	db 0 ; no more level-up moves
-
-NinetalesEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, EMBER
-	db 1, QUICK_ATTACK
-	db 1, CONFUSE_RAY
-	db 1, SAFEGUARD
-	db 43, FIRE_SPIN
-	db 0 ; no more level-up moves
-
-JigglypuffEvosAttacks:
-	db EVOLVE_ITEM, MOON_STONE, WIGGLYTUFF
-	db 0 ; no more evolutions
-	db 1, SING
-	db 4, DEFENSE_CURL
-	db 9, POUND
-	db 14, DISABLE
-	db 19, ROLLOUT
-	db 24, DOUBLESLAP
-	db 29, REST
-	db 34, BODY_SLAM
-	db 39, DOUBLE_EDGE
-	db 0 ; no more level-up moves
-
-WigglytuffEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SING
-	db 1, DISABLE
-	db 1, DEFENSE_CURL
-	db 1, DOUBLESLAP
-	db 0 ; no more level-up moves
-
-ZubatEvosAttacks:
-	db EVOLVE_LEVEL, 22, GOLBAT
-	db 0 ; no more evolutions
-	db 1, LEECH_LIFE
-	db 6, SUPERSONIC
-	db 12, BITE
-	db 19, CONFUSE_RAY
-	db 27, WING_ATTACK
-	db 36, MEAN_LOOK
-	db 46, HAZE
-	db 0 ; no more level-up moves
-
-GolbatEvosAttacks:
-	db EVOLVE_HAPPINESS, TR_ANYTIME, CROBAT
-	db 0 ; no more evolutions
-	db 1, SCREECH
-	db 1, LEECH_LIFE
-	db 1, SUPERSONIC
-	db 6, SUPERSONIC
-	db 12, BITE
-	db 19, CONFUSE_RAY
-	db 30, WING_ATTACK
-	db 42, MEAN_LOOK
-	db 55, HAZE
-	db 0 ; no more level-up moves
-
-OddishEvosAttacks:
-	db EVOLVE_LEVEL, 21, GLOOM
-	db 0 ; no more evolutions
-	db 1, ABSORB
-	db 7, SWEET_SCENT
-	db 14, POISONPOWDER
-	db 16, STUN_SPORE
-	db 18, SLEEP_POWDER
-	db 23, ACID
-	db 32, MOONLIGHT
-	db 39, PETAL_DANCE
-	db 0 ; no more level-up moves
-
-GloomEvosAttacks:
-	db EVOLVE_ITEM, LEAF_STONE, VILEPLUME
-	db EVOLVE_ITEM, SUN_STONE, BELLOSSOM
-	db 0 ; no more evolutions
-	db 1, ABSORB
-	db 1, SWEET_SCENT
-	db 1, POISONPOWDER
-	db 7, SWEET_SCENT
-	db 14, POISONPOWDER
-	db 16, STUN_SPORE
-	db 18, SLEEP_POWDER
-	db 24, ACID
-	db 35, MOONLIGHT
-	db 44, PETAL_DANCE
-	db 0 ; no more level-up moves
-
-VileplumeEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, ABSORB
-	db 1, SWEET_SCENT
-	db 1, STUN_SPORE
-	db 1, PETAL_DANCE
-	db 0 ; no more level-up moves
-
-ParasEvosAttacks:
-	db EVOLVE_LEVEL, 24, PARASECT
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 7, STUN_SPORE
-	db 13, POISONPOWDER
-	db 19, LEECH_LIFE
-	db 25, SPORE
-	db 31, SLASH
-	db 37, GROWTH
-	db 43, GIGA_DRAIN
-	db 0 ; no more level-up moves
-
-ParasectEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, STUN_SPORE
-	db 1, POISONPOWDER
-	db 7, STUN_SPORE
-	db 13, POISONPOWDER
-	db 19, LEECH_LIFE
-	db 28, SPORE
-	db 37, SLASH
-	db 46, GROWTH
-	db 55, GIGA_DRAIN
-	db 0 ; no more level-up moves
-
-VenonatEvosAttacks:
-	db EVOLVE_LEVEL, 31, VENOMOTH
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, DISABLE
-	db 1, FORESIGHT
-	db 9, SUPERSONIC
-	db 17, CONFUSION
-	db 20, POISONPOWDER
-	db 25, LEECH_LIFE
-	db 28, STUN_SPORE
-	db 33, PSYBEAM
-	db 36, SLEEP_POWDER
-	db 41, PSYCHIC_M
-	db 0 ; no more level-up moves
-
-VenomothEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, DISABLE
-	db 1, FORESIGHT
-	db 1, SUPERSONIC
-	db 9, SUPERSONIC
-	db 17, CONFUSION
-	db 20, POISONPOWDER
-	db 25, LEECH_LIFE
-	db 28, STUN_SPORE
-	db 31, GUST
-	db 36, PSYBEAM
-	db 42, SLEEP_POWDER
-	db 52, PSYCHIC_M
-	db 0 ; no more level-up moves
-
-DiglettEvosAttacks:
-	db EVOLVE_LEVEL, 26, DUGTRIO
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 5, GROWL
-	db 9, MAGNITUDE
-	db 17, DIG
-	db 25, SAND_ATTACK
-	db 33, SLASH
-	db 41, EARTHQUAKE
-	db 49, FISSURE
-	db 0 ; no more level-up moves
-
-DugtrioEvosAttacks:
-	db 0 ; no more evolutions
-if _CRYSTAL
-	db 1, TRI_ATTACK
-endc
-	db 1, SCRATCH
-	db 1, GROWL
-	db 1, MAGNITUDE
-	db 5, GROWL
-	db 9, MAGNITUDE
-	db 17, DIG
-	db 25, SAND_ATTACK
-	db 37, SLASH
-	db 49, EARTHQUAKE
-	db 61, FISSURE
-	db 0 ; no more level-up moves
-
-MeowthEvosAttacks:
-	db EVOLVE_LEVEL, 28, PERSIAN
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, GROWL
-	db 11, BITE
-	db 20, PAY_DAY
-	db 28, FAINT_ATTACK
-	db 35, SCREECH
-	db 41, FURY_SWIPES
-	db 46, SLASH
-	db 0 ; no more level-up moves
-
-PersianEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, GROWL
-	db 1, BITE
-	db 11, BITE
-	db 20, PAY_DAY
-	db 29, FAINT_ATTACK
-	db 38, SCREECH
-	db 46, FURY_SWIPES
-	db 53, SLASH
-	db 0 ; no more level-up moves
-
-PsyduckEvosAttacks:
-	db EVOLVE_LEVEL, 33, GOLDUCK
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 5, TAIL_WHIP
-	db 10, DISABLE
-	db 16, CONFUSION
-	db 23, SCREECH
-	db 31, PSYCH_UP
-	db 40, FURY_SWIPES
-	db 50, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-GolduckEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, TAIL_WHIP
-	db 1, DISABLE
-	db 1, CONFUSION
-	db 5, TAIL_WHIP
-	db 10, DISABLE
-	db 16, CONFUSION
-	db 23, SCREECH
-	db 31, PSYCH_UP
-	db 44, FURY_SWIPES
-	db 58, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-MankeyEvosAttacks:
-	db EVOLVE_LEVEL, 28, PRIMEAPE
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, LEER
-	db 9, LOW_KICK
-	db 15, KARATE_CHOP
-	db 21, FURY_SWIPES
-	db 27, FOCUS_ENERGY
-	db 33, SEISMIC_TOSS
-	db 39, CROSS_CHOP
-	db 45, SCREECH
-	db 51, THRASH
-	db 0 ; no more level-up moves
-
-PrimeapeEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, LEER
-	db 1, LOW_KICK
-	db 1, RAGE
-	db 9, LOW_KICK
-	db 15, KARATE_CHOP
-	db 21, FURY_SWIPES
-	db 27, FOCUS_ENERGY
-	db 28, RAGE
-	db 36, SEISMIC_TOSS
-	db 45, CROSS_CHOP
-	db 54, SCREECH
-	db 63, THRASH
-	db 0 ; no more level-up moves
-
-GrowlitheEvosAttacks:
-	db EVOLVE_ITEM, FIRE_STONE, ARCANINE
-	db 0 ; no more evolutions
-	db 1, BITE
-	db 1, ROAR
-	db 9, EMBER
-	db 18, LEER
-	db 26, TAKE_DOWN
-	db 34, FLAME_WHEEL
-	db 42, AGILITY
-	db 50, FLAMETHROWER
-	db 0 ; no more level-up moves
-
-ArcanineEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, ROAR
-	db 1, LEER
-	db 1, TAKE_DOWN
-	db 1, FLAME_WHEEL
-	db 50, EXTREMESPEED
-	db 0 ; no more level-up moves
-
-PoliwagEvosAttacks:
-	db EVOLVE_LEVEL, 25, POLIWHIRL
-	db 0 ; no more evolutions
-	db 1, BUBBLE
-	db 7, HYPNOSIS
-	db 13, WATER_GUN
-	db 19, DOUBLESLAP
-	db 25, RAIN_DANCE
-	db 31, BODY_SLAM
-	db 37, BELLY_DRUM
-	db 43, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-PoliwhirlEvosAttacks:
-	db EVOLVE_ITEM, WATER_STONE, POLIWRATH
-	db EVOLVE_TRADE, KINGS_ROCK, POLITOED
-	db 0 ; no more evolutions
-	db 1, BUBBLE
-	db 1, HYPNOSIS
-	db 1, WATER_GUN
-	db 7, HYPNOSIS
-	db 13, WATER_GUN
-	db 19, DOUBLESLAP
-	db 27, RAIN_DANCE
-	db 35, BODY_SLAM
-	db 43, BELLY_DRUM
-	db 51, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-PoliwrathEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, WATER_GUN
-	db 1, HYPNOSIS
-	db 1, DOUBLESLAP
-	db 1, SUBMISSION
-	db 35, SUBMISSION
-	db 51, MIND_READER
-	db 0 ; no more level-up moves
-
-AbraEvosAttacks:
-	db EVOLVE_LEVEL, 16, KADABRA
-	db 0 ; no more evolutions
-	db 1, TELEPORT
-	db 0 ; no more level-up moves
-
-KadabraEvosAttacks:
-	db EVOLVE_TRADE, $ff, ALAKAZAM
-	db 0 ; no more evolutions
-	db 1, TELEPORT
-	db 1, KINESIS
-	db 1, CONFUSION
-	db 16, CONFUSION
-	db 18, DISABLE
-	db 21, PSYBEAM
-	db 26, RECOVER
-	db 31, FUTURE_SIGHT
-	db 38, PSYCHIC_M
-	db 45, REFLECT
-	db 0 ; no more level-up moves
-
-AlakazamEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TELEPORT
-	db 1, KINESIS
-	db 1, CONFUSION
-	db 16, CONFUSION
-	db 18, DISABLE
-	db 21, PSYBEAM
-	db 26, RECOVER
-	db 31, FUTURE_SIGHT
-	db 38, PSYCHIC_M
-	db 45, REFLECT
-	db 0 ; no more level-up moves
-
-MachopEvosAttacks:
-	db EVOLVE_LEVEL, 28, MACHOKE
-	db 0 ; no more evolutions
-	db 1, LOW_KICK
-	db 1, LEER
-	db 7, FOCUS_ENERGY
-	db 13, KARATE_CHOP
-	db 19, SEISMIC_TOSS
-	db 25, FORESIGHT
-	db 31, VITAL_THROW
-	db 37, CROSS_CHOP
-	db 43, SCARY_FACE
-	db 49, SUBMISSION
-	db 0 ; no more level-up moves
-
-MachokeEvosAttacks:
-	db EVOLVE_TRADE, $ff, MACHAMP
-	db 0 ; no more evolutions
-	db 1, LOW_KICK
-	db 1, LEER
-	db 1, FOCUS_ENERGY
-	db 8, FOCUS_ENERGY
-	db 15, KARATE_CHOP
-	db 19, SEISMIC_TOSS
-	db 25, FORESIGHT
-	db 34, VITAL_THROW
-	db 43, CROSS_CHOP
-	db 52, SCARY_FACE
-	db 61, SUBMISSION
-	db 0 ; no more level-up moves
-
-MachampEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, LOW_KICK
-	db 1, LEER
-	db 1, FOCUS_ENERGY
-	db 8, FOCUS_ENERGY
-	db 15, KARATE_CHOP
-	db 19, SEISMIC_TOSS
-	db 25, FORESIGHT
-	db 34, VITAL_THROW
-	db 43, CROSS_CHOP
-	db 52, SCARY_FACE
-	db 61, SUBMISSION
-	db 0 ; no more level-up moves
-
-BellsproutEvosAttacks:
-	db EVOLVE_LEVEL, 21, WEEPINBELL
-	db 0 ; no more evolutions
-	db 1, VINE_WHIP
-	db 6, GROWTH
-	db 11, WRAP
-	db 15, SLEEP_POWDER
-	db 17, POISONPOWDER
-	db 19, STUN_SPORE
-	db 23, ACID
-	db 30, SWEET_SCENT
-	db 37, RAZOR_LEAF
-	db 45, SLAM
-	db 0 ; no more level-up moves
-
-WeepinbellEvosAttacks:
-	db EVOLVE_ITEM, LEAF_STONE, VICTREEBEL
-	db 0 ; no more evolutions
-	db 1, VINE_WHIP
-	db 1, GROWTH
-	db 1, WRAP
-	db 6, GROWTH
-	db 11, WRAP
-	db 15, SLEEP_POWDER
-	db 17, POISONPOWDER
-	db 19, STUN_SPORE
-	db 24, ACID
-	db 33, SWEET_SCENT
-	db 42, RAZOR_LEAF
-	db 54, SLAM
-	db 0 ; no more level-up moves
-
-VictreebelEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, VINE_WHIP
-	db 1, SLEEP_POWDER
-	db 1, SWEET_SCENT
-	db 1, RAZOR_LEAF
-	db 0 ; no more level-up moves
-
-TentacoolEvosAttacks:
-	db EVOLVE_LEVEL, 30, TENTACRUEL
-	db 0 ; no more evolutions
-	db 1, POISON_STING
-	db 6, SUPERSONIC
-	db 12, CONSTRICT
-	db 19, ACID
-	db 25, BUBBLEBEAM
-	db 30, WRAP
-	db 36, BARRIER
-	db 43, SCREECH
-	db 49, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-TentacruelEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, POISON_STING
-	db 1, SUPERSONIC
-	db 1, CONSTRICT
-	db 6, SUPERSONIC
-	db 12, CONSTRICT
-	db 19, ACID
-	db 25, BUBBLEBEAM
-	db 30, WRAP
-	db 38, BARRIER
-	db 47, SCREECH
-	db 55, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-GeodudeEvosAttacks:
-	db EVOLVE_LEVEL, 25, GRAVELER
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 6, DEFENSE_CURL
-	db 11, ROCK_THROW
-	db 16, MAGNITUDE
-	db 21, SELFDESTRUCT
-	db 26, HARDEN
-	db 31, ROLLOUT
-	db 36, EARTHQUAKE
-	db 41, EXPLOSION
-	db 0 ; no more level-up moves
-
-GravelerEvosAttacks:
-	db EVOLVE_TRADE, $ff, GOLEM
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, DEFENSE_CURL
-	db 1, ROCK_THROW
-	db 6, DEFENSE_CURL
-	db 11, ROCK_THROW
-	db 16, MAGNITUDE
-	db 21, SELFDESTRUCT
-	db 27, HARDEN
-	db 34, ROLLOUT
-	db 41, EARTHQUAKE
-	db 48, EXPLOSION
-	db 0 ; no more level-up moves
-
-GolemEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, DEFENSE_CURL
-	db 1, ROCK_THROW
-	db 1, MAGNITUDE
-	db 6, DEFENSE_CURL
-	db 11, ROCK_THROW
-	db 16, MAGNITUDE
-	db 21, SELFDESTRUCT
-	db 27, HARDEN
-	db 34, ROLLOUT
-	db 41, EARTHQUAKE
-	db 48, EXPLOSION
-	db 0 ; no more level-up moves
-
-PonytaEvosAttacks:
-	db EVOLVE_LEVEL, 40, RAPIDASH
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 4, GROWL
-	db 8, TAIL_WHIP
-	db 13, EMBER
-	db 19, STOMP
-	db 26, FIRE_SPIN
-	db 34, TAKE_DOWN
-	db 43, AGILITY
-	db 53, FIRE_BLAST
-	db 0 ; no more level-up moves
-
-RapidashEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, GROWL
-	db 1, TAIL_WHIP
-	db 1, EMBER
-	db 4, GROWL
-	db 8, TAIL_WHIP
-	db 13, EMBER
-	db 19, STOMP
-	db 26, FIRE_SPIN
-	db 34, TAKE_DOWN
-	db 40, FURY_ATTACK
-	db 47, AGILITY
-	db 61, FIRE_BLAST
-	db 0 ; no more level-up moves
-
-SlowpokeEvosAttacks:
-	db EVOLVE_LEVEL, 37, SLOWBRO
-	db EVOLVE_TRADE, KINGS_ROCK, SLOWKING
-	db 0 ; no more evolutions
-	db 1, CURSE
-	db 1, TACKLE
-	db 6, GROWL
-	db 15, WATER_GUN
-	db 20, CONFUSION
-	db 29, DISABLE
-	db 34, HEADBUTT
-	db 43, AMNESIA
-	db 48, PSYCHIC_M
-	db 0 ; no more level-up moves
-
-SlowbroEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, CURSE
-	db 1, TACKLE
-	db 1, GROWL
-	db 1, WATER_GUN
-	db 6, GROWL
-	db 15, WATER_GUN
-	db 20, CONFUSION
-	db 29, DISABLE
-	db 34, HEADBUTT
-	db 37, WITHDRAW
-	db 46, AMNESIA
-	db 54, PSYCHIC_M
-	db 0 ; no more level-up moves
-
-MagnemiteEvosAttacks:
-	db EVOLVE_LEVEL, 30, MAGNETON
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 6, THUNDERSHOCK
-	db 11, SUPERSONIC
-	db 16, SONICBOOM
-	db 21, THUNDER_WAVE
-	db 27, LOCK_ON
-	db 33, SWIFT
-	db 39, SCREECH
-	db 45, ZAP_CANNON
-	db 0 ; no more level-up moves
-
-MagnetonEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, THUNDERSHOCK
-	db 1, SUPERSONIC
-	db 1, SONICBOOM
-	db 6, THUNDERSHOCK
-	db 11, SUPERSONIC
-	db 16, SONICBOOM
-	db 21, THUNDER_WAVE
-	db 27, LOCK_ON
-if _CRYSTAL
-	db 35, TRI_ATTACK
-else
-	db 35, SWIFT
-endc
-	db 43, SCREECH
-	db 53, ZAP_CANNON
-	db 0 ; no more level-up moves
-
-FarfetchDEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, PECK
-	db 7, SAND_ATTACK
-	db 13, LEER
-	db 19, FURY_ATTACK
-	db 25, SWORDS_DANCE
-	db 31, AGILITY
-	db 37, SLASH
-	db 44, FALSE_SWIPE
-	db 0 ; no more level-up moves
-
-DoduoEvosAttacks:
-	db EVOLVE_LEVEL, 31, DODRIO
-	db 0 ; no more evolutions
-	db 1, PECK
-	db 1, GROWL
-	db 9, PURSUIT
-	db 13, FURY_ATTACK
-	db 21, TRI_ATTACK
-	db 25, RAGE
-	db 33, DRILL_PECK
-	db 37, AGILITY
-	db 0 ; no more level-up moves
-
-DodrioEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, PECK
-	db 1, GROWL
-	db 1, PURSUIT
-	db 1, FURY_ATTACK
-	db 9, PURSUIT
-	db 13, FURY_ATTACK
-	db 21, TRI_ATTACK
-	db 25, RAGE
-	db 38, DRILL_PECK
-	db 47, AGILITY
-	db 0 ; no more level-up moves
-
-SeelEvosAttacks:
-	db EVOLVE_LEVEL, 34, DEWGONG
-	db 0 ; no more evolutions
-	db 1, HEADBUTT
-	db 5, GROWL
-	db 16, AURORA_BEAM
-	db 21, REST
-	db 32, TAKE_DOWN
-	db 37, ICE_BEAM
-	db 48, SAFEGUARD
-	db 0 ; no more level-up moves
-
-DewgongEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, HEADBUTT
-	db 1, GROWL
-	db 1, AURORA_BEAM
-	db 5, GROWL
-	db 16, AURORA_BEAM
-	db 21, REST
-	db 32, TAKE_DOWN
-	db 43, ICE_BEAM
-	db 60, SAFEGUARD
-	db 0 ; no more level-up moves
-
-GrimerEvosAttacks:
-	db EVOLVE_LEVEL, 38, MUK
-	db 0 ; no more evolutions
-	db 1, POISON_GAS
-	db 1, POUND
-	db 5, HARDEN
-	db 10, DISABLE
-	db 16, SLUDGE
-	db 23, MINIMIZE
-	db 31, SCREECH
-	db 40, ACID_ARMOR
-	db 50, SLUDGE_BOMB
-	db 0 ; no more level-up moves
-
-MukEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, POISON_GAS
-	db 1, POUND
-	db 1, HARDEN
-	db 33, HARDEN
-	db 37, DISABLE
-	db 45, SLUDGE
-	db 23, MINIMIZE
-	db 31, SCREECH
-	db 45, ACID_ARMOR
-	db 60, SLUDGE_BOMB
-	db 0 ; no more level-up moves
-
-ShellderEvosAttacks:
-	db EVOLVE_ITEM, WATER_STONE, CLOYSTER
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, WITHDRAW
-	db 9, SUPERSONIC
-	db 17, AURORA_BEAM
-	db 25, PROTECT
-	db 33, LEER
-	db 41, CLAMP
-	db 49, ICE_BEAM
-	db 0 ; no more level-up moves
-
-CloysterEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, WITHDRAW
-	db 1, SUPERSONIC
-	db 1, AURORA_BEAM
-	db 1, PROTECT
-if _CRYSTAL
-	db 33, SPIKES
-endc
-	db 41, SPIKE_CANNON
-	db 0 ; no more level-up moves
-
-GastlyEvosAttacks:
-	db EVOLVE_LEVEL, 25, HAUNTER
-	db 0 ; no more evolutions
-	db 1, HYPNOSIS
-	db 1, LICK
-	db 8, SPITE
-	db 13, MEAN_LOOK
-	db 16, CURSE
-	db 21, NIGHT_SHADE
-	db 28, CONFUSE_RAY
-	db 33, DREAM_EATER
-	db 36, DESTINY_BOND
-	db 0 ; no more level-up moves
-
-HaunterEvosAttacks:
-	db EVOLVE_TRADE, $ff, GENGAR
-	db 0 ; no more evolutions
-	db 1, HYPNOSIS
-	db 1, LICK
-	db 1, SPITE
-	db 8, SPITE
-	db 13, MEAN_LOOK
-	db 16, CURSE
-	db 21, NIGHT_SHADE
-	db 31, CONFUSE_RAY
-	db 39, DREAM_EATER
-	db 48, DESTINY_BOND
-	db 0 ; no more level-up moves
-
-GengarEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, HYPNOSIS
-	db 1, LICK
-	db 1, SPITE
-	db 8, SPITE
-	db 13, MEAN_LOOK
-	db 16, CURSE
-	db 21, NIGHT_SHADE
-	db 31, CONFUSE_RAY
-	db 39, DREAM_EATER
-	db 48, DESTINY_BOND
-	db 0 ; no more level-up moves
-
-OnixEvosAttacks:
-	db EVOLVE_TRADE, METAL_COAT, STEELIX
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, SCREECH
-	db 10, BIND
-	db 14, ROCK_THROW
-	db 23, HARDEN
-	db 27, RAGE
-	db 36, SANDSTORM
-	db 40, SLAM
-	db 0 ; no more level-up moves
-
-DrowzeeEvosAttacks:
-	db EVOLVE_LEVEL, 26, HYPNO
-	db 0 ; no more evolutions
-	db 1, POUND
-	db 1, HYPNOSIS
-	db 10, DISABLE
-	db 18, CONFUSION
-	db 25, HEADBUTT
-	db 31, POISON_GAS
-	db 36, MEDITATE
-	db 40, PSYCHIC_M
-	db 43, PSYCH_UP
-	db 45, FUTURE_SIGHT
-	db 0 ; no more level-up moves
-
-HypnoEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, POUND
-	db 1, HYPNOSIS
-	db 1, DISABLE
-	db 1, CONFUSION
-	db 10, DISABLE
-	db 18, CONFUSION
-	db 25, HEADBUTT
-	db 33, POISON_GAS
-	db 40, MEDITATE
-	db 49, PSYCHIC_M
-	db 55, PSYCH_UP
-	db 60, FUTURE_SIGHT
-	db 0 ; no more level-up moves
-
-KrabbyEvosAttacks:
-	db EVOLVE_LEVEL, 28, KINGLER
-	db 0 ; no more evolutions
-	db 1, BUBBLE
-	db 5, LEER
-	db 12, VICEGRIP
-	db 16, HARDEN
-	db 23, STOMP
-	db 27, GUILLOTINE
-	db 34, PROTECT
-	db 41, CRABHAMMER
-	db 0 ; no more level-up moves
-
-KinglerEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, BUBBLE
-	db 1, LEER
-	db 1, VICEGRIP
-	db 5, LEER
-	db 12, VICEGRIP
-	db 16, HARDEN
-	db 23, STOMP
-	db 27, GUILLOTINE
-	db 38, PROTECT
-	db 49, CRABHAMMER
-	db 0 ; no more level-up moves
-
-VoltorbEvosAttacks:
-	db EVOLVE_LEVEL, 30, ELECTRODE
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 9, SCREECH
-	db 17, SONICBOOM
-	db 23, SELFDESTRUCT
-	db 29, ROLLOUT
-	db 33, LIGHT_SCREEN
-	db 37, SWIFT
-	db 39, EXPLOSION
-	db 41, MIRROR_COAT
-	db 0 ; no more level-up moves
-
-ElectrodeEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, SCREECH
-	db 1, SONICBOOM
-	db 1, SELFDESTRUCT
-	db 9, SCREECH
-	db 17, SONICBOOM
-	db 23, SELFDESTRUCT
-	db 29, ROLLOUT
-	db 34, LIGHT_SCREEN
-	db 40, SWIFT
-	db 44, EXPLOSION
-	db 48, MIRROR_COAT
-	db 0 ; no more level-up moves
-
-ExeggcuteEvosAttacks:
-	db EVOLVE_ITEM, LEAF_STONE, EXEGGUTOR
-	db 0 ; no more evolutions
-	db 1, BARRAGE
-	db 1, HYPNOSIS
-	db 7, REFLECT
-	db 13, LEECH_SEED
-	db 19, CONFUSION
-	db 25, STUN_SPORE
-	db 31, POISONPOWDER
-	db 37, SLEEP_POWDER
-	db 43, SOLARBEAM
-	db 0 ; no more level-up moves
-
-ExeggutorEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, BARRAGE
-	db 1, HYPNOSIS
-	db 1, CONFUSION
-	db 19, STOMP
-	db 31, EGG_BOMB
-	db 0 ; no more level-up moves
-
-CuboneEvosAttacks:
-	db EVOLVE_LEVEL, 28, MAROWAK
-	db 0 ; no more evolutions
-	db 1, GROWL
-	db 5, TAIL_WHIP
-	db 9, BONE_CLUB
-	db 13, HEADBUTT
-	db 17, LEER
-	db 21, FOCUS_ENERGY
-	db 25, BONEMERANG
-	db 29, RAGE
-	db 33, FALSE_SWIPE
-	db 37, THRASH
-	db 41, BONE_RUSH
-	db 0 ; no more level-up moves
-
-MarowakEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, GROWL
-	db 1, TAIL_WHIP
-	db 1, BONE_CLUB
-	db 1, HEADBUTT
-	db 5, TAIL_WHIP
-	db 9, BONE_CLUB
-	db 13, HEADBUTT
-	db 17, LEER
-	db 21, FOCUS_ENERGY
-	db 25, BONEMERANG
-	db 32, RAGE
-	db 39, FALSE_SWIPE
-	db 46, THRASH
-	db 53, BONE_RUSH
-	db 0 ; no more level-up moves
-
-HitmonleeEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, DOUBLE_KICK
-	db 6, MEDITATE
-	db 11, ROLLING_KICK
-	db 16, JUMP_KICK
-	db 21, FOCUS_ENERGY
-	db 26, HI_JUMP_KICK
-	db 31, MIND_READER
-	db 36, FORESIGHT
-	db 41, ENDURE
-	db 46, MEGA_KICK
-	db 51, REVERSAL
-	db 0 ; no more level-up moves
-
-HitmonchanEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, COMET_PUNCH
-	db 7, AGILITY
-	db 13, PURSUIT
-	db 26, THUNDERPUNCH
-	db 26, ICE_PUNCH
-	db 26, FIRE_PUNCH
-	db 32, MACH_PUNCH
-	db 38, MEGA_PUNCH
-	db 44, DETECT
-	db 50, COUNTER
-	db 0 ; no more level-up moves
-
-LickitungEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, LICK
-	db 7, SUPERSONIC
-	db 13, DEFENSE_CURL
-	db 19, STOMP
-	db 25, WRAP
-	db 31, DISABLE
-	db 37, SLAM
-	db 43, SCREECH
-	db 0 ; no more level-up moves
-
-KoffingEvosAttacks:
-	db EVOLVE_LEVEL, 35, WEEZING
-	db 0 ; no more evolutions
-	db 1, POISON_GAS
-	db 1, TACKLE
-	db 9, SMOG
-	db 17, SELFDESTRUCT
-	db 21, SLUDGE
-	db 25, SMOKESCREEN
-	db 33, HAZE
-	db 41, EXPLOSION
-	db 45, DESTINY_BOND
-	db 0 ; no more level-up moves
-
-WeezingEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, POISON_GAS
-	db 1, TACKLE
-	db 1, SMOG
-	db 1, SELFDESTRUCT
-	db 9, SMOG
-	db 17, SELFDESTRUCT
-	db 21, SLUDGE
-	db 25, SMOKESCREEN
-	db 33, HAZE
-	db 44, EXPLOSION
-	db 51, DESTINY_BOND
-	db 0 ; no more level-up moves
-
-RhyhornEvosAttacks:
-	db EVOLVE_LEVEL, 42, RHYDON
-	db 0 ; no more evolutions
-	db 1, HORN_ATTACK
-	db 1, TAIL_WHIP
-	db 13, STOMP
-	db 19, FURY_ATTACK
-	db 31, SCARY_FACE
-	db 37, HORN_DRILL
-	db 49, TAKE_DOWN
-	db 55, EARTHQUAKE
-	db 0 ; no more level-up moves
-
-RhydonEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, HORN_ATTACK
-	db 1, TAIL_WHIP
-	db 1, STOMP
-	db 1, FURY_ATTACK
-	db 13, STOMP
-	db 19, FURY_ATTACK
-	db 31, SCARY_FACE
-	db 37, HORN_DRILL
-	db 54, TAKE_DOWN
-	db 65, EARTHQUAKE
-	db 0 ; no more level-up moves
-
-ChanseyEvosAttacks:
-	db EVOLVE_HAPPINESS, TR_ANYTIME, BLISSEY
-	db 0 ; no more evolutions
-	db 1, POUND
-	db 5, GROWL
-	db 9, TAIL_WHIP
-	db 13, SOFTBOILED
-	db 17, DOUBLESLAP
-	db 23, MINIMIZE
-	db 29, SING
-	db 35, EGG_BOMB
-	db 41, DEFENSE_CURL
-	db 49, LIGHT_SCREEN
-	db 57, DOUBLE_EDGE
-	db 0 ; no more level-up moves
-
-TangelaEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, CONSTRICT
-	db 4, SLEEP_POWDER
-	db 10, ABSORB
-	db 13, POISONPOWDER
-	db 19, VINE_WHIP
-	db 25, BIND
-	db 31, MEGA_DRAIN
-	db 34, STUN_SPORE
-	db 40, SLAM
-	db 46, GROWTH
-	db 0 ; no more level-up moves
-
-KangaskhanEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, COMET_PUNCH
-	db 7, LEER
-	db 13, BITE
-	db 19, TAIL_WHIP
-	db 25, MEGA_PUNCH
-	db 31, RAGE
-	db 37, ENDURE
-	db 43, DIZZY_PUNCH
-	db 49, REVERSAL
-	db 0 ; no more level-up moves
-
-HorseaEvosAttacks:
-	db EVOLVE_LEVEL, 32, SEADRA
-	db 0 ; no more evolutions
-	db 1, BUBBLE
-	db 8, SMOKESCREEN
-	db 15, LEER
-	db 22, WATER_GUN
-	db 29, TWISTER
-	db 36, AGILITY
-	db 43, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-SeadraEvosAttacks:
-	db EVOLVE_TRADE, DRAGON_SCALE, KINGDRA
-	db 0 ; no more evolutions
-	db 1, BUBBLE
-	db 1, SMOKESCREEN
-	db 1, LEER
-	db 1, WATER_GUN
-	db 8, SMOKESCREEN
-	db 15, LEER
-	db 22, WATER_GUN
-	db 29, TWISTER
-	db 40, AGILITY
-	db 51, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-GoldeenEvosAttacks:
-	db EVOLVE_LEVEL, 33, SEAKING
-	db 0 ; no more evolutions
-	db 1, PECK
-	db 1, TAIL_WHIP
-	db 10, SUPERSONIC
-	db 15, HORN_ATTACK
-	db 24, FLAIL
-	db 29, FURY_ATTACK
-	db 38, WATERFALL
-	db 43, HORN_DRILL
-	db 52, AGILITY
-	db 0 ; no more level-up moves
-
-SeakingEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, PECK
-	db 1, TAIL_WHIP
-	db 1, TAIL_WHIP
-	db 10, SUPERSONIC
-	db 15, HORN_ATTACK
-	db 24, FLAIL
-	db 29, FURY_ATTACK
-	db 41, WATERFALL
-	db 49, HORN_DRILL
-	db 61, AGILITY
-	db 0 ; no more level-up moves
-
-StaryuEvosAttacks:
-	db EVOLVE_ITEM, WATER_STONE, STARMIE
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, HARDEN
-	db 7, WATER_GUN
-	db 13, RAPID_SPIN
-	db 19, RECOVER
-	db 25, SWIFT
-	db 31, BUBBLEBEAM
-	db 37, MINIMIZE
-	db 43, LIGHT_SCREEN
-	db 50, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-StarmieEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, RAPID_SPIN
-	db 1, RECOVER
-	db 1, BUBBLEBEAM
-	db 37, CONFUSE_RAY
-	db 0 ; no more level-up moves
-
-MrMimeEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, BARRIER
-	db 6, CONFUSION
-	db 11, SUBSTITUTE
-	db 16, MEDITATE
-	db 21, DOUBLESLAP
-	db 26, LIGHT_SCREEN
-	db 26, REFLECT
-	db 31, ENCORE
-	db 36, PSYBEAM
-	db 41, BATON_PASS
-	db 46, SAFEGUARD
-	db 0 ; no more level-up moves
-
-ScytherEvosAttacks:
-	db EVOLVE_TRADE, METAL_COAT, SCIZOR
-	db 0 ; no more evolutions
-	db 1, QUICK_ATTACK
-	db 1, LEER
-	db 6, FOCUS_ENERGY
-	db 12, PURSUIT
-	db 18, FALSE_SWIPE
-	db 24, AGILITY
-	db 30, WING_ATTACK
-	db 36, SLASH
-	db 42, SWORDS_DANCE
-	db 48, DOUBLE_TEAM
-	db 0 ; no more level-up moves
-
-JynxEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, POUND
-	db 1, LICK
-	db 1, LOVELY_KISS
-	db 1, POWDER_SNOW
-	db 9, LOVELY_KISS
-	db 13, POWDER_SNOW
-	db 21, DOUBLESLAP
-	db 25, ICE_PUNCH
-	db 35, MEAN_LOOK
-	db 41, BODY_SLAM
-	db 51, PERISH_SONG
-	db 57, BLIZZARD
-	db 0 ; no more level-up moves
-
-ElectabuzzEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, QUICK_ATTACK
-	db 1, LEER
-	db 1, THUNDERPUNCH
-	db 9, THUNDERPUNCH
-	db 17, LIGHT_SCREEN
-	db 25, SWIFT
-	db 36, SCREECH
-	db 47, THUNDERBOLT
-	db 58, THUNDER
-	db 0 ; no more level-up moves
-
-MagmarEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, EMBER
-	db 1, LEER
-	db 1, SMOG
-	db 1, FIRE_PUNCH
-	db 7, LEER
-	db 13, SMOG
-	db 19, FIRE_PUNCH
-	db 25, SMOKESCREEN
-	db 33, SUNNY_DAY
-	db 41, FLAMETHROWER
-	db 49, CONFUSE_RAY
-	db 57, FIRE_BLAST
-	db 0 ; no more level-up moves
-
-PinsirEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, VICEGRIP
-	db 7, FOCUS_ENERGY
-	db 13, BIND
-	db 19, SEISMIC_TOSS
-	db 25, HARDEN
-	db 31, GUILLOTINE
-	db 37, SUBMISSION
-	db 43, SWORDS_DANCE
-	db 0 ; no more level-up moves
-
-TaurosEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 4, TAIL_WHIP
-	db 8, RAGE
-	db 13, HORN_ATTACK
-	db 19, SCARY_FACE
-	db 26, PURSUIT
-	db 34, REST
-	db 43, THRASH
-	db 53, TAKE_DOWN
-	db 0 ; no more level-up moves
-
-MagikarpEvosAttacks:
-	db EVOLVE_LEVEL, 20, GYARADOS
-	db 0 ; no more evolutions
-	db 1, SPLASH
-	db 15, TACKLE
-	db 30, FLAIL
-	db 0 ; no more level-up moves
-
-GyaradosEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, THRASH
-	db 20, BITE
-	db 25, DRAGON_RAGE
-	db 30, LEER
-	db 35, TWISTER
-	db 40, HYDRO_PUMP
-	db 45, RAIN_DANCE
-	db 50, HYPER_BEAM
-	db 0 ; no more level-up moves
-
-LaprasEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, WATER_GUN
-	db 1, GROWL
-	db 1, SING
-	db 8, MIST
-	db 15, BODY_SLAM
-	db 22, CONFUSE_RAY
-	db 29, PERISH_SONG
-	db 36, ICE_BEAM
-	db 43, RAIN_DANCE
-	db 50, SAFEGUARD
-	db 57, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-DittoEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TRANSFORM
-	db 0 ; no more level-up moves
-
-EeveeEvosAttacks:
-	db EVOLVE_ITEM, THUNDERSTONE, JOLTEON
-	db EVOLVE_ITEM, WATER_STONE, VAPOREON
-	db EVOLVE_ITEM, FIRE_STONE, FLAREON
-	db EVOLVE_HAPPINESS, TR_MORNDAY, ESPEON
-	db EVOLVE_HAPPINESS, TR_NITE, UMBREON
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, TAIL_WHIP
-	db 8, SAND_ATTACK
-	db 16, GROWL
-	db 23, QUICK_ATTACK
-	db 30, BITE
-if _CRYSTAL
-	db 36, BATON_PASS
-else
-	db 36, FOCUS_ENERGY
-endc
-	db 42, TAKE_DOWN
-	db 0 ; no more level-up moves
-
-VaporeonEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, TAIL_WHIP
-	db 8, SAND_ATTACK
-	db 16, WATER_GUN
-	db 23, QUICK_ATTACK
-	db 30, BITE
-	db 36, AURORA_BEAM
-	db 42, HAZE
-	db 47, ACID_ARMOR
-	db 52, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-JolteonEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, TAIL_WHIP
-	db 8, SAND_ATTACK
-	db 16, THUNDERSHOCK
-	db 23, QUICK_ATTACK
-	db 30, DOUBLE_KICK
-	db 36, PIN_MISSILE
-	db 42, THUNDER_WAVE
-	db 47, AGILITY
-	db 52, THUNDER
-	db 0 ; no more level-up moves
-
-FlareonEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, TAIL_WHIP
-	db 8, SAND_ATTACK
-	db 16, EMBER
-	db 23, QUICK_ATTACK
-	db 30, BITE
-	db 36, FIRE_SPIN
-	db 42, SMOG
-	db 47, LEER
-	db 52, FLAMETHROWER
-	db 0 ; no more level-up moves
-
-PorygonEvosAttacks:
-	db EVOLVE_TRADE, UP_GRADE, PORYGON2
-	db 0 ; no more evolutions
-	db 1, CONVERSION2
-	db 1, TACKLE
-	db 1, CONVERSION
-	db 9, AGILITY
-	db 12, PSYBEAM
-	db 20, RECOVER
-	db 24, SHARPEN
-	db 32, LOCK_ON
-	db 36, TRI_ATTACK
-	db 44, ZAP_CANNON
-	db 0 ; no more level-up moves
-
-OmanyteEvosAttacks:
-	db EVOLVE_LEVEL, 40, OMASTAR
-	db 0 ; no more evolutions
-	db 1, CONSTRICT
-	db 1, WITHDRAW
-	db 13, BITE
-	db 19, WATER_GUN
-	db 31, LEER
-	db 37, PROTECT
-	db 49, ANCIENTPOWER
-	db 55, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-OmastarEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, CONSTRICT
-	db 1, WITHDRAW
-	db 1, BITE
-	db 13, BITE
-	db 19, WATER_GUN
-	db 31, LEER
-	db 37, PROTECT
-	db 40, SPIKE_CANNON
-	db 54, ANCIENTPOWER
-	db 65, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-KabutoEvosAttacks:
-	db EVOLVE_LEVEL, 40, KABUTOPS
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, HARDEN
-	db 10, ABSORB
-	db 19, LEER
-	db 28, SAND_ATTACK
-	db 37, ENDURE
-	db 46, MEGA_DRAIN
-	db 55, ANCIENTPOWER
-	db 0 ; no more level-up moves
-
-KabutopsEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, HARDEN
-	db 1, ABSORB
-	db 10, ABSORB
-	db 19, LEER
-	db 28, SAND_ATTACK
-	db 37, ENDURE
-	db 40, SLASH
-	db 51, MEGA_DRAIN
-	db 65, ANCIENTPOWER
-	db 0 ; no more level-up moves
-
-AerodactylEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, WING_ATTACK
-	db 8, AGILITY
-	db 15, BITE
-	db 22, SUPERSONIC
-	db 29, ANCIENTPOWER
-	db 36, SCARY_FACE
-	db 43, TAKE_DOWN
-	db 50, HYPER_BEAM
-	db 0 ; no more level-up moves
-
-SnorlaxEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 8, AMNESIA
-	db 15, DEFENSE_CURL
-	db 22, BELLY_DRUM
-	db 29, HEADBUTT
-	db 36, SNORE
-	db 36, REST
-	db 43, BODY_SLAM
-	db 50, ROLLOUT
-	db 57, HYPER_BEAM
-	db 0 ; no more level-up moves
-
-ArticunoEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, GUST
-	db 1, POWDER_SNOW
-	db 13, MIST
-	db 25, AGILITY
-	db 37, MIND_READER
-	db 49, ICE_BEAM
-	db 61, REFLECT
-	db 73, BLIZZARD
-	db 0 ; no more level-up moves
-
-ZapdosEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, PECK
-	db 1, THUNDERSHOCK
-	db 13, THUNDER_WAVE
-	db 25, AGILITY
-	db 37, DETECT
-	db 49, DRILL_PECK
-	db 61, LIGHT_SCREEN
-	db 73, THUNDER
-	db 0 ; no more level-up moves
-
-MoltresEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, WING_ATTACK
-	db 1, EMBER
-	db 13, FIRE_SPIN
-	db 25, AGILITY
-	db 37, ENDURE
-	db 49, FLAMETHROWER
-	db 61, SAFEGUARD
-	db 73, SKY_ATTACK
-	db 0 ; no more level-up moves
-
-DratiniEvosAttacks:
-	db EVOLVE_LEVEL, 30, DRAGONAIR
-	db 0 ; no more evolutions
-	db 1, WRAP
-	db 1, LEER
-	db 8, THUNDER_WAVE
-	db 15, TWISTER
-	db 22, DRAGON_RAGE
-	db 29, SLAM
-	db 36, AGILITY
-	db 43, SAFEGUARD
-	db 50, OUTRAGE
-	db 57, HYPER_BEAM
-	db 0 ; no more level-up moves
-
-DragonairEvosAttacks:
-	db EVOLVE_LEVEL, 55, DRAGONITE
-	db 0 ; no more evolutions
-	db 1, WRAP
-	db 1, LEER
-	db 1, THUNDER_WAVE
-	db 1, TWISTER
-	db 8, THUNDER_WAVE
-	db 15, TWISTER
-	db 22, DRAGON_RAGE
-	db 29, SLAM
-	db 38, AGILITY
-	db 47, SAFEGUARD
-	db 56, OUTRAGE
-	db 65, HYPER_BEAM
-	db 0 ; no more level-up moves
-
-DragoniteEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, WRAP
-	db 1, LEER
-	db 1, THUNDER_WAVE
-	db 1, TWISTER
-	db 8, THUNDER_WAVE
-	db 15, TWISTER
-	db 22, DRAGON_RAGE
-	db 29, SLAM
-	db 38, AGILITY
-	db 47, SAFEGUARD
-	db 55, WING_ATTACK
-	db 61, OUTRAGE
-	db 75, HYPER_BEAM
-	db 0 ; no more level-up moves
-
-MewtwoEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, CONFUSION
-	db 1, DISABLE
-	db 11, BARRIER
-	db 22, SWIFT
-	db 33, PSYCH_UP
-	db 44, FUTURE_SIGHT
-	db 55, MIST
-	db 66, PSYCHIC_M
-	db 77, AMNESIA
-	db 88, RECOVER
-	db 99, SAFEGUARD
-	db 0 ; no more level-up moves
-
-MewEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, POUND
-	db 10, TRANSFORM
-	db 20, MEGA_PUNCH
-	db 30, METRONOME
-	db 40, PSYCHIC_M
-	db 50, ANCIENTPOWER
-	db 0 ; no more level-up moves
-
-ChikoritaEvosAttacks:
-	db EVOLVE_LEVEL, 16, BAYLEEF
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, GROWL
-	db 8, RAZOR_LEAF
-	db 12, REFLECT
-	db 15, POISONPOWDER
-	db 22, SYNTHESIS
-	db 29, BODY_SLAM
-	db 36, LIGHT_SCREEN
-	db 43, SAFEGUARD
-	db 50, SOLARBEAM
-	db 0 ; no more level-up moves
-
-BayleefEvosAttacks:
-	db EVOLVE_LEVEL, 32, MEGANIUM
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, GROWL
-	db 1, RAZOR_LEAF
-	db 1, REFLECT
-	db 8, RAZOR_LEAF
-	db 12, REFLECT
-	db 15, POISONPOWDER
-	db 23, SYNTHESIS
-	db 31, BODY_SLAM
-	db 39, LIGHT_SCREEN
-	db 47, SAFEGUARD
-	db 55, SOLARBEAM
-	db 0 ; no more level-up moves
-
-MeganiumEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, GROWL
-	db 1, RAZOR_LEAF
-	db 1, REFLECT
-	db 8, RAZOR_LEAF
-	db 12, REFLECT
-	db 15, POISONPOWDER
-	db 23, SYNTHESIS
-	db 31, BODY_SLAM
-	db 41, LIGHT_SCREEN
-	db 51, SAFEGUARD
-	db 61, SOLARBEAM
-	db 0 ; no more level-up moves
-
-CyndaquilEvosAttacks:
-	db EVOLVE_LEVEL, 14, QUILAVA
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, LEER
-	db 6, SMOKESCREEN
-	db 12, EMBER
-	db 19, QUICK_ATTACK
-	db 27, FLAME_WHEEL
-	db 36, SWIFT
-	db 46, FLAMETHROWER
-	db 0 ; no more level-up moves
-
-QuilavaEvosAttacks:
-	db EVOLVE_LEVEL, 36, TYPHLOSION
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, LEER
-	db 1, SMOKESCREEN
-	db 6, SMOKESCREEN
-	db 12, EMBER
-	db 21, QUICK_ATTACK
-	db 31, FLAME_WHEEL
-	db 42, SWIFT
-	db 54, FLAMETHROWER
-	db 0 ; no more level-up moves
-
-TyphlosionEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, LEER
-	db 1, SMOKESCREEN
-	db 1, EMBER
-	db 6, SMOKESCREEN
-	db 12, EMBER
-	db 21, QUICK_ATTACK
-	db 31, FLAME_WHEEL
-	db 45, SWIFT
-	db 60, FLAMETHROWER
-	db 0 ; no more level-up moves
-
-TotodileEvosAttacks:
-	db EVOLVE_LEVEL, 18, CROCONAW
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, LEER
-	db 7, RAGE
-	db 13, WATER_GUN
-	db 20, BITE
-	db 27, SCARY_FACE
-	db 35, SLASH
-	db 43, SCREECH
-	db 52, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-CroconawEvosAttacks:
-	db EVOLVE_LEVEL, 30, FERALIGATR
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, LEER
-	db 1, RAGE
-	db 7, RAGE
-	db 13, WATER_GUN
-	db 21, BITE
-	db 28, SCARY_FACE
-	db 37, SLASH
-	db 45, SCREECH
-	db 55, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-FeraligatrEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, LEER
-	db 1, RAGE
-	db 1, WATER_GUN
-	db 7, RAGE
-	db 13, WATER_GUN
-	db 21, BITE
-	db 28, SCARY_FACE
-	db 38, SLASH
-	db 47, SCREECH
-	db 58, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-SentretEvosAttacks:
-	db EVOLVE_LEVEL, 15, FURRET
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 5, DEFENSE_CURL
-	db 11, QUICK_ATTACK
-	db 17, FURY_SWIPES
-	db 25, SLAM
-	db 33, REST
-	db 41, AMNESIA
-	db 0 ; no more level-up moves
-
-FurretEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, DEFENSE_CURL
-	db 1, QUICK_ATTACK
-	db 5, DEFENSE_CURL
-	db 11, QUICK_ATTACK
-	db 18, FURY_SWIPES
-	db 28, SLAM
-	db 38, REST
-	db 48, AMNESIA
-	db 0 ; no more level-up moves
-
-HoothootEvosAttacks:
-	db EVOLVE_LEVEL, 20, NOCTOWL
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, GROWL
-	db 6, FORESIGHT
-	db 11, PECK
-	db 16, HYPNOSIS
-	db 22, REFLECT
-	db 28, TAKE_DOWN
-	db 34, CONFUSION
-	db 48, DREAM_EATER
-	db 0 ; no more level-up moves
-
-NoctowlEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, GROWL
-	db 1, FORESIGHT
-	db 1, PECK
-	db 6, FORESIGHT
-	db 11, PECK
-	db 16, HYPNOSIS
-	db 25, REFLECT
-	db 33, TAKE_DOWN
-	db 41, CONFUSION
-	db 57, DREAM_EATER
-	db 0 ; no more level-up moves
-
-LedybaEvosAttacks:
-	db EVOLVE_LEVEL, 18, LEDIAN
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 8, SUPERSONIC
-	db 15, COMET_PUNCH
-	db 22, LIGHT_SCREEN
-	db 22, REFLECT
-	db 22, SAFEGUARD
-	db 29, BATON_PASS
-	db 36, SWIFT
-	db 43, AGILITY
-	db 50, DOUBLE_EDGE
-	db 0 ; no more level-up moves
-
-LedianEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, SUPERSONIC
-	db 8, SUPERSONIC
-	db 15, COMET_PUNCH
-	db 24, LIGHT_SCREEN
-	db 24, REFLECT
-	db 24, SAFEGUARD
-	db 33, BATON_PASS
-	db 42, SWIFT
-	db 51, AGILITY
-	db 60, DOUBLE_EDGE
-	db 0 ; no more level-up moves
-
-SpinarakEvosAttacks:
-	db EVOLVE_LEVEL, 22, ARIADOS
-	db 0 ; no more evolutions
-	db 1, POISON_STING
-	db 1, STRING_SHOT
-	db 6, SCARY_FACE
-	db 11, CONSTRICT
-	db 17, NIGHT_SHADE
-	db 23, LEECH_LIFE
-	db 30, FURY_SWIPES
-	db 37, SPIDER_WEB
-if _CRYSTAL
-	db 45, AGILITY
-else
-	db 45, SCREECH
-endc
-	db 53, PSYCHIC_M
-	db 0 ; no more level-up moves
-
-AriadosEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, POISON_STING
-	db 1, STRING_SHOT
-	db 1, SCARY_FACE
-	db 1, CONSTRICT
-	db 6, SCARY_FACE
-	db 11, CONSTRICT
-	db 17, NIGHT_SHADE
-	db 25, LEECH_LIFE
-	db 34, FURY_SWIPES
-	db 43, SPIDER_WEB
-if _CRYSTAL
-	db 53, AGILITY
-else
-	db 53, SCREECH
-endc
-	db 63, PSYCHIC_M
-	db 0 ; no more level-up moves
-
-CrobatEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SCREECH
-	db 1, LEECH_LIFE
-	db 1, SUPERSONIC
-	db 6, SUPERSONIC
-	db 12, BITE
-	db 19, CONFUSE_RAY
-	db 30, WING_ATTACK
-	db 42, MEAN_LOOK
-	db 55, HAZE
-	db 0 ; no more level-up moves
-
-ChinchouEvosAttacks:
-	db EVOLVE_LEVEL, 27, LANTURN
-	db 0 ; no more evolutions
-	db 1, BUBBLE
-	db 1, THUNDER_WAVE
-	db 5, SUPERSONIC
-	db 13, FLAIL
-	db 17, WATER_GUN
-	db 25, SPARK
-	db 29, CONFUSE_RAY
-	db 37, TAKE_DOWN
-	db 41, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-LanturnEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, BUBBLE
-	db 1, THUNDER_WAVE
-	db 1, SUPERSONIC
-	db 5, SUPERSONIC
-	db 13, FLAIL
-	db 17, WATER_GUN
-	db 25, SPARK
-	db 33, CONFUSE_RAY
-	db 45, TAKE_DOWN
-	db 53, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-PichuEvosAttacks:
-	db EVOLVE_HAPPINESS, TR_ANYTIME, PIKACHU
-	db 0 ; no more evolutions
-	db 1, THUNDERSHOCK
-	db 1, CHARM
-	db 6, TAIL_WHIP
-	db 8, THUNDER_WAVE
-	db 11, SWEET_KISS
-	db 0 ; no more level-up moves
-
-CleffaEvosAttacks:
-	db EVOLVE_HAPPINESS, TR_ANYTIME, CLEFAIRY
-	db 0 ; no more evolutions
-	db 1, POUND
-	db 1, CHARM
-	db 4, ENCORE
-	db 8, SING
-	db 13, SWEET_KISS
-	db 0 ; no more level-up moves
-
-IgglybuffEvosAttacks:
-	db EVOLVE_HAPPINESS, TR_ANYTIME, JIGGLYPUFF
-	db 0 ; no more evolutions
-	db 1, SING
-	db 1, CHARM
-	db 4, DEFENSE_CURL
-	db 9, POUND
-	db 14, SWEET_KISS
-	db 0 ; no more level-up moves
-
-TogepiEvosAttacks:
-	db EVOLVE_HAPPINESS, TR_ANYTIME, TOGETIC
-	db 0 ; no more evolutions
-	db 1, GROWL
-	db 1, CHARM
-	db 7, METRONOME
-	db 18, SWEET_KISS
-	db 25, ENCORE
-	db 31, SAFEGUARD
-	db 38, DOUBLE_EDGE
-	db 0 ; no more level-up moves
-
-TogeticEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, GROWL
-	db 1, CHARM
-	db 7, METRONOME
-	db 18, SWEET_KISS
-	db 25, ENCORE
-	db 31, SAFEGUARD
-	db 38, DOUBLE_EDGE
-	db 0 ; no more level-up moves
-
-NatuEvosAttacks:
-	db EVOLVE_LEVEL, 25, XATU
-	db 0 ; no more evolutions
-	db 1, PECK
-	db 1, LEER
-	db 10, NIGHT_SHADE
-	db 20, TELEPORT
-	db 30, FUTURE_SIGHT
-	db 40, CONFUSE_RAY
-	db 50, PSYCHIC_M
-	db 0 ; no more level-up moves
-
-XatuEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, PECK
-	db 1, LEER
-	db 1, NIGHT_SHADE
-	db 10, NIGHT_SHADE
-	db 20, TELEPORT
-	db 35, FUTURE_SIGHT
-	db 50, CONFUSE_RAY
-	db 65, PSYCHIC_M
-	db 0 ; no more level-up moves
-
-MareepEvosAttacks:
-	db EVOLVE_LEVEL, 15, FLAAFFY
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, GROWL
-	db 9, THUNDERSHOCK
-	db 16, THUNDER_WAVE
-	db 23, COTTON_SPORE
-	db 30, LIGHT_SCREEN
-	db 37, THUNDER
-	db 0 ; no more level-up moves
-
-FlaaffyEvosAttacks:
-	db EVOLVE_LEVEL, 30, AMPHAROS
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, GROWL
-	db 1, THUNDERSHOCK
-	db 9, THUNDERSHOCK
-	db 18, THUNDER_WAVE
-	db 27, COTTON_SPORE
-	db 36, LIGHT_SCREEN
-	db 45, THUNDER
-	db 0 ; no more level-up moves
-
-AmpharosEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, GROWL
-	db 1, THUNDERSHOCK
-	db 1, THUNDER_WAVE
-	db 9, THUNDERSHOCK
-	db 18, THUNDER_WAVE
-	db 27, COTTON_SPORE
-	db 30, THUNDERPUNCH
-	db 42, LIGHT_SCREEN
-	db 57, THUNDER
-	db 0 ; no more level-up moves
-
-BellossomEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, ABSORB
-	db 1, SWEET_SCENT
-	db 1, STUN_SPORE
-	db 1, PETAL_DANCE
-	db 55, SOLARBEAM
-	db 0 ; no more level-up moves
-
-MarillEvosAttacks:
-	db EVOLVE_LEVEL, 18, AZUMARILL
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 3, DEFENSE_CURL
-	db 6, TAIL_WHIP
-	db 10, WATER_GUN
-	db 15, ROLLOUT
-	db 21, BUBBLEBEAM
-	db 28, DOUBLE_EDGE
-	db 36, RAIN_DANCE
-	db 0 ; no more level-up moves
-
-AzumarillEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, DEFENSE_CURL
-	db 1, TAIL_WHIP
-	db 1, WATER_GUN
-	db 3, DEFENSE_CURL
-	db 6, TAIL_WHIP
-	db 10, WATER_GUN
-	db 15, ROLLOUT
-	db 25, BUBBLEBEAM
-	db 36, DOUBLE_EDGE
-	db 48, RAIN_DANCE
-	db 0 ; no more level-up moves
-
-SudowoodoEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, ROCK_THROW
-	db 1, MIMIC
-	db 10, FLAIL
-	db 19, LOW_KICK
-	db 28, ROCK_SLIDE
-	db 37, FAINT_ATTACK
-	db 46, SLAM
-	db 0 ; no more level-up moves
-
-PolitoedEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, WATER_GUN
-	db 1, HYPNOSIS
-	db 1, DOUBLESLAP
-	db 1, PERISH_SONG
-	db 35, PERISH_SONG
-	db 51, SWAGGER
-	db 0 ; no more level-up moves
-
-HoppipEvosAttacks:
-	db EVOLVE_LEVEL, 18, SKIPLOOM
-	db 0 ; no more evolutions
-	db 1, SPLASH
-if _CRYSTAL
-	db 5, SYNTHESIS
-else
-	db 1, SYNTHESIS
-endc
-	db 5, TAIL_WHIP
-	db 10, TACKLE
-	db 13, POISONPOWDER
-	db 15, STUN_SPORE
-	db 17, SLEEP_POWDER
-	db 20, LEECH_SEED
-	db 25, COTTON_SPORE
-	db 30, MEGA_DRAIN
-	db 0 ; no more level-up moves
-
-SkiploomEvosAttacks:
-	db EVOLVE_LEVEL, 27, JUMPLUFF
-	db 0 ; no more evolutions
-	db 1, SPLASH
-	db 1, SYNTHESIS
-	db 1, TAIL_WHIP
-	db 1, TACKLE
-if _CRYSTAL
-	db 5, SYNTHESIS
-endc
-	db 5, TAIL_WHIP
-	db 10, TACKLE
-	db 13, POISONPOWDER
-	db 15, STUN_SPORE
-	db 17, SLEEP_POWDER
-	db 22, LEECH_SEED
-	db 29, COTTON_SPORE
-	db 36, MEGA_DRAIN
-	db 0 ; no more level-up moves
-
-JumpluffEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SPLASH
-	db 1, SYNTHESIS
-	db 1, TAIL_WHIP
-	db 1, TACKLE
-if _CRYSTAL
-	db 5, SYNTHESIS
-endc
-	db 5, TAIL_WHIP
-	db 10, TACKLE
-	db 13, POISONPOWDER
-	db 15, STUN_SPORE
-	db 17, SLEEP_POWDER
-	db 22, LEECH_SEED
-	db 33, COTTON_SPORE
-	db 44, MEGA_DRAIN
-	db 0 ; no more level-up moves
-
-AipomEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, TAIL_WHIP
-	db 6, SAND_ATTACK
-	db 12, BATON_PASS
-	db 19, FURY_SWIPES
-	db 27, SWIFT
-	db 36, SCREECH
-	db 46, AGILITY
-	db 0 ; no more level-up moves
-
-SunkernEvosAttacks:
-	db EVOLVE_ITEM, SUN_STONE, SUNFLORA
-	db 0 ; no more evolutions
-	db 1, ABSORB
-	db 4, GROWTH
-	db 10, MEGA_DRAIN
-	db 19, SUNNY_DAY
-	db 31, SYNTHESIS
-	db 46, GIGA_DRAIN
-	db 0 ; no more level-up moves
-
-SunfloraEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, ABSORB
-	db 1, POUND
-	db 4, GROWTH
-	db 10, RAZOR_LEAF
-	db 19, SUNNY_DAY
-	db 31, PETAL_DANCE
-	db 46, SOLARBEAM
-	db 0 ; no more level-up moves
-
-YanmaEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, FORESIGHT
-	db 7, QUICK_ATTACK
-	db 13, DOUBLE_TEAM
-	db 19, SONICBOOM
-	db 25, DETECT
-	db 31, SUPERSONIC
-if _CRYSTAL
-	db 37, WING_ATTACK
-else
-	db 37, SWIFT
-endc
-	db 43, SCREECH
-	db 0 ; no more level-up moves
-
-WooperEvosAttacks:
-	db EVOLVE_LEVEL, 20, QUAGSIRE
-	db 0 ; no more evolutions
-	db 1, WATER_GUN
-	db 1, TAIL_WHIP
-	db 11, SLAM
-	db 21, AMNESIA
-	db 31, EARTHQUAKE
-	db 41, RAIN_DANCE
-	db 51, MIST
-	db 51, HAZE
-	db 0 ; no more level-up moves
-
-QuagsireEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, WATER_GUN
-	db 1, TAIL_WHIP
-	db 11, SLAM
-	db 23, AMNESIA
-	db 35, EARTHQUAKE
-	db 47, RAIN_DANCE
-	db 59, MIST
-	db 59, HAZE
-	db 0 ; no more level-up moves
-
-EspeonEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, TAIL_WHIP
-	db 8, SAND_ATTACK
-	db 16, CONFUSION
-	db 23, QUICK_ATTACK
-	db 30, SWIFT
-	db 36, PSYBEAM
-	db 42, PSYCH_UP
-	db 47, PSYCHIC_M
-	db 52, MORNING_SUN
-	db 0 ; no more level-up moves
-
-UmbreonEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, TAIL_WHIP
-	db 8, SAND_ATTACK
-	db 16, PURSUIT
-	db 23, QUICK_ATTACK
-	db 30, CONFUSE_RAY
-	db 36, FAINT_ATTACK
-	db 42, MEAN_LOOK
-	db 47, SCREECH
-	db 52, MOONLIGHT
-	db 0 ; no more level-up moves
-
-MurkrowEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, PECK
-	db 11, PURSUIT
-	db 16, HAZE
-	db 26, NIGHT_SHADE
-	db 31, FAINT_ATTACK
-	db 41, MEAN_LOOK
-	db 0 ; no more level-up moves
-
-SlowkingEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, CURSE
-	db 1, TACKLE
-	db 6, GROWL
-	db 15, WATER_GUN
-	db 20, CONFUSION
-	db 29, DISABLE
-	db 34, HEADBUTT
-	db 43, SWAGGER
-	db 48, PSYCHIC_M
-	db 0 ; no more level-up moves
-
-MisdreavusEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, GROWL
-	db 1, PSYWAVE
-	db 6, SPITE
-	db 12, CONFUSE_RAY
-	db 19, MEAN_LOOK
-	db 27, PSYBEAM
-	db 36, PAIN_SPLIT
-	db 46, PERISH_SONG
-	db 0 ; no more level-up moves
-
-UnownEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, HIDDEN_POWER
-	db 0 ; no more level-up moves
-
-WobbuffetEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, COUNTER
-	db 1, MIRROR_COAT
-	db 1, SAFEGUARD
-	db 1, DESTINY_BOND
-	db 0 ; no more level-up moves
-
-GirafarigEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, GROWL
-	db 1, CONFUSION
-	db 1, STOMP
-	db 7, CONFUSION
-	db 13, STOMP
-	db 20, AGILITY
-	db 30, BATON_PASS
-	db 41, PSYBEAM
-	db 54, CRUNCH
-	db 0 ; no more level-up moves
-
-PinecoEvosAttacks:
-	db EVOLVE_LEVEL, 31, FORRETRESS
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, PROTECT
-	db 8, SELFDESTRUCT
-	db 15, TAKE_DOWN
-	db 22, RAPID_SPIN
-	db 29, BIDE
-	db 36, EXPLOSION
-	db 43, SPIKES
-	db 50, DOUBLE_EDGE
-	db 0 ; no more level-up moves
-
-ForretressEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, PROTECT
-	db 1, SELFDESTRUCT
-	db 8, SELFDESTRUCT
-	db 15, TAKE_DOWN
-	db 22, RAPID_SPIN
-	db 29, BIDE
-	db 39, EXPLOSION
-	db 49, SPIKES
-	db 59, DOUBLE_EDGE
-	db 0 ; no more level-up moves
-
-DunsparceEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, RAGE
-	db 5, DEFENSE_CURL
-	db 13, GLARE
-	db 18, SPITE
-	db 26, PURSUIT
-	db 30, SCREECH
-	db 38, TAKE_DOWN
-	db 0 ; no more level-up moves
-
-GligarEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, POISON_STING
-	db 6, SAND_ATTACK
-	db 13, HARDEN
-	db 20, QUICK_ATTACK
-	db 28, FAINT_ATTACK
-	db 36, SLASH
-	db 44, SCREECH
-	db 52, GUILLOTINE
-	db 0 ; no more level-up moves
-
-SteelixEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, SCREECH
-	db 10, BIND
-	db 14, ROCK_THROW
-	db 23, HARDEN
-	db 27, RAGE
-	db 36, SANDSTORM
-	db 40, SLAM
-	db 49, CRUNCH
-	db 0 ; no more level-up moves
-
-SnubbullEvosAttacks:
-	db EVOLVE_LEVEL, 23, GRANBULL
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, SCARY_FACE
-	db 4, TAIL_WHIP
-	db 8, CHARM
-	db 13, BITE
-	db 19, LICK
-	db 26, ROAR
-	db 34, RAGE
-	db 43, TAKE_DOWN
-	db 0 ; no more level-up moves
-
-GranbullEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, SCARY_FACE
-	db 4, TAIL_WHIP
-	db 8, CHARM
-	db 13, BITE
-	db 19, LICK
-	db 28, ROAR
-	db 38, RAGE
-	db 51, TAKE_DOWN
-	db 0 ; no more level-up moves
-
-QwilfishEvosAttacks:
-	db 0 ; no more evolutions
-if _CRYSTAL
-	db 1, SPIKES
-endc
-	db 1, TACKLE
-	db 1, POISON_STING
-	db 10, HARDEN
-	db 10, MINIMIZE
-	db 19, WATER_GUN
-	db 28, PIN_MISSILE
-	db 37, TAKE_DOWN
-	db 46, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-ScizorEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, QUICK_ATTACK
-	db 1, LEER
-	db 6, FOCUS_ENERGY
-	db 12, PURSUIT
-	db 18, FALSE_SWIPE
-	db 24, AGILITY
-	db 30, METAL_CLAW
-	db 36, SLASH
-	db 42, SWORDS_DANCE
-	db 48, DOUBLE_TEAM
-	db 0 ; no more level-up moves
-
-ShuckleEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, CONSTRICT
-	db 1, WITHDRAW
-	db 9, WRAP
-	db 14, ENCORE
-	db 23, SAFEGUARD
-	db 28, BIDE
-	db 37, REST
-	db 0 ; no more level-up moves
-
-HeracrossEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, LEER
-	db 6, HORN_ATTACK
-	db 12, ENDURE
-	db 19, FURY_ATTACK
-	db 27, COUNTER
-	db 35, TAKE_DOWN
-	db 44, REVERSAL
-	db 54, MEGAHORN
-	db 0 ; no more level-up moves
-
-SneaselEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, LEER
-	db 9, QUICK_ATTACK
-	db 17, SCREECH
-	db 25, FAINT_ATTACK
-	db 33, FURY_SWIPES
-	db 41, AGILITY
-	db 49, SLASH
-	db 57, BEAT_UP
-if _CRYSTAL
-	db 65, METAL_CLAW
-endc
-	db 0 ; no more level-up moves
-
-TeddiursaEvosAttacks:
-	db EVOLVE_LEVEL, 30, URSARING
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, LEER
-	db 8, LICK
-	db 15, FURY_SWIPES
-	db 22, FAINT_ATTACK
-	db 29, REST
-	db 36, SLASH
-	db 43, SNORE
-	db 50, THRASH
-	db 0 ; no more level-up moves
-
-UrsaringEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SCRATCH
-	db 1, LEER
-	db 1, LICK
-	db 1, FURY_SWIPES
-	db 8, LICK
-	db 15, FURY_SWIPES
-	db 22, FAINT_ATTACK
-	db 29, REST
-	db 39, SLASH
-	db 49, SNORE
-	db 59, THRASH
-	db 0 ; no more level-up moves
-
-SlugmaEvosAttacks:
-	db EVOLVE_LEVEL, 38, MAGCARGO
-	db 0 ; no more evolutions
-	db 1, SMOG
-	db 8, EMBER
-	db 15, ROCK_THROW
-	db 22, HARDEN
-	db 29, AMNESIA
-	db 36, FLAMETHROWER
-	db 43, ROCK_SLIDE
-	db 50, BODY_SLAM
-	db 0 ; no more level-up moves
-
-MagcargoEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SMOG
-	db 1, EMBER
-	db 1, ROCK_THROW
-	db 8, EMBER
-	db 15, ROCK_THROW
-	db 22, HARDEN
-	db 29, AMNESIA
-	db 36, FLAMETHROWER
-	db 48, ROCK_SLIDE
-	db 60, BODY_SLAM
-	db 0 ; no more level-up moves
-
-SwinubEvosAttacks:
-	db EVOLVE_LEVEL, 33, PILOSWINE
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 10, POWDER_SNOW
-	db 19, ENDURE
-	db 28, TAKE_DOWN
-	db 37, MIST
-	db 46, BLIZZARD
-if _CRYSTAL
-	db 55, AMNESIA
-endc
-	db 0 ; no more level-up moves
-
-PiloswineEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, HORN_ATTACK
-	db 1, POWDER_SNOW
-	db 1, ENDURE
-	db 10, POWDER_SNOW
-	db 19, ENDURE
-	db 28, TAKE_DOWN
-	db 33, FURY_ATTACK
-	db 42, MIST
-	db 56, BLIZZARD
-if _CRYSTAL
-	db 70, AMNESIA
-endc
-	db 0 ; no more level-up moves
-
-CorsolaEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 7, HARDEN
-	db 13, BUBBLE
-	db 19, RECOVER
-	db 25, BUBBLEBEAM
-	db 31, SPIKE_CANNON
-	db 37, MIRROR_COAT
-	db 43, ANCIENTPOWER
-	db 0 ; no more level-up moves
-
-RemoraidEvosAttacks:
-	db EVOLVE_LEVEL, 25, OCTILLERY
-	db 0 ; no more evolutions
-	db 1, WATER_GUN
-	db 11, LOCK_ON
-	db 22, PSYBEAM
-	db 22, AURORA_BEAM
-	db 22, BUBBLEBEAM
-	db 33, FOCUS_ENERGY
-	db 44, ICE_BEAM
-	db 55, HYPER_BEAM
-	db 0 ; no more level-up moves
-
-OctilleryEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, WATER_GUN
-	db 11, CONSTRICT
-	db 22, PSYBEAM
-	db 22, AURORA_BEAM
-	db 22, BUBBLEBEAM
-	db 25, OCTAZOOKA
-	db 38, FOCUS_ENERGY
-	db 54, ICE_BEAM
-	db 70, HYPER_BEAM
-	db 0 ; no more level-up moves
-
-DelibirdEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, PRESENT
-	db 0 ; no more level-up moves
-
-MantineEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, BUBBLE
-	db 10, SUPERSONIC
-	db 18, BUBBLEBEAM
-	db 25, TAKE_DOWN
-	db 32, AGILITY
-	db 40, WING_ATTACK
-	db 49, CONFUSE_RAY
-	db 0 ; no more level-up moves
-
-SkarmoryEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, LEER
-	db 1, PECK
-	db 13, SAND_ATTACK
-	db 19, SWIFT
-	db 25, AGILITY
-	db 37, FURY_ATTACK
-	db 49, STEEL_WING
-	db 0 ; no more level-up moves
-
-HoundourEvosAttacks:
-	db EVOLVE_LEVEL, 24, HOUNDOOM
-	db 0 ; no more evolutions
-	db 1, LEER
-	db 1, EMBER
-	db 7, ROAR
-	db 13, SMOG
-	db 20, BITE
-	db 27, FAINT_ATTACK
-	db 35, FLAMETHROWER
-	db 43, CRUNCH
-	db 0 ; no more level-up moves
-
-HoundoomEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, LEER
-	db 1, EMBER
-	db 7, ROAR
-	db 13, SMOG
-	db 20, BITE
-	db 30, FAINT_ATTACK
-	db 41, FLAMETHROWER
-	db 52, CRUNCH
-	db 0 ; no more level-up moves
-
-KingdraEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, BUBBLE
-	db 1, SMOKESCREEN
-	db 1, LEER
-	db 1, WATER_GUN
-	db 8, SMOKESCREEN
-	db 15, LEER
-	db 22, WATER_GUN
-	db 29, TWISTER
-	db 40, AGILITY
-	db 51, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-PhanpyEvosAttacks:
-	db EVOLVE_LEVEL, 25, DONPHAN
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 1, GROWL
-	db 9, DEFENSE_CURL
-	db 17, FLAIL
-	db 25, TAKE_DOWN
-	db 33, ROLLOUT
-	db 41, ENDURE
-	db 49, DOUBLE_EDGE
-	db 0 ; no more level-up moves
-
-DonphanEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, HORN_ATTACK
-	db 1, GROWL
-	db 9, DEFENSE_CURL
-	db 17, FLAIL
-	db 25, FURY_ATTACK
-	db 33, ROLLOUT
-	db 41, RAPID_SPIN
-	db 49, EARTHQUAKE
-	db 0 ; no more level-up moves
-
-Porygon2EvosAttacks:
-	db 0 ; no more evolutions
-	db 1, CONVERSION2
-	db 1, TACKLE
-	db 1, CONVERSION
-	db 9, AGILITY
-	db 12, PSYBEAM
-	db 20, RECOVER
-	db 24, DEFENSE_CURL
-	db 32, LOCK_ON
-	db 36, TRI_ATTACK
-	db 44, ZAP_CANNON
-	db 0 ; no more level-up moves
-
-StantlerEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 8, LEER
-	db 15, HYPNOSIS
-	db 23, STOMP
-	db 31, SAND_ATTACK
-	db 40, TAKE_DOWN
-	db 49, CONFUSE_RAY
-	db 0 ; no more level-up moves
-
-SmeargleEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SKETCH
-	db 11, SKETCH
-	db 21, SKETCH
-	db 31, SKETCH
-	db 41, SKETCH
-	db 51, SKETCH
-	db 61, SKETCH
-	db 71, SKETCH
-	db 81, SKETCH
-	db 91, SKETCH
-	db 0 ; no more level-up moves
-
-TyrogueEvosAttacks:
-	db EVOLVE_STAT, 20, ATK_LT_DEF, HITMONCHAN
-	db EVOLVE_STAT, 20, ATK_GT_DEF, HITMONLEE
-	db EVOLVE_STAT, 20, ATK_EQ_DEF, HITMONTOP
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 0 ; no more level-up moves
-
-HitmontopEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, ROLLING_KICK
-	db 7, FOCUS_ENERGY
-	db 13, PURSUIT
-	db 19, QUICK_ATTACK
-	db 25, RAPID_SPIN
-	db 31, COUNTER
-	db 37, AGILITY
-	db 43, DETECT
-	db 49, TRIPLE_KICK
-	db 0 ; no more level-up moves
-
-SmoochumEvosAttacks:
-	db EVOLVE_LEVEL, 30, JYNX
-	db 0 ; no more evolutions
-	db 1, POUND
-	db 1, LICK
-	db 9, SWEET_KISS
-	db 13, POWDER_SNOW
-	db 21, CONFUSION
-	db 25, SING
-	db 33, MEAN_LOOK
-	db 37, PSYCHIC_M
-	db 45, PERISH_SONG
-	db 49, BLIZZARD
-	db 0 ; no more level-up moves
-
-ElekidEvosAttacks:
-	db EVOLVE_LEVEL, 30, ELECTABUZZ
-	db 0 ; no more evolutions
-	db 1, QUICK_ATTACK
-	db 1, LEER
-	db 9, THUNDERPUNCH
-	db 17, LIGHT_SCREEN
-	db 25, SWIFT
-	db 33, SCREECH
-	db 41, THUNDERBOLT
-	db 49, THUNDER
-	db 0 ; no more level-up moves
-
-MagbyEvosAttacks:
-	db EVOLVE_LEVEL, 30, MAGMAR
-	db 0 ; no more evolutions
-	db 1, EMBER
-	db 7, LEER
-	db 13, SMOG
-	db 19, FIRE_PUNCH
-	db 25, SMOKESCREEN
-	db 31, SUNNY_DAY
-	db 37, FLAMETHROWER
-	db 43, CONFUSE_RAY
-	db 49, FIRE_BLAST
-	db 0 ; no more level-up moves
-
-MiltankEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, TACKLE
-	db 4, GROWL
-	db 8, DEFENSE_CURL
-	db 13, STOMP
-	db 19, MILK_DRINK
-	db 26, BIDE
-	db 34, ROLLOUT
-	db 43, BODY_SLAM
-	db 53, HEAL_BELL
-	db 0 ; no more level-up moves
-
-BlisseyEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, POUND
-	db 4, GROWL
-	db 7, TAIL_WHIP
-	db 10, SOFTBOILED
-	db 13, DOUBLESLAP
-	db 18, MINIMIZE
-	db 23, SING
-	db 28, EGG_BOMB
-	db 33, DEFENSE_CURL
-	db 40, LIGHT_SCREEN
-	db 47, DOUBLE_EDGE
-	db 0 ; no more level-up moves
-
-RaikouEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, BITE
-	db 1, LEER
-	db 11, THUNDERSHOCK
-	db 21, ROAR
-	db 31, QUICK_ATTACK
-	db 41, SPARK
-	db 51, REFLECT
-	db 61, CRUNCH
-	db 71, THUNDER
-	db 0 ; no more level-up moves
-
-EnteiEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, BITE
-	db 1, LEER
-	db 11, EMBER
-	db 21, ROAR
-	db 31, FIRE_SPIN
-	db 41, STOMP
-	db 51, FLAMETHROWER
-	db 61, SWAGGER
-	db 71, FIRE_BLAST
-	db 0 ; no more level-up moves
-
-SuicuneEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, BITE
-	db 1, LEER
-if _CRYSTAL
-	db 11, BUBBLEBEAM
-	db 21, RAIN_DANCE
-	db 31, GUST
-	db 41, AURORA_BEAM
-else
-	db 11, WATER_GUN
-	db 21, ROAR
-	db 31, GUST
-	db 41, BUBBLEBEAM
-endc
-	db 51, MIST
-	db 61, MIRROR_COAT
-	db 71, HYDRO_PUMP
-	db 0 ; no more level-up moves
-
-LarvitarEvosAttacks:
-	db EVOLVE_LEVEL, 30, PUPITAR
-	db 0 ; no more evolutions
-	db 1, BITE
-	db 1, LEER
-	db 8, SANDSTORM
-	db 15, SCREECH
-	db 22, ROCK_SLIDE
-	db 29, THRASH
-	db 36, SCARY_FACE
-	db 43, CRUNCH
-	db 50, EARTHQUAKE
-	db 57, HYPER_BEAM
-	db 0 ; no more level-up moves
-
-PupitarEvosAttacks:
-	db EVOLVE_LEVEL, 55, TYRANITAR
-	db 0 ; no more evolutions
-	db 1, BITE
-	db 1, LEER
-	db 1, SANDSTORM
-	db 1, SCREECH
-	db 8, SANDSTORM
-	db 15, SCREECH
-	db 22, ROCK_SLIDE
-	db 29, THRASH
-	db 38, SCARY_FACE
-	db 47, CRUNCH
-	db 56, EARTHQUAKE
-	db 65, HYPER_BEAM
-	db 0 ; no more level-up moves
-
-TyranitarEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, BITE
-	db 1, LEER
-	db 1, SANDSTORM
-	db 1, SCREECH
-	db 8, SANDSTORM
-	db 15, SCREECH
-	db 22, ROCK_SLIDE
-	db 29, THRASH
-	db 38, SCARY_FACE
-	db 47, CRUNCH
-	db 61, EARTHQUAKE
-	db 75, HYPER_BEAM
-	db 0 ; no more level-up moves
-
-LugiaEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, AEROBLAST
-	db 11, SAFEGUARD
-	db 22, GUST
-	db 33, RECOVER
-	db 44, HYDRO_PUMP
-	db 55, RAIN_DANCE
-	db 66, SWIFT
-	db 77, WHIRLWIND
-	db 88, ANCIENTPOWER
-	db 99, FUTURE_SIGHT
-	db 0 ; no more level-up moves
-
-HoOhEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, SACRED_FIRE
-	db 11, SAFEGUARD
-	db 22, GUST
-	db 33, RECOVER
-	db 44, FIRE_BLAST
-	db 55, SUNNY_DAY
-	db 66, SWIFT
-	db 77, WHIRLWIND
-	db 88, ANCIENTPOWER
-	db 99, FUTURE_SIGHT
-	db 0 ; no more level-up moves
-
-CelebiEvosAttacks:
-	db 0 ; no more evolutions
-	db 1, LEECH_SEED
-	db 1, CONFUSION
-	db 1, RECOVER
-	db 1, HEAL_BELL
-	db 10, SAFEGUARD
-	db 20, ANCIENTPOWER
-	db 30, FUTURE_SIGHT
-	db 40, BATON_PASS
-	db 50, PERISH_SONG
-	db 0 ; no more level-up moves
--- a/data/evos_attacks_pointers.asm
+++ /dev/null
@@ -1,255 +1,0 @@
-; Evolutions and attacks are grouped together since they're both checked at level-up.
-
-EvosAttacksPointers:: ; 0x425b1
-	dw BulbasaurEvosAttacks
-	dw IvysaurEvosAttacks
-	dw VenusaurEvosAttacks
-	dw CharmanderEvosAttacks
-	dw CharmeleonEvosAttacks
-	dw CharizardEvosAttacks
-	dw SquirtleEvosAttacks
-	dw WartortleEvosAttacks
-	dw BlastoiseEvosAttacks
-	dw CaterpieEvosAttacks
-	dw MetapodEvosAttacks
-	dw ButterfreeEvosAttacks
-	dw WeedleEvosAttacks
-	dw KakunaEvosAttacks
-	dw BeedrillEvosAttacks
-	dw PidgeyEvosAttacks
-	dw PidgeottoEvosAttacks
-	dw PidgeotEvosAttacks
-	dw RattataEvosAttacks
-	dw RaticateEvosAttacks
-	dw SpearowEvosAttacks
-	dw FearowEvosAttacks
-	dw EkansEvosAttacks
-	dw ArbokEvosAttacks
-	dw PikachuEvosAttacks
-	dw RaichuEvosAttacks
-	dw SandshrewEvosAttacks
-	dw SandslashEvosAttacks
-	dw NidoranFEvosAttacks
-	dw NidorinaEvosAttacks
-	dw NidoqueenEvosAttacks
-	dw NidoranMEvosAttacks
-	dw NidorinoEvosAttacks
-	dw NidokingEvosAttacks
-	dw ClefairyEvosAttacks
-	dw ClefableEvosAttacks
-	dw VulpixEvosAttacks
-	dw NinetalesEvosAttacks
-	dw JigglypuffEvosAttacks
-	dw WigglytuffEvosAttacks
-	dw ZubatEvosAttacks
-	dw GolbatEvosAttacks
-	dw OddishEvosAttacks
-	dw GloomEvosAttacks
-	dw VileplumeEvosAttacks
-	dw ParasEvosAttacks
-	dw ParasectEvosAttacks
-	dw VenonatEvosAttacks
-	dw VenomothEvosAttacks
-	dw DiglettEvosAttacks
-	dw DugtrioEvosAttacks
-	dw MeowthEvosAttacks
-	dw PersianEvosAttacks
-	dw PsyduckEvosAttacks
-	dw GolduckEvosAttacks
-	dw MankeyEvosAttacks
-	dw PrimeapeEvosAttacks
-	dw GrowlitheEvosAttacks
-	dw ArcanineEvosAttacks
-	dw PoliwagEvosAttacks
-	dw PoliwhirlEvosAttacks
-	dw PoliwrathEvosAttacks
-	dw AbraEvosAttacks
-	dw KadabraEvosAttacks
-	dw AlakazamEvosAttacks
-	dw MachopEvosAttacks
-	dw MachokeEvosAttacks
-	dw MachampEvosAttacks
-	dw BellsproutEvosAttacks
-	dw WeepinbellEvosAttacks
-	dw VictreebelEvosAttacks
-	dw TentacoolEvosAttacks
-	dw TentacruelEvosAttacks
-	dw GeodudeEvosAttacks
-	dw GravelerEvosAttacks
-	dw GolemEvosAttacks
-	dw PonytaEvosAttacks
-	dw RapidashEvosAttacks
-	dw SlowpokeEvosAttacks
-	dw SlowbroEvosAttacks
-	dw MagnemiteEvosAttacks
-	dw MagnetonEvosAttacks
-	dw FarfetchDEvosAttacks
-	dw DoduoEvosAttacks
-	dw DodrioEvosAttacks
-	dw SeelEvosAttacks
-	dw DewgongEvosAttacks
-	dw GrimerEvosAttacks
-	dw MukEvosAttacks
-	dw ShellderEvosAttacks
-	dw CloysterEvosAttacks
-	dw GastlyEvosAttacks
-	dw HaunterEvosAttacks
-	dw GengarEvosAttacks
-	dw OnixEvosAttacks
-	dw DrowzeeEvosAttacks
-	dw HypnoEvosAttacks
-	dw KrabbyEvosAttacks
-	dw KinglerEvosAttacks
-	dw VoltorbEvosAttacks
-	dw ElectrodeEvosAttacks
-	dw ExeggcuteEvosAttacks
-	dw ExeggutorEvosAttacks
-	dw CuboneEvosAttacks
-	dw MarowakEvosAttacks
-	dw HitmonleeEvosAttacks
-	dw HitmonchanEvosAttacks
-	dw LickitungEvosAttacks
-	dw KoffingEvosAttacks
-	dw WeezingEvosAttacks
-	dw RhyhornEvosAttacks
-	dw RhydonEvosAttacks
-	dw ChanseyEvosAttacks
-	dw TangelaEvosAttacks
-	dw KangaskhanEvosAttacks
-	dw HorseaEvosAttacks
-	dw SeadraEvosAttacks
-	dw GoldeenEvosAttacks
-	dw SeakingEvosAttacks
-	dw StaryuEvosAttacks
-	dw StarmieEvosAttacks
-	dw MrMimeEvosAttacks
-	dw ScytherEvosAttacks
-	dw JynxEvosAttacks
-	dw ElectabuzzEvosAttacks
-	dw MagmarEvosAttacks
-	dw PinsirEvosAttacks
-	dw TaurosEvosAttacks
-	dw MagikarpEvosAttacks
-	dw GyaradosEvosAttacks
-	dw LaprasEvosAttacks
-	dw DittoEvosAttacks
-	dw EeveeEvosAttacks
-	dw VaporeonEvosAttacks
-	dw JolteonEvosAttacks
-	dw FlareonEvosAttacks
-	dw PorygonEvosAttacks
-	dw OmanyteEvosAttacks
-	dw OmastarEvosAttacks
-	dw KabutoEvosAttacks
-	dw KabutopsEvosAttacks
-	dw AerodactylEvosAttacks
-	dw SnorlaxEvosAttacks
-	dw ArticunoEvosAttacks
-	dw ZapdosEvosAttacks
-	dw MoltresEvosAttacks
-	dw DratiniEvosAttacks
-	dw DragonairEvosAttacks
-	dw DragoniteEvosAttacks
-	dw MewtwoEvosAttacks
-	dw MewEvosAttacks
-	dw ChikoritaEvosAttacks
-	dw BayleefEvosAttacks
-	dw MeganiumEvosAttacks
-	dw CyndaquilEvosAttacks
-	dw QuilavaEvosAttacks
-	dw TyphlosionEvosAttacks
-	dw TotodileEvosAttacks
-	dw CroconawEvosAttacks
-	dw FeraligatrEvosAttacks
-	dw SentretEvosAttacks
-	dw FurretEvosAttacks
-	dw HoothootEvosAttacks
-	dw NoctowlEvosAttacks
-	dw LedybaEvosAttacks
-	dw LedianEvosAttacks
-	dw SpinarakEvosAttacks
-	dw AriadosEvosAttacks
-	dw CrobatEvosAttacks
-	dw ChinchouEvosAttacks
-	dw LanturnEvosAttacks
-	dw PichuEvosAttacks
-	dw CleffaEvosAttacks
-	dw IgglybuffEvosAttacks
-	dw TogepiEvosAttacks
-	dw TogeticEvosAttacks
-	dw NatuEvosAttacks
-	dw XatuEvosAttacks
-	dw MareepEvosAttacks
-	dw FlaaffyEvosAttacks
-	dw AmpharosEvosAttacks
-	dw BellossomEvosAttacks
-	dw MarillEvosAttacks
-	dw AzumarillEvosAttacks
-	dw SudowoodoEvosAttacks
-	dw PolitoedEvosAttacks
-	dw HoppipEvosAttacks
-	dw SkiploomEvosAttacks
-	dw JumpluffEvosAttacks
-	dw AipomEvosAttacks
-	dw SunkernEvosAttacks
-	dw SunfloraEvosAttacks
-	dw YanmaEvosAttacks
-	dw WooperEvosAttacks
-	dw QuagsireEvosAttacks
-	dw EspeonEvosAttacks
-	dw UmbreonEvosAttacks
-	dw MurkrowEvosAttacks
-	dw SlowkingEvosAttacks
-	dw MisdreavusEvosAttacks
-	dw UnownEvosAttacks
-	dw WobbuffetEvosAttacks
-	dw GirafarigEvosAttacks
-	dw PinecoEvosAttacks
-	dw ForretressEvosAttacks
-	dw DunsparceEvosAttacks
-	dw GligarEvosAttacks
-	dw SteelixEvosAttacks
-	dw SnubbullEvosAttacks
-	dw GranbullEvosAttacks
-	dw QwilfishEvosAttacks
-	dw ScizorEvosAttacks
-	dw ShuckleEvosAttacks
-	dw HeracrossEvosAttacks
-	dw SneaselEvosAttacks
-	dw TeddiursaEvosAttacks
-	dw UrsaringEvosAttacks
-	dw SlugmaEvosAttacks
-	dw MagcargoEvosAttacks
-	dw SwinubEvosAttacks
-	dw PiloswineEvosAttacks
-	dw CorsolaEvosAttacks
-	dw RemoraidEvosAttacks
-	dw OctilleryEvosAttacks
-	dw DelibirdEvosAttacks
-	dw MantineEvosAttacks
-	dw SkarmoryEvosAttacks
-	dw HoundourEvosAttacks
-	dw HoundoomEvosAttacks
-	dw KingdraEvosAttacks
-	dw PhanpyEvosAttacks
-	dw DonphanEvosAttacks
-	dw Porygon2EvosAttacks
-	dw StantlerEvosAttacks
-	dw SmeargleEvosAttacks
-	dw TyrogueEvosAttacks
-	dw HitmontopEvosAttacks
-	dw SmoochumEvosAttacks
-	dw ElekidEvosAttacks
-	dw MagbyEvosAttacks
-	dw MiltankEvosAttacks
-	dw BlisseyEvosAttacks
-	dw RaikouEvosAttacks
-	dw EnteiEvosAttacks
-	dw SuicuneEvosAttacks
-	dw LarvitarEvosAttacks
-	dw PupitarEvosAttacks
-	dw TyranitarEvosAttacks
-	dw LugiaEvosAttacks
-	dw HoOhEvosAttacks
-	dw CelebiEvosAttacks
-; 0x427a7
--- /dev/null
+++ b/data/items/item_attributes.asm
@@ -1,0 +1,521 @@
+item_attribute: MACRO
+; price, held effect, parameter, property, pocket, field menu, battle menu
+	dw \1
+	db \2, \3, \4, \5
+	dn \6, \7
+ENDM
+
+ItemAttributes: ; 67c1
+; entries correspond to constants/item_constants.asm
+; MASTER BALL
+	item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; ULTRA BALL
+	item_attribute 1200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; BRIGHTPOWDER
+	item_attribute 10, HELD_BRIGHTPOWDER, 20, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; GREAT BALL
+	item_attribute 600, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; # BALL
+	item_attribute 200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BICYCLE
+	item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; MOON STONE
+	item_attribute 0, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; ANTIDOTE
+	item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; BURN HEAL
+	item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; ICE HEAL
+	item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; AWAKENING
+	item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; PARLYZ HEAL
+	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; FULL RESTORE
+	item_attribute 3000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; MAX POTION
+	item_attribute 2500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; HYPER POTION
+	item_attribute 1200, 0, 200, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; SUPER POTION
+	item_attribute 700, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; POTION
+	item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; ESCAPE ROPE
+	item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; REPEL
+	item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; MAX ELIXER
+	item_attribute 4500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; FIRE STONE
+	item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; THUNDERSTONE
+	item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; WATER STONE
+	item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; HP UP
+	item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; PROTEIN
+	item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; IRON
+	item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; CARBOS
+	item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; LUCKY PUNCH
+	item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; CALCIUM
+	item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; RARE CANDY
+	item_attribute 4800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; X ACCURACY
+	item_attribute 950, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; LEAF STONE
+	item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; METAL POWDER
+	item_attribute 10, HELD_METAL_POWDER, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; NUGGET
+	item_attribute 10000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; # DOLL
+	item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; FULL HEAL
+	item_attribute 600, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; REVIVE
+	item_attribute 1500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; MAX REVIVE
+	item_attribute 4000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; GUARD SPEC.
+	item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; SUPER REPEL
+	item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; MAX REPEL
+	item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; DIRE HIT
+	item_attribute 650, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; FRESH WATER
+	item_attribute 200, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; SODA POP
+	item_attribute 300, 0, 60, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; LEMONADE
+	item_attribute 350, 0, 80, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; X ATTACK
+	item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; X DEFEND
+	item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; X SPEED
+	item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; X SPECIAL
+	item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; COIN CASE
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; ITEMFINDER
+	item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; EXP.SHARE
+	item_attribute 3000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; OLD ROD
+	item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; GOOD ROD
+	item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; SILVER LEAF
+	item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SUPER ROD
+	item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; PP UP
+	item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; ETHER
+	item_attribute 1200, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; MAX ETHER
+	item_attribute 2000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; ELIXER
+	item_attribute 3000, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; RED SCALE
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SECRETPOTION
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; S.S.TICKET
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MYSTERY EGG
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; CLEAR BELL
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SILVER WING
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MOOMOO MILK
+	item_attribute 500, 0, 100, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; QUICK CLAW
+	item_attribute 100, HELD_QUICK_CLAW, 60, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; PSNCUREBERRY
+	item_attribute 10, HELD_HEAL_POISON, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; GOLD LEAF
+	item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SOFT SAND
+	item_attribute 100, HELD_GROUND_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SHARP BEAK
+	item_attribute 100, HELD_FLYING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; PRZCUREBERRY
+	item_attribute 10, HELD_HEAL_PARALYZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; BURNT BERRY
+	item_attribute 10, HELD_HEAL_FREEZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; ICE BERRY
+	item_attribute 10, HELD_HEAL_BURN, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; POISON BARB
+	item_attribute 100, HELD_POISON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; KING'S ROCK
+	item_attribute 100, HELD_TRADE_EVOLVE, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BITTER BERRY
+	item_attribute 10, HELD_HEAL_CONFUSION, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_PARTY
+; MINT BERRY
+	item_attribute 10, HELD_HEAL_SLEEP, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; RED APRICORN
+	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TINYMUSHROOM
+	item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BIG MUSHROOM
+	item_attribute 5000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SILVERPOWDER
+	item_attribute 100, HELD_BUG_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BLU APRICORN
+	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; AMULET COIN
+	item_attribute 100, HELD_AMULET_COIN, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; YLW APRICORN
+	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; GRN APRICORN
+	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; CLEANSE TAG
+	item_attribute 200, HELD_CLEANSE_TAG, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MYSTIC WATER
+	item_attribute 100, HELD_WATER_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TWISTEDSPOON
+	item_attribute 100, HELD_PSYCHIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; WHT APRICORN
+	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BLACKBELT
+	item_attribute 100, HELD_FIGHTING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BLK APRICORN
+	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; PNK APRICORN
+	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BLACKGLASSES
+	item_attribute 100, HELD_DARK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SLOWPOKETAIL
+	item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; PINK BOW
+	item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; STICK
+	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SMOKE BALL
+	item_attribute 200, HELD_ESCAPE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; NEVERMELTICE
+	item_attribute 100, HELD_ICE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MAGNET
+	item_attribute 100, HELD_ELECTRIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MIRACLEBERRY
+	item_attribute 10, HELD_HEAL_STATUS, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; PEARL
+	item_attribute 1400, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BIG PEARL
+	item_attribute 7500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; EVERSTONE
+	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SPELL TAG
+	item_attribute 100, HELD_GHOST_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; RAGECANDYBAR
+	item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; GS BALL
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BLUE CARD
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; MIRACLE SEED
+	item_attribute 100, HELD_GRASS_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; THICK CLUB
+	item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; FOCUS BAND
+	item_attribute 200, HELD_FOCUS_BAND, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ENERGYPOWDER
+	item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; ENERGY ROOT
+	item_attribute 800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; HEAL POWDER
+	item_attribute 450, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; REVIVAL HERB
+	item_attribute 2800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; HARD STONE
+	item_attribute 100, HELD_ROCK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LUCKY EGG
+	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; CARD KEY
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; MACHINE PART
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; EGG TICKET
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LOST ITEM
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; STARDUST
+	item_attribute 2000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; STAR PIECE
+	item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BASEMENT KEY
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; PASS
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; CHARCOAL
+	item_attribute 9800, HELD_FIRE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BERRY JUICE
+	item_attribute 100, HELD_BERRY, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; SCOPE LENS
+	item_attribute 200, HELD_CRITICAL_UP, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; METAL COAT
+	item_attribute 100, HELD_STEEL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; DRAGON FANG
+	item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LEFTOVERS
+	item_attribute 200, HELD_LEFTOVERS, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MYSTERYBERRY
+	item_attribute 10, HELD_RESTORE_PP, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; DRAGON SCALE
+	item_attribute 2100, HELD_DRAGON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BERSERK GENE
+	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SACRED ASH
+	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; HEAVY BALL
+	item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; FLOWER MAIL
+	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LEVEL BALL
+	item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; LURE BALL
+	item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; FAST BALL
+	item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LIGHT BALL
+	item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; FRIEND BALL
+	item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; MOON BALL
+	item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; LOVE BALL
+	item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; NORMAL BOX
+	item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; GORGEOUS BOX
+	item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; SUN STONE
+	item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; POLKADOT BOW
+	item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; UP-GRADE
+	item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BERRY
+	item_attribute 10, HELD_BERRY, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; GOLD BERRY
+	item_attribute 10, HELD_BERRY, 30, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; SQUIRTBOTTLE
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; PARK BALL
+	item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; RAINBOW WING
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BRICK PIECE
+	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SURF MAIL
+	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LITEBLUEMAIL
+	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; PORTRAITMAIL
+	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LOVELY MAIL
+	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; EON MAIL
+	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MORPH MAIL
+	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BLUESKY MAIL
+	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MUSIC MAIL
+	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MIRAGE MAIL
+	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TM01
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM02
+	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM03
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM04
+	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TM05
+	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM06
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM07
+	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM08
+	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM09
+	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM10
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM11
+	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM12
+	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM13
+	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM14
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM15
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM16
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM17
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM18
+	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM19
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM20
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM21
+	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM22
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM23
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM24
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM25
+	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM26
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM27
+	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM28
+	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TM29
+	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM30
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM31
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM32
+	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM33
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM34
+	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM35
+	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM36
+	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM37
+	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM38
+	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM39
+	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM40
+	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM41
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM42
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM43
+	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM44
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM45
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM46
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM47
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM48
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM49
+	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM50
+	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM01
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM02
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM03
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM04
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM05
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM06
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM07
+	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ?
+	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
--- /dev/null
+++ b/data/items/item_descriptions.asm
@@ -1,0 +1,1042 @@
+PrintItemDescription: ; 0x1c8955
+; Print the description for item [CurSpecies] at de.
+
+	ld a, [CurSpecies]
+	cp TM01
+	jr c, .not_a_tm
+
+	ld [CurItem], a
+	push de
+	callba GetTMHMItemMove
+	pop hl
+	ld a, [wd265]
+	ld [CurSpecies], a
+	predef PrintMoveDesc
+	ret
+
+.not_a_tm
+	push de
+	ld hl, ItemDescriptions
+	ld a, [CurSpecies]
+	dec a
+	ld c, a
+	ld b, 0
+	add hl, bc
+	add hl, bc
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	pop hl
+	jp PlaceString
+; 0x1c8987
+
+
+ItemDescriptions:
+	dw MasterBallDesc
+	dw UltraBallDesc
+	dw BrightpowderDesc
+	dw GreatBallDesc
+	dw PokeBallDesc
+	dw TeruSama1Desc
+	dw BicycleDesc
+	dw MoonStoneDesc
+	dw AntidoteDesc
+	dw BurnHealDesc
+	dw IceHealDesc
+	dw AwakeningDesc
+	dw ParlyzHealDesc
+	dw FullRestoreDesc
+	dw MaxPotionDesc
+	dw HyperPotionDesc
+	dw SuperPotionDesc
+	dw PotionDesc
+	dw EscapeRopeDesc
+	dw RepelDesc
+	dw MaxElixerDesc
+	dw FireStoneDesc
+	dw ThunderStoneDesc
+	dw WaterStoneDesc
+	dw TeruSama2Desc
+	dw HPUpDesc
+	dw ProteinDesc
+	dw IronDesc
+	dw CarbosDesc
+	dw LuckyPunchDesc
+	dw CalciumDesc
+	dw RareCandyDesc
+	dw XAccuracyDesc
+	dw LeafStoneDesc
+	dw MetalPowderDesc
+	dw NuggetDesc
+	dw PokeDollDesc
+	dw FullHealDesc
+	dw ReviveDesc
+	dw MaxReviveDesc
+	dw GuardSpecDesc
+	dw SuperRepelDesc
+	dw MaxRepelDesc
+	dw DireHitDesc
+	dw TeruSama3Desc
+	dw FreshWaterDesc
+	dw SodaPopDesc
+	dw LemonadeDesc
+	dw XAttackDesc
+	dw TeruSama4Desc
+	dw XDefendDesc
+	dw XSpeedDesc
+	dw XSpecialDesc
+	dw CoinCaseDesc
+	dw ItemfinderDesc
+	dw TeruSama5Desc
+	dw ExpShareDesc
+	dw OldRodDesc
+	dw GoodRodDesc
+	dw SilverLeafDesc
+	dw SuperRodDesc
+	dw PPUpDesc
+	dw EtherDesc
+	dw MaxEtherDesc
+	dw ElixerDesc
+	dw RedScaleDesc
+	dw SecretPotionDesc
+	dw SSTicketDesc
+	dw MysteryEggDesc
+	dw ClearBellDesc
+	dw SilverWingDesc
+	dw MoomooMilkDesc
+	dw QuickClawDesc
+	dw PsnCureBerryDesc
+	dw GoldLeafDesc
+	dw SoftSandDesc
+	dw SharpBeakDesc
+	dw PrzCureBerryDesc
+	dw BurntBerryDesc
+	dw IceBerryDesc
+	dw PoisonBarbDesc
+	dw KingsRockDesc
+	dw BitterBerryDesc
+	dw MintBerryDesc
+	dw RedApricornDesc
+	dw TinyMushroomDesc
+	dw BigMushroomDesc
+	dw SilverPowderDesc
+	dw BluApricornDesc
+	dw TeruSama6Desc
+	dw AmuletCoinDesc
+	dw YlwApricornDesc
+	dw GrnApricornDesc
+	dw CleanseTagDesc
+	dw MysticWaterDesc
+	dw TwistedSpoonDesc
+	dw WhtApricornDesc
+	dw BlackbeltDesc
+	dw BlkApricornDesc
+	dw TeruSama7Desc
+	dw PnkApricornDesc
+	dw BlackGlassesDesc
+	dw SlowpokeTailDesc
+	dw PinkBowDesc
+	dw StickDesc
+	dw SmokeBallDesc
+	dw NeverMeltIceDesc
+	dw MagnetDesc
+	dw MiracleBerryDesc
+	dw PearlDesc
+	dw BigPearlDesc
+	dw EverStoneDesc
+	dw SpellTagDesc
+	dw RageCandyBarDesc
+	dw GSBallDesc
+	dw BlueCardDesc
+	dw MiracleSeedDesc
+	dw ThickClubDesc
+	dw FocusBandDesc
+	dw TeruSama8Desc
+	dw EnergyPowderDesc
+	dw EnergyRootDesc
+	dw HealPowderDesc
+	dw RevivalHerbDesc
+	dw HardStoneDesc
+	dw LuckyEggDesc
+	dw CardKeyDesc
+	dw MachinePartDesc
+	dw EggTicketDesc
+	dw LostItemDesc
+	dw StardustDesc
+	dw StarPieceDesc
+	dw BasementKeyDesc
+	dw PassDesc
+	dw TeruSama9Desc
+	dw TeruSama10Desc
+	dw TeruSama11Desc
+	dw CharcoalDesc
+	dw BerryJuiceDesc
+	dw ScopeLensDesc
+	dw TeruSama12Desc
+	dw TeruSama13Desc
+	dw MetalCoatDesc
+	dw DragonFangDesc
+	dw TeruSama14Desc
+	dw LeftoversDesc
+	dw TeruSama15Desc
+	dw TeruSama16Desc
+	dw TeruSama17Desc
+	dw MysteryBerryDesc
+	dw DragonScaleDesc
+	dw BerserkGeneDesc
+	dw TeruSama18Desc
+	dw TeruSama19Desc
+	dw TeruSama20Desc
+	dw SacredAshDesc
+	dw HeavyBallDesc
+	dw FlowerMailDesc
+	dw LevelBallDesc
+	dw LureBallDesc
+	dw FastBallDesc
+	dw TeruSama21Desc
+	dw LightBallDesc
+	dw FriendBallDesc
+	dw MoonBallDesc
+	dw LoveBallDesc
+	dw NormalBoxDesc
+	dw GorgeousBoxDesc
+	dw SunStoneDesc
+	dw PolkadotBowDesc
+	dw TeruSama22Desc
+	dw UpGradeDesc
+	dw BerryDesc
+	dw GoldBerryDesc
+	dw SquirtBottleDesc
+	dw TeruSama23Desc
+	dw ParkBallDesc
+	dw RainbowWingDesc
+	dw TeruSama24Desc
+	dw BrickPieceDesc
+	dw SurfMailDesc
+	dw LiteBlueMailDesc
+	dw PortraitMailDesc
+	dw LovelyMailDesc
+	dw EonMailDesc
+	dw MorphMailDesc
+	dw BlueSkyMailDesc
+	dw MusicMailDesc
+	dw MewMailDesc
+	dw TeruSama25Desc
+	dw TeruSama26Desc
+	dw TeruSama26Desc
+	dw TeruSama26Desc
+	dw TeruSama26Desc
+	dw TeruSama26Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama27Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama28Desc
+	dw TeruSama29Desc
+	dw TeruSama30Desc
+	dw TeruSama31Desc
+	dw TeruSama32Desc
+	dw TeruSama33Desc
+
+MasterBallDesc:
+	db   "The best BALL. It"
+	next "never misses.@"
+
+UltraBallDesc:
+	db   "A BALL with a high"
+	next "rate of success.@"
+
+BrightpowderDesc:
+	db   "Lowers the foe's"
+	next "accuracy. (HOLD)@"
+
+GreatBallDesc:
+	db   "A BALL with a de-"
+	next "cent success rate.@"
+
+PokeBallDesc:
+	db   "An item for catch-"
+	next "ing #MON.@"
+
+TeruSama1Desc:
+	db   "?@"
+
+BicycleDesc:
+	db   "A collapsible bike"
+	next "for fast movement.@"
+
+MoonStoneDesc:
+	db   "Evolves certain"
+	next "kinds of #MON.@"
+
+AntidoteDesc:
+	db   "Cures poisoned"
+	next "#MON.@"
+
+BurnHealDesc:
+	db   "Heals burned"
+	next "#MON.@"
+
+IceHealDesc:
+	db   "Defrosts frozen"
+	next "#MON.@"
+
+AwakeningDesc:
+	db   "Awakens sleeping"
+	next "#MON.@"
+
+ParlyzHealDesc:
+	db   "Heals paralyzed"
+	next "#MON.@"
+
+FullRestoreDesc:
+	db   "Fully restores HP"
+	next "& status.@"
+
+MaxPotionDesc:
+	db   "Fully restores"
+	next "#MON HP.@"
+
+HyperPotionDesc:
+	db   "Restores #MON"
+	next "HP by 200.@"
+
+SuperPotionDesc:
+	db   "Restores #MON"
+	next "HP by 50.@"
+
+PotionDesc:
+	db   "Restores #MON"
+	next "HP by 20.@"
+
+EscapeRopeDesc:
+	db   "Use for escaping"
+	next "from caves, etc.@"
+
+RepelDesc:
+	db   "Repels weak #-"
+	next "MON for 100 steps.@"
+
+MaxElixerDesc:
+	db   "Fully restores the"
+	next "PP of one #MON.@"
+
+FireStoneDesc:
+	db   "Evolves certain"
+	next "kinds of #MON.@"
+
+ThunderStoneDesc:
+	db   "Evolves certain"
+	next "kinds of #MON.@"
+
+WaterStoneDesc:
+	db   "Evolves certain"
+	next "kinds of #MON.@"
+
+TeruSama2Desc:
+	db   "?@"
+
+HPUpDesc:
+	db   "Raises the HP of"
+	next "one #MON.@"
+
+ProteinDesc:
+	db   "Raises ATTACK of"
+	next "one #MON.@"
+
+IronDesc:
+	db   "Raises DEFENSE of"
+	next "one #MON.@"
+
+CarbosDesc:
+	db   "Raises SPEED of"
+	next "one #MON.@"
+
+LuckyPunchDesc:
+	db   "Ups critical hit"
+	next "ratio of CHANSEY.@"
+
+CalciumDesc:
+	db   "Ups SPECIAL stats"
+	next "of one #MON.@"
+
+RareCandyDesc:
+	db   "Raises level of a"
+	next "#MON by one.@"
+
+XAccuracyDesc:
+	db   "Raises accuracy."
+	next "(1 BTL)@"
+
+LeafStoneDesc:
+	db   "Evolves certain"
+	next "kinds of #MON.@"
+
+MetalPowderDesc:
+	db   "Raises DEFENSE of"
+	next "DITTO. (HOLD)@"
+
+NuggetDesc:
+	db   "Made of pure gold."
+	next "Sell high.@"
+
+PokeDollDesc:
+	db   "Use to escape from"
+	next "a wild #MON.@"
+
+FullHealDesc:
+	db   "Eliminates all"
+	next "status problems.@"
+
+ReviveDesc:
+	db   "Restores a fainted"
+	next "#MON to 1/2 HP.@"
+
+MaxReviveDesc:
+	db   "Fully restores a"
+	next "fainted #MON.@"
+
+GuardSpecDesc:
+	db   "Prevents stats"
+	next "reduction. (1 BTL)@"
+
+SuperRepelDesc:
+	db   "Repels weak #-"
+	next "MON for 200 steps.@"
+
+MaxRepelDesc:
+	db   "Repels weak #-"
+	next "MON for 250 steps.@"
+
+DireHitDesc:
+	db   "Ups critical hit"
+	next "ratio. (1 BTL)@"
+
+TeruSama3Desc:
+	db   "?@"
+
+FreshWaterDesc:
+	db   "Restores #MON"
+	next "HP by 50.@"
+
+SodaPopDesc:
+	db   "Restores #MON"
+	next "HP by 60.@"
+
+LemonadeDesc:
+	db   "Restores #MON"
+	next "HP by 80.@"
+
+XAttackDesc:
+	db   "Raises ATTACK."
+	next "(1 BTL)@"
+
+TeruSama4Desc:
+	db   "?@"
+
+XDefendDesc:
+	db   "Raises DEFENSE."
+	next "(1 BTL)@"
+
+XSpeedDesc:
+	db   "Raises SPEED."
+	next "(1 BTL)@"
+
+XSpecialDesc:
+	db   "Raises SPECIAL"
+	next "ATTACK. (1 BTL)@"
+
+CoinCaseDesc:
+	db   "Holds up to 9,999"
+	next "game coins.@"
+
+ItemfinderDesc:
+	db   "Checks for unseen"
+	next "items in the area.@"
+
+TeruSama5Desc:
+	db   "?@"
+
+ExpShareDesc:
+	db   "Shares battle EXP."
+	next "Points. (HOLD)@"
+
+OldRodDesc:
+	db   "Use by water to"
+	next "fish for #MON.@"
+
+GoodRodDesc:
+	db   "A good ROD for"
+	next "catching #MON.@"
+
+SilverLeafDesc:
+	db   "A strange, silver-"
+	next "colored leaf.@"
+
+SuperRodDesc:
+	db   "The best ROD for"
+	next "catching #MON.@"
+
+PPUpDesc:
+	db   "Raises max PP of"
+	next "a selected move.@"
+
+EtherDesc:
+	db   "Restores PP of one"
+	next "move by 10.@"
+
+MaxEtherDesc:
+	db   "Fully restores PP"
+	next "of one move.@"
+
+ElixerDesc:
+	db   "Restores PP of all"
+	next "moves by 10.@"
+
+RedScaleDesc:
+	db   "A scale from the"
+	next "red GYARADOS.@"
+
+SecretPotionDesc:
+	db   "Fully heals any"
+	next "#MON.@"
+
+SSTicketDesc:
+	db   "A ticket for the"
+	next "S.S.AQUA.@"
+
+MysteryEggDesc:
+	db   "An EGG obtained"
+	next "from MR.#MON.@"
+
+ClearBellDesc:
+	db   "Makes a gentle"
+	next "ringing.@"
+
+SilverWingDesc:
+	db   "A strange, silver-"
+	next "colored feather.@"
+
+MoomooMilkDesc:
+	db   "Restores #MON"
+	next "HP by 100.@"
+
+QuickClawDesc:
+	db   "Raises 1st strike"
+	next "ratio. (HOLD)@"
+
+PsnCureBerryDesc:
+	db   "A self-cure for"
+	next "poison. (HOLD)@"
+
+GoldLeafDesc:
+	db   "A strange, gold-"
+	next "colored leaf.@"
+
+SoftSandDesc:
+	db   "Powers up ground-"
+	next "type moves. (HOLD)@"
+
+SharpBeakDesc:
+	db   "Powers up flying-"
+	next "type moves. (HOLD)@"
+
+PrzCureBerryDesc:
+	db   "A self-cure for"
+	next "paralysis. (HOLD)@"
+
+BurntBerryDesc:
+	db   "A self-cure for"
+	next "freezing. (HOLD)@"
+
+IceBerryDesc:
+	db   "A self-heal for a"
+	next "burn. (HOLD)@"
+
+PoisonBarbDesc:
+	db   "Powers up poison-"
+	next "type moves. (HOLD)@"
+
+KingsRockDesc:
+	db   "May make the foe"
+	next "flinch. (HOLD)@"
+
+BitterBerryDesc:
+	db   "A self-cure for"
+	next "confusion. (HOLD)@"
+
+MintBerryDesc:
+	db   "A self-awakening"
+	next "for sleep. (HOLD)@"
+
+RedApricornDesc:
+	db   "A red APRICORN.@"
+
+TinyMushroomDesc:
+	db   "An ordinary mush-"
+	next "room. Sell low.@"
+
+BigMushroomDesc:
+	db   "A rare mushroom."
+	next "Sell high.@"
+
+SilverPowderDesc:
+	db   "Powers up bug-type"
+	next "moves. (HOLD)@"
+
+BluApricornDesc:
+	db   "A blue APRICORN.@"
+
+TeruSama6Desc:
+	db   "?@"
+
+AmuletCoinDesc:
+	db   "Doubles monetary"
+	next "earnings. (HOLD)@"
+
+YlwApricornDesc:
+	db   "A yellow APRICORN.@"
+
+GrnApricornDesc:
+	db   "A green APRICORN.@"
+
+CleanseTagDesc:
+	db   "Helps repel wild"
+	next "#MON. (HOLD)@"
+
+MysticWaterDesc:
+	db   "Powers up water-"
+	next "type moves. (HOLD)@"
+
+TwistedSpoonDesc:
+	db   "Powers up psychic-"
+	next "type moves. (HOLD)@"
+
+WhtApricornDesc:
+	db   "A white APRICORN.@"
+
+BlackbeltDesc:
+	db   "Boosts fighting-"
+	next "type moves. (HOLD)@"
+
+BlkApricornDesc:
+	db   "A black APRICORN."
+	next "@"
+
+TeruSama7Desc:
+	db   "?@"
+
+PnkApricornDesc:
+	db   "A pink APRICORN."
+	next "@"
+
+BlackGlassesDesc:
+	db   "Powers up dark-"
+	next "type moves. (HOLD)@"
+
+SlowpokeTailDesc:
+	db   "Very tasty. Sell"
+	next "high.@"
+
+PinkBowDesc:
+	db   "Powers up normal-"
+	next "type moves. (HOLD)@"
+
+StickDesc:
+	db   "An ordinary stick."
+	next "Sell low.@"
+
+SmokeBallDesc:
+	db   "Escape from wild"
+	next "#MON. (HOLD)@"
+
+NeverMeltIceDesc:
+	db   "Powers up ice-type"
+	next "moves. (HOLD)@"
+
+MagnetDesc:
+	db   "Boosts electric-"
+	next "type moves. (HOLD)@"
+
+MiracleBerryDesc:
+	db   "Cures all status"
+	next "problems. (HOLD)@"
+
+PearlDesc:
+	db   "A beautiful pearl."
+	next "Sell low.@"
+
+BigPearlDesc:
+	db   "A big, beautiful"
+	next "pearl. Sell high.@"
+
+EverStoneDesc:
+	db   "Stops evolution."
+	next "(HOLD)@"
+
+SpellTagDesc:
+	db   "Powers up ghost-"
+	next "type moves. (HOLD)@"
+
+RageCandyBarDesc:
+	db   "Restores #MON"
+	next "HP by 20.@"
+
+GSBallDesc:
+	db   "The mysterious"
+	next "BALL.@"
+
+BlueCardDesc:
+	db   "Card to save"
+	next "points.@"
+
+MiracleSeedDesc:
+	db   "Powers up grass-"
+	next "type moves. (HOLD)@"
+
+ThickClubDesc:
+	db   "A bone of some"
+	next "sort. Sell low.@"
+
+FocusBandDesc:
+	db   "May prevent faint-"
+	next "ing. (HOLD)@"
+
+TeruSama8Desc:
+	db   "?@"
+
+EnergyPowderDesc:
+	db   "Restores #MON"
+	next "HP by 50. Bitter.@"
+
+EnergyRootDesc:
+	db   "Restores #MON"
+	next "HP by 200. Bitter.@"
+
+HealPowderDesc:
+	db   "Cures all status"
+	next "problems. Bitter.@"
+
+RevivalHerbDesc:
+	db   "Revives fainted"
+	next "#MON. Bitter.@"
+
+HardStoneDesc:
+	db   "Powers up rock-"
+	next "type moves. (HOLD)@"
+
+LuckyEggDesc:
+	db   "Earns extra EXP."
+	next "points. (HOLD)@"
+
+CardKeyDesc:
+	db   "Opens shutters in"
+	next "the RADIO TOWER.@"
+
+MachinePartDesc:
+	db   "A machine part for"
+	next "the POWER PLANT.@"
+
+EggTicketDesc:
+	db   "May use at Golden-"
+	next "rod trade corner.@"
+
+LostItemDesc:
+	db   "The # DOLL lost"
+	next "by the COPYCAT.@"
+
+StardustDesc:
+	db   "Pretty, red sand."
+	next "Sell high.@"
+
+StarPieceDesc:
+	db   "A hunk of red gem."
+	next "Sell very high.@"
+
+BasementKeyDesc:
+	db   "Opens doors.@"
+
+PassDesc:
+	db   "A ticket for the"
+	next "MAGNET TRAIN.@"
+
+TeruSama9Desc:
+	db   "?@"
+
+TeruSama10Desc:
+	db   "?@"
+
+TeruSama11Desc:
+	db   "?@"
+
+CharcoalDesc:
+	db   "Powers up fire-"
+	next "type moves. (HOLD)@"
+
+BerryJuiceDesc:
+	db   "Restores #MON"
+	next "HP by 20.@"
+
+ScopeLensDesc:
+	db   "Raises critical"
+	next "hit ratio. (HOLD)@"
+
+TeruSama12Desc:
+	db   "?@"
+
+TeruSama13Desc:
+	db   "?@"
+
+MetalCoatDesc:
+	db   "Powers up steel-"
+	next "type moves. (HOLD)@"
+
+DragonFangDesc:
+	db   "Powers up dragon-"
+	next "type moves. (HOLD)@"
+
+TeruSama14Desc:
+	db   "?@"
+
+LeftoversDesc:
+	db   "Restores HP during"
+	next "battle. (HOLD)@"
+
+TeruSama15Desc:
+	db   "?@"
+
+TeruSama16Desc:
+	db   "?@"
+
+TeruSama17Desc:
+	db   "?@"
+
+MysteryBerryDesc:
+	db   "A self-restore"
+	next "for PP. (HOLD)@"
+
+DragonScaleDesc:
+	db   "A rare dragon-type"
+	next "item.@"
+
+BerserkGeneDesc:
+	db   "Boosts ATTACK but"
+	next "causes confusion.@"
+
+TeruSama18Desc:
+	db   "?@"
+
+TeruSama19Desc:
+	db   "?@"
+
+TeruSama20Desc:
+	db   "?@"
+
+SacredAshDesc:
+	db   "Fully revives all"
+	next "fainted #MON.@"
+
+HeavyBallDesc:
+	db   "A BALL for catch-"
+	next "ing heavy #MON.@"
+
+FlowerMailDesc:
+	db   "Flower-print MAIL."
+	next "(HOLD)@"
+
+LevelBallDesc:
+	db   "A BALL for lower-"
+	next "level #MON.@"
+
+LureBallDesc:
+	db   "A BALL for #MON"
+	next "hooked by a ROD.@"
+
+FastBallDesc:
+	db   "A BALL for catch-"
+	next "ing fast #MON.@"
+
+TeruSama21Desc:
+	db   "?@"
+
+LightBallDesc:
+	db   "An odd, electrical"
+	next "orb. (HOLD)@"
+
+FriendBallDesc:
+	db   "A BALL that makes"
+	next "#MON friendly.@"
+
+MoonBallDesc:
+	db   "A BALL for MOON"
+	next "STONE evolvers.@"
+
+LoveBallDesc:
+	db   "For catching the"
+	next "opposite gender.@"
+
+NormalBoxDesc:
+	db   "Open it and see"
+	next "what's inside.@"
+
+GorgeousBoxDesc:
+	db   "Open it and see"
+	next "what's inside.@"
+
+SunStoneDesc:
+	db   "Evolves certain"
+	next "kinds of #MON.@"
+
+PolkadotBowDesc:
+	db   "Powers up normal-"
+	next "type moves. (HOLD)@"
+
+TeruSama22Desc:
+	db   "?@"
+
+UpGradeDesc:
+	db   "A mysterious box"
+	next "made by SILPH CO.@"
+
+BerryDesc:
+	db   "A self-restore"
+	next "item. (10HP, HOLD)@"
+
+GoldBerryDesc:
+	db   "A self-restore"
+	next "item. (30HP, HOLD)@"
+
+SquirtBottleDesc:
+	db   "A bottle used for"
+	next "watering plants.@"
+
+TeruSama23Desc:
+	db   "?@"
+
+ParkBallDesc:
+	db   "The Bug-Catching"
+	next "Contest BALL.@"
+
+RainbowWingDesc:
+	db   "A mystical feather"
+	next "of rainbow colors.@"
+
+TeruSama24Desc:
+	db   "?@"
+
+BrickPieceDesc:
+	db   "A rare chunk of"
+	next "tile.@"
+
+SurfMailDesc:
+	db   "LAPRAS-print MAIL."
+	next "(HOLD)@"
+
+LiteBlueMailDesc:
+	db   "DRATINI-print"
+	next "MAIL. (HOLD)@"
+
+PortraitMailDesc:
+	db   "MAIL featuring the"
+	next "holder's likeness.@"
+
+LovelyMailDesc:
+	db   "Heart-print MAIL."
+	next "(HOLD)@"
+
+EonMailDesc:
+	db   "EEVEE-print MAIL."
+	next "(HOLD)@"
+
+MorphMailDesc:
+	db   "DITTO-print MAIL."
+	next "(HOLD)@"
+
+BlueSkyMailDesc:
+	db   "Sky-print MAIL."
+	next "(HOLD)@"
+
+MusicMailDesc:
+	db   "NATU-print MAIL."
+	next "(HOLD)@"
+
+MewMailDesc:
+	db   "MEW-print MAIL."
+	next "(HOLD)@"
+
+TeruSama25Desc:
+	db   "?@"
+
+TeruSama26Desc:
+	db   "?@"
+
+TeruSama27Desc:
+	db   "?@"
+
+TeruSama28Desc:
+	db   "?@"
+
+TeruSama29Desc:
+	db   "?@"
+
+TeruSama30Desc:
+	db   "?@"
+
+TeruSama31Desc:
+	db   "?@"
+
+TeruSama32Desc:
+	db   "?@"
+
+TeruSama33Desc:
+	db   "?@"
--- /dev/null
+++ b/data/items/item_names.asm
@@ -1,0 +1,257 @@
+ItemNames::
+	db "MASTER BALL@"
+	db "ULTRA BALL@"
+	db "BRIGHTPOWDER@"
+	db "GREAT BALL@"
+	db "# BALL@"
+	db "TERU-SAMA@"
+	db "BICYCLE@"
+	db "MOON STONE@"
+	db "ANTIDOTE@"
+	db "BURN HEAL@"
+	db "ICE HEAL@"
+	db "AWAKENING@"
+	db "PARLYZ HEAL@"
+	db "FULL RESTORE@"
+	db "MAX POTION@"
+	db "HYPER POTION@"
+	db "SUPER POTION@"
+	db "POTION@"
+	db "ESCAPE ROPE@"
+	db "REPEL@"
+	db "MAX ELIXER@"
+	db "FIRE STONE@"
+	db "THUNDERSTONE@"
+	db "WATER STONE@"
+	db "TERU-SAMA@"
+	db "HP UP@"
+	db "PROTEIN@"
+	db "IRON@"
+	db "CARBOS@"
+	db "LUCKY PUNCH@"
+	db "CALCIUM@"
+	db "RARE CANDY@"
+	db "X ACCURACY@"
+	db "LEAF STONE@"
+	db "METAL POWDER@"
+	db "NUGGET@"
+	db "# DOLL@"
+	db "FULL HEAL@"
+	db "REVIVE@"
+	db "MAX REVIVE@"
+	db "GUARD SPEC.@"
+	db "SUPER REPEL@"
+	db "MAX REPEL@"
+	db "DIRE HIT@"
+	db "TERU-SAMA@"
+	db "FRESH WATER@"
+	db "SODA POP@"
+	db "LEMONADE@"
+	db "X ATTACK@"
+	db "TERU-SAMA@"
+	db "X DEFEND@"
+	db "X SPEED@"
+	db "X SPECIAL@"
+	db "COIN CASE@"
+	db "ITEMFINDER@"
+	db "TERU-SAMA@"
+	db "EXP.SHARE@"
+	db "OLD ROD@"
+	db "GOOD ROD@"
+	db "SILVER LEAF@"
+	db "SUPER ROD@"
+	db "PP UP@"
+	db "ETHER@"
+	db "MAX ETHER@"
+	db "ELIXER@"
+	db "RED SCALE@"
+	db "SECRETPOTION@"
+	db "S.S.TICKET@"
+	db "MYSTERY EGG@"
+	db "CLEAR BELL@"
+	db "SILVER WING@"
+	db "MOOMOO MILK@"
+	db "QUICK CLAW@"
+	db "PSNCUREBERRY@"
+	db "GOLD LEAF@"
+	db "SOFT SAND@"
+	db "SHARP BEAK@"
+	db "PRZCUREBERRY@"
+	db "BURNT BERRY@"
+	db "ICE BERRY@"
+	db "POISON BARB@"
+	db "KING'S ROCK@"
+	db "BITTER BERRY@"
+	db "MINT BERRY@"
+	db "RED APRICORN@"
+	db "TINYMUSHROOM@"
+	db "BIG MUSHROOM@"
+	db "SILVERPOWDER@"
+	db "BLU APRICORN@"
+	db "TERU-SAMA@"
+	db "AMULET COIN@"
+	db "YLW APRICORN@"
+	db "GRN APRICORN@"
+	db "CLEANSE TAG@"
+	db "MYSTIC WATER@"
+	db "TWISTEDSPOON@"
+	db "WHT APRICORN@"
+	db "BLACKBELT@"
+	db "BLK APRICORN@"
+	db "TERU-SAMA@"
+	db "PNK APRICORN@"
+	db "BLACKGLASSES@"
+	db "SLOWPOKETAIL@"
+	db "PINK BOW@"
+	db "STICK@"
+	db "SMOKE BALL@"
+	db "NEVERMELTICE@"
+	db "MAGNET@"
+	db "MIRACLEBERRY@"
+	db "PEARL@"
+	db "BIG PEARL@"
+	db "EVERSTONE@"
+	db "SPELL TAG@"
+	db "RAGECANDYBAR@"
+	db "GS BALL@"
+	db "BLUE CARD@"
+	db "MIRACLE SEED@"
+	db "THICK CLUB@"
+	db "FOCUS BAND@"
+	db "TERU-SAMA@"
+	db "ENERGYPOWDER@"
+	db "ENERGY ROOT@"
+	db "HEAL POWDER@"
+	db "REVIVAL HERB@"
+	db "HARD STONE@"
+	db "LUCKY EGG@"
+	db "CARD KEY@"
+	db "MACHINE PART@"
+	db "EGG TICKET@"
+	db "LOST ITEM@"
+	db "STARDUST@"
+	db "STAR PIECE@"
+	db "BASEMENT KEY@"
+	db "PASS@"
+	db "TERU-SAMA@"
+	db "TERU-SAMA@"
+	db "TERU-SAMA@"
+	db "CHARCOAL@"
+	db "BERRY JUICE@"
+	db "SCOPE LENS@"
+	db "TERU-SAMA@"
+	db "TERU-SAMA@"
+	db "METAL COAT@"
+	db "DRAGON FANG@"
+	db "TERU-SAMA@"
+	db "LEFTOVERS@"
+	db "TERU-SAMA@"
+	db "TERU-SAMA@"
+	db "TERU-SAMA@"
+	db "MYSTERYBERRY@"
+	db "DRAGON SCALE@"
+	db "BERSERK GENE@"
+	db "TERU-SAMA@"
+	db "TERU-SAMA@"
+	db "TERU-SAMA@"
+	db "SACRED ASH@"
+	db "HEAVY BALL@"
+	db "FLOWER MAIL@"
+	db "LEVEL BALL@"
+	db "LURE BALL@"
+	db "FAST BALL@"
+	db "TERU-SAMA@"
+	db "LIGHT BALL@"
+	db "FRIEND BALL@"
+	db "MOON BALL@"
+	db "LOVE BALL@"
+	db "NORMAL BOX@"
+	db "GORGEOUS BOX@"
+	db "SUN STONE@"
+	db "POLKADOT BOW@"
+	db "TERU-SAMA@"
+	db "UP-GRADE@"
+	db "BERRY@"
+	db "GOLD BERRY@"
+	db "SQUIRTBOTTLE@"
+	db "TERU-SAMA@"
+	db "PARK BALL@"
+	db "RAINBOW WING@"
+	db "TERU-SAMA@"
+	db "BRICK PIECE@"
+	db "SURF MAIL@"
+	db "LITEBLUEMAIL@"
+	db "PORTRAITMAIL@"
+	db "LOVELY MAIL@"
+	db "EON MAIL@"
+	db "MORPH MAIL@"
+	db "BLUESKY MAIL@"
+	db "MUSIC MAIL@"
+	db "MIRAGE MAIL@"
+	db "TERU-SAMA@"
+	db "TM01@"
+	db "TM02@"
+	db "TM03@"
+	db "TM04@"
+	db "TERU-SAMA@"
+	db "TM05@"
+	db "TM06@"
+	db "TM07@"
+	db "TM08@"
+	db "TM09@"
+	db "TM10@"
+	db "TM11@"
+	db "TM12@"
+	db "TM13@"
+	db "TM14@"
+	db "TM15@"
+	db "TM16@"
+	db "TM17@"
+	db "TM18@"
+	db "TM19@"
+	db "TM20@"
+	db "TM21@"
+	db "TM22@"
+	db "TM23@"
+	db "TM24@"
+	db "TM25@"
+	db "TM26@"
+	db "TM27@"
+	db "TM28@"
+	db "TERU-SAMA@"
+	db "TM29@"
+	db "TM30@"
+	db "TM31@"
+	db "TM32@"
+	db "TM33@"
+	db "TM34@"
+	db "TM35@"
+	db "TM36@"
+	db "TM37@"
+	db "TM38@"
+	db "TM39@"
+	db "TM40@"
+	db "TM41@"
+	db "TM42@"
+	db "TM43@"
+	db "TM44@"
+	db "TM45@"
+	db "TM46@"
+	db "TM47@"
+	db "TM48@"
+	db "TM49@"
+	db "TM50@"
+	db "HM01@"
+	db "HM02@"
+	db "HM03@"
+	db "HM04@"
+	db "HM05@"
+	db "HM06@"
+	db "HM07@"
+	db "TERU-SAMA@"
+	db "TERU-SAMA@"
+	db "TERU-SAMA@"
+	db "TERU-SAMA@"
+	db "TERU-SAMA@"
+	db "TERU-SAMA@"
+	db "?@"
--- /dev/null
+++ b/data/items/marts.asm
@@ -1,0 +1,442 @@
+Marts: ; 160a9
+	dw MartCherrygrove
+	dw MartCherrygroveDex
+	dw MartViolet
+	dw MartAzalea
+	dw MartCianwood
+	dw MartGoldenrod2F1
+	dw MartGoldenrod2F2
+	dw MartGoldenrod3F
+	dw MartGoldenrod4F
+	dw MartGoldenrod5F1
+	dw MartGoldenrod5F2
+	dw MartGoldenrod5F3
+	dw MartGoldenrod5F4
+	dw MartOlivine
+	dw MartEcruteak
+	dw MartMahogany1
+	dw MartMahogany2
+	dw MartBlackthorn
+	dw MartViridian
+	dw MartPewter
+	dw MartCerulean
+	dw MartLavender
+	dw MartVermilion
+	dw MartCeladon2F1
+	dw MartCeladon2F2
+	dw MartCeladon3F
+	dw MartCeladon4F
+	dw MartCeladon5F1
+	dw MartCeladon5F2
+	dw MartFuchsia
+	dw MartSaffron
+	dw MartMtMoon
+	dw MartIndigoPlateau
+	dw MartUnderground
+MartsEnd
+; 160ed
+
+
+MartCherrygrove: ; 160ed
+	db 4 ; # items
+	db POTION
+	db ANTIDOTE
+	db PARLYZ_HEAL
+	db AWAKENING
+	db $ff
+; 160f3
+
+MartCherrygroveDex: ; 160f3
+	db 5 ; # items
+	db POKE_BALL
+	db POTION
+	db ANTIDOTE
+	db PARLYZ_HEAL
+	db AWAKENING
+	db $ff
+; 160fa
+
+MartViolet: ; 160fa
+	db 10 ; # items
+	db POKE_BALL
+	db POTION
+	db ESCAPE_ROPE
+	db ANTIDOTE
+	db PARLYZ_HEAL
+	db AWAKENING
+	db X_DEFEND
+	db X_ATTACK
+	db X_SPEED
+	db FLOWER_MAIL
+	db $ff
+; 16106
+
+MartAzalea: ; 16106
+	db 9 ; # items
+	db CHARCOAL
+	db POKE_BALL
+	db POTION
+	db SUPER_POTION
+	db ESCAPE_ROPE
+	db REPEL
+	db ANTIDOTE
+	db PARLYZ_HEAL
+	db FLOWER_MAIL
+	db $ff
+; 16111
+
+MartCianwood: ; 16111
+	db 5 ; # items
+	db POTION
+	db SUPER_POTION
+	db HYPER_POTION
+	db FULL_HEAL
+	db REVIVE
+	db $ff
+; 16118
+
+MartGoldenrod2F1: ; 16118
+	db 7 ; # items
+	db POTION
+	db SUPER_POTION
+	db ANTIDOTE
+	db PARLYZ_HEAL
+	db AWAKENING
+	db BURN_HEAL
+	db ICE_HEAL
+	db $ff
+; 16121
+
+MartGoldenrod2F2: ; 16121
+	db 8 ; # items
+	db POKE_BALL
+	db GREAT_BALL
+	db ESCAPE_ROPE
+	db REPEL
+	db REVIVE
+	db FULL_HEAL
+	db POKE_DOLL
+	db FLOWER_MAIL
+	db $ff
+; 1612b
+
+MartGoldenrod3F: ; 1612b
+	db 7 ; # items
+	db X_SPEED
+	db X_SPECIAL
+	db X_DEFEND
+	db X_ATTACK
+	db DIRE_HIT
+	db GUARD_SPEC
+	db X_ACCURACY
+	db $ff
+; 16134
+
+MartGoldenrod4F: ; 16134
+	db 5 ; # items
+	db PROTEIN
+	db IRON
+	db CARBOS
+	db CALCIUM
+	db HP_UP
+	db $ff
+; 1613b
+
+MartGoldenrod5F1: ; 1613b
+	db 3 ; # items
+	db TM_THUNDERPUNCH
+	db TM_FIRE_PUNCH
+	db TM_ICE_PUNCH
+	db $ff
+; 16140
+
+MartGoldenrod5F2: ; 16140
+	db 4 ; # items
+	db TM_THUNDERPUNCH
+	db TM_FIRE_PUNCH
+	db TM_ICE_PUNCH
+	db TM_HEADBUTT
+	db $ff
+; 16146
+
+MartGoldenrod5F3: ; 16146
+	db 4 ; # items
+	db TM_THUNDERPUNCH
+	db TM_FIRE_PUNCH
+	db TM_ICE_PUNCH
+	db TM_ROCK_SMASH
+	db $ff
+; 1614c
+
+MartGoldenrod5F4: ; 1614c
+	db 5 ; # items
+	db TM_THUNDERPUNCH
+	db TM_FIRE_PUNCH
+	db TM_ICE_PUNCH
+	db TM_HEADBUTT
+	db TM_ROCK_SMASH
+	db $ff
+; 16153
+
+MartOlivine: ; 16153
+	db 9 ; # items
+	db GREAT_BALL
+	db SUPER_POTION
+	db HYPER_POTION
+	db ANTIDOTE
+	db PARLYZ_HEAL
+	db AWAKENING
+	db ICE_HEAL
+	db SUPER_REPEL
+	db SURF_MAIL
+	db $ff
+; 1615e
+
+MartEcruteak: ; 1615e
+	db 10 ; # items
+	db POKE_BALL
+	db GREAT_BALL
+	db POTION
+	db SUPER_POTION
+	db ANTIDOTE
+	db PARLYZ_HEAL
+	db AWAKENING
+	db BURN_HEAL
+	db ICE_HEAL
+	db REVIVE
+	db $ff
+; 1616a
+
+MartMahogany1: ; 1616a
+	db 4 ; # items
+	db TINYMUSHROOM
+	db SLOWPOKETAIL
+	db POKE_BALL
+	db POTION
+	db $ff
+; 16170
+
+MartMahogany2: ; 16170
+	db 9 ; # items
+	db RAGECANDYBAR
+	db GREAT_BALL
+	db SUPER_POTION
+	db HYPER_POTION
+	db ANTIDOTE
+	db PARLYZ_HEAL
+	db SUPER_REPEL
+	db REVIVE
+	db FLOWER_MAIL
+	db $ff
+; 1617b
+
+MartBlackthorn: ; 1617b
+	db 9 ; # items
+	db GREAT_BALL
+	db ULTRA_BALL
+	db HYPER_POTION
+	db MAX_POTION
+	db FULL_HEAL
+	db REVIVE
+	db MAX_REPEL
+	db X_DEFEND
+	db X_ATTACK
+	db $ff
+; 16186
+
+MartViridian: ; 16186
+	db 9 ; # items
+	db ULTRA_BALL
+	db HYPER_POTION
+	db FULL_HEAL
+	db REVIVE
+	db ANTIDOTE
+	db PARLYZ_HEAL
+	db AWAKENING
+	db BURN_HEAL
+	db FLOWER_MAIL
+	db $ff
+; 16191
+
+MartPewter: ; 16191
+	db 7 ; # items
+	db GREAT_BALL
+	db SUPER_POTION
+	db SUPER_REPEL
+	db ANTIDOTE
+	db PARLYZ_HEAL
+	db AWAKENING
+	db BURN_HEAL
+	db $ff
+; 1619a
+
+MartCerulean: ; 1619a
+	db 9 ; # items
+	db GREAT_BALL
+	db ULTRA_BALL
+	db SUPER_POTION
+	db SUPER_REPEL
+	db FULL_HEAL
+	db X_DEFEND
+	db X_ATTACK
+	db DIRE_HIT
+	db SURF_MAIL
+	db $ff
+; 161a5
+
+MartLavender: ; 161a5
+	db 8 ; # items
+	db GREAT_BALL
+	db POTION
+	db SUPER_POTION
+	db MAX_REPEL
+	db ANTIDOTE
+	db PARLYZ_HEAL
+	db AWAKENING
+	db BURN_HEAL
+	db $ff
+; 161af
+
+MartVermilion: ; 161af
+	db 8 ; # items
+	db ULTRA_BALL
+	db SUPER_POTION
+	db HYPER_POTION
+	db REVIVE
+	db PARLYZ_HEAL
+	db AWAKENING
+	db BURN_HEAL
+	db LITEBLUEMAIL
+	db $ff
+; 161b9
+
+MartCeladon2F1: ; 161b9
+	db 7 ; # items
+	db POTION
+	db SUPER_POTION
+	db HYPER_POTION
+	db MAX_POTION
+	db REVIVE
+	db SUPER_REPEL
+	db MAX_REPEL
+	db $ff
+; 161c2
+
+MartCeladon2F2: ; 161c2
+	db 10 ; # items
+	db POKE_BALL
+	db GREAT_BALL
+	db ULTRA_BALL
+	db ESCAPE_ROPE
+	db FULL_HEAL
+	db ANTIDOTE
+	db BURN_HEAL
+	db ICE_HEAL
+	db AWAKENING
+	db PARLYZ_HEAL
+	db $ff
+; 161ce
+
+MartCeladon3F: ; 161ce
+	db 5 ; # items
+	db TM_HIDDEN_POWER
+	db TM_SUNNY_DAY
+	db TM_PROTECT
+	db TM_RAIN_DANCE
+	db TM_SANDSTORM
+	db $ff
+; 161d5
+
+MartCeladon4F: ; 161d5
+	db 3 ; # items
+	db POKE_DOLL
+	db LOVELY_MAIL
+	db SURF_MAIL
+	db $ff
+; 161da
+
+MartCeladon5F1: ; 161da
+	db 5 ; # items
+	db HP_UP
+	db PROTEIN
+	db IRON
+	db CARBOS
+	db CALCIUM
+	db $ff
+; 161e1
+
+MartCeladon5F2: ; 161e1
+	db 7 ; # items
+	db X_ACCURACY
+	db GUARD_SPEC
+	db DIRE_HIT
+	db X_ATTACK
+	db X_DEFEND
+	db X_SPEED
+	db X_SPECIAL
+	db $ff
+; 161ea
+
+MartFuchsia: ; 161ea
+	db 7 ; # items
+	db GREAT_BALL
+	db ULTRA_BALL
+	db SUPER_POTION
+	db HYPER_POTION
+	db FULL_HEAL
+	db MAX_REPEL
+	db FLOWER_MAIL
+	db $ff
+; 161f3
+
+MartSaffron: ; 161f3
+	db 8 ; # items
+	db GREAT_BALL
+	db ULTRA_BALL
+	db HYPER_POTION
+	db MAX_POTION
+	db FULL_HEAL
+	db X_ATTACK
+	db X_DEFEND
+	db FLOWER_MAIL
+	db $ff
+; 161fd
+
+MartMtMoon: ; 161fd
+	db 6 ; # items
+	db POKE_DOLL
+	db FRESH_WATER
+	db SODA_POP
+	db LEMONADE
+	db REPEL
+	db PORTRAITMAIL
+	db $ff
+; 16205
+
+MartIndigoPlateau: ; 16205
+	db 7 ; # items
+	db ULTRA_BALL
+	db MAX_REPEL
+	db HYPER_POTION
+	db MAX_POTION
+	db FULL_RESTORE
+	db REVIVE
+	db FULL_HEAL
+	db $ff
+; 1620e
+
+MartUnderground: ; 1620e
+	db 4 ; # items
+	db ENERGYPOWDER
+	db ENERGY_ROOT
+	db HEAL_POWDER
+	db REVIVAL_HERB
+	db $ff
+; 16214
+
+DefaultMart: ; 16214
+	db 2 ; # items
+	db POKE_BALL
+	db POTION
+	db $ff
+; 16218
--- a/data/landmarks.asm
+++ /dev/null
@@ -1,208 +1,0 @@
-landmark: MACRO
-; x, y, name
-	db \1, \2
-	dw \3
-ENDM
-
-Landmarks: ; 0x1ca8c3
-; entries correspond to constants/landmark_constants.asm
-	landmark   0,   0, SpecialMapName
-	landmark 148, 116, NewBarkTownName
-	landmark 136, 116, Route29Name
-	landmark 108, 116, CherrygroveCityName
-	landmark 108,  96, Route30Name
-	landmark 104,  76, Route31Name
-	landmark  92,  76, VioletCityName
-	landmark  93,  74, SproutTowerName
-	landmark  92, 108, Route32Name
-	landmark  84,  92, RuinsOfAlphName
-	landmark  92, 140, UnionCaveName
-	landmark  90, 140, Route33Name
-	landmark  76, 140, AzaleaTownName
-	landmark  78, 138, SlowpokeWellName
-	landmark  60, 136, IlexForestName
-	landmark  60, 128, Route34Name
-	landmark  60, 108, GoldenrodCityName
-	landmark  58, 108, RadioTowerName
-	landmark  60,  92, Route35Name
-	landmark  60,  76, NationalParkName
-	landmark  72,  76, Route36Name
-	landmark  76,  68, Route37Name
-	landmark  76,  60, EcruteakCityName
-	landmark  78,  58, TinTowerName
-	landmark  74,  58, BurnedTowerName
-	landmark  60,  60, Route38Name
-	landmark  44,  64, Route39Name
-	landmark  44,  76, OlivineCityName
-	landmark  46,  78, LighthouseName
-	landmark  36,  72, BattleTowerName
-	landmark  36,  80, Route40Name
-	landmark  36, 108, WhirlIslandsName
-	landmark  36, 116, Route41Name
-	landmark  28, 116, CianwoodCityName
-	landmark 100,  60, Route42Name
-	landmark  92,  60, MtMortarName
-	landmark 116,  60, MahoganyTownName
-	landmark 116,  52, Route43Name
-	landmark 116,  44, LakeOfRageName
-	landmark 128,  60, Route44Name
-	landmark 138,  54, IcePathName
-	landmark 140,  60, BlackthornCityName
-	landmark 140,  52, DragonsDenName
-	landmark 140,  80, Route45Name
-	landmark 120,  88, DarkCaveName
-	landmark 132, 104, Route46Name
-	landmark 156,  84, SilverCaveName
-	landmark  60, 124, PalletTownName
-	landmark  60, 108, Route1Name
-	landmark  60,  92, ViridianCityName
-	landmark  60,  80, Route2Name
-	landmark  60,  68, PewterCityName
-	landmark  72,  68, Route3Name
-	landmark  84,  68, MtMoonName
-	landmark  96,  68, Route4Name
-	landmark 108,  68, CeruleanCityName
-	landmark 108,  60, Route24Name
-	landmark 116,  52, Route25Name
-	landmark 108,  76, Route5Name
-	landmark 116,  92, UndergroundName
-	landmark 108,  92, Route6Name
-	landmark 108, 100, VermilionCityName
-	landmark  96,  76, DiglettsCaveName
-	landmark  96,  84, Route7Name
-	landmark 124,  84, Route8Name
-	landmark 124,  68, Route9Name
-	landmark 140,  68, RockTunnelName
-	landmark 140,  72, Route10Name
-	landmark 140,  76, PowerPlantName
-	landmark 140,  84, LavenderTownName
-	landmark 148,  84, LavRadioTowerName
-	landmark  84,  84, CeladonCityName
-	landmark 108,  84, SaffronCityName
-	landmark 124, 100, Route11Name
-	landmark 140,  96, Route12Name
-	landmark 132, 116, Route13Name
-	landmark 124, 128, Route14Name
-	landmark 112, 132, Route15Name
-	landmark  76,  84, Route16Name
-	landmark  76, 108, Route17Name
-	landmark  88, 132, Route18Name
-	landmark 100, 132, FuchsiaCityName
-	landmark 100, 144, Route19Name
-	landmark  84, 148, Route20Name
-	landmark  76, 148, SeafoamIslandsName
-	landmark  60, 148, CinnabarIslandName
-	landmark  60, 136, Route21Name
-	landmark  44,  84, Route22Name
-	landmark  36,  68, VictoryRoadName
-	landmark  36,  60, Route23Name
-	landmark  36,  52, IndigoPlateauName
-	landmark  36, 108, Route26Name
-	landmark  28, 116, Route27Name
-	landmark  20, 116, TohjoFallsName
-	landmark  28,  84, Route28Name
-	landmark 148, 132, FastShipName
-; 0x1caa43
-
-NewBarkTownName:     db "NEW BARK¯TOWN@"
-CherrygroveCityName: db "CHERRYGROVE¯CITY@"
-VioletCityName:      db "VIOLET CITY@"
-AzaleaTownName:      db "AZALEA TOWN@"
-GoldenrodCityName:   db "GOLDENROD¯CITY@"
-EcruteakCityName:    db "ECRUTEAK¯CITY@"
-OlivineCityName:     db "OLIVINE¯CITY@"
-CianwoodCityName:    db "CIANWOOD¯CITY@"
-MahoganyTownName:    db "MAHOGANY¯TOWN@"
-BlackthornCityName:  db "BLACKTHORN¯CITY@"
-LakeOfRageName:      db "LAKE OF¯RAGE@"
-SilverCaveName:      db "SILVER CAVE@"
-SproutTowerName:     db "SPROUT¯TOWER@"
-RuinsOfAlphName:     db "RUINS¯OF ALPH@"
-UnionCaveName:       db "UNION CAVE@"
-SlowpokeWellName:    db "SLOWPOKE¯WELL@"
-RadioTowerName:      db "RADIO TOWER@"
-PowerPlantName:      db "POWER PLANT@"
-NationalParkName:    db "NATIONAL¯PARK@"
-TinTowerName:        db "TIN TOWER@"
-LighthouseName:      db "LIGHTHOUSE@"
-WhirlIslandsName:    db "WHIRL¯ISLANDS@"
-MtMortarName:        db "MT.MORTAR@"
-DragonsDenName:      db "DRAGON'S¯DEN@"
-IcePathName:         db "ICE PATH@"
-NotApplicableName:   db "N/A@"
-PalletTownName:      db "PALLET TOWN@"
-ViridianCityName:    db "VIRIDIAN¯CITY@"
-PewterCityName:      db "PEWTER CITY@"
-CeruleanCityName:    db "CERULEAN¯CITY@"
-LavenderTownName:    db "LAVENDER¯TOWN@"
-VermilionCityName:   db "VERMILION¯CITY@"
-CeladonCityName:     db "CELADON¯CITY@"
-SaffronCityName:     db "SAFFRON¯CITY@"
-FuchsiaCityName:     db "FUCHSIA¯CITY@"
-CinnabarIslandName:  db "CINNABAR¯ISLAND@"
-IndigoPlateauName:   db "INDIGO¯PLATEAU@"
-VictoryRoadName:     db "VICTORY¯ROAD@"
-MtMoonName:          db "MT.MOON@"
-RockTunnelName:      db "ROCK TUNNEL@"
-LavRadioTowerName:   db "LAV¯RADIO TOWER@"
-SilphCoName:         db "SILPH CO.@"
-SafariZoneName:      db "SAFARI ZONE@"
-SeafoamIslandsName:  db "SEAFOAM¯ISLANDS@"
-PokemonMansionName:  db "#MON¯MANSION@"
-CeruleanCaveName:    db "CERULEAN¯CAVE@"
-Route1Name:          db "ROUTE 1@"
-Route2Name:          db "ROUTE 2@"
-Route3Name:          db "ROUTE 3@"
-Route4Name:          db "ROUTE 4@"
-Route5Name:          db "ROUTE 5@"
-Route6Name:          db "ROUTE 6@"
-Route7Name:          db "ROUTE 7@"
-Route8Name:          db "ROUTE 8@"
-Route9Name:          db "ROUTE 9@"
-Route10Name:         db "ROUTE 10@"
-Route11Name:         db "ROUTE 11@"
-Route12Name:         db "ROUTE 12@"
-Route13Name:         db "ROUTE 13@"
-Route14Name:         db "ROUTE 14@"
-Route15Name:         db "ROUTE 15@"
-Route16Name:         db "ROUTE 16@"
-Route17Name:         db "ROUTE 17@"
-Route18Name:         db "ROUTE 18@"
-Route19Name:         db "ROUTE 19@"
-Route20Name:         db "ROUTE 20@"
-Route21Name:         db "ROUTE 21@"
-Route22Name:         db "ROUTE 22@"
-Route23Name:         db "ROUTE 23@"
-Route24Name:         db "ROUTE 24@"
-Route25Name:         db "ROUTE 25@"
-Route26Name:         db "ROUTE 26@"
-Route27Name:         db "ROUTE 27@"
-Route28Name:         db "ROUTE 28@"
-Route29Name:         db "ROUTE 29@"
-Route30Name:         db "ROUTE 30@"
-Route31Name:         db "ROUTE 31@"
-Route32Name:         db "ROUTE 32@"
-Route33Name:         db "ROUTE 33@"
-Route34Name:         db "ROUTE 34@"
-Route35Name:         db "ROUTE 35@"
-Route36Name:         db "ROUTE 36@"
-Route37Name:         db "ROUTE 37@"
-Route38Name:         db "ROUTE 38@"
-Route39Name:         db "ROUTE 39@"
-Route40Name:         db "ROUTE 40@"
-Route41Name:         db "ROUTE 41@"
-Route42Name:         db "ROUTE 42@"
-Route43Name:         db "ROUTE 43@"
-Route44Name:         db "ROUTE 44@"
-Route45Name:         db "ROUTE 45@"
-Route46Name:         db "ROUTE 46@"
-DarkCaveName:        db "DARK CAVE@"
-IlexForestName:      db "ILEX¯FOREST@"
-BurnedTowerName:     db "BURNED¯TOWER@"
-FastShipName:        db "FAST SHIP@"
-ViridianForestName:  db "VIRIDIAN¯FOREST@"
-DiglettsCaveName:    db "DIGLETT'S¯CAVE@"
-TohjoFallsName:      db "TOHJO FALLS@"
-UndergroundName:     db "UNDERGROUND@"
-BattleTowerName:     db "BATTLE¯TOWER@"
-SpecialMapName:      db "SPECIAL@"
--- a/data/map_triggers.asm
+++ /dev/null
@@ -1,89 +1,0 @@
-trigger_def: MACRO
-; db group, map
-; dw address
-	map \1
-	dw \2
-ENDM
-
-MapTriggers:: ; 4d01e
-	trigger_def POKECENTER_2F,                          wPokecenter2FTrigger
-	trigger_def TRADE_CENTER,                           wTradeCenterTrigger
-	trigger_def COLOSSEUM,                              wColosseumTrigger
-	trigger_def TIME_CAPSULE,                           wTimeCapsuleTrigger
-	trigger_def POWER_PLANT,                            wPowerPlantTrigger
-	trigger_def CERULEAN_GYM,                           wCeruleanGymTrigger
-	trigger_def ROUTE_25,                               wRoute25Trigger
-	trigger_def TRAINER_HOUSE_B1F,                      wTrainerHouseB1FTrigger
-	trigger_def VICTORY_ROAD_GATE,                      wVictoryRoadGateTrigger
-	trigger_def SAFFRON_TRAIN_STATION,                  wSaffronTrainStationTrigger
-	trigger_def ROUTE_16_GATE,                          wRoute16GateTrigger
-	trigger_def ROUTE_17_18_GATE,                       wRoute1718GateTrigger
-	trigger_def INDIGO_PLATEAU_POKECENTER_1F,           wIndigoPlateauPokecenter1FTrigger
-	trigger_def WILLS_ROOM,                             wWillsRoomTrigger
-	trigger_def KOGAS_ROOM,                             wKogasRoomTrigger
-	trigger_def BRUNOS_ROOM,                            wBrunosRoomTrigger
-	trigger_def KARENS_ROOM,                            wKarensRoomTrigger
-	trigger_def LANCES_ROOM,                            wLancesRoomTrigger
-	trigger_def HALL_OF_FAME,                           wHallOfFameTrigger
-	trigger_def ROUTE_27,                               wRoute27Trigger
-	trigger_def NEW_BARK_TOWN,                          wNewBarkTownTrigger
-	trigger_def ELMS_LAB,                               wElmsLabTrigger
-	trigger_def KRISS_HOUSE_1F,                         wKrissHouse1FTrigger
-	trigger_def ROUTE_29,                               wRoute29Trigger
-	trigger_def CHERRYGROVE_CITY,                       wCherrygroveCityTrigger
-	trigger_def MR_POKEMONS_HOUSE,                      wMrPokemonsHouseTrigger
-	trigger_def ROUTE_32,                               wRoute32Trigger
-	trigger_def ROUTE_35_NATIONAL_PARK_GATE,            wRoute35NationalParkGateTrigger
-	trigger_def ROUTE_36,                               wRoute36Trigger
-	trigger_def ROUTE_36_NATIONAL_PARK_GATE,            wRoute36NationalParkGateTrigger
-	trigger_def AZALEA_TOWN,                            wAzaleaTownTrigger
-	trigger_def GOLDENROD_GYM,                          wGoldenrodGymTrigger
-	trigger_def GOLDENROD_MAGNET_TRAIN_STATION,         wGoldenrodMagnetTrainStationTrigger
-	trigger_def GOLDENROD_POKECENTER_1F,                wGoldenrodPokecenter1FTrigger
-	trigger_def OLIVINE_CITY,                           wOlivineCityTrigger
-	trigger_def ROUTE_34,                               wRoute34Trigger
-	trigger_def ROUTE_34_ILEX_FOREST_GATE,              wRoute34IlexForestGateTrigger
-	trigger_def ECRUTEAK_HOUSE,                         wEcruteakHouseTrigger
-	trigger_def WISE_TRIOS_ROOM,                        wWiseTriosRoomTrigger
-	trigger_def ECRUTEAK_POKECENTER_1F,                 wEcruteakPokecenter1FTrigger
-	trigger_def ECRUTEAK_GYM,                           wEcruteakGymTrigger
-	trigger_def MAHOGANY_TOWN,                          wMahoganyTownTrigger
-	trigger_def ROUTE_42,                               wRoute42Trigger
-	trigger_def CIANWOOD_CITY,                          wCianwoodCityTrigger
-	trigger_def BATTLE_TOWER_1F,                        wBattleTower1FTrigger
-	trigger_def BATTLE_TOWER_BATTLE_ROOM,               wBattleTowerBattleRoomTrigger
-	trigger_def BATTLE_TOWER_ELEVATOR,                  wBattleTowerElevatorTrigger
-	trigger_def BATTLE_TOWER_HALLWAY,                   wBattleTowerHallwayTrigger
-	trigger_def BATTLE_TOWER_OUTSIDE,                   wBattleTowerOutsideTrigger
-	trigger_def ROUTE_43_GATE,                          wRoute43GateTrigger
-	trigger_def MOUNT_MOON,                             wMountMoonTrigger
-	trigger_def SPROUT_TOWER_3F,                        wSproutTower3FTrigger
-	trigger_def TIN_TOWER_1F,                           wTinTower1FTrigger
-	trigger_def BURNED_TOWER_1F,                        wBurnedTower1FTrigger
-	trigger_def BURNED_TOWER_B1F,                       wBurnedTowerB1FTrigger
-	trigger_def RADIO_TOWER_5F,                         wRadioTower5FTrigger
-	trigger_def RUINS_OF_ALPH_OUTSIDE,                  wRuinsOfAlphOutsideTrigger
-	trigger_def RUINS_OF_ALPH_RESEARCH_CENTER,          wRuinsOfAlphResearchCenterTrigger
-	trigger_def RUINS_OF_ALPH_HO_OH_CHAMBER,            wRuinsOfAlphHoOhChamberTrigger
-	trigger_def RUINS_OF_ALPH_KABUTO_CHAMBER,           wRuinsOfAlphKabutoChamberTrigger
-	trigger_def RUINS_OF_ALPH_OMANYTE_CHAMBER,          wRuinsOfAlphOmanyteChamberTrigger
-	trigger_def RUINS_OF_ALPH_AERODACTYL_CHAMBER,       wRuinsOfAlphAerodactylChamberTrigger
-	trigger_def RUINS_OF_ALPH_INNER_CHAMBER,            wRuinsOfAlphInnerChamberTrigger
-	trigger_def MAHOGANY_MART_1F,                       wMahoganyMart1FTrigger
-	trigger_def TEAM_ROCKET_BASE_B1F,                   wTeamRocketBaseB1FTrigger
-	trigger_def TEAM_ROCKET_BASE_B2F,                   wTeamRocketBaseB2FTrigger
-	trigger_def TEAM_ROCKET_BASE_B3F,                   wTeamRocketBaseB3FTrigger
-	trigger_def UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, wUndergroundPathSwitchRoomEntrancesTrigger
-	trigger_def SILVER_CAVE_ROOM_3,                     wSilverCaveRoom3Trigger
-	trigger_def VICTORY_ROAD,                           wVictoryRoadTrigger
-	trigger_def DRAGONS_DEN_B1F,                        wDragonsDenB1FTrigger
-	trigger_def DRAGON_SHRINE,                          wDragonShrineTrigger
-	trigger_def OLIVINE_PORT,                           wOlivinePortTrigger
-	trigger_def VERMILION_PORT,                         wVermilionPortTrigger
-	trigger_def FAST_SHIP_1F,                           wFastShip1FTrigger
-	trigger_def FAST_SHIP_B1F,                          wFastShipB1FTrigger
-	trigger_def MOUNT_MOON_SQUARE,                      wMountMoonSquareTrigger
-	trigger_def MOBILE_TRADE_ROOM_MOBILE,               wMobileTradeRoomMobileTrigger
-	trigger_def MOBILE_BATTLE_ROOM,                     wMobileBattleRoomTrigger
-	db -1
-; 4d15b
--- a/data/mapgroup_roofs.asm
+++ /dev/null
@@ -1,31 +1,0 @@
-; valid roofs: 0, 1, 2, 3, 4, or -1 for none
-
-MapGroupRoofs: ; 1c021i
-	db -1 ; group 0 (unused)
-	db  3 ; group 1 (Olivine)
-	db  2 ; group 2 (Mahogany)
-	db -1 ; group 3
-	db  1 ; group 4 (Ecruteak)
-	db  2 ; group 5 (Blackthorn)
-	db -1 ; group 6
-	db -1 ; group 7
-	db  2 ; group 8 (Azalea)
-	db  2 ; group 9 (Lake of Rage)
-	db  1 ; group 10 (Violet)
-	db  4 ; group 11 (Goldenrod)
-	db -1 ; group 12
-	db -1 ; group 13
-	db -1 ; group 14
-	db -1 ; group 15
-	db -1 ; group 16
-	db -1 ; group 17
-	db -1 ; group 18
-	db  0 ; group 19 (Silver Cave)
-	db -1 ; group 20
-	db -1 ; group 21
-	db  3 ; group 22 (Cianwood)
-	db -1 ; group 23
-	db  0 ; group 24 (New Bark)
-	db -1 ; group 25
-	db  0 ; group 26 (Cherrygrove)
-; 1c03c
--- /dev/null
+++ b/data/maps/landmarks.asm
@@ -1,0 +1,208 @@
+landmark: MACRO
+; x, y, name
+	db \1, \2
+	dw \3
+ENDM
+
+Landmarks: ; 0x1ca8c3
+; entries correspond to constants/landmark_constants.asm
+	landmark   0,   0, SpecialMapName
+	landmark 148, 116, NewBarkTownName
+	landmark 136, 116, Route29Name
+	landmark 108, 116, CherrygroveCityName
+	landmark 108,  96, Route30Name
+	landmark 104,  76, Route31Name
+	landmark  92,  76, VioletCityName
+	landmark  93,  74, SproutTowerName
+	landmark  92, 108, Route32Name
+	landmark  84,  92, RuinsOfAlphName
+	landmark  92, 140, UnionCaveName
+	landmark  90, 140, Route33Name
+	landmark  76, 140, AzaleaTownName
+	landmark  78, 138, SlowpokeWellName
+	landmark  60, 136, IlexForestName
+	landmark  60, 128, Route34Name
+	landmark  60, 108, GoldenrodCityName
+	landmark  58, 108, RadioTowerName
+	landmark  60,  92, Route35Name
+	landmark  60,  76, NationalParkName
+	landmark  72,  76, Route36Name
+	landmark  76,  68, Route37Name
+	landmark  76,  60, EcruteakCityName
+	landmark  78,  58, TinTowerName
+	landmark  74,  58, BurnedTowerName
+	landmark  60,  60, Route38Name
+	landmark  44,  64, Route39Name
+	landmark  44,  76, OlivineCityName
+	landmark  46,  78, LighthouseName
+	landmark  36,  72, BattleTowerName
+	landmark  36,  80, Route40Name
+	landmark  36, 108, WhirlIslandsName
+	landmark  36, 116, Route41Name
+	landmark  28, 116, CianwoodCityName
+	landmark 100,  60, Route42Name
+	landmark  92,  60, MtMortarName
+	landmark 116,  60, MahoganyTownName
+	landmark 116,  52, Route43Name
+	landmark 116,  44, LakeOfRageName
+	landmark 128,  60, Route44Name
+	landmark 138,  54, IcePathName
+	landmark 140,  60, BlackthornCityName
+	landmark 140,  52, DragonsDenName
+	landmark 140,  80, Route45Name
+	landmark 120,  88, DarkCaveName
+	landmark 132, 104, Route46Name
+	landmark 156,  84, SilverCaveName
+	landmark  60, 124, PalletTownName
+	landmark  60, 108, Route1Name
+	landmark  60,  92, ViridianCityName
+	landmark  60,  80, Route2Name
+	landmark  60,  68, PewterCityName
+	landmark  72,  68, Route3Name
+	landmark  84,  68, MtMoonName
+	landmark  96,  68, Route4Name
+	landmark 108,  68, CeruleanCityName
+	landmark 108,  60, Route24Name
+	landmark 116,  52, Route25Name
+	landmark 108,  76, Route5Name
+	landmark 116,  92, UndergroundName
+	landmark 108,  92, Route6Name
+	landmark 108, 100, VermilionCityName
+	landmark  96,  76, DiglettsCaveName
+	landmark  96,  84, Route7Name
+	landmark 124,  84, Route8Name
+	landmark 124,  68, Route9Name
+	landmark 140,  68, RockTunnelName
+	landmark 140,  72, Route10Name
+	landmark 140,  76, PowerPlantName
+	landmark 140,  84, LavenderTownName
+	landmark 148,  84, LavRadioTowerName
+	landmark  84,  84, CeladonCityName
+	landmark 108,  84, SaffronCityName
+	landmark 124, 100, Route11Name
+	landmark 140,  96, Route12Name
+	landmark 132, 116, Route13Name
+	landmark 124, 128, Route14Name
+	landmark 112, 132, Route15Name
+	landmark  76,  84, Route16Name
+	landmark  76, 108, Route17Name
+	landmark  88, 132, Route18Name
+	landmark 100, 132, FuchsiaCityName
+	landmark 100, 144, Route19Name
+	landmark  84, 148, Route20Name
+	landmark  76, 148, SeafoamIslandsName
+	landmark  60, 148, CinnabarIslandName
+	landmark  60, 136, Route21Name
+	landmark  44,  84, Route22Name
+	landmark  36,  68, VictoryRoadName
+	landmark  36,  60, Route23Name
+	landmark  36,  52, IndigoPlateauName
+	landmark  36, 108, Route26Name
+	landmark  28, 116, Route27Name
+	landmark  20, 116, TohjoFallsName
+	landmark  28,  84, Route28Name
+	landmark 148, 132, FastShipName
+; 0x1caa43
+
+NewBarkTownName:     db "NEW BARK¯TOWN@"
+CherrygroveCityName: db "CHERRYGROVE¯CITY@"
+VioletCityName:      db "VIOLET CITY@"
+AzaleaTownName:      db "AZALEA TOWN@"
+GoldenrodCityName:   db "GOLDENROD¯CITY@"
+EcruteakCityName:    db "ECRUTEAK¯CITY@"
+OlivineCityName:     db "OLIVINE¯CITY@"
+CianwoodCityName:    db "CIANWOOD¯CITY@"
+MahoganyTownName:    db "MAHOGANY¯TOWN@"
+BlackthornCityName:  db "BLACKTHORN¯CITY@"
+LakeOfRageName:      db "LAKE OF¯RAGE@"
+SilverCaveName:      db "SILVER CAVE@"
+SproutTowerName:     db "SPROUT¯TOWER@"
+RuinsOfAlphName:     db "RUINS¯OF ALPH@"
+UnionCaveName:       db "UNION CAVE@"
+SlowpokeWellName:    db "SLOWPOKE¯WELL@"
+RadioTowerName:      db "RADIO TOWER@"
+PowerPlantName:      db "POWER PLANT@"
+NationalParkName:    db "NATIONAL¯PARK@"
+TinTowerName:        db "TIN TOWER@"
+LighthouseName:      db "LIGHTHOUSE@"
+WhirlIslandsName:    db "WHIRL¯ISLANDS@"
+MtMortarName:        db "MT.MORTAR@"
+DragonsDenName:      db "DRAGON'S¯DEN@"
+IcePathName:         db "ICE PATH@"
+NotApplicableName:   db "N/A@"
+PalletTownName:      db "PALLET TOWN@"
+ViridianCityName:    db "VIRIDIAN¯CITY@"
+PewterCityName:      db "PEWTER CITY@"
+CeruleanCityName:    db "CERULEAN¯CITY@"
+LavenderTownName:    db "LAVENDER¯TOWN@"
+VermilionCityName:   db "VERMILION¯CITY@"
+CeladonCityName:     db "CELADON¯CITY@"
+SaffronCityName:     db "SAFFRON¯CITY@"
+FuchsiaCityName:     db "FUCHSIA¯CITY@"
+CinnabarIslandName:  db "CINNABAR¯ISLAND@"
+IndigoPlateauName:   db "INDIGO¯PLATEAU@"
+VictoryRoadName:     db "VICTORY¯ROAD@"
+MtMoonName:          db "MT.MOON@"
+RockTunnelName:      db "ROCK TUNNEL@"
+LavRadioTowerName:   db "LAV¯RADIO TOWER@"
+SilphCoName:         db "SILPH CO.@"
+SafariZoneName:      db "SAFARI ZONE@"
+SeafoamIslandsName:  db "SEAFOAM¯ISLANDS@"
+PokemonMansionName:  db "#MON¯MANSION@"
+CeruleanCaveName:    db "CERULEAN¯CAVE@"
+Route1Name:          db "ROUTE 1@"
+Route2Name:          db "ROUTE 2@"
+Route3Name:          db "ROUTE 3@"
+Route4Name:          db "ROUTE 4@"
+Route5Name:          db "ROUTE 5@"
+Route6Name:          db "ROUTE 6@"
+Route7Name:          db "ROUTE 7@"
+Route8Name:          db "ROUTE 8@"
+Route9Name:          db "ROUTE 9@"
+Route10Name:         db "ROUTE 10@"
+Route11Name:         db "ROUTE 11@"
+Route12Name:         db "ROUTE 12@"
+Route13Name:         db "ROUTE 13@"
+Route14Name:         db "ROUTE 14@"
+Route15Name:         db "ROUTE 15@"
+Route16Name:         db "ROUTE 16@"
+Route17Name:         db "ROUTE 17@"
+Route18Name:         db "ROUTE 18@"
+Route19Name:         db "ROUTE 19@"
+Route20Name:         db "ROUTE 20@"
+Route21Name:         db "ROUTE 21@"
+Route22Name:         db "ROUTE 22@"
+Route23Name:         db "ROUTE 23@"
+Route24Name:         db "ROUTE 24@"
+Route25Name:         db "ROUTE 25@"
+Route26Name:         db "ROUTE 26@"
+Route27Name:         db "ROUTE 27@"
+Route28Name:         db "ROUTE 28@"
+Route29Name:         db "ROUTE 29@"
+Route30Name:         db "ROUTE 30@"
+Route31Name:         db "ROUTE 31@"
+Route32Name:         db "ROUTE 32@"
+Route33Name:         db "ROUTE 33@"
+Route34Name:         db "ROUTE 34@"
+Route35Name:         db "ROUTE 35@"
+Route36Name:         db "ROUTE 36@"
+Route37Name:         db "ROUTE 37@"
+Route38Name:         db "ROUTE 38@"
+Route39Name:         db "ROUTE 39@"
+Route40Name:         db "ROUTE 40@"
+Route41Name:         db "ROUTE 41@"
+Route42Name:         db "ROUTE 42@"
+Route43Name:         db "ROUTE 43@"
+Route44Name:         db "ROUTE 44@"
+Route45Name:         db "ROUTE 45@"
+Route46Name:         db "ROUTE 46@"
+DarkCaveName:        db "DARK CAVE@"
+IlexForestName:      db "ILEX¯FOREST@"
+BurnedTowerName:     db "BURNED¯TOWER@"
+FastShipName:        db "FAST SHIP@"
+ViridianForestName:  db "VIRIDIAN¯FOREST@"
+DiglettsCaveName:    db "DIGLETT'S¯CAVE@"
+TohjoFallsName:      db "TOHJO FALLS@"
+UndergroundName:     db "UNDERGROUND@"
+BattleTowerName:     db "BATTLE¯TOWER@"
+SpecialMapName:      db "SPECIAL@"
--- /dev/null
+++ b/data/maps/map_triggers.asm
@@ -1,0 +1,89 @@
+trigger_def: MACRO
+; db group, map
+; dw address
+	map \1
+	dw \2
+ENDM
+
+MapTriggers:: ; 4d01e
+	trigger_def POKECENTER_2F,                          wPokecenter2FTrigger
+	trigger_def TRADE_CENTER,                           wTradeCenterTrigger
+	trigger_def COLOSSEUM,                              wColosseumTrigger
+	trigger_def TIME_CAPSULE,                           wTimeCapsuleTrigger
+	trigger_def POWER_PLANT,                            wPowerPlantTrigger
+	trigger_def CERULEAN_GYM,                           wCeruleanGymTrigger
+	trigger_def ROUTE_25,                               wRoute25Trigger
+	trigger_def TRAINER_HOUSE_B1F,                      wTrainerHouseB1FTrigger
+	trigger_def VICTORY_ROAD_GATE,                      wVictoryRoadGateTrigger
+	trigger_def SAFFRON_TRAIN_STATION,                  wSaffronTrainStationTrigger
+	trigger_def ROUTE_16_GATE,                          wRoute16GateTrigger
+	trigger_def ROUTE_17_18_GATE,                       wRoute1718GateTrigger
+	trigger_def INDIGO_PLATEAU_POKECENTER_1F,           wIndigoPlateauPokecenter1FTrigger
+	trigger_def WILLS_ROOM,                             wWillsRoomTrigger
+	trigger_def KOGAS_ROOM,                             wKogasRoomTrigger
+	trigger_def BRUNOS_ROOM,                            wBrunosRoomTrigger
+	trigger_def KARENS_ROOM,                            wKarensRoomTrigger
+	trigger_def LANCES_ROOM,                            wLancesRoomTrigger
+	trigger_def HALL_OF_FAME,                           wHallOfFameTrigger
+	trigger_def ROUTE_27,                               wRoute27Trigger
+	trigger_def NEW_BARK_TOWN,                          wNewBarkTownTrigger
+	trigger_def ELMS_LAB,                               wElmsLabTrigger
+	trigger_def KRISS_HOUSE_1F,                         wKrissHouse1FTrigger
+	trigger_def ROUTE_29,                               wRoute29Trigger
+	trigger_def CHERRYGROVE_CITY,                       wCherrygroveCityTrigger
+	trigger_def MR_POKEMONS_HOUSE,                      wMrPokemonsHouseTrigger
+	trigger_def ROUTE_32,                               wRoute32Trigger
+	trigger_def ROUTE_35_NATIONAL_PARK_GATE,            wRoute35NationalParkGateTrigger
+	trigger_def ROUTE_36,                               wRoute36Trigger
+	trigger_def ROUTE_36_NATIONAL_PARK_GATE,            wRoute36NationalParkGateTrigger
+	trigger_def AZALEA_TOWN,                            wAzaleaTownTrigger
+	trigger_def GOLDENROD_GYM,                          wGoldenrodGymTrigger
+	trigger_def GOLDENROD_MAGNET_TRAIN_STATION,         wGoldenrodMagnetTrainStationTrigger
+	trigger_def GOLDENROD_POKECENTER_1F,                wGoldenrodPokecenter1FTrigger
+	trigger_def OLIVINE_CITY,                           wOlivineCityTrigger
+	trigger_def ROUTE_34,                               wRoute34Trigger
+	trigger_def ROUTE_34_ILEX_FOREST_GATE,              wRoute34IlexForestGateTrigger
+	trigger_def ECRUTEAK_HOUSE,                         wEcruteakHouseTrigger
+	trigger_def WISE_TRIOS_ROOM,                        wWiseTriosRoomTrigger
+	trigger_def ECRUTEAK_POKECENTER_1F,                 wEcruteakPokecenter1FTrigger
+	trigger_def ECRUTEAK_GYM,                           wEcruteakGymTrigger
+	trigger_def MAHOGANY_TOWN,                          wMahoganyTownTrigger
+	trigger_def ROUTE_42,                               wRoute42Trigger
+	trigger_def CIANWOOD_CITY,                          wCianwoodCityTrigger
+	trigger_def BATTLE_TOWER_1F,                        wBattleTower1FTrigger
+	trigger_def BATTLE_TOWER_BATTLE_ROOM,               wBattleTowerBattleRoomTrigger
+	trigger_def BATTLE_TOWER_ELEVATOR,                  wBattleTowerElevatorTrigger
+	trigger_def BATTLE_TOWER_HALLWAY,                   wBattleTowerHallwayTrigger
+	trigger_def BATTLE_TOWER_OUTSIDE,                   wBattleTowerOutsideTrigger
+	trigger_def ROUTE_43_GATE,                          wRoute43GateTrigger
+	trigger_def MOUNT_MOON,                             wMountMoonTrigger
+	trigger_def SPROUT_TOWER_3F,                        wSproutTower3FTrigger
+	trigger_def TIN_TOWER_1F,                           wTinTower1FTrigger
+	trigger_def BURNED_TOWER_1F,                        wBurnedTower1FTrigger
+	trigger_def BURNED_TOWER_B1F,                       wBurnedTowerB1FTrigger
+	trigger_def RADIO_TOWER_5F,                         wRadioTower5FTrigger
+	trigger_def RUINS_OF_ALPH_OUTSIDE,                  wRuinsOfAlphOutsideTrigger
+	trigger_def RUINS_OF_ALPH_RESEARCH_CENTER,          wRuinsOfAlphResearchCenterTrigger
+	trigger_def RUINS_OF_ALPH_HO_OH_CHAMBER,            wRuinsOfAlphHoOhChamberTrigger
+	trigger_def RUINS_OF_ALPH_KABUTO_CHAMBER,           wRuinsOfAlphKabutoChamberTrigger
+	trigger_def RUINS_OF_ALPH_OMANYTE_CHAMBER,          wRuinsOfAlphOmanyteChamberTrigger
+	trigger_def RUINS_OF_ALPH_AERODACTYL_CHAMBER,       wRuinsOfAlphAerodactylChamberTrigger
+	trigger_def RUINS_OF_ALPH_INNER_CHAMBER,            wRuinsOfAlphInnerChamberTrigger
+	trigger_def MAHOGANY_MART_1F,                       wMahoganyMart1FTrigger
+	trigger_def TEAM_ROCKET_BASE_B1F,                   wTeamRocketBaseB1FTrigger
+	trigger_def TEAM_ROCKET_BASE_B2F,                   wTeamRocketBaseB2FTrigger
+	trigger_def TEAM_ROCKET_BASE_B3F,                   wTeamRocketBaseB3FTrigger
+	trigger_def UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, wUndergroundPathSwitchRoomEntrancesTrigger
+	trigger_def SILVER_CAVE_ROOM_3,                     wSilverCaveRoom3Trigger
+	trigger_def VICTORY_ROAD,                           wVictoryRoadTrigger
+	trigger_def DRAGONS_DEN_B1F,                        wDragonsDenB1FTrigger
+	trigger_def DRAGON_SHRINE,                          wDragonShrineTrigger
+	trigger_def OLIVINE_PORT,                           wOlivinePortTrigger
+	trigger_def VERMILION_PORT,                         wVermilionPortTrigger
+	trigger_def FAST_SHIP_1F,                           wFastShip1FTrigger
+	trigger_def FAST_SHIP_B1F,                          wFastShipB1FTrigger
+	trigger_def MOUNT_MOON_SQUARE,                      wMountMoonSquareTrigger
+	trigger_def MOBILE_TRADE_ROOM_MOBILE,               wMobileTradeRoomMobileTrigger
+	trigger_def MOBILE_BATTLE_ROOM,                     wMobileBattleRoomTrigger
+	db -1
+; 4d15b
--- /dev/null
+++ b/data/maps/mapgroup_roofs.asm
@@ -1,0 +1,31 @@
+; valid roofs: 0, 1, 2, 3, 4, or -1 for none
+
+MapGroupRoofs: ; 1c021i
+	db -1 ; group 0 (unused)
+	db  3 ; group 1 (Olivine)
+	db  2 ; group 2 (Mahogany)
+	db -1 ; group 3
+	db  1 ; group 4 (Ecruteak)
+	db  2 ; group 5 (Blackthorn)
+	db -1 ; group 6
+	db -1 ; group 7
+	db  2 ; group 8 (Azalea)
+	db  2 ; group 9 (Lake of Rage)
+	db  1 ; group 10 (Violet)
+	db  4 ; group 11 (Goldenrod)
+	db -1 ; group 12
+	db -1 ; group 13
+	db -1 ; group 14
+	db -1 ; group 15
+	db -1 ; group 16
+	db -1 ; group 17
+	db -1 ; group 18
+	db  0 ; group 19 (Silver Cave)
+	db -1 ; group 20
+	db -1 ; group 21
+	db  3 ; group 22 (Cianwood)
+	db -1 ; group 23
+	db  0 ; group 24 (New Bark)
+	db -1 ; group 25
+	db  0 ; group 26 (Cherrygrove)
+; 1c03c
--- /dev/null
+++ b/data/maps/outdoor_sprites.asm
@@ -1,0 +1,696 @@
+; Valid sprite IDs for each map group.
+; Maps with permission ROUTE or TOWN can only use these sprites.
+
+OutdoorSprites: ; 144b8
+	dw OlivineGroupSprites
+	dw MahoganyGroupSprites
+	dw DungeonsGroupSprites
+	dw EcruteakGroupSprites
+	dw BlackthornGroupSprites
+	dw CinnabarGroupSprites
+	dw CeruleanGroupSprites
+	dw AzaleaGroupSprites
+	dw LakeOfRageGroupSprites
+	dw VioletGroupSprites
+	dw GoldenrodGroupSprites
+	dw VermilionGroupSprites
+	dw PalletGroupSprites
+	dw PewterGroupSprites
+	dw FastShipGroupSprites
+	dw IndigoGroupSprites
+	dw FuchsiaGroupSprites
+	dw LavenderGroupSprites
+	dw SilverGroupSprites
+	dw CableClubGroupSprites
+	dw CeladonGroupSprites
+	dw CianwoodGroupSprites
+	dw ViridianGroupSprites
+	dw NewBarkGroupSprites
+	dw SaffronGroupSprites
+	dw CherrygroveGroupSprites
+; 144ec
+
+
+PalletGroupSprites: ; 144ec
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_TEACHER
+	db SPRITE_FISHER
+	db SPRITE_YOUNGSTER
+	db SPRITE_BLUE
+	db SPRITE_GRAMPS
+	db SPRITE_BUG_CATCHER
+	db SPRITE_COOLTRAINER_F
+	db SPRITE_SWIMMER_GIRL
+	db SPRITE_SWIMMER_GUY
+	db SPRITE_POKE_BALL
+	db SPRITE_FRUIT_TREE
+; 14503
+
+ViridianGroupSprites: ; 14503
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_TEACHER
+	db SPRITE_FISHER
+	db SPRITE_YOUNGSTER
+	db SPRITE_BLUE
+	db SPRITE_GRAMPS
+	db SPRITE_BUG_CATCHER
+	db SPRITE_COOLTRAINER_F
+	db SPRITE_SWIMMER_GIRL
+	db SPRITE_SWIMMER_GUY
+	db SPRITE_POKE_BALL
+	db SPRITE_FRUIT_TREE
+; 1451a
+
+PewterGroupSprites: ; 1451a
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_TEACHER
+	db SPRITE_FISHER
+	db SPRITE_YOUNGSTER
+	db SPRITE_BLUE
+	db SPRITE_GRAMPS
+	db SPRITE_BUG_CATCHER
+	db SPRITE_COOLTRAINER_F
+	db SPRITE_SWIMMER_GIRL
+	db SPRITE_SWIMMER_GUY
+	db SPRITE_POKE_BALL
+	db SPRITE_FRUIT_TREE
+; 14531
+
+CinnabarGroupSprites: ; 14531
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_TEACHER
+	db SPRITE_FISHER
+	db SPRITE_YOUNGSTER
+	db SPRITE_BLUE
+	db SPRITE_GRAMPS
+	db SPRITE_BUG_CATCHER
+	db SPRITE_COOLTRAINER_F
+	db SPRITE_SWIMMER_GIRL
+	db SPRITE_SWIMMER_GUY
+	db SPRITE_POKE_BALL
+	db SPRITE_FRUIT_TREE
+; 14548
+
+CeruleanGroupSprites: ; 14548
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_COOLTRAINER_M
+	db SPRITE_SUPER_NERD
+	db SPRITE_COOLTRAINER_F
+	db SPRITE_FISHER
+	db SPRITE_YOUNGSTER
+	db SPRITE_LASS
+	db SPRITE_POKEFAN_M
+	db SPRITE_ROCKET
+	db SPRITE_MISTY
+	db SPRITE_POKE_BALL
+	db SPRITE_SLOWPOKE
+; 1455f
+
+SaffronGroupSprites: ; 1455f
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_COOLTRAINER_M
+	db SPRITE_SUPER_NERD
+	db SPRITE_COOLTRAINER_F
+	db SPRITE_FISHER
+	db SPRITE_YOUNGSTER
+	db SPRITE_LASS
+	db SPRITE_POKEFAN_M
+	db SPRITE_ROCKET
+	db SPRITE_MISTY
+	db SPRITE_POKE_BALL
+	db SPRITE_SLOWPOKE
+; 14576
+
+CeladonGroupSprites: ; 14576
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_FISHER
+	db SPRITE_POLIWAG
+	db SPRITE_TEACHER
+	db SPRITE_GRAMPS
+	db SPRITE_YOUNGSTER
+	db SPRITE_LASS
+	db SPRITE_BIKER
+	db SPRITE_SILVER
+	db SPRITE_BLUE
+	db SPRITE_POKE_BALL
+	db SPRITE_FRUIT_TREE
+; 1458d
+
+LavenderGroupSprites: ; 1458d
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_POKEFAN_M
+	db SPRITE_MACHOP
+	db SPRITE_GRAMPS
+	db SPRITE_YOUNGSTER
+	db SPRITE_FISHER
+	db SPRITE_TEACHER
+	db SPRITE_SUPER_NERD
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_BIKER
+	db SPRITE_POKE_BALL
+	db SPRITE_FRUIT_TREE
+; 145a4
+
+VermilionGroupSprites: ; 145a4
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_POKEFAN_M
+	db SPRITE_MACHOP
+	db SPRITE_GRAMPS
+	db SPRITE_YOUNGSTER
+	db SPRITE_FISHER
+	db SPRITE_TEACHER
+	db SPRITE_SUPER_NERD
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_BIKER
+	db SPRITE_POKE_BALL
+	db SPRITE_FRUIT_TREE
+; 145bb
+
+FuchsiaGroupSprites: ; 145bb
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_POKEFAN_M
+	db SPRITE_MACHOP
+	db SPRITE_GRAMPS
+	db SPRITE_YOUNGSTER
+	db SPRITE_FISHER
+	db SPRITE_TEACHER
+	db SPRITE_SUPER_NERD
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_BIKER
+	db SPRITE_POKE_BALL
+	db SPRITE_FRUIT_TREE
+; 145d2
+
+IndigoGroupSprites: ; 145d2
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_POKEFAN_M
+	db SPRITE_BUENA
+	db SPRITE_GRAMPS
+	db SPRITE_YOUNGSTER
+	db SPRITE_FISHER
+	db SPRITE_TEACHER
+	db SPRITE_SUPER_NERD
+	db SPRITE_MACHOP
+	db SPRITE_BIKER
+	db SPRITE_POKE_BALL
+	db SPRITE_BOULDER
+; 145e9
+
+NewBarkGroupSprites: ; 145e9
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_SILVER
+	db SPRITE_TEACHER
+	db SPRITE_FISHER
+	db SPRITE_COOLTRAINER_M
+	db SPRITE_YOUNGSTER
+	db SPRITE_MONSTER
+	db SPRITE_GRAMPS
+	db SPRITE_BUG_CATCHER
+	db SPRITE_COOLTRAINER_F
+	db SPRITE_POKE_BALL
+	db SPRITE_FRUIT_TREE
+; 14600
+
+CherrygroveGroupSprites: ; 14600
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_SILVER
+	db SPRITE_TEACHER
+	db SPRITE_FISHER
+	db SPRITE_COOLTRAINER_M
+	db SPRITE_YOUNGSTER
+	db SPRITE_MONSTER
+	db SPRITE_GRAMPS
+	db SPRITE_BUG_CATCHER
+	db SPRITE_COOLTRAINER_F
+	db SPRITE_POKE_BALL
+	db SPRITE_FRUIT_TREE
+; 14617
+
+SilverGroupSprites: ; 14617
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_SILVER
+	db SPRITE_TEACHER
+	db SPRITE_FISHER
+	db SPRITE_COOLTRAINER_M
+	db SPRITE_YOUNGSTER
+	db SPRITE_MONSTER
+	db SPRITE_GRAMPS
+	db SPRITE_BUG_CATCHER
+	db SPRITE_COOLTRAINER_F
+	db SPRITE_POKE_BALL
+	db SPRITE_FRUIT_TREE
+; 1462e
+
+VioletGroupSprites: ; 1462e
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_FISHER
+	db SPRITE_LASS
+	db SPRITE_OFFICER
+	db SPRITE_GRAMPS
+	db SPRITE_YOUNGSTER
+	db SPRITE_COOLTRAINER_M
+	db SPRITE_BUG_CATCHER
+	db SPRITE_SUPER_NERD
+	db SPRITE_WEIRD_TREE
+	db SPRITE_POKE_BALL
+	db SPRITE_FRUIT_TREE
+; 14645
+
+EcruteakGroupSprites: ; 14645
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_FISHER
+	db SPRITE_LASS
+	db SPRITE_OFFICER
+	db SPRITE_GRAMPS
+	db SPRITE_YOUNGSTER
+	db SPRITE_COOLTRAINER_M
+	db SPRITE_BUG_CATCHER
+	db SPRITE_SUPER_NERD
+	db SPRITE_WEIRD_TREE
+	db SPRITE_POKE_BALL
+	db SPRITE_FRUIT_TREE
+; 1465c
+
+AzaleaGroupSprites: ; 1465c
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_KURT_OUTSIDE
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_GRAMPS
+	db SPRITE_YOUNGSTER
+	db SPRITE_OFFICER
+	db SPRITE_POKEFAN_M
+	db SPRITE_BLACK_BELT
+	db SPRITE_TEACHER
+	db SPRITE_AZALEA_ROCKET
+	db SPRITE_LASS
+	db SPRITE_SILVER
+	db SPRITE_FRUIT_TREE
+	db SPRITE_SLOWPOKE
+; 14673
+
+GoldenrodGroupSprites: ; 14673
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_POKE_BALL
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_GRAMPS
+	db SPRITE_YOUNGSTER
+	db SPRITE_OFFICER
+	db SPRITE_POKEFAN_M
+	db SPRITE_DAY_CARE_MON_1
+	db SPRITE_COOLTRAINER_F
+	db SPRITE_ROCKET
+	db SPRITE_LASS
+	db SPRITE_DAY_CARE_MON_2
+	db SPRITE_FRUIT_TREE
+	db SPRITE_SLOWPOKE
+; 1468a
+
+CianwoodGroupSprites: ; 1468a
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_STANDING_YOUNGSTER
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_OLIVINE_RIVAL
+	db SPRITE_POKEFAN_M
+	db SPRITE_LASS
+	db SPRITE_BUENA
+	db SPRITE_SWIMMER_GIRL
+	db SPRITE_SAILOR
+	db SPRITE_POKEFAN_F
+	db SPRITE_SUPER_NERD
+	db SPRITE_TAUROS
+	db SPRITE_FRUIT_TREE
+	db SPRITE_ROCK
+; 146a1
+
+OlivineGroupSprites: ; 146a1
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_STANDING_YOUNGSTER
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_OLIVINE_RIVAL
+	db SPRITE_POKEFAN_M
+	db SPRITE_LASS
+	db SPRITE_BUENA
+	db SPRITE_SWIMMER_GIRL
+	db SPRITE_SAILOR
+	db SPRITE_POKEFAN_F
+	db SPRITE_SUPER_NERD
+	db SPRITE_TAUROS
+	db SPRITE_FRUIT_TREE
+	db SPRITE_ROCK
+; 146b8
+
+LakeOfRageGroupSprites: ; 146b8
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_LANCE
+	db SPRITE_GRAMPS
+	db SPRITE_SUPER_NERD
+	db SPRITE_COOLTRAINER_F
+	db SPRITE_FISHER
+	db SPRITE_COOLTRAINER_M
+	db SPRITE_LASS
+	db SPRITE_YOUNGSTER
+	db SPRITE_GYARADOS
+	db SPRITE_FRUIT_TREE
+	db SPRITE_POKE_BALL
+; 146cf
+
+MahoganyGroupSprites: ; 146cf
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_GRAMPS
+	db SPRITE_YOUNGSTER
+	db SPRITE_LASS
+	db SPRITE_SUPER_NERD
+	db SPRITE_COOLTRAINER_M
+	db SPRITE_POKEFAN_M
+	db SPRITE_BLACK_BELT
+	db SPRITE_COOLTRAINER_F
+	db SPRITE_FISHER
+	db SPRITE_FRUIT_TREE
+	db SPRITE_POKE_BALL
+; 146e6
+
+BlackthornGroupSprites: ; 146e6
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_GRAMPS
+	db SPRITE_YOUNGSTER
+	db SPRITE_LASS
+	db SPRITE_SUPER_NERD
+	db SPRITE_COOLTRAINER_M
+	db SPRITE_POKEFAN_M
+	db SPRITE_BLACK_BELT
+	db SPRITE_COOLTRAINER_F
+	db SPRITE_FISHER
+	db SPRITE_FRUIT_TREE
+	db SPRITE_POKE_BALL
+; 146fd
+
+DungeonsGroupSprites: ; 146fd
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_GAMEBOY_KID
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_LASS
+	db SPRITE_POKEFAN_F
+	db SPRITE_TEACHER
+	db SPRITE_YOUNGSTER
+	db SPRITE_GROWLITHE
+	db SPRITE_POKEFAN_M
+	db SPRITE_ROCKER
+	db SPRITE_FISHER
+	db SPRITE_SCIENTIST
+	db SPRITE_POKE_BALL
+	db SPRITE_BOULDER
+; 14714
+
+FastShipGroupSprites: ; 14714
+	db SPRITE_SUICUNE
+	db SPRITE_SILVER_TROPHY
+	db SPRITE_FAMICOM
+	db SPRITE_POKEDEX
+	db SPRITE_WILL
+	db SPRITE_KAREN
+	db SPRITE_NURSE
+	db SPRITE_OLD_LINK_RECEPTIONIST
+	db SPRITE_BIG_LAPRAS
+	db SPRITE_BIG_ONIX
+	db SPRITE_SUDOWOODO
+	db SPRITE_BIG_SNORLAX
+	db SPRITE_SAILOR
+	db SPRITE_FISHING_GURU
+	db SPRITE_GENTLEMAN
+	db SPRITE_SUPER_NERD
+	db SPRITE_HO_OH
+	db SPRITE_TEACHER
+	db SPRITE_COOLTRAINER_F
+	db SPRITE_YOUNGSTER
+	db SPRITE_FAIRY
+	db SPRITE_POKE_BALL
+	db SPRITE_ROCK
+; 1472b
+
+CableClubGroupSprites: ; 1472b
+	db SPRITE_OAK
+	db SPRITE_FISHER
+	db SPRITE_TEACHER
+	db SPRITE_TWIN
+	db SPRITE_POKEFAN_M
+	db SPRITE_GRAMPS
+	db SPRITE_FAIRY
+	db SPRITE_SILVER
+	db SPRITE_FISHING_GURU
+	db SPRITE_POKE_BALL
+	db SPRITE_POKEDEX
+; 14736
--- /dev/null
+++ b/data/maps/spawn_points.asm
@@ -1,0 +1,41 @@
+spawn: MACRO
+; map, y, x
+	map \1
+	db \2, \3
+ENDM
+
+SpawnPoints: ; 0x152ab
+; entries correspond to SPAWN_* constants
+
+	spawn KRISS_HOUSE_2F,              3,  3
+	spawn VIRIDIAN_POKECENTER_1F,      5,  3
+
+	spawn PALLET_TOWN,                 5,  6
+	spawn VIRIDIAN_CITY,              23, 26
+	spawn PEWTER_CITY,                13, 26
+	spawn CERULEAN_CITY,              19, 22
+	spawn ROUTE_10_NORTH,             11,  2
+	spawn VERMILION_CITY,              9,  6
+	spawn LAVENDER_TOWN,               5,  6
+	spawn SAFFRON_CITY,                9, 30
+	spawn CELADON_CITY,               29, 10
+	spawn FUCHSIA_CITY,               19, 28
+	spawn CINNABAR_ISLAND,            11, 12
+	spawn ROUTE_23,                    9,  6
+
+	spawn NEW_BARK_TOWN,              13,  6
+	spawn CHERRYGROVE_CITY,           29,  4
+	spawn VIOLET_CITY,                31, 26
+	spawn ROUTE_32,                   11, 74
+	spawn AZALEA_TOWN,                15, 10
+	spawn CIANWOOD_CITY,              23, 44
+	spawn GOLDENROD_CITY,             15, 28
+	spawn OLIVINE_CITY,               13, 22
+	spawn ECRUTEAK_CITY,              23, 28
+	spawn MAHOGANY_TOWN,              15, 14
+	spawn LAKE_OF_RAGE,               21, 29
+	spawn BLACKTHORN_CITY,            21, 30
+	spawn SILVER_CAVE_OUTSIDE,        23, 20
+	spawn FAST_SHIP_CABINS_SW_SSW_NW,  6,  2
+	spawn N_A,                        -1, -1
+; 1531f
--- a/data/mon_menu_icons.asm
+++ /dev/null
@@ -1,255 +1,0 @@
-; party menu icons
-
-MonMenuIcons: ; 8eac4
-	db ICON_BULBASAUR   ; BULBASAUR
-	db ICON_BULBASAUR   ; IVYSAUR
-	db ICON_BULBASAUR   ; VENUSAUR
-	db ICON_CHARMANDER  ; CHARMANDER
-	db ICON_CHARMANDER  ; CHARMELEON
-	db ICON_BIGMON      ; CHARIZARD
-	db ICON_SQUIRTLE    ; SQUIRTLE
-	db ICON_SQUIRTLE    ; WARTORTLE
-	db ICON_SQUIRTLE    ; BLASTOISE
-	db ICON_CATERPILLAR ; CATERPIE
-	db ICON_CATERPILLAR ; METAPOD
-	db ICON_MOTH        ; BUTTERFREE
-	db ICON_CATERPILLAR ; WEEDLE
-	db ICON_CATERPILLAR ; KAKUNA
-	db ICON_BUG         ; BEEDRILL
-	db ICON_BIRD        ; PIDGEY
-	db ICON_BIRD        ; PIDGEOTTO
-	db ICON_BIRD        ; PIDGEOT
-	db ICON_FOX         ; RATTATA
-	db ICON_FOX         ; RATICATE
-	db ICON_BIRD        ; SPEAROW
-	db ICON_BIRD        ; FEAROW
-	db ICON_SERPENT     ; EKANS
-	db ICON_SERPENT     ; ARBOK
-	db ICON_PIKACHU     ; PIKACHU
-	db ICON_PIKACHU     ; RAICHU
-	db ICON_MONSTER     ; SANDSHREW
-	db ICON_MONSTER     ; SANDSLASH
-	db ICON_FOX         ; NIDORAN_F
-	db ICON_FOX         ; NIDORINA
-	db ICON_MONSTER     ; NIDOQUEEN
-	db ICON_FOX         ; NIDORAN_M
-	db ICON_FOX         ; NIDORINO
-	db ICON_MONSTER     ; NIDOKING
-	db ICON_CLEFAIRY    ; CLEFAIRY
-	db ICON_CLEFAIRY    ; CLEFABLE
-	db ICON_FOX         ; VULPIX
-	db ICON_FOX         ; NINETALES
-	db ICON_JIGGLYPUFF  ; JIGGLYPUFF
-	db ICON_JIGGLYPUFF  ; WIGGLYTUFF
-	db ICON_BAT         ; ZUBAT
-	db ICON_BAT         ; GOLBAT
-	db ICON_ODDISH      ; ODDISH
-	db ICON_ODDISH      ; GLOOM
-	db ICON_ODDISH      ; VILEPLUME
-	db ICON_BUG         ; PARAS
-	db ICON_BUG         ; PARASECT
-	db ICON_CATERPILLAR ; VENONAT
-	db ICON_MOTH        ; VENOMOTH
-	db ICON_DIGLETT     ; DIGLETT
-	db ICON_DIGLETT     ; DUGTRIO
-	db ICON_FOX         ; MEOWTH
-	db ICON_FOX         ; PERSIAN
-	db ICON_MONSTER     ; PSYDUCK
-	db ICON_MONSTER     ; GOLDUCK
-	db ICON_FIGHTER     ; MANKEY
-	db ICON_FIGHTER     ; PRIMEAPE
-	db ICON_FOX         ; GROWLITHE
-	db ICON_FOX         ; ARCANINE
-	db ICON_POLIWAG     ; POLIWAG
-	db ICON_POLIWAG     ; POLIWHIRL
-	db ICON_POLIWAG     ; POLIWRATH
-	db ICON_HUMANSHAPE  ; ABRA
-	db ICON_HUMANSHAPE  ; KADABRA
-	db ICON_HUMANSHAPE  ; ALAKAZAM
-	db ICON_FIGHTER     ; MACHOP
-	db ICON_FIGHTER     ; MACHOKE
-	db ICON_FIGHTER     ; MACHAMP
-	db ICON_ODDISH      ; BELLSPROUT
-	db ICON_ODDISH      ; WEEPINBELL
-	db ICON_ODDISH      ; VICTREEBEL
-	db ICON_JELLYFISH   ; TENTACOOL
-	db ICON_JELLYFISH   ; TENTACRUEL
-	db ICON_GEODUDE     ; GEODUDE
-	db ICON_GEODUDE     ; GRAVELER
-	db ICON_GEODUDE     ; GOLEM
-	db ICON_EQUINE      ; PONYTA
-	db ICON_EQUINE      ; RAPIDASH
-	db ICON_SLOWPOKE    ; SLOWPOKE
-	db ICON_SLOWPOKE    ; SLOWBRO
-	db ICON_VOLTORB     ; MAGNEMITE
-	db ICON_VOLTORB     ; MAGNETON
-	db ICON_BIRD        ; FARFETCH_D
-	db ICON_BIRD        ; DODUO
-	db ICON_BIRD        ; DODRIO
-	db ICON_LAPRAS      ; SEEL
-	db ICON_LAPRAS      ; DEWGONG
-	db ICON_BLOB        ; GRIMER
-	db ICON_BLOB        ; MUK
-	db ICON_SHELL       ; SHELLDER
-	db ICON_SHELL       ; CLOYSTER
-	db ICON_GHOST       ; GASTLY
-	db ICON_GHOST       ; HAUNTER
-	db ICON_GHOST       ; GENGAR
-	db ICON_SERPENT     ; ONIX
-	db ICON_HUMANSHAPE  ; DROWZEE
-	db ICON_HUMANSHAPE  ; HYPNO
-	db ICON_SHELL       ; KRABBY
-	db ICON_SHELL       ; KINGLER
-	db ICON_VOLTORB     ; VOLTORB
-	db ICON_VOLTORB     ; ELECTRODE
-	db ICON_ODDISH      ; EXEGGCUTE
-	db ICON_ODDISH      ; EXEGGUTOR
-	db ICON_MONSTER     ; CUBONE
-	db ICON_MONSTER     ; MAROWAK
-	db ICON_FIGHTER     ; HITMONLEE
-	db ICON_FIGHTER     ; HITMONCHAN
-	db ICON_MONSTER     ; LICKITUNG
-	db ICON_BLOB        ; KOFFING
-	db ICON_BLOB        ; WEEZING
-	db ICON_EQUINE      ; RHYHORN
-	db ICON_MONSTER     ; RHYDON
-	db ICON_CLEFAIRY    ; CHANSEY
-	db ICON_ODDISH      ; TANGELA
-	db ICON_MONSTER     ; KANGASKHAN
-	db ICON_FISH        ; HORSEA
-	db ICON_FISH        ; SEADRA
-	db ICON_FISH        ; GOLDEEN
-	db ICON_FISH        ; SEAKING
-	db ICON_STARYU      ; STARYU
-	db ICON_STARYU      ; STARMIE
-	db ICON_HUMANSHAPE  ; MR__MIME
-	db ICON_BUG         ; SCYTHER
-	db ICON_HUMANSHAPE  ; JYNX
-	db ICON_HUMANSHAPE  ; ELECTABUZZ
-	db ICON_HUMANSHAPE  ; MAGMAR
-	db ICON_BUG         ; PINSIR
-	db ICON_EQUINE      ; TAUROS
-	db ICON_FISH        ; MAGIKARP
-	db ICON_GYARADOS    ; GYARADOS
-	db ICON_LAPRAS      ; LAPRAS
-	db ICON_BLOB        ; DITTO
-	db ICON_FOX         ; EEVEE
-	db ICON_FOX         ; VAPOREON
-	db ICON_FOX         ; JOLTEON
-	db ICON_FOX         ; FLAREON
-	db ICON_VOLTORB     ; PORYGON
-	db ICON_SHELL       ; OMANYTE
-	db ICON_SHELL       ; OMASTAR
-	db ICON_SHELL       ; KABUTO
-	db ICON_SHELL       ; KABUTOPS
-	db ICON_BIRD        ; AERODACTYL
-	db ICON_SNORLAX     ; SNORLAX
-	db ICON_BIRD        ; ARTICUNO
-	db ICON_BIRD        ; ZAPDOS
-	db ICON_BIRD        ; MOLTRES
-	db ICON_SERPENT     ; DRATINI
-	db ICON_SERPENT     ; DRAGONAIR
-	db ICON_BIGMON      ; DRAGONITE
-	db ICON_HUMANSHAPE  ; MEWTWO
-	db ICON_HUMANSHAPE  ; MEW
-	db ICON_ODDISH      ; CHIKORITA
-	db ICON_ODDISH      ; BAYLEEF
-	db ICON_ODDISH      ; MEGANIUM
-	db ICON_FOX         ; CYNDAQUIL
-	db ICON_FOX         ; QUILAVA
-	db ICON_FOX         ; TYPHLOSION
-	db ICON_MONSTER     ; TOTODILE
-	db ICON_MONSTER     ; CROCONAW
-	db ICON_MONSTER     ; FERALIGATR
-	db ICON_FOX         ; SENTRET
-	db ICON_FOX         ; FURRET
-	db ICON_BIRD        ; HOOTHOOT
-	db ICON_BIRD        ; NOCTOWL
-	db ICON_BUG         ; LEDYBA
-	db ICON_BUG         ; LEDIAN
-	db ICON_BUG         ; SPINARAK
-	db ICON_BUG         ; ARIADOS
-	db ICON_BAT         ; CROBAT
-	db ICON_FISH        ; CHINCHOU
-	db ICON_FISH        ; LANTURN
-	db ICON_PIKACHU     ; PICHU
-	db ICON_CLEFAIRY    ; CLEFFA
-	db ICON_JIGGLYPUFF  ; IGGLYBUFF
-	db ICON_CLEFAIRY    ; TOGEPI
-	db ICON_BIRD        ; TOGETIC
-	db ICON_BIRD        ; NATU
-	db ICON_BIRD        ; XATU
-	db ICON_FOX         ; MAREEP
-	db ICON_MONSTER     ; FLAAFFY
-	db ICON_MONSTER     ; AMPHAROS
-	db ICON_ODDISH      ; BELLOSSOM
-	db ICON_JIGGLYPUFF  ; MARILL
-	db ICON_JIGGLYPUFF  ; AZUMARILL
-	db ICON_SUDOWOODO   ; SUDOWOODO
-	db ICON_POLIWAG     ; POLITOED
-	db ICON_ODDISH      ; HOPPIP
-	db ICON_ODDISH      ; SKIPLOOM
-	db ICON_ODDISH      ; JUMPLUFF
-	db ICON_MONSTER     ; AIPOM
-	db ICON_ODDISH      ; SUNKERN
-	db ICON_ODDISH      ; SUNFLORA
-	db ICON_BUG         ; YANMA
-	db ICON_MONSTER     ; WOOPER
-	db ICON_MONSTER     ; QUAGSIRE
-	db ICON_FOX         ; ESPEON
-	db ICON_FOX         ; UMBREON
-	db ICON_BIRD        ; MURKROW
-	db ICON_SLOWPOKE    ; SLOWKING
-	db ICON_GHOST       ; MISDREAVUS
-	db ICON_UNOWN       ; UNOWN
-	db ICON_GHOST       ; WOBBUFFET
-	db ICON_EQUINE      ; GIRAFARIG
-	db ICON_BUG         ; PINECO
-	db ICON_BUG         ; FORRETRESS
-	db ICON_SERPENT     ; DUNSPARCE
-	db ICON_BUG         ; GLIGAR
-	db ICON_SERPENT     ; STEELIX
-	db ICON_MONSTER     ; SNUBBULL
-	db ICON_MONSTER     ; GRANBULL
-	db ICON_FISH        ; QWILFISH
-	db ICON_BUG         ; SCIZOR
-	db ICON_BUG         ; SHUCKLE
-	db ICON_BUG         ; HERACROSS
-	db ICON_FOX         ; SNEASEL
-	db ICON_MONSTER     ; TEDDIURSA
-	db ICON_MONSTER     ; URSARING
-	db ICON_BLOB        ; SLUGMA
-	db ICON_BLOB        ; MAGCARGO
-	db ICON_EQUINE      ; SWINUB
-	db ICON_EQUINE      ; PILOSWINE
-	db ICON_SHELL       ; CORSOLA
-	db ICON_FISH        ; REMORAID
-	db ICON_FISH        ; OCTILLERY
-	db ICON_MONSTER     ; DELIBIRD
-	db ICON_FISH        ; MANTINE
-	db ICON_BIRD        ; SKARMORY
-	db ICON_FOX         ; HOUNDOUR
-	db ICON_FOX         ; HOUNDOOM
-	db ICON_BIGMON      ; KINGDRA
-	db ICON_EQUINE      ; PHANPY
-	db ICON_EQUINE      ; DONPHAN
-	db ICON_VOLTORB     ; PORYGON2
-	db ICON_EQUINE      ; STANTLER
-	db ICON_MONSTER     ; SMEARGLE
-	db ICON_FIGHTER     ; TYROGUE
-	db ICON_FIGHTER     ; HITMONTOP
-	db ICON_HUMANSHAPE  ; SMOOCHUM
-	db ICON_HUMANSHAPE  ; ELEKID
-	db ICON_HUMANSHAPE  ; MAGBY
-	db ICON_EQUINE      ; MILTANK
-	db ICON_CLEFAIRY    ; BLISSEY
-	db ICON_FOX         ; RAIKOU
-	db ICON_FOX         ; ENTEI
-	db ICON_FOX         ; SUICUNE
-	db ICON_MONSTER     ; LARVITAR
-	db ICON_MONSTER     ; PUPITAR
-	db ICON_MONSTER     ; TYRANITAR
-	db ICON_LUGIA       ; LUGIA
-	db ICON_HO_OH       ; HO_OH
-	db ICON_HUMANSHAPE  ; CELEBI
-; 8ebbf
--- a/data/outdoor_sprites.asm
+++ /dev/null
@@ -1,696 +1,0 @@
-; Valid sprite IDs for each map group.
-; Maps with permission ROUTE or TOWN can only use these sprites.
-
-OutdoorSprites: ; 144b8
-	dw OlivineGroupSprites
-	dw MahoganyGroupSprites
-	dw DungeonsGroupSprites
-	dw EcruteakGroupSprites
-	dw BlackthornGroupSprites
-	dw CinnabarGroupSprites
-	dw CeruleanGroupSprites
-	dw AzaleaGroupSprites
-	dw LakeOfRageGroupSprites
-	dw VioletGroupSprites
-	dw GoldenrodGroupSprites
-	dw VermilionGroupSprites
-	dw PalletGroupSprites
-	dw PewterGroupSprites
-	dw FastShipGroupSprites
-	dw IndigoGroupSprites
-	dw FuchsiaGroupSprites
-	dw LavenderGroupSprites
-	dw SilverGroupSprites
-	dw CableClubGroupSprites
-	dw CeladonGroupSprites
-	dw CianwoodGroupSprites
-	dw ViridianGroupSprites
-	dw NewBarkGroupSprites
-	dw SaffronGroupSprites
-	dw CherrygroveGroupSprites
-; 144ec
-
-
-PalletGroupSprites: ; 144ec
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_TEACHER
-	db SPRITE_FISHER
-	db SPRITE_YOUNGSTER
-	db SPRITE_BLUE
-	db SPRITE_GRAMPS
-	db SPRITE_BUG_CATCHER
-	db SPRITE_COOLTRAINER_F
-	db SPRITE_SWIMMER_GIRL
-	db SPRITE_SWIMMER_GUY
-	db SPRITE_POKE_BALL
-	db SPRITE_FRUIT_TREE
-; 14503
-
-ViridianGroupSprites: ; 14503
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_TEACHER
-	db SPRITE_FISHER
-	db SPRITE_YOUNGSTER
-	db SPRITE_BLUE
-	db SPRITE_GRAMPS
-	db SPRITE_BUG_CATCHER
-	db SPRITE_COOLTRAINER_F
-	db SPRITE_SWIMMER_GIRL
-	db SPRITE_SWIMMER_GUY
-	db SPRITE_POKE_BALL
-	db SPRITE_FRUIT_TREE
-; 1451a
-
-PewterGroupSprites: ; 1451a
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_TEACHER
-	db SPRITE_FISHER
-	db SPRITE_YOUNGSTER
-	db SPRITE_BLUE
-	db SPRITE_GRAMPS
-	db SPRITE_BUG_CATCHER
-	db SPRITE_COOLTRAINER_F
-	db SPRITE_SWIMMER_GIRL
-	db SPRITE_SWIMMER_GUY
-	db SPRITE_POKE_BALL
-	db SPRITE_FRUIT_TREE
-; 14531
-
-CinnabarGroupSprites: ; 14531
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_TEACHER
-	db SPRITE_FISHER
-	db SPRITE_YOUNGSTER
-	db SPRITE_BLUE
-	db SPRITE_GRAMPS
-	db SPRITE_BUG_CATCHER
-	db SPRITE_COOLTRAINER_F
-	db SPRITE_SWIMMER_GIRL
-	db SPRITE_SWIMMER_GUY
-	db SPRITE_POKE_BALL
-	db SPRITE_FRUIT_TREE
-; 14548
-
-CeruleanGroupSprites: ; 14548
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_COOLTRAINER_M
-	db SPRITE_SUPER_NERD
-	db SPRITE_COOLTRAINER_F
-	db SPRITE_FISHER
-	db SPRITE_YOUNGSTER
-	db SPRITE_LASS
-	db SPRITE_POKEFAN_M
-	db SPRITE_ROCKET
-	db SPRITE_MISTY
-	db SPRITE_POKE_BALL
-	db SPRITE_SLOWPOKE
-; 1455f
-
-SaffronGroupSprites: ; 1455f
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_COOLTRAINER_M
-	db SPRITE_SUPER_NERD
-	db SPRITE_COOLTRAINER_F
-	db SPRITE_FISHER
-	db SPRITE_YOUNGSTER
-	db SPRITE_LASS
-	db SPRITE_POKEFAN_M
-	db SPRITE_ROCKET
-	db SPRITE_MISTY
-	db SPRITE_POKE_BALL
-	db SPRITE_SLOWPOKE
-; 14576
-
-CeladonGroupSprites: ; 14576
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_FISHER
-	db SPRITE_POLIWAG
-	db SPRITE_TEACHER
-	db SPRITE_GRAMPS
-	db SPRITE_YOUNGSTER
-	db SPRITE_LASS
-	db SPRITE_BIKER
-	db SPRITE_SILVER
-	db SPRITE_BLUE
-	db SPRITE_POKE_BALL
-	db SPRITE_FRUIT_TREE
-; 1458d
-
-LavenderGroupSprites: ; 1458d
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_POKEFAN_M
-	db SPRITE_MACHOP
-	db SPRITE_GRAMPS
-	db SPRITE_YOUNGSTER
-	db SPRITE_FISHER
-	db SPRITE_TEACHER
-	db SPRITE_SUPER_NERD
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_BIKER
-	db SPRITE_POKE_BALL
-	db SPRITE_FRUIT_TREE
-; 145a4
-
-VermilionGroupSprites: ; 145a4
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_POKEFAN_M
-	db SPRITE_MACHOP
-	db SPRITE_GRAMPS
-	db SPRITE_YOUNGSTER
-	db SPRITE_FISHER
-	db SPRITE_TEACHER
-	db SPRITE_SUPER_NERD
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_BIKER
-	db SPRITE_POKE_BALL
-	db SPRITE_FRUIT_TREE
-; 145bb
-
-FuchsiaGroupSprites: ; 145bb
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_POKEFAN_M
-	db SPRITE_MACHOP
-	db SPRITE_GRAMPS
-	db SPRITE_YOUNGSTER
-	db SPRITE_FISHER
-	db SPRITE_TEACHER
-	db SPRITE_SUPER_NERD
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_BIKER
-	db SPRITE_POKE_BALL
-	db SPRITE_FRUIT_TREE
-; 145d2
-
-IndigoGroupSprites: ; 145d2
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_POKEFAN_M
-	db SPRITE_BUENA
-	db SPRITE_GRAMPS
-	db SPRITE_YOUNGSTER
-	db SPRITE_FISHER
-	db SPRITE_TEACHER
-	db SPRITE_SUPER_NERD
-	db SPRITE_MACHOP
-	db SPRITE_BIKER
-	db SPRITE_POKE_BALL
-	db SPRITE_BOULDER
-; 145e9
-
-NewBarkGroupSprites: ; 145e9
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_SILVER
-	db SPRITE_TEACHER
-	db SPRITE_FISHER
-	db SPRITE_COOLTRAINER_M
-	db SPRITE_YOUNGSTER
-	db SPRITE_MONSTER
-	db SPRITE_GRAMPS
-	db SPRITE_BUG_CATCHER
-	db SPRITE_COOLTRAINER_F
-	db SPRITE_POKE_BALL
-	db SPRITE_FRUIT_TREE
-; 14600
-
-CherrygroveGroupSprites: ; 14600
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_SILVER
-	db SPRITE_TEACHER
-	db SPRITE_FISHER
-	db SPRITE_COOLTRAINER_M
-	db SPRITE_YOUNGSTER
-	db SPRITE_MONSTER
-	db SPRITE_GRAMPS
-	db SPRITE_BUG_CATCHER
-	db SPRITE_COOLTRAINER_F
-	db SPRITE_POKE_BALL
-	db SPRITE_FRUIT_TREE
-; 14617
-
-SilverGroupSprites: ; 14617
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_SILVER
-	db SPRITE_TEACHER
-	db SPRITE_FISHER
-	db SPRITE_COOLTRAINER_M
-	db SPRITE_YOUNGSTER
-	db SPRITE_MONSTER
-	db SPRITE_GRAMPS
-	db SPRITE_BUG_CATCHER
-	db SPRITE_COOLTRAINER_F
-	db SPRITE_POKE_BALL
-	db SPRITE_FRUIT_TREE
-; 1462e
-
-VioletGroupSprites: ; 1462e
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_FISHER
-	db SPRITE_LASS
-	db SPRITE_OFFICER
-	db SPRITE_GRAMPS
-	db SPRITE_YOUNGSTER
-	db SPRITE_COOLTRAINER_M
-	db SPRITE_BUG_CATCHER
-	db SPRITE_SUPER_NERD
-	db SPRITE_WEIRD_TREE
-	db SPRITE_POKE_BALL
-	db SPRITE_FRUIT_TREE
-; 14645
-
-EcruteakGroupSprites: ; 14645
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_FISHER
-	db SPRITE_LASS
-	db SPRITE_OFFICER
-	db SPRITE_GRAMPS
-	db SPRITE_YOUNGSTER
-	db SPRITE_COOLTRAINER_M
-	db SPRITE_BUG_CATCHER
-	db SPRITE_SUPER_NERD
-	db SPRITE_WEIRD_TREE
-	db SPRITE_POKE_BALL
-	db SPRITE_FRUIT_TREE
-; 1465c
-
-AzaleaGroupSprites: ; 1465c
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_KURT_OUTSIDE
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_GRAMPS
-	db SPRITE_YOUNGSTER
-	db SPRITE_OFFICER
-	db SPRITE_POKEFAN_M
-	db SPRITE_BLACK_BELT
-	db SPRITE_TEACHER
-	db SPRITE_AZALEA_ROCKET
-	db SPRITE_LASS
-	db SPRITE_SILVER
-	db SPRITE_FRUIT_TREE
-	db SPRITE_SLOWPOKE
-; 14673
-
-GoldenrodGroupSprites: ; 14673
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_POKE_BALL
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_GRAMPS
-	db SPRITE_YOUNGSTER
-	db SPRITE_OFFICER
-	db SPRITE_POKEFAN_M
-	db SPRITE_DAY_CARE_MON_1
-	db SPRITE_COOLTRAINER_F
-	db SPRITE_ROCKET
-	db SPRITE_LASS
-	db SPRITE_DAY_CARE_MON_2
-	db SPRITE_FRUIT_TREE
-	db SPRITE_SLOWPOKE
-; 1468a
-
-CianwoodGroupSprites: ; 1468a
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_STANDING_YOUNGSTER
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_OLIVINE_RIVAL
-	db SPRITE_POKEFAN_M
-	db SPRITE_LASS
-	db SPRITE_BUENA
-	db SPRITE_SWIMMER_GIRL
-	db SPRITE_SAILOR
-	db SPRITE_POKEFAN_F
-	db SPRITE_SUPER_NERD
-	db SPRITE_TAUROS
-	db SPRITE_FRUIT_TREE
-	db SPRITE_ROCK
-; 146a1
-
-OlivineGroupSprites: ; 146a1
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_STANDING_YOUNGSTER
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_OLIVINE_RIVAL
-	db SPRITE_POKEFAN_M
-	db SPRITE_LASS
-	db SPRITE_BUENA
-	db SPRITE_SWIMMER_GIRL
-	db SPRITE_SAILOR
-	db SPRITE_POKEFAN_F
-	db SPRITE_SUPER_NERD
-	db SPRITE_TAUROS
-	db SPRITE_FRUIT_TREE
-	db SPRITE_ROCK
-; 146b8
-
-LakeOfRageGroupSprites: ; 146b8
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_LANCE
-	db SPRITE_GRAMPS
-	db SPRITE_SUPER_NERD
-	db SPRITE_COOLTRAINER_F
-	db SPRITE_FISHER
-	db SPRITE_COOLTRAINER_M
-	db SPRITE_LASS
-	db SPRITE_YOUNGSTER
-	db SPRITE_GYARADOS
-	db SPRITE_FRUIT_TREE
-	db SPRITE_POKE_BALL
-; 146cf
-
-MahoganyGroupSprites: ; 146cf
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_GRAMPS
-	db SPRITE_YOUNGSTER
-	db SPRITE_LASS
-	db SPRITE_SUPER_NERD
-	db SPRITE_COOLTRAINER_M
-	db SPRITE_POKEFAN_M
-	db SPRITE_BLACK_BELT
-	db SPRITE_COOLTRAINER_F
-	db SPRITE_FISHER
-	db SPRITE_FRUIT_TREE
-	db SPRITE_POKE_BALL
-; 146e6
-
-BlackthornGroupSprites: ; 146e6
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_GRAMPS
-	db SPRITE_YOUNGSTER
-	db SPRITE_LASS
-	db SPRITE_SUPER_NERD
-	db SPRITE_COOLTRAINER_M
-	db SPRITE_POKEFAN_M
-	db SPRITE_BLACK_BELT
-	db SPRITE_COOLTRAINER_F
-	db SPRITE_FISHER
-	db SPRITE_FRUIT_TREE
-	db SPRITE_POKE_BALL
-; 146fd
-
-DungeonsGroupSprites: ; 146fd
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_GAMEBOY_KID
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_LASS
-	db SPRITE_POKEFAN_F
-	db SPRITE_TEACHER
-	db SPRITE_YOUNGSTER
-	db SPRITE_GROWLITHE
-	db SPRITE_POKEFAN_M
-	db SPRITE_ROCKER
-	db SPRITE_FISHER
-	db SPRITE_SCIENTIST
-	db SPRITE_POKE_BALL
-	db SPRITE_BOULDER
-; 14714
-
-FastShipGroupSprites: ; 14714
-	db SPRITE_SUICUNE
-	db SPRITE_SILVER_TROPHY
-	db SPRITE_FAMICOM
-	db SPRITE_POKEDEX
-	db SPRITE_WILL
-	db SPRITE_KAREN
-	db SPRITE_NURSE
-	db SPRITE_OLD_LINK_RECEPTIONIST
-	db SPRITE_BIG_LAPRAS
-	db SPRITE_BIG_ONIX
-	db SPRITE_SUDOWOODO
-	db SPRITE_BIG_SNORLAX
-	db SPRITE_SAILOR
-	db SPRITE_FISHING_GURU
-	db SPRITE_GENTLEMAN
-	db SPRITE_SUPER_NERD
-	db SPRITE_HO_OH
-	db SPRITE_TEACHER
-	db SPRITE_COOLTRAINER_F
-	db SPRITE_YOUNGSTER
-	db SPRITE_FAIRY
-	db SPRITE_POKE_BALL
-	db SPRITE_ROCK
-; 1472b
-
-CableClubGroupSprites: ; 1472b
-	db SPRITE_OAK
-	db SPRITE_FISHER
-	db SPRITE_TEACHER
-	db SPRITE_TWIN
-	db SPRITE_POKEFAN_M
-	db SPRITE_GRAMPS
-	db SPRITE_FAIRY
-	db SPRITE_SILVER
-	db SPRITE_FISHING_GURU
-	db SPRITE_POKE_BALL
-	db SPRITE_POKEDEX
-; 14736
--- a/data/pokedex/entries.asm
+++ /dev/null
@@ -1,272 +1,0 @@
-INCLUDE "includes.asm"
-
-
-SECTION "Pokedex Entries 001-064", ROMX
-
-PokedexEntries1::
-BulbasaurPokedexEntry::  INCLUDE "data/pokedex/entries/bulbasaur.asm"
-IvysaurPokedexEntry::    INCLUDE "data/pokedex/entries/ivysaur.asm"
-VenusaurPokedexEntry::   INCLUDE "data/pokedex/entries/venusaur.asm"
-CharmanderPokedexEntry:: INCLUDE "data/pokedex/entries/charmander.asm"
-CharmeleonPokedexEntry:: INCLUDE "data/pokedex/entries/charmeleon.asm"
-CharizardPokedexEntry::  INCLUDE "data/pokedex/entries/charizard.asm"
-SquirtlePokedexEntry::   INCLUDE "data/pokedex/entries/squirtle.asm"
-WartortlePokedexEntry::  INCLUDE "data/pokedex/entries/wartortle.asm"
-BlastoisePokedexEntry::  INCLUDE "data/pokedex/entries/blastoise.asm"
-CaterpiePokedexEntry::   INCLUDE "data/pokedex/entries/caterpie.asm"
-MetapodPokedexEntry::    INCLUDE "data/pokedex/entries/metapod.asm"
-ButterfreePokedexEntry:: INCLUDE "data/pokedex/entries/butterfree.asm"
-WeedlePokedexEntry::     INCLUDE "data/pokedex/entries/weedle.asm"
-KakunaPokedexEntry::     INCLUDE "data/pokedex/entries/kakuna.asm"
-BeedrillPokedexEntry::   INCLUDE "data/pokedex/entries/beedrill.asm"
-PidgeyPokedexEntry::     INCLUDE "data/pokedex/entries/pidgey.asm"
-PidgeottoPokedexEntry::  INCLUDE "data/pokedex/entries/pidgeotto.asm"
-PidgeotPokedexEntry::    INCLUDE "data/pokedex/entries/pidgeot.asm"
-RattataPokedexEntry::    INCLUDE "data/pokedex/entries/rattata.asm"
-RaticatePokedexEntry::   INCLUDE "data/pokedex/entries/raticate.asm"
-SpearowPokedexEntry::    INCLUDE "data/pokedex/entries/spearow.asm"
-FearowPokedexEntry::     INCLUDE "data/pokedex/entries/fearow.asm"
-EkansPokedexEntry::      INCLUDE "data/pokedex/entries/ekans.asm"
-ArbokPokedexEntry::      INCLUDE "data/pokedex/entries/arbok.asm"
-PikachuPokedexEntry::    INCLUDE "data/pokedex/entries/pikachu.asm"
-RaichuPokedexEntry::     INCLUDE "data/pokedex/entries/raichu.asm"
-SandshrewPokedexEntry::  INCLUDE "data/pokedex/entries/sandshrew.asm"
-SandslashPokedexEntry::  INCLUDE "data/pokedex/entries/sandslash.asm"
-NidoranFPokedexEntry::   INCLUDE "data/pokedex/entries/nidoran_f.asm"
-NidorinaPokedexEntry::   INCLUDE "data/pokedex/entries/nidorina.asm"
-NidoqueenPokedexEntry::  INCLUDE "data/pokedex/entries/nidoqueen.asm"
-NidoranMPokedexEntry::   INCLUDE "data/pokedex/entries/nidoran_m.asm"
-NidorinoPokedexEntry::   INCLUDE "data/pokedex/entries/nidorino.asm"
-NidokingPokedexEntry::   INCLUDE "data/pokedex/entries/nidoking.asm"
-ClefairyPokedexEntry::   INCLUDE "data/pokedex/entries/clefairy.asm"
-ClefablePokedexEntry::   INCLUDE "data/pokedex/entries/clefable.asm"
-VulpixPokedexEntry::     INCLUDE "data/pokedex/entries/vulpix.asm"
-NinetalesPokedexEntry::  INCLUDE "data/pokedex/entries/ninetales.asm"
-JigglypuffPokedexEntry:: INCLUDE "data/pokedex/entries/jigglypuff.asm"
-WigglytuffPokedexEntry:: INCLUDE "data/pokedex/entries/wigglytuff.asm"
-ZubatPokedexEntry::      INCLUDE "data/pokedex/entries/zubat.asm"
-GolbatPokedexEntry::     INCLUDE "data/pokedex/entries/golbat.asm"
-OddishPokedexEntry::     INCLUDE "data/pokedex/entries/oddish.asm"
-GloomPokedexEntry::      INCLUDE "data/pokedex/entries/gloom.asm"
-VileplumePokedexEntry::  INCLUDE "data/pokedex/entries/vileplume.asm"
-ParasPokedexEntry::      INCLUDE "data/pokedex/entries/paras.asm"
-ParasectPokedexEntry::   INCLUDE "data/pokedex/entries/parasect.asm"
-VenonatPokedexEntry::    INCLUDE "data/pokedex/entries/venonat.asm"
-VenomothPokedexEntry::   INCLUDE "data/pokedex/entries/venomoth.asm"
-DiglettPokedexEntry::    INCLUDE "data/pokedex/entries/diglett.asm"
-DugtrioPokedexEntry::    INCLUDE "data/pokedex/entries/dugtrio.asm"
-MeowthPokedexEntry::     INCLUDE "data/pokedex/entries/meowth.asm"
-PersianPokedexEntry::    INCLUDE "data/pokedex/entries/persian.asm"
-PsyduckPokedexEntry::    INCLUDE "data/pokedex/entries/psyduck.asm"
-GolduckPokedexEntry::    INCLUDE "data/pokedex/entries/golduck.asm"
-MankeyPokedexEntry::     INCLUDE "data/pokedex/entries/mankey.asm"
-PrimeapePokedexEntry::   INCLUDE "data/pokedex/entries/primeape.asm"
-GrowlithePokedexEntry::  INCLUDE "data/pokedex/entries/growlithe.asm"
-ArcaninePokedexEntry::   INCLUDE "data/pokedex/entries/arcanine.asm"
-PoliwagPokedexEntry::    INCLUDE "data/pokedex/entries/poliwag.asm"
-PoliwhirlPokedexEntry::  INCLUDE "data/pokedex/entries/poliwhirl.asm"
-PoliwrathPokedexEntry::  INCLUDE "data/pokedex/entries/poliwrath.asm"
-AbraPokedexEntry::       INCLUDE "data/pokedex/entries/abra.asm"
-KadabraPokedexEntry::    INCLUDE "data/pokedex/entries/kadabra.asm"
-
-
-SECTION "Pokedex Entries 065-128", ROMX
-
-PokedexEntries2::
-AlakazamPokedexEntry::   INCLUDE "data/pokedex/entries/alakazam.asm"
-MachopPokedexEntry::     INCLUDE "data/pokedex/entries/machop.asm"
-MachokePokedexEntry::    INCLUDE "data/pokedex/entries/machoke.asm"
-MachampPokedexEntry::    INCLUDE "data/pokedex/entries/machamp.asm"
-BellsproutPokedexEntry:: INCLUDE "data/pokedex/entries/bellsprout.asm"
-WeepinbellPokedexEntry:: INCLUDE "data/pokedex/entries/weepinbell.asm"
-VictreebelPokedexEntry:: INCLUDE "data/pokedex/entries/victreebel.asm"
-TentacoolPokedexEntry::  INCLUDE "data/pokedex/entries/tentacool.asm"
-TentacruelPokedexEntry:: INCLUDE "data/pokedex/entries/tentacruel.asm"
-GeodudePokedexEntry::    INCLUDE "data/pokedex/entries/geodude.asm"
-GravelerPokedexEntry::   INCLUDE "data/pokedex/entries/graveler.asm"
-GolemPokedexEntry::      INCLUDE "data/pokedex/entries/golem.asm"
-PonytaPokedexEntry::     INCLUDE "data/pokedex/entries/ponyta.asm"
-RapidashPokedexEntry::   INCLUDE "data/pokedex/entries/rapidash.asm"
-SlowpokePokedexEntry::   INCLUDE "data/pokedex/entries/slowpoke.asm"
-SlowbroPokedexEntry::    INCLUDE "data/pokedex/entries/slowbro.asm"
-MagnemitePokedexEntry::  INCLUDE "data/pokedex/entries/magnemite.asm"
-MagnetonPokedexEntry::   INCLUDE "data/pokedex/entries/magneton.asm"
-FarfetchDPokedexEntry::  INCLUDE "data/pokedex/entries/farfetch_d.asm"
-DoduoPokedexEntry::      INCLUDE "data/pokedex/entries/doduo.asm"
-DodrioPokedexEntry::     INCLUDE "data/pokedex/entries/dodrio.asm"
-SeelPokedexEntry::       INCLUDE "data/pokedex/entries/seel.asm"
-DewgongPokedexEntry::    INCLUDE "data/pokedex/entries/dewgong.asm"
-GrimerPokedexEntry::     INCLUDE "data/pokedex/entries/grimer.asm"
-MukPokedexEntry::        INCLUDE "data/pokedex/entries/muk.asm"
-ShellderPokedexEntry::   INCLUDE "data/pokedex/entries/shellder.asm"
-CloysterPokedexEntry::   INCLUDE "data/pokedex/entries/cloyster.asm"
-GastlyPokedexEntry::     INCLUDE "data/pokedex/entries/gastly.asm"
-HaunterPokedexEntry::    INCLUDE "data/pokedex/entries/haunter.asm"
-GengarPokedexEntry::     INCLUDE "data/pokedex/entries/gengar.asm"
-OnixPokedexEntry::       INCLUDE "data/pokedex/entries/onix.asm"
-DrowzeePokedexEntry::    INCLUDE "data/pokedex/entries/drowzee.asm"
-HypnoPokedexEntry::      INCLUDE "data/pokedex/entries/hypno.asm"
-KrabbyPokedexEntry::     INCLUDE "data/pokedex/entries/krabby.asm"
-KinglerPokedexEntry::    INCLUDE "data/pokedex/entries/kingler.asm"
-VoltorbPokedexEntry::    INCLUDE "data/pokedex/entries/voltorb.asm"
-ElectrodePokedexEntry::  INCLUDE "data/pokedex/entries/electrode.asm"
-ExeggcutePokedexEntry::  INCLUDE "data/pokedex/entries/exeggcute.asm"
-ExeggutorPokedexEntry::  INCLUDE "data/pokedex/entries/exeggutor.asm"
-CubonePokedexEntry::     INCLUDE "data/pokedex/entries/cubone.asm"
-MarowakPokedexEntry::    INCLUDE "data/pokedex/entries/marowak.asm"
-HitmonleePokedexEntry::  INCLUDE "data/pokedex/entries/hitmonlee.asm"
-HitmonchanPokedexEntry:: INCLUDE "data/pokedex/entries/hitmonchan.asm"
-LickitungPokedexEntry::  INCLUDE "data/pokedex/entries/lickitung.asm"
-KoffingPokedexEntry::    INCLUDE "data/pokedex/entries/koffing.asm"
-WeezingPokedexEntry::    INCLUDE "data/pokedex/entries/weezing.asm"
-RhyhornPokedexEntry::    INCLUDE "data/pokedex/entries/rhyhorn.asm"
-RhydonPokedexEntry::     INCLUDE "data/pokedex/entries/rhydon.asm"
-ChanseyPokedexEntry::    INCLUDE "data/pokedex/entries/chansey.asm"
-TangelaPokedexEntry::    INCLUDE "data/pokedex/entries/tangela.asm"
-KangaskhanPokedexEntry:: INCLUDE "data/pokedex/entries/kangaskhan.asm"
-HorseaPokedexEntry::     INCLUDE "data/pokedex/entries/horsea.asm"
-SeadraPokedexEntry::     INCLUDE "data/pokedex/entries/seadra.asm"
-GoldeenPokedexEntry::    INCLUDE "data/pokedex/entries/goldeen.asm"
-SeakingPokedexEntry::    INCLUDE "data/pokedex/entries/seaking.asm"
-StaryuPokedexEntry::     INCLUDE "data/pokedex/entries/staryu.asm"
-StarmiePokedexEntry::    INCLUDE "data/pokedex/entries/starmie.asm"
-MrMimePokedexEntry::     INCLUDE "data/pokedex/entries/mr__mime.asm"
-ScytherPokedexEntry::    INCLUDE "data/pokedex/entries/scyther.asm"
-JynxPokedexEntry::       INCLUDE "data/pokedex/entries/jynx.asm"
-ElectabuzzPokedexEntry:: INCLUDE "data/pokedex/entries/electabuzz.asm"
-MagmarPokedexEntry::     INCLUDE "data/pokedex/entries/magmar.asm"
-PinsirPokedexEntry::     INCLUDE "data/pokedex/entries/pinsir.asm"
-TaurosPokedexEntry::     INCLUDE "data/pokedex/entries/tauros.asm"
-
-
-SECTION "Pokedex Entries 129-192", ROMX
-
-PokedexEntries3::
-MagikarpPokedexEntry::   INCLUDE "data/pokedex/entries/magikarp.asm"
-GyaradosPokedexEntry::   INCLUDE "data/pokedex/entries/gyarados.asm"
-LaprasPokedexEntry::     INCLUDE "data/pokedex/entries/lapras.asm"
-DittoPokedexEntry::      INCLUDE "data/pokedex/entries/ditto.asm"
-EeveePokedexEntry::      INCLUDE "data/pokedex/entries/eevee.asm"
-VaporeonPokedexEntry::   INCLUDE "data/pokedex/entries/vaporeon.asm"
-JolteonPokedexEntry::    INCLUDE "data/pokedex/entries/jolteon.asm"
-FlareonPokedexEntry::    INCLUDE "data/pokedex/entries/flareon.asm"
-PorygonPokedexEntry::    INCLUDE "data/pokedex/entries/porygon.asm"
-OmanytePokedexEntry::    INCLUDE "data/pokedex/entries/omanyte.asm"
-OmastarPokedexEntry::    INCLUDE "data/pokedex/entries/omastar.asm"
-KabutoPokedexEntry::     INCLUDE "data/pokedex/entries/kabuto.asm"
-KabutopsPokedexEntry::   INCLUDE "data/pokedex/entries/kabutops.asm"
-AerodactylPokedexEntry:: INCLUDE "data/pokedex/entries/aerodactyl.asm"
-SnorlaxPokedexEntry::    INCLUDE "data/pokedex/entries/snorlax.asm"
-ArticunoPokedexEntry::   INCLUDE "data/pokedex/entries/articuno.asm"
-ZapdosPokedexEntry::     INCLUDE "data/pokedex/entries/zapdos.asm"
-MoltresPokedexEntry::    INCLUDE "data/pokedex/entries/moltres.asm"
-DratiniPokedexEntry::    INCLUDE "data/pokedex/entries/dratini.asm"
-DragonairPokedexEntry::  INCLUDE "data/pokedex/entries/dragonair.asm"
-DragonitePokedexEntry::  INCLUDE "data/pokedex/entries/dragonite.asm"
-MewtwoPokedexEntry::     INCLUDE "data/pokedex/entries/mewtwo.asm"
-MewPokedexEntry::        INCLUDE "data/pokedex/entries/mew.asm"
-ChikoritaPokedexEntry::  INCLUDE "data/pokedex/entries/chikorita.asm"
-BayleefPokedexEntry::    INCLUDE "data/pokedex/entries/bayleef.asm"
-MeganiumPokedexEntry::   INCLUDE "data/pokedex/entries/meganium.asm"
-CyndaquilPokedexEntry::  INCLUDE "data/pokedex/entries/cyndaquil.asm"
-QuilavaPokedexEntry::    INCLUDE "data/pokedex/entries/quilava.asm"
-TyphlosionPokedexEntry:: INCLUDE "data/pokedex/entries/typhlosion.asm"
-TotodilePokedexEntry::   INCLUDE "data/pokedex/entries/totodile.asm"
-CroconawPokedexEntry::   INCLUDE "data/pokedex/entries/croconaw.asm"
-FeraligatrPokedexEntry:: INCLUDE "data/pokedex/entries/feraligatr.asm"
-SentretPokedexEntry::    INCLUDE "data/pokedex/entries/sentret.asm"
-FurretPokedexEntry::     INCLUDE "data/pokedex/entries/furret.asm"
-HoothootPokedexEntry::   INCLUDE "data/pokedex/entries/hoothoot.asm"
-NoctowlPokedexEntry::    INCLUDE "data/pokedex/entries/noctowl.asm"
-LedybaPokedexEntry::     INCLUDE "data/pokedex/entries/ledyba.asm"
-LedianPokedexEntry::     INCLUDE "data/pokedex/entries/ledian.asm"
-SpinarakPokedexEntry::   INCLUDE "data/pokedex/entries/spinarak.asm"
-AriadosPokedexEntry::    INCLUDE "data/pokedex/entries/ariados.asm"
-CrobatPokedexEntry::     INCLUDE "data/pokedex/entries/crobat.asm"
-ChinchouPokedexEntry::   INCLUDE "data/pokedex/entries/chinchou.asm"
-LanturnPokedexEntry::    INCLUDE "data/pokedex/entries/lanturn.asm"
-PichuPokedexEntry::      INCLUDE "data/pokedex/entries/pichu.asm"
-CleffaPokedexEntry::     INCLUDE "data/pokedex/entries/cleffa.asm"
-IgglybuffPokedexEntry::  INCLUDE "data/pokedex/entries/igglybuff.asm"
-TogepiPokedexEntry::     INCLUDE "data/pokedex/entries/togepi.asm"
-TogeticPokedexEntry::    INCLUDE "data/pokedex/entries/togetic.asm"
-NatuPokedexEntry::       INCLUDE "data/pokedex/entries/natu.asm"
-XatuPokedexEntry::       INCLUDE "data/pokedex/entries/xatu.asm"
-MareepPokedexEntry::     INCLUDE "data/pokedex/entries/mareep.asm"
-FlaaffyPokedexEntry::    INCLUDE "data/pokedex/entries/flaaffy.asm"
-AmpharosPokedexEntry::   INCLUDE "data/pokedex/entries/ampharos.asm"
-BellossomPokedexEntry::  INCLUDE "data/pokedex/entries/bellossom.asm"
-MarillPokedexEntry::     INCLUDE "data/pokedex/entries/marill.asm"
-AzumarillPokedexEntry::  INCLUDE "data/pokedex/entries/azumarill.asm"
-SudowoodoPokedexEntry::  INCLUDE "data/pokedex/entries/sudowoodo.asm"
-PolitoedPokedexEntry::   INCLUDE "data/pokedex/entries/politoed.asm"
-HoppipPokedexEntry::     INCLUDE "data/pokedex/entries/hoppip.asm"
-SkiploomPokedexEntry::   INCLUDE "data/pokedex/entries/skiploom.asm"
-JumpluffPokedexEntry::   INCLUDE "data/pokedex/entries/jumpluff.asm"
-AipomPokedexEntry::      INCLUDE "data/pokedex/entries/aipom.asm"
-SunkernPokedexEntry::    INCLUDE "data/pokedex/entries/sunkern.asm"
-SunfloraPokedexEntry::   INCLUDE "data/pokedex/entries/sunflora.asm"
-
-
-SECTION "Pokedex Entries 193-251", ROMX
-
-PokedexEntries4::
-YanmaPokedexEntry::      INCLUDE "data/pokedex/entries/yanma.asm"
-WooperPokedexEntry::     INCLUDE "data/pokedex/entries/wooper.asm"
-QuagsirePokedexEntry::   INCLUDE "data/pokedex/entries/quagsire.asm"
-EspeonPokedexEntry::     INCLUDE "data/pokedex/entries/espeon.asm"
-UmbreonPokedexEntry::    INCLUDE "data/pokedex/entries/umbreon.asm"
-MurkrowPokedexEntry::    INCLUDE "data/pokedex/entries/murkrow.asm"
-SlowkingPokedexEntry::   INCLUDE "data/pokedex/entries/slowking.asm"
-MisdreavusPokedexEntry:: INCLUDE "data/pokedex/entries/misdreavus.asm"
-UnownPokedexEntry::      INCLUDE "data/pokedex/entries/unown.asm"
-WobbuffetPokedexEntry::  INCLUDE "data/pokedex/entries/wobbuffet.asm"
-GirafarigPokedexEntry::  INCLUDE "data/pokedex/entries/girafarig.asm"
-PinecoPokedexEntry::     INCLUDE "data/pokedex/entries/pineco.asm"
-ForretressPokedexEntry:: INCLUDE "data/pokedex/entries/forretress.asm"
-DunsparcePokedexEntry::  INCLUDE "data/pokedex/entries/dunsparce.asm"
-GligarPokedexEntry::     INCLUDE "data/pokedex/entries/gligar.asm"
-SteelixPokedexEntry::    INCLUDE "data/pokedex/entries/steelix.asm"
-SnubbullPokedexEntry::   INCLUDE "data/pokedex/entries/snubbull.asm"
-GranbullPokedexEntry::   INCLUDE "data/pokedex/entries/granbull.asm"
-QwilfishPokedexEntry::   INCLUDE "data/pokedex/entries/qwilfish.asm"
-ScizorPokedexEntry::     INCLUDE "data/pokedex/entries/scizor.asm"
-ShucklePokedexEntry::    INCLUDE "data/pokedex/entries/shuckle.asm"
-HeracrossPokedexEntry::  INCLUDE "data/pokedex/entries/heracross.asm"
-SneaselPokedexEntry::    INCLUDE "data/pokedex/entries/sneasel.asm"
-TeddiursaPokedexEntry::  INCLUDE "data/pokedex/entries/teddiursa.asm"
-UrsaringPokedexEntry::   INCLUDE "data/pokedex/entries/ursaring.asm"
-SlugmaPokedexEntry::     INCLUDE "data/pokedex/entries/slugma.asm"
-MagcargoPokedexEntry::   INCLUDE "data/pokedex/entries/magcargo.asm"
-SwinubPokedexEntry::     INCLUDE "data/pokedex/entries/swinub.asm"
-PiloswinePokedexEntry::  INCLUDE "data/pokedex/entries/piloswine.asm"
-CorsolaPokedexEntry::    INCLUDE "data/pokedex/entries/corsola.asm"
-RemoraidPokedexEntry::   INCLUDE "data/pokedex/entries/remoraid.asm"
-OctilleryPokedexEntry::  INCLUDE "data/pokedex/entries/octillery.asm"
-DelibirdPokedexEntry::   INCLUDE "data/pokedex/entries/delibird.asm"
-MantinePokedexEntry::    INCLUDE "data/pokedex/entries/mantine.asm"
-SkarmoryPokedexEntry::   INCLUDE "data/pokedex/entries/skarmory.asm"
-HoundourPokedexEntry::   INCLUDE "data/pokedex/entries/houndour.asm"
-HoundoomPokedexEntry::   INCLUDE "data/pokedex/entries/houndoom.asm"
-KingdraPokedexEntry::    INCLUDE "data/pokedex/entries/kingdra.asm"
-PhanpyPokedexEntry::     INCLUDE "data/pokedex/entries/phanpy.asm"
-DonphanPokedexEntry::    INCLUDE "data/pokedex/entries/donphan.asm"
-Porygon2PokedexEntry::   INCLUDE "data/pokedex/entries/porygon2.asm"
-StantlerPokedexEntry::   INCLUDE "data/pokedex/entries/stantler.asm"
-SmearglePokedexEntry::   INCLUDE "data/pokedex/entries/smeargle.asm"
-TyroguePokedexEntry::    INCLUDE "data/pokedex/entries/tyrogue.asm"
-HitmontopPokedexEntry::  INCLUDE "data/pokedex/entries/hitmontop.asm"
-SmoochumPokedexEntry::   INCLUDE "data/pokedex/entries/smoochum.asm"
-ElekidPokedexEntry::     INCLUDE "data/pokedex/entries/elekid.asm"
-MagbyPokedexEntry::      INCLUDE "data/pokedex/entries/magby.asm"
-MiltankPokedexEntry::    INCLUDE "data/pokedex/entries/miltank.asm"
-BlisseyPokedexEntry::    INCLUDE "data/pokedex/entries/blissey.asm"
-RaikouPokedexEntry::     INCLUDE "data/pokedex/entries/raikou.asm"
-EnteiPokedexEntry::      INCLUDE "data/pokedex/entries/entei.asm"
-SuicunePokedexEntry::    INCLUDE "data/pokedex/entries/suicune.asm"
-LarvitarPokedexEntry::   INCLUDE "data/pokedex/entries/larvitar.asm"
-PupitarPokedexEntry::    INCLUDE "data/pokedex/entries/pupitar.asm"
-TyranitarPokedexEntry::  INCLUDE "data/pokedex/entries/tyranitar.asm"
-LugiaPokedexEntry::      INCLUDE "data/pokedex/entries/lugia.asm"
-HoOhPokedexEntry::       INCLUDE "data/pokedex/entries/ho_oh.asm"
-CelebiPokedexEntry::     INCLUDE "data/pokedex/entries/celebi.asm"
--- a/data/pokedex/entries/abra.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; AbraPokedexEntry: ; 0x1830d5
-	db "PSI@" ; species name
-	dw 211, 430 ; height, weight
-
-	db   "It hypnotizes"
-	next "itself so that it"
-	next "can teleport away"
-	page "when it senses"
-	next "danger, even"
-	next "if it is asleep.@"
--- a/data/pokedex/entries/aerodactyl.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; AerodactylPokedexEntry: ; 0x1cc576
-	db "FOSSIL@" ; species name
-	dw 511, 1300 ; height, weight
-
-	db   "In prehistoric"
-	next "times, this"
-	next "#MON flew"
-	page "freely and"
-	next "fearlessly through"
-	next "the skies.@"
--- a/data/pokedex/entries/aipom.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; AipomPokedexEntry: ; 0x1cda11
-	db "LONG TAIL@" ; species name
-	dw 207, 250 ; height, weight
-
-	db   "It uses its tail"
-	next "to hang on to tree"
-	next "branches. It uses"
-	page "its momentum to"
-	next "swing from one"
-	next "branch to another.@"
--- a/data/pokedex/entries/alakazam.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; AlakazamPokedexEntry: ; 0x1b8000
-	db "PSI@" ; species name
-	dw 411, 1060 ; height, weight
-
-	db   "It has an IQ of"
-	next "5000. It calcu-"
-	next "lates many things"
-	page "in order to gain"
-	next "the edge in every"
-	next "battle.@"
--- a/data/pokedex/entries/ampharos.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; AmpharosPokedexEntry: ; 0x1cd626
-	db "LIGHT@" ; species name
-	dw 407, 1360 ; height, weight
-
-	db   "When it gets dark,"
-	next "the light from its"
-	next "bright, shiny tail"
-	page "can be seen from"
-	next "far away on the"
-	next "ocean's surface.@"
--- a/data/pokedex/entries/arbok.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ArbokPokedexEntry: ; 0x18203d
-	db "COBRA@" ; species name
-	dw 1106, 1430 ; height, weight
-
-	db   "To intimidate"
-	next "foes, it spreads"
-	next "its chest wide and"
-	page "makes eerie sounds"
-	next "by expelling air"
-	next "from its mouth.@"
--- a/data/pokedex/entries/arcanine.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ArcaninePokedexEntry: ; 0x182f1c
-	db "LEGENDARY@" ; species name
-	dw 603, 3420 ; height, weight
-
-	db   "An ancient picture"
-	next "scroll shows that"
-	next "people were"
-	page "attracted to its"
-	next "movement as it ran"
-	next "through prairies.@"
--- a/data/pokedex/entries/ariados.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; AriadosPokedexEntry: ; 0x1cd083
-	db "LONG LEG@" ; species name
-	dw 307, 740 ; height, weight
-
-	db   "Rather than mak-"
-	next "ing a nest in one"
-	next "specific spot, it"
-	page "wanders in search"
-	next "of food after"
-	next "darkness falls.@"
--- a/data/pokedex/entries/articuno.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ArticunoPokedexEntry: ; 0x1cc632
-	db "FREEZE@" ; species name
-	dw 507, 1220 ; height, weight
-
-	db   "Legendary bird"
-	next "#MON. As it"
-	next "flies through the"
-	page "sky, it cools the"
-	next "air, causing snow"
-	next "to fall.@"
--- a/data/pokedex/entries/azumarill.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; AzumarillPokedexEntry: ; 0x1cd771
-	db "AQUARABBIT@" ; species name
-	dw 207, 630 ; height, weight
-
-	db   "The bubble-like"
-	next "pattern on its"
-	next "stomach helps it"
-	page "camouflage itself"
-	next "when it's in the"
-	next "water.@"
--- a/data/pokedex/entries/bayleef.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; BayleefPokedexEntry: ; 0x1cc9e9
-	db "LEAF@" ; species name
-	dw 311, 350 ; height, weight
-
-	db   "The scent that"
-	next "wafts from the"
-	next "leaves on its neck"
-	page "causes anyone who"
-	next "smells it to"
-	next "become energetic.@"
--- a/data/pokedex/entries/beedrill.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; BeedrillPokedexEntry: ; 0x181c8a
-	db "POISON BEE@" ; species name
-	dw 303, 650 ; height, weight
-
-	db   "It uses sharp,"
-	next "poisonous stings"
-	next "to defeat prey,"
-	page "then takes the"
-	next "victim back to its"
-	next "nest for food.@"
--- a/data/pokedex/entries/bellossom.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; BellossomPokedexEntry: ; 0x1cd69a
-	db "FLOWER@" ; species name
-	dw 104, 130 ; height, weight
-
-	db   "When these dance"
-	next "together, their"
-	next "petals rub against"
-	page "each other,"
-	next "making pretty,"
-	next "relaxing sounds.@"
--- a/data/pokedex/entries/bellsprout.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; BellsproutPokedexEntry: ; 0x1b81a1
-	db "FLOWER@" ; species name
-	dw 204, 90 ; height, weight
-
-	db   "If it notices"
-	next "anything that"
-	next "moves, it"
-	page "immediately flings"
-	next "its vine at the"
-	next "object.@"
--- a/data/pokedex/entries/blastoise.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; BlastoisePokedexEntry: ; 0x1819f9
-	db "SHELLFISH@" ; species name
-	dw 503, 1890 ; height, weight
-
-	db   "It firmly plants"
-	next "its feet on the"
-	next "ground before"
-	page "shooting water"
-	next "from the jets on"
-	next "its back.@"
--- a/data/pokedex/entries/blissey.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; BlisseyPokedexEntry: ; 0x1d14f7
-	db "HAPPINESS@" ; species name
-	dw 411, 1030 ; height, weight
-
-	db   "Biting into one"
-	next "of the delicious"
-	next "eggs that BLISSEY"
-	page "provides will make"
-	next "everyone around"
-	next "smile with joy.@"
--- a/data/pokedex/entries/bulbasaur.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; BulbasaurPokedexEntry: ; 0x181695
-	db "SEED@" ; species name
-	dw 204, 150 ; height, weight
-
-	db   "While it is young,"
-	next "it uses the"
-	next "nutrients that are"
-	page "stored in the"
-	next "seeds on its back"
-	next "in order to grow.@"
--- a/data/pokedex/entries/butterfree.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ButterfreePokedexEntry: ; 0x181b45
-	db "BUTTERFLY@" ; species name
-	dw 307, 710 ; height, weight
-
-	db   "It flits from"
-	next "flower to flower,"
-	next "collecting honey."
-	page "It can even"
-	next "identify distant"
-	next "flowers in bloom.@"
--- a/data/pokedex/entries/caterpie.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; CaterpiePokedexEntry: ; 0x181a60
-	db "WORM@" ; species name
-	dw 100, 60 ; height, weight
-
-	db   "It crawls into"
-	next "foliage where it"
-	next "camouflages itself"
-	page "among leaves that"
-	next "are the same color"
-	next "as its body.@"
--- a/data/pokedex/entries/celebi.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; CelebiPokedexEntry: ; 0x1d18cc
-	db "TIMETRAVEL@" ; species name
-	dw 200, 110 ; height, weight
-
-	db   "Revered as a"
-	next "guardian of the"
-	next "forest, CELEBI"
-	page "appears wherever"
-	next "beautiful forests"
-	next "exist.@"
--- a/data/pokedex/entries/chansey.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ChanseyPokedexEntry: ; 0x1b942e
-	db "EGG@" ; species name
-	dw 307, 760 ; height, weight
-
-	db   "People try to"
-	next "catch it for its"
-	next "extremely"
-	page "nutritious eggs,"
-	next "but it rarely can"
-	next "be found.@"
--- a/data/pokedex/entries/charizard.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; CharizardPokedexEntry: ; 0x1818b3
-	db "FLAME@" ; species name
-	dw 507, 2000 ; height, weight
-
-	db   "It uses its wings"
-	next "to fly high. The"
-	next "temperature of its"
-	page "fire increases as"
-	next "it gains exper-"
-	next "ience in battle.@"
--- a/data/pokedex/entries/charmander.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; CharmanderPokedexEntry: ; 0x1817db
-	db "LIZARD@" ; species name
-	dw 200, 190 ; height, weight
-
-	db   "If it's healthy,"
-	next "the flame on the"
-	next "tip of its tail"
-	page "will burn vigor-"
-	next "ously, even if it"
-	next "gets a bit wet.@"
--- a/data/pokedex/entries/charmeleon.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; CharmeleonPokedexEntry: ; 0x18184a
-	db "FLAME@" ; species name
-	dw 307, 420 ; height, weight
-
-	db   "If it becomes"
-	next "agitated during"
-	next "battle, it spouts"
-	page "intense flames,"
-	next "incinerating its"
-	next "surroundings.@"
--- a/data/pokedex/entries/chikorita.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ChikoritaPokedexEntry: ; 0x1cc988
-	db "LEAF@" ; species name
-	dw 211, 140 ; height, weight
-
-	db   "It loves to bask"
-	next "in the sunlight."
-	next "It uses the leaf"
-	page "on its head to"
-	next "seek out warm"
-	next "places.@"
--- a/data/pokedex/entries/chinchou.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ChinchouPokedexEntry: ; 0x1cd165
-	db "ANGLER@" ; species name
-	dw 108, 260 ; height, weight
-
-	db   "Its antennae, whi-"
-	next "ch evolved from a"
-	next "fin, have both po-"
-	page "sitive and neg-"
-	next "ative charges flo-"
-	next "wing through them.@"
--- a/data/pokedex/entries/clefable.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ClefablePokedexEntry: ; 0x182530
-	db "FAIRY@" ; species name
-	dw 403, 880 ; height, weight
-
-	db   "Said to live in"
-	next "quiet, remote"
-	next "mountains, this"
-	page "type of fairy has"
-	next "a strong aversion"
-	next "to being seen.@"
--- a/data/pokedex/entries/clefairy.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ClefairyPokedexEntry: ; 0x1824c8
-	db "FAIRY@" ; species name
-	dw 200, 170 ; height, weight
-
-	db   "Though rarely"
-	next "seen, it becomes"
-	next "easier to spot,"
-	page "for some reason,"
-	next "on the night of a "
-	next "full moon.@"
--- a/data/pokedex/entries/cleffa.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; CleffaPokedexEntry: ; 0x1cd2bc
-	db "STARSHAPE@" ; species name
-	dw 100, 70 ; height, weight
-
-	db   "If the impact site"
-	next "of a meteorite is"
-	next "found, this"
-	page "#MON is certain"
-	next "to be within the"
-	next "immediate area.@"
--- a/data/pokedex/entries/cloyster.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; CloysterPokedexEntry: ; 0x1b8ad9
-	db "BIVALVE@" ; species name
-	dw 411, 2920 ; height, weight
-
-	db   "Even a missile"
-	next "can't break the"
-	next "spikes it uses to"
-	page "stab opponents."
-	next "They're even hard-"
-	next "er than its shell.@"
--- a/data/pokedex/entries/corsola.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; CorsolaPokedexEntry: ; 0x1d0c68
-	db "CORAL@" ; species name
-	dw 200, 110 ; height, weight
-
-	db   "The points on its"
-	next "head absorb"
-	next "nutrients from"
-	page "clean water. They"
-	next "cannot survive in"
-	next "polluted water.@"
--- a/data/pokedex/entries/crobat.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; CrobatPokedexEntry: ; 0x1cd0f5
-	db "BAT@" ; species name
-	dw 511, 1650 ; height, weight
-
-	db   "As a result of its"
-	next "pursuit of faster,"
-	next "yet more silent"
-	page "flight, a new set"
-	next "of wings grew on"
-	next "its hind legs.@"
--- a/data/pokedex/entries/croconaw.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; CroconawPokedexEntry: ; 0x1ccc84
-	db "BIG JAW@" ; species name
-	dw 307, 550 ; height, weight
-
-	db   "The tips of its"
-	next "fangs are slanted"
-	next "backward. Once"
-	page "those fangs clamp"
-	next "down, the prey has"
-	next "no hope of escape.@"
--- a/data/pokedex/entries/cubone.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; CubonePokedexEntry: ; 0x1b9068
-	db "LONELY@" ; species name
-	dw 104, 140 ; height, weight
-
-	db   "It lost its mother"
-	next "after its birth."
-	next "It wears its"
-	page "mother's skull,"
-	next "never revealing"
-	next "its true face.@"
--- a/data/pokedex/entries/cyndaquil.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; CyndaquilPokedexEntry: ; 0x1ccabd
-	db "FIRE MOUSE@" ; species name
-	dw 108, 170 ; height, weight
-
-	db   "The fire that"
-	next "spouts from its"
-	next "back burns hottest"
-	page "when it is angry."
-	next "The flaring flames"
-	next "intimidate foes.@"
--- a/data/pokedex/entries/delibird.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; DelibirdPokedexEntry: ; 0x1d0db1
-	db "DELIVERY@" ; species name
-	dw 211, 350 ; height, weight
-
-	db   "It always carries"
-	next "its food with it,"
-	next "wherever it goes."
-	page "If attacked, it"
-	next "throws its food at"
-	next "the opponent.@"
--- a/data/pokedex/entries/dewgong.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; DewgongPokedexEntry: ; 0x1b8934
-	db "SEA LION@" ; species name
-	dw 507, 2650 ; height, weight
-
-	db   "It sleeps under"
-	next "shallow ocean"
-	next "waters during the"
-	page "day, then looks"
-	next "for food at night"
-	next "when it's cold.@"
--- a/data/pokedex/entries/diglett.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; DiglettPokedexEntry: ; 0x182b30
-	db "MOLE@" ; species name
-	dw 8, 20 ; height, weight
-
-	db   "It digs under-"
-	next "ground and chews"
-	next "on tree roots,"
-	page "sticking its head"
-	next "out only when the"
-	next "sun isn't bright.@"
--- a/data/pokedex/entries/ditto.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; DittoPokedexEntry: ; 0x1cc13c
-	db "TRANSFORM@" ; species name
-	dw 100, 90 ; height, weight
-
-	db   "When it encount-"
-	next "ers another DITTO,"
-	next "it will move"
-	page "faster than normal"
-	next "to duplicate that"
-	next "opponent exactly.@"
--- a/data/pokedex/entries/dodrio.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; DodrioPokedexEntry: ; 0x1b884a
-	db "TRIPLEBIRD@" ; species name
-	dw 511, 1880 ; height, weight
-
-	db   "An enemy that"
-	next "takes its eyes off"
-	next "any of the three"
-	page "heads--even for a"
-	next "second--will get"
-	next "pecked severely.@"
--- a/data/pokedex/entries/doduo.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; DoduoPokedexEntry: ; 0x1b87d7
-	db "TWIN BIRD@" ; species name
-	dw 407, 860 ; height, weight
-
-	db   "It lives on a"
-	next "grassy plain where"
-	next "it can see a long"
-	page "way. If it sees an"
-	next "enemy, it runs"
-	next "away at 60 mph.@"
--- a/data/pokedex/entries/donphan.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; DonphanPokedexEntry: ; 0x1d10ac
-	db "ARMOR@" ; species name
-	dw 307, 2650 ; height, weight
-
-	db   "Because this"
-	next "#MON's skin is"
-	next "so tough, a normal"
-	page "attack won't even"
-	next "leave a scratch on"
-	next "it.@"
--- a/data/pokedex/entries/dragonair.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; DragonairPokedexEntry: ; 0x1cc7dc
-	db "DRAGON@" ; species name
-	dw 1301, 360 ; height, weight
-
-	db   "It is called the"
-	next "divine #MON."
-	next "When its entire"
-	page "body brightens"
-	next "slightly, the"
-	next "weather changes.@"
--- a/data/pokedex/entries/dragonite.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; DragonitePokedexEntry: ; 0x1cc843
-	db "DRAGON@" ; species name
-	dw 703, 4630 ; height, weight
-
-	db   "It is said that"
-	next "somewhere in the"
-	next "ocean lies an"
-	page "island where these"
-	next "gather. Only they"
-	next "live there.@"
--- a/data/pokedex/entries/dratini.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; DratiniPokedexEntry: ; 0x1cc761
-	db "DRAGON@" ; species name
-	dw 511, 70 ; height, weight
-
-	db   "It sheds many lay-"
-	next "ers of skin as it"
-	next "grows larger. Dur-"
-	page "ing this process,"
-	next "it is protected by"
-	next "a rapid waterfall.@"
--- a/data/pokedex/entries/drowzee.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; DrowzeePokedexEntry: ; 0x1b8d0a
-	db "HYPNOSIS@" ; species name
-	dw 303, 710 ; height, weight
-
-	db   "When it twitches"
-	next "its nose, it can"
-	next "tell where someone"
-	page "is sleeping and"
-	next "what that person"
-	next "is dreaming about.@"
--- a/data/pokedex/entries/dugtrio.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; DugtrioPokedexEntry: ; 0x182b9d
-	db "MOLE@" ; species name
-	dw 204, 730 ; height, weight
-
-	db   "These DIGLETT"
-	next "triplets dig over"
-	next "60 miles below sea"
-	page "level. No one"
-	next "knows what it's"
-	next "like underground.@"
--- a/data/pokedex/entries/dunsparce.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; DunsparcePokedexEntry: ; 0x1d0593
-	db "LAND SNAKE@" ; species name
-	dw 411, 310 ; height, weight
-
-	db   "It hides deep"
-	next "inside caves where"
-	next "no light ever"
-	page "reaches it and"
-	next "remains virtually"
-	next "motionless there.@"
--- a/data/pokedex/entries/eevee.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; EeveePokedexEntry: ; 0x1cc1b2
-	db "EVOLUTION@" ; species name
-	dw 100, 140 ; height, weight
-
-	db   "Its ability to"
-	next "evolve into many"
-	next "forms allows it to"
-	page "adapt smoothly"
-	next "and perfectly to"
-	next "any environment.@"
--- a/data/pokedex/entries/ekans.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; EkansPokedexEntry: ; 0x181fd4
-	db "SNAKE@" ; species name
-	dw 607, 150 ; height, weight
-
-	db   "It flutters the"
-	next "tip of its tongue"
-	next "to seek out the"
-	page "scent of prey,"
-	next "then swallows the"
-	next "prey whole.@"
--- a/data/pokedex/entries/electabuzz.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ElectabuzzPokedexEntry: ; 0x1b992a
-	db "ELECTRIC@" ; species name
-	dw 307, 660 ; height, weight
-
-	db   "When two"
-	next "ELECTABUZZ touch,"
-	next "they control the"
-	page "electric currents"
-	next "to communicate"
-	next "their feelings.@"
--- a/data/pokedex/entries/electrode.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ElectrodePokedexEntry: ; 0x1b8f19
-	db "BALL@" ; species name
-	dw 311, 1470 ; height, weight
-
-	db   "The more energy it"
-	next "charges up, the"
-	next "faster it gets."
-	page "But this also"
-	next "makes it more"
-	next "likely to explode.@"
--- a/data/pokedex/entries/elekid.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ElekidPokedexEntry: ; 0x1d1398
-	db "ELECTRIC@" ; species name
-	dw 200, 520 ; height, weight
-
-	db   "It loves violent"
-	next "thunder. The space"
-	next "between its horns"
-	page "flickers bluish-"
-	next "white when it is"
-	next "charging energy.@"
--- a/data/pokedex/entries/entei.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; EnteiPokedexEntry: ; 0x1d15dd
-	db "VOLCANO@" ; species name
-	dw 607, 4370 ; height, weight
-
-	db   "This brawny"
-	next "#MON courses"
-	next "around the earth,"
-	page "spouting flames"
-	next "hotter than a"
-	next "volcano's magma.@"
--- a/data/pokedex/entries/espeon.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; EspeonPokedexEntry: ; 0x1d0155
-	db "SUN@" ; species name
-	dw 211, 580 ; height, weight
-
-	db   "The tip of its"
-	next "forked tail"
-	next "quivers when it is"
-	page "predicting its"
-	next "opponent's next"
-	next "move.@"
--- a/data/pokedex/entries/exeggcute.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ExeggcutePokedexEntry: ; 0x1b8f84
-	db "EGG@" ; species name
-	dw 104, 60 ; height, weight
-
-	db   "If even one is"
-	next "separated from the"
-	next "group, the energy"
-	page "bond between the"
-	next "six will make them"
-	next "rejoin instantly.@"
--- a/data/pokedex/entries/exeggutor.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ExeggutorPokedexEntry: ; 0x1b8ff6
-	db "COCONUT@" ; species name
-	dw 607, 2650 ; height, weight
-
-	db   "Living in a good"
-	next "environment makes"
-	next "it grow lots of"
-	page "heads. A head that"
-	next "drops off becomes"
-	next "an EXEGGCUTE.@"
--- a/data/pokedex/entries/farfetch_d.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; FarfetchDPokedexEntry: ; 0x1b876c
-	db "WILD DUCK@" ; species name
-	dw 207, 330 ; height, weight
-
-	db   "In order to pre-"
-	next "vent their"
-	next "extinction, more"
-	page "people have made"
-	next "an effort to breed"
-	next "these #MON.@"
--- a/data/pokedex/entries/fearow.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; FearowPokedexEntry: ; 0x181f64
-	db "BEAK@" ; species name
-	dw 311, 840 ; height, weight
-
-	db   "It uses its long"
-	next "beak to attack. It"
-	next "has a surprisingly"
-	page "long reach, so it"
-	next "must be treated"
-	next "with caution.@"
--- a/data/pokedex/entries/feraligatr.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; FeraligatrPokedexEntry: ; 0x1cccf9
-	db "BIG JAW@" ; species name
-	dw 707, 1960 ; height, weight
-
-	db   "Although it has a"
-	next "massive body, its"
-	next "powerful hind legs"
-	page "enable it to move"
-	next "quickly, even on"
-	next "the ground.@"
--- a/data/pokedex/entries/flaaffy.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; FlaaffyPokedexEntry: ; 0x1cd5b8
-	db "WOOL@" ; species name
-	dw 207, 290 ; height, weight
-
-	db   "Because of its"
-	next "rubbery, electric-"
-	next "ity-resistant"
-	page "skin, it can store"
-	next "lots of electric-"
-	next "ity in its fur.@"
--- a/data/pokedex/entries/flareon.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; FlareonPokedexEntry: ; 0x1cc2ec
-	db "FLAME@" ; species name
-	dw 211, 550 ; height, weight
-
-	db   "Once it has stored"
-	next "up enough heat,"
-	next "this #MON's"
-	page "body temperature"
-	next "can reach up to"
-	next "1700 degrees.@"
--- a/data/pokedex/entries/forretress.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ForretressPokedexEntry: ; 0x1d0524
-	db "BAGWORM@" ; species name
-	dw 311, 2770 ; height, weight
-
-	db   "Usually found"
-	next "hanging on to a"
-	next "fat tree trunk. It"
-	page "shoots out bits of"
-	next "its shell when it"
-	next "sees action.@"
--- a/data/pokedex/entries/furret.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; FurretPokedexEntry: ; 0x1ccddd
-	db "LONG BODY@" ; species name
-	dw 511, 720 ; height, weight
-
-	db   "It lives in narrow"
-	next "burrows that fit"
-	next "its slim body. The"
-	page "deeper the nests"
-	next "go, the more maze-"
-	next "like they become.@"
--- a/data/pokedex/entries/gastly.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; GastlyPokedexEntry: ; 0x1b8b4a
-	db "GAS@" ; species name
-	dw 403, 2 ; height, weight
-
-	db   "It wraps its op-"
-	next "ponent in its gas-"
-	next "like body, slowly"
-	page "weakening its prey"
-	next "by poisoning it"
-	next "through the skin.@"
--- a/data/pokedex/entries/gengar.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; GengarPokedexEntry: ; 0x1b8c25
-	db "SHADOW@" ; species name
-	dw 411, 890 ; height, weight
-
-	db   "Hiding in people's"
-	next "shadows at night,"
-	next "it absorbs their"
-	page "heat. The chill it"
-	next "causes makes the"
-	next "victims shake.@"
--- a/data/pokedex/entries/geodude.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; GeodudePokedexEntry: ; 0x1b83a1
-	db "ROCK@" ; species name
-	dw 104, 440 ; height, weight
-
-	db   "Proud of their"
-	next "sturdy bodies,"
-	next "they bash against"
-	page "each other in a"
-	next "contest to prove"
-	next "whose is harder.@"
--- a/data/pokedex/entries/girafarig.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; GirafarigPokedexEntry: ; 0x1d0446
-	db "LONG NECK@" ; species name
-	dw 411, 910 ; height, weight
-
-	db   "When it is in"
-	next "danger, its tail"
-	next "uses some sort of"
-	page "mysterious powers"
-	next "to drive away the"
-	next "enemy.@"
--- a/data/pokedex/entries/gligar.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; GligarPokedexEntry: ; 0x1d0604
-	db "FLYSCORPIO@" ; species name
-	dw 307, 1430 ; height, weight
-
-	db   "It builds its nest"
-	next "on a steep cliff."
-	next "When it is done"
-	page "gliding, it hops"
-	next "along the ground"
-	next "back to its nest.@"
--- a/data/pokedex/entries/gloom.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; GloomPokedexEntry: ; 0x1828a6
-	db "WEED@" ; species name
-	dw 207, 190 ; height, weight
-
-	db   "The smell from its"
-	next "drool-like syrup"
-	next "and the pollen on"
-	page "its petals is so"
-	next "bad, it may make"
-	next "opponents faint.@"
--- a/data/pokedex/entries/golbat.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; GolbatPokedexEntry: ; 0x1827c4
-	db "BAT@" ; species name
-	dw 503, 1210 ; height, weight
-
-	db   "When it plunges"
-	next "its fangs into its"
-	next "prey, it instantly"
-	page "draws and gulps"
-	next "down more than ten"
-	next "ounces of blood.@"
--- a/data/pokedex/entries/goldeen.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; GoldeenPokedexEntry: ; 0x1b9626
-	db "GOLDFISH@" ; species name
-	dw 200, 330 ; height, weight
-
-	db   "During spawning"
-	next "season, they swim"
-	next "gracefully in the"
-	page "water, searching"
-	next "for their perfect"
-	next "mate.@"
--- a/data/pokedex/entries/golduck.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; GolduckPokedexEntry: ; 0x182d55
-	db "DUCK@" ; species name
-	dw 507, 1690 ; height, weight
-
-	db   "It swims grace-"
-	next "fully along on the"
-	next "quiet, slow-moving"
-	page "rivers and lakes"
-	next "of which it is so"
-	next "fond.@"
--- a/data/pokedex/entries/golem.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; GolemPokedexEntry: ; 0x1b8481
-	db "MEGATON@" ; species name
-	dw 407, 6620 ; height, weight
-
-	db   "Its rock-like body"
-	next "is so durable,"
-	next "even high-powered"
-	page "dynamite blasts"
-	next "fail to scratch"
-	next "its rugged hide.@"
--- a/data/pokedex/entries/granbull.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; GranbullPokedexEntry: ; 0x1d074a
-	db "FAIRY@" ; species name
-	dw 407, 1070 ; height, weight
-
-	db   "It can make most"
-	next "any #MON run"
-	next "away simply by"
-	page "opening its mouth"
-	next "wide to reveal its"
-	next "big fangs.@"
--- a/data/pokedex/entries/graveler.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; GravelerPokedexEntry: ; 0x1b840c
-	db "ROCK@" ; species name
-	dw 303, 2320 ; height, weight
-
-	db   "It travels by rol-"
-	next "ling on mountain"
-	next "paths. If it gains"
-	page "too much speed, it"
-	next "stops by running"
-	next "into huge rocks.@"
--- a/data/pokedex/entries/grimer.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; GrimerPokedexEntry: ; 0x1b89a2
-	db "SLUDGE@" ; species name
-	dw 211, 660 ; height, weight
-
-	db   "When two of these"
-	next "#MON's bodies"
-	next "are combined"
-	page "together, new"
-	next "poisons are"
-	next "created.@"
--- a/data/pokedex/entries/growlithe.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; GrowlithePokedexEntry: ; 0x182eaa
-	db "PUPPY@" ; species name
-	dw 204, 420 ; height, weight
-
-	db   "It controls a big"
-	next "territory. If it"
-	next "detects an unknown"
-	page "smell, it roars"
-	next "loudly to force"
-	next "out the intruder.@"
--- a/data/pokedex/entries/gyarados.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; GyaradosPokedexEntry: ; 0x1cc065
-	db "ATROCIOUS@" ; species name
-	dw 2104, 5180 ; height, weight
-
-	db   "It appears when-"
-	next "ever there is"
-	next "world conflict,"
-	page "burning down any"
-	next "place it travels"
-	next "through.@"
--- a/data/pokedex/entries/haunter.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; HaunterPokedexEntry: ; 0x1b8bbd
-	db "GAS@" ; species name
-	dw 503, 2 ; height, weight
-
-	db   "It hides in the"
-	next "dark, planning to"
-	next "take the life of"
-	page "the next living"
-	next "thing that wanders"
-	next "close by.@"
--- a/data/pokedex/entries/heracross.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; HeracrossPokedexEntry: ; 0x1d0907
-	db "SINGLEHORN@" ; species name
-	dw 411, 1190 ; height, weight
-
-	db   "With its Herculean"
-	next "powers, it can"
-	next "easily throw arou-"
-	page "nd an object that"
-	next "is 100 times its"
-	next "own weight.@"
--- a/data/pokedex/entries/hitmonchan.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; HitmonchanPokedexEntry: ; 0x1b91a4
-	db "PUNCHING@" ; species name
-	dw 407, 1110 ; height, weight
-
-	db   "To increase the"
-	next "strength of all"
-	next "its punch moves,"
-	page "it spins its arms"
-	next "just before making"
-	next "contact.@"
--- a/data/pokedex/entries/hitmonlee.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; HitmonleePokedexEntry: ; 0x1b913f
-	db "KICKING@" ; species name
-	dw 411, 1100 ; height, weight
-
-	db   "It is also called"
-	next "the Kick Master."
-	next "It uses its"
-	page "elastic legs to"
-	next "execute every"
-	next "known kick.@"
--- a/data/pokedex/entries/hitmontop.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; HitmontopPokedexEntry: ; 0x1d12c0
-	db "HANDSTAND@" ; species name
-	dw 407, 1060 ; height, weight
-
-	db   "After doing a"
-	next "handstand to"
-	next "throw off the"
-	page "opponent's timing,"
-	next "it presents its"
-	next "fancy kick moves.@"
--- a/data/pokedex/entries/ho_oh.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; HoOhPokedexEntry: ; 0x1d185d
-	db "RAINBOW@" ; species name
-	dw 1206, 4390 ; height, weight
-
-	db   "It will reveal"
-	next "itself before a"
-	next "pure-hearted"
-	page "trainer by shining"
-	next "its bright rain-"
-	next "bow-colored wings.@"
--- a/data/pokedex/entries/hoothoot.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; HoothootPokedexEntry: ; 0x1cce58
-	db "OWL@" ; species name
-	dw 204, 470 ; height, weight
-
-	db   "It begins to hoot"
-	next "at the same time"
-	next "every day. Some"
-	page "trainers use them"
-	next "in place of"
-	next "clocks.@"
--- a/data/pokedex/entries/hoppip.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; HoppipPokedexEntry: ; 0x1cd8b5
-	db "COTTONWEED@" ; species name
-	dw 104, 10 ; height, weight
-
-	db   "It can be carried"
-	next "away on even the"
-	next "gentlest breeze."
-	page "It may even float"
-	next "all the way to the"
-	next "next town.@"
--- a/data/pokedex/entries/horsea.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; HorseaPokedexEntry: ; 0x1b9553
-	db "DRAGON@" ; species name
-	dw 104, 180 ; height, weight
-
-	db   "When they're in a"
-	next "safe location,"
-	next "they can be seen"
-	page "playfully tangling"
-	next "their tails"
-	next "together.@"
--- a/data/pokedex/entries/houndoom.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; HoundoomPokedexEntry: ; 0x1d0f66
-	db "DARK@" ; species name
-	dw 407, 770 ; height, weight
-
-	db   "The pungent-"
-	next "smelling flame"
-	next "that shoots from"
-	page "its mouth results"
-	next "from toxins burn-"
-	next "ing in its body.@"
--- a/data/pokedex/entries/houndour.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; HoundourPokedexEntry: ; 0x1d0eff
-	db "DARK@" ; species name
-	dw 200, 240 ; height, weight
-
-	db   "Around dawn, its"
-	next "ominous howl"
-	next "echoes through the"
-	page "area to announce"
-	next "that this is its"
-	next "territory.@"
--- a/data/pokedex/entries/hypno.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; HypnoPokedexEntry: ; 0x1b8d80
-	db "HYPNOSIS@" ; species name
-	dw 503, 1670 ; height, weight
-
-	db   "The longer it"
-	next "swings its"
-	next "pendulum, the"
-	page "longer the effects"
-	next "of its hypnosis"
-	next "last.@"
--- a/data/pokedex/entries/igglybuff.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; IgglybuffPokedexEntry: ; 0x1cd32c
-	db "BALLOON@" ; species name
-	dw 100, 20 ; height, weight
-
-	db   "Instead of walking"
-	next "with its short"
-	next "legs, it moves"
-	page "around by bouncing"
-	next "on its soft,"
-	next "tender body.@"
--- a/data/pokedex/entries/ivysaur.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; IvysaurPokedexEntry: ; 0x181702
-	db "SEED@" ; species name
-	dw 303, 290 ; height, weight
-
-	db   "The bulb on its"
-	next "back grows as it"
-	next "absorbs nutrients."
-	page "The bulb gives off"
-	next "a pleasant aroma"
-	next "when it blooms.@"
--- a/data/pokedex/entries/jigglypuff.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; JigglypuffPokedexEntry: ; 0x182673
-	db "BALLOON@" ; species name
-	dw 108, 120 ; height, weight
-
-	db   "It rolls its cute"
-	next "eyes as it sings a"
-	next "soothing lullaby."
-	page "Its gentle song"
-	next "puts anyone who"
-	next "hears it to sleep.@"
--- a/data/pokedex/entries/jolteon.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; JolteonPokedexEntry: ; 0x1cc28b
-	db "LIGHTNING@" ; species name
-	dw 207, 540 ; height, weight
-
-	db   "The negatively"
-	next "charged ions"
-	next "generated in its"
-	page "fur create a"
-	next "constant sparking"
-	next "noise.@"
--- a/data/pokedex/entries/jumpluff.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; JumpluffPokedexEntry: ; 0x1cd998
-	db "COTTONWEED@" ; species name
-	dw 207, 70 ; height, weight
-
-	db   "Even in the fierc-"
-	next "est wind, it can"
-	next "control its fluff"
-	page "to make its way to"
-	next "any place in the"
-	next "world it wants.@"
--- a/data/pokedex/entries/jynx.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; JynxPokedexEntry: ; 0x1b98c5
-	db "HUMANSHAPE@" ; species name
-	dw 407, 900 ; height, weight
-
-	db   "It has several"
-	next "different cry pat-"
-	next "terns, each of"
-	page "which seems to"
-	next "have its own"
-	next "meaning.@"
--- a/data/pokedex/entries/kabuto.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; KabutoPokedexEntry: ; 0x1cc497
-	db "SHELLFISH@" ; species name
-	dw 108, 250 ; height, weight
-
-	db   "Three hundred"
-	next "million years ago,"
-	next "it hid on the sea"
-	page "floor. It also has"
-	next "eyes on its back"
-	next "that glow.@"
--- a/data/pokedex/entries/kabutops.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; KabutopsPokedexEntry: ; 0x1cc507
-	db "SHELLFISH@" ; species name
-	dw 403, 890 ; height, weight
-
-	db   "It was able to"
-	next "swim quickly thro-"
-	next "ugh the water by"
-	page "compactly folding"
-	next "up its razor-sharp"
-	next "sickles.@"
--- a/data/pokedex/entries/kadabra.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; KadabraPokedexEntry: ; 0x18313c
-	db "PSI@" ; species name
-	dw 403, 1250 ; height, weight
-
-	db   "When it closes its"
-	next "eyes, twice as"
-	next "many alpha parti-"
-	page "cles come out of"
-	next "the surface of its"
-	next "body.@"
--- a/data/pokedex/entries/kakuna.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; KakunaPokedexEntry: ; 0x181c23
-	db "COCOON@" ; species name
-	dw 200, 220 ; height, weight
-
-	db   "Nearly incapable"
-	next "of movement, it"
-	next "leans against"
-	page "stout trees while"
-	next "waiting for its"
-	next "evolution.@"
--- a/data/pokedex/entries/kangaskhan.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; KangaskhanPokedexEntry: ; 0x1b94f6
-	db "PARENT@" ; species name
-	dw 703, 1760 ; height, weight
-
-	db   "To avoid"
-	next "crushing the"
-	next "baby it carries in"
-	page "its pouch, it"
-	next "always sleeps"
-	next "standing up.@"
--- a/data/pokedex/entries/kingdra.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; KingdraPokedexEntry: ; 0x1d0fd1
-	db "DRAGON@" ; species name
-	dw 511, 3350 ; height, weight
-
-	db   "It stores energy"
-	next "by sleeping at"
-	next "underwater depths"
-	page "at which no other"
-	next "life forms can"
-	next "survive.@"
--- a/data/pokedex/entries/kingler.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; KinglerPokedexEntry: ; 0x1b8e45
-	db "PINCER@" ; species name
-	dw 403, 1320 ; height, weight
-
-	db   "Its oversized claw"
-	next "is very powerful,"
-	next "but when it's not"
-	page "in battle, the"
-	next "claw just gets in"
-	next "the way.@"
--- a/data/pokedex/entries/koffing.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; KoffingPokedexEntry: ; 0x1b9276
-	db "POISON GAS@" ; species name
-	dw 200, 20 ; height, weight
-
-	db   "If one gets close"
-	next "enough to it when"
-	next "it expels poison-"
-	page "ous gas, the gas"
-	next "swirling inside it"
-	next "can be seen.@"
--- a/data/pokedex/entries/krabby.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; KrabbyPokedexEntry: ; 0x1b8ddd
-	db "RIVER CRAB@" ; species name
-	dw 104, 140 ; height, weight
-
-	db   "If it is unable"
-	next "to find food, it"
-	next "will absorb"
-	page "nutrients by"
-	next "swallowing a"
-	next "mouthful of sand.@"
--- a/data/pokedex/entries/lanturn.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; LanturnPokedexEntry: ; 0x1cd1de
-	db "LIGHT@" ; species name
-	dw 311, 500 ; height, weight
-
-	db   "This #MON uses"
-	next "the bright part of"
-	next "its body, which"
-	page "changed from a"
-	next "dorsal fin, to"
-	next "lure prey.@"
--- a/data/pokedex/entries/lapras.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; LaprasPokedexEntry: ; 0x1cc0cd
-	db "TRANSPORT@" ; species name
-	dw 802, 4850 ; height, weight
-
-	db   "This gentle"
-	next "#MON loves to"
-	next "give people rides"
-	page "and provides a ve-"
-	next "ry comfortable way"
-	next "to get around.@"
--- a/data/pokedex/entries/larvitar.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; LarvitarPokedexEntry: ; 0x1d169c
-	db "ROCK SKIN@" ; species name
-	dw 200, 1590 ; height, weight
-
-	db   "Born deep under-"
-	next "ground, this"
-	next "#MON becomes a"
-	page "pupa after eating"
-	next "enough dirt to"
-	next "make a mountain.@"
--- a/data/pokedex/entries/ledian.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; LedianPokedexEntry: ; 0x1ccfa0
-	db "FIVE STAR@" ; species name
-	dw 407, 780 ; height, weight
-
-	db   "In the daytime"
-	next "when it gets warm,"
-	next "it curls up inside"
-	page "a big leaf and"
-	next "drifts off into"
-	next "a deep slumber.@"
--- a/data/pokedex/entries/ledyba.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; LedybaPokedexEntry: ; 0x1ccf2c
-	db "FIVE STAR@" ; species name
-	dw 303, 240 ; height, weight
-
-	db   "It is timid and"
-	next "clusters together"
-	next "with others. The"
-	page "fluid secreted by"
-	next "its feet indicates"
-	next "its location.@"
--- a/data/pokedex/entries/lickitung.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; LickitungPokedexEntry: ; 0x1b9210
-	db "LICKING@" ; species name
-	dw 311, 1440 ; height, weight
-
-	db   "It has a tongue"
-	next "that is over 6'6''"
-	next "long. It uses this"
-	page "long tongue to"
-	next "lick its body"
-	next "clean.@"
--- a/data/pokedex/entries/lugia.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; LugiaPokedexEntry: ; 0x1d17e9
-	db "DIVING@" ; species name
-	dw 1701, 4760 ; height, weight
-
-	db   "It has an incred-"
-	next "ible ability to"
-	next "calm raging sto-"
-	page "rms. It is said"
-	next "that LUGIA appears"
-	next "when storms start.@"
--- a/data/pokedex/entries/machamp.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MachampPokedexEntry: ; 0x1b8133
-	db "SUPERPOWER@" ; species name
-	dw 503, 2870 ; height, weight
-
-	db   "With four arms"
-	next "that react more"
-	next "quickly than it"
-	page "can think, it can"
-	next "execute many"
-	next "punches at once.@"
--- a/data/pokedex/entries/machoke.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MachokePokedexEntry: ; 0x1b80cb
-	db "SUPERPOWER@" ; species name
-	dw 411, 1550 ; height, weight
-
-	db   "This tough #MON"
-	next "always stays in"
-	next "the zone. Its"
-	page "muscles become"
-	next "thicker after"
-	next "every battle.@"
--- a/data/pokedex/entries/machop.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MachopPokedexEntry: ; 0x1b8065
-	db "SUPERPOWER@" ; species name
-	dw 207, 430 ; height, weight
-
-	db   "It trains by"
-	next "lifting rocks in"
-	next "the mountains. It"
-	page "can even pick up a"
-	next "GRAVELER with"
-	next "ease.@"
--- a/data/pokedex/entries/magby.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MagbyPokedexEntry: ; 0x1d140e
-	db "LIVE COAL@" ; species name
-	dw 204, 470 ; height, weight
-
-	db   "It naturally spits"
-	next "an 1100-degree"
-	next "flame. It is said"
-	page "when many appear,"
-	next "it heralds a"
-	next "volcanic eruption.@"
--- a/data/pokedex/entries/magcargo.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MagcargoPokedexEntry: ; 0x1d0b21
-	db "LAVA@" ; species name
-	dw 207, 1210 ; height, weight
-
-	db   "Its body is as hot"
-	next "as lava and is"
-	next "always billowing."
-	page "Flames will"
-	next "occasionally burst"
-	next "from its shell.@"
--- a/data/pokedex/entries/magikarp.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MagikarpPokedexEntry: ; 0x1cc000
-	db "FISH@" ; species name
-	dw 211, 220 ; height, weight
-
-	db   "This weak and"
-	next "pathetic #MON"
-	next "gets easily pushed"
-	page "along rivers when"
-	next "there are strong"
-	next "currents.@"
--- a/data/pokedex/entries/magmar.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MagmarPokedexEntry: ; 0x1b9994
-	db "SPITFIRE@" ; species name
-	dw 403, 980 ; height, weight
-
-	db   "It moves more"
-	next "frequently in hot"
-	next "areas. It can heal"
-	page "itself by dipping"
-	next "its wound into"
-	next "lava.@"
--- a/data/pokedex/entries/magnemite.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MagnemitePokedexEntry: ; 0x1b869d
-	db "MAGNET@" ; species name
-	dw 100, 130 ; height, weight
-
-	db   "The electricity"
-	next "emitted by the"
-	next "units on each side"
-	page "of its body cause"
-	next "it to become a"
-	next "strong magnet.@"
--- a/data/pokedex/entries/magneton.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MagnetonPokedexEntry: ; 0x1b870a
-	db "MAGNET@" ; species name
-	dw 303, 1320 ; height, weight
-
-	db   "When many"
-	next "MAGNETON gather"
-	next "together, the"
-	page "resulting magnetic"
-	next "storm disrupts"
-	next "radio waves.@"
--- a/data/pokedex/entries/mankey.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MankeyPokedexEntry: ; 0x182dbd
-	db "PIG MONKEY@" ; species name
-	dw 108, 620 ; height, weight
-
-	db   "It lives in groups"
-	next "in the treetops."
-	next "If it loses sight"
-	page "of its group, it"
-	next "becomes infuriated"
-	next "by its loneliness.@"
--- a/data/pokedex/entries/mantine.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MantinePokedexEntry: ; 0x1d0e25
-	db "KITE@" ; species name
-	dw 611, 4850 ; height, weight
-
-	db   "It swims along"
-	next "freely, eating"
-	next "things that swim"
-	page "into its mouth."
-	next "Its whole body is"
-	next "very coarse.@"
--- a/data/pokedex/entries/mareep.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MareepPokedexEntry: ; 0x1cd551
-	db "WOOL@" ; species name
-	dw 200, 170 ; height, weight
-
-	db   "It stores lots of"
-	next "air in its soft"
-	next "fur, allowing it"
-	page "to stay cool in"
-	next "summer and warm"
-	next "in winter.@"
--- a/data/pokedex/entries/marill.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MarillPokedexEntry: ; 0x1cd705
-	db "AQUAMOUSE@" ; species name
-	dw 104, 190 ; height, weight
-
-	db   "The fur on its"
-	next "body naturally"
-	next "repels water. It"
-	page "can stay dry, even"
-	next "when it plays in"
-	next "the water.@"
--- a/data/pokedex/entries/marowak.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MarowakPokedexEntry: ; 0x1b90d2
-	db "BONEKEEPER@" ; species name
-	dw 303, 990 ; height, weight
-
-	db   "Somewhere in the"
-	next "world is a ceme-"
-	next "tery just for"
-	page "MAROWAK. It gets"
-	next "its bones from"
-	next "those graves.@"
--- a/data/pokedex/entries/meganium.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MeganiumPokedexEntry: ; 0x1cca54
-	db "HERB@" ; species name
-	dw 511, 2220 ; height, weight
-
-	db   "Anyone who stands"
-	next "beside it becomes"
-	next "refreshed, just as"
-	page "if they were"
-	next "relaxing in a"
-	next "sunny forest.@"
--- a/data/pokedex/entries/meowth.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MeowthPokedexEntry: ; 0x182c08
-	db "SCRATCHCAT@" ; species name
-	dw 104, 90 ; height, weight
-
-	db   "It loves things"
-	next "that sparkle. When"
-	next "it sees a shiny"
-	page "object, the gold"
-	next "coin on its head"
-	next "shines too.@"
--- a/data/pokedex/entries/metapod.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MetapodPokedexEntry: ; 0x181ace
-	db "COCOON@" ; species name
-	dw 204, 220 ; height, weight
-
-	db   "This is its pre-"
-	next "evolved form. At"
-	next "this stage, it can"
-	page "only harden, so it"
-	next "remains motionless"
-	next "to avoid attack.@"
--- a/data/pokedex/entries/mew.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MewPokedexEntry: ; 0x1cc915
-	db "NEW SPECIE@" ; species name
-	dw 104, 90 ; height, weight
-
-	db   "Because it can"
-	next "learn any move,"
-	next "some people began"
-	page "research to see if"
-	next "it is the ancestor"
-	next "of all #MON.@"
--- a/data/pokedex/entries/mewtwo.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MewtwoPokedexEntry: ; 0x1cc8ae
-	db "GENETIC@" ; species name
-	dw 607, 2690 ; height, weight
-
-	db   "Said to rest qui-"
-	next "etly in an"
-	next "undiscovered cave,"
-	page "this #MON was"
-	next "created solely for"
-	next "battling.@"
--- a/data/pokedex/entries/miltank.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MiltankPokedexEntry: ; 0x1d1482
-	db "MILK COW@" ; species name
-	dw 311, 1660 ; height, weight
-
-	db   "In order to milk a"
-	next "MILTANK, one must"
-	next "have a knack for"
-	page "rhythmically pull-"
-	next "ing up and down"
-	next "on its udders.@"
--- a/data/pokedex/entries/misdreavus.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MisdreavusPokedexEntry: ; 0x1d0301
-	db "SCREECH@" ; species name
-	dw 204, 20 ; height, weight
-
-	db   "It loves to watch"
-	next "people it's scar-"
-	next "ed. It frightens"
-	page "them by screaming"
-	next "loudly or appear-"
-	next "ing suddenly.@"
--- a/data/pokedex/entries/moltres.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MoltresPokedexEntry: ; 0x1cc706
-	db "FLAME@" ; species name
-	dw 607, 1320 ; height, weight
-
-	db   "Legendary bird"
-	next "#MON. It is"
-	next "said to migrate"
-	page "from the south"
-	next "along with the"
-	next "spring.@"
--- a/data/pokedex/entries/mr__mime.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MrMimePokedexEntry: ; 0x1b97ea
-	db "BARRIER@" ; species name
-	dw 403, 1200 ; height, weight
-
-	db   "It uses the"
-	next "mysterious"
-	next "power it has in"
-	page "its fingers to"
-	next "solidify air into"
-	next "an invisible wall.@"
--- a/data/pokedex/entries/muk.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MukPokedexEntry: ; 0x1b89fc
-	db "SLUDGE@" ; species name
-	dw 311, 660 ; height, weight
-
-	db   "As it moves, a"
-	next "very strong poison"
-	next "leaks from it,"
-	page "making the ground"
-	next "there barren for"
-	next "three years.@"
--- a/data/pokedex/entries/murkrow.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; MurkrowPokedexEntry: ; 0x1d021e
-	db "DARKNESS@" ; species name
-	dw 108, 50 ; height, weight
-
-	db   "It hides any shiny"
-	next "object it finds in"
-	next "a secret location."
-	page "MURKROW and"
-	next "MEOWTH loot one"
-	next "another's stashes.@"
--- a/data/pokedex/entries/natu.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; NatuPokedexEntry: ; 0x1cd47d
-	db "LITTLE BIRD@" ; species name
-	dw 8, 40 ; height, weight
-
-	db   "It is extremely"
-	next "good at climbing"
-	next "tree trunks and"
-	page "likes to eat the"
-	next "new sprouts on"
-	next "the trees.@"
--- a/data/pokedex/entries/nidoking.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; NidokingPokedexEntry: ; 0x182463
-	db "DRILL@" ; species name
-	dw 407, 1370 ; height, weight
-
-	db   "It uses its thick"
-	next "arms, legs and"
-	next "tail to attack"
-	page "forcefully. Melee"
-	next "combat is its"
-	next "specialty.@"
--- a/data/pokedex/entries/nidoqueen.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; NidoqueenPokedexEntry: ; 0x18232e
-	db "DRILL@" ; species name
-	dw 403, 1320 ; height, weight
-
-	db   "The hard scales"
-	next "that cover its"
-	next "strong body serve"
-	page "as excellent"
-	next "protection from"
-	next "any attack.@"
--- a/data/pokedex/entries/nidoran_f.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; NidoranFPokedexEntry: ; 0x18224b
-	db "POISON PIN@" ; species name
-	dw 104, 150 ; height, weight
-
-	db   "Small and very"
-	next "docile, it pro-"
-	next "tects itself with"
-	page "its small, poison-"
-	next "ous horn when"
-	next "attacked.@"
--- a/data/pokedex/entries/nidoran_m.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; NidoranMPokedexEntry: ; 0x182392
-	db "POISON PIN@" ; species name
-	dw 108, 200 ; height, weight
-
-	db   "It constantly"
-	next "moves its large"
-	next "ears in many"
-	page "directions in"
-	next "order to detect"
-	next "danger right away.@"
--- a/data/pokedex/entries/nidorina.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; NidorinaPokedexEntry: ; 0x1822b6
-	db "POISON PIN@" ; species name
-	dw 207, 440 ; height, weight
-
-	db   "It has a docile"
-	next "nature. If it is"
-	next "threatened with"
-	page "attack, it raises"
-	next "the barbs that are"
-	next "all over its body.@"
--- a/data/pokedex/entries/nidorino.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; NidorinoPokedexEntry: ; 0x1823fd
-	db "POISON PIN@" ; species name
-	dw 211, 430 ; height, weight
-
-	db   "It is easily"
-	next "agitated and uses"
-	next "its horn for"
-	page "offense as soon as"
-	next "it notices an"
-	next "attacker.@"
--- a/data/pokedex/entries/ninetales.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; NinetalesPokedexEntry: ; 0x18260c
-	db "FOX@" ; species name
-	dw 307, 440 ; height, weight
-
-	db   "It is said to live"
-	next "a thousand years,"
-	next "and each of its"
-	page "tails is loaded"
-	next "with supernatural"
-	next "powers.@"
--- a/data/pokedex/entries/noctowl.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; NoctowlPokedexEntry: ; 0x1cceb9
-	db "OWL@" ; species name
-	dw 503, 900 ; height, weight
-
-	db   "Its extremely soft"
-	next "feathers make no"
-	next "sound in flight."
-	page "It silently sneaks"
-	next "up on prey without"
-	next "being detected.@"
--- a/data/pokedex/entries/octillery.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; OctilleryPokedexEntry: ; 0x1d0d42
-	db "JET@" ; species name
-	dw 211, 630 ; height, weight
-
-	db   "Its instinct is to"
-	next "bury itself in"
-	next "holes. It often"
-	page "steals the nesting"
-	next "holes of others to"
-	next "sleep in them.@"
--- a/data/pokedex/entries/oddish.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; OddishPokedexEntry: ; 0x182836
-	db "WEED@" ; species name
-	dw 108, 120 ; height, weight
-
-	db   "During the day, it"
-	next "stays in the cold"
-	next "underground to"
-	page "avoid the sun."
-	next "It grows by bath-"
-	next "ing in moonlight.@"
--- a/data/pokedex/entries/omanyte.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; OmanytePokedexEntry: ; 0x1cc3c1
-	db "SPIRAL@" ; species name
-	dw 104, 170 ; height, weight
-
-	db   "In prehistoric"
-	next "times, it swam on"
-	next "the sea floor,"
-	page "eating plankton."
-	next "Its fossils are"
-	next "sometimes found.@"
--- a/data/pokedex/entries/omastar.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; OmastarPokedexEntry: ; 0x1cc42e
-	db "SPIRAL@" ; species name
-	dw 303, 770 ; height, weight
-
-	db   "Its heavy shell"
-	next "allowed it to"
-	next "reach only nearby"
-	page "food. This could"
-	next "be the reason it"
-	next "is extinct.@"
--- a/data/pokedex/entries/onix.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; OnixPokedexEntry: ; 0x1b8c98
-	db "ROCK SNAKE@" ; species name
-	dw 2810, 4630 ; height, weight
-
-	db   "As it digs through"
-	next "the ground, it"
-	next "absorbs many hard"
-	page "objects. This is"
-	next "what makes its"
-	next "body so solid.@"
--- a/data/pokedex/entries/paras.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ParasPokedexEntry: ; 0x18297f
-	db "MUSHROOM@" ; species name
-	dw 100, 120 ; height, weight
-
-	db   "The tochukaso"
-	next "growing on this"
-	next "#MON's back"
-	page "orders it to"
-	next "extract juice from"
-	next "tree trunks.@"
--- a/data/pokedex/entries/parasect.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ParasectPokedexEntry: ; 0x1829e2
-	db "MUSHROOM@" ; species name
-	dw 303, 650 ; height, weight
-
-	db   "When nothing's"
-	next "left to extract"
-	next "from the bug, the"
-	page "mushrooms on its"
-	next "back leave spores"
-	next "on the bug's egg.@"
--- a/data/pokedex/entries/persian.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PersianPokedexEntry: ; 0x182c78
-	db "CLASSY CAT@" ; species name
-	dw 303, 710 ; height, weight
-
-	db   "Behind its lithe,"
-	next "elegant appearance"
-	next "lies a barbaric"
-	page "side. It will tear"
-	next "apart its prey on"
-	next "a mere whim.@"
--- a/data/pokedex/entries/phanpy.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PhanpyPokedexEntry: ; 0x1d1038
-	db "LONG NOSE@" ; species name
-	dw 108, 740 ; height, weight
-
-	db   "During the desert-"
-	next "ed morning hours,"
-	next "it comes ashore"
-	page "where it deftly"
-	next "uses its trunk to"
-	next "take a shower.@"
--- a/data/pokedex/entries/pichu.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PichuPokedexEntry: ; 0x1cd243
-	db "TINY MOUSE@" ; species name
-	dw 100, 40 ; height, weight
-
-	db   "It is unskilled at"
-	next "storing electric"
-	next "power. Any kind of"
-	page "shock causes it to"
-	next "discharge energy"
-	next "spontaneously.@"
--- a/data/pokedex/entries/pidgeot.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PidgeotPokedexEntry: ; 0x181dd7
-	db "BIRD@" ; species name
-	dw 411, 870 ; height, weight
-
-	db   "Its outstanding"
-	next "vision allows it"
-	next "to spot splashing"
-	page "MAGIKARP, even"
-	next "while flying at"
-	next "3300 feet.@"
--- a/data/pokedex/entries/pidgeotto.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PidgeottoPokedexEntry: ; 0x181d75
-	db "BIRD@" ; species name
-	dw 307, 660 ; height, weight
-
-	db   "It slowly flies in"
-	next "a circular pat-"
-	next "tern, all the"
-	page "while keeping a"
-	next "sharp lookout for"
-	next "prey.@"
--- a/data/pokedex/entries/pidgey.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PidgeyPokedexEntry: ; 0x181cfa
-	db "TINY BIRD@" ; species name
-	dw 100, 40 ; height, weight
-
-	db   "It rapidly flaps"
-	next "its wings in the"
-	next "grass, stirring up"
-	page "a dust cloud that"
-	next "drives insect prey"
-	next "out into the open.@"
--- a/data/pokedex/entries/pikachu.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PikachuPokedexEntry: ; 0x1820ad
-	db "MOUSE@" ; species name
-	dw 104, 130 ; height, weight
-
-	db   "When it is anger-"
-	next "ed, it immediately"
-	next "discharges the"
-	page "energy stored in"
-	next "the pouches in its"
-	next "cheeks.@"
--- a/data/pokedex/entries/piloswine.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PiloswinePokedexEntry: ; 0x1d0c01
-	db "SWINE@" ; species name
-	dw 307, 1230 ; height, weight
-
-	db   "Although its legs"
-	next "are short, its"
-	next "rugged hooves"
-	page "prevent it from"
-	next "slipping, even on"
-	next "icy ground.@"
--- a/data/pokedex/entries/pineco.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PinecoPokedexEntry: ; 0x1d04b0
-	db "BAGWORM@" ; species name
-	dw 200, 160 ; height, weight
-
-	db   "It spits out a"
-	next "fluid that it uses"
-	next "to glue tree bark"
-	page "to its body. The"
-	next "fluid hardens when"
-	next "it touches air.@"
--- a/data/pokedex/entries/pinsir.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PinsirPokedexEntry: ; 0x1b99fb
-	db "STAGBEETLE@" ; species name
-	dw 411, 1210 ; height, weight
-
-	db   "When the tempera-"
-	next "ture drops at"
-	next "night, it sleeps"
-	page "on treetops or"
-	next "among roots where"
-	next "it is well hidden.@"
--- a/data/pokedex/entries/politoed.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PolitoedPokedexEntry: ; 0x1cd84b
-	db "FROG@" ; species name
-	dw 307, 750 ; height, weight
-
-	db   "When it expands"
-	next "its throat to"
-	next "croak out a tune,"
-	page "nearby POLIWAG and"
-	next "POLIWHIRL gather"
-	next "immediately.@"
--- a/data/pokedex/entries/poliwag.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PoliwagPokedexEntry: ; 0x182f91
-	db "TADPOLE@" ; species name
-	dw 200, 270 ; height, weight
-
-	db   "The swirl on its"
-	next "belly is its"
-	next "insides showing"
-	page "through the skin."
-	next "It looks clearer"
-	next "after it eats.@"
--- a/data/pokedex/entries/poliwhirl.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PoliwhirlPokedexEntry: ; 0x182ffd
-	db "TADPOLE@" ; species name
-	dw 303, 440 ; height, weight
-
-	db   "Though it is"
-	next "skilled at walk-"
-	next "ing, it prefers to"
-	page "live underwater"
-	next "where there is"
-	next "less danger.@"
--- a/data/pokedex/entries/poliwrath.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PoliwrathPokedexEntry: ; 0x183066
-	db "TADPOLE@" ; species name
-	dw 403, 1190 ; height, weight
-
-	db   "It can use its"
-	next "well-developed"
-	next "arms and legs to"
-	page "run on the surface"
-	next "of the water for a"
-	next "split second.@"
--- a/data/pokedex/entries/ponyta.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PonytaPokedexEntry: ; 0x1b84f2
-	db "FIRE HORSE@" ; species name
-	dw 303, 660 ; height, weight
-
-	db   "Training by"
-	next "jumping over grass"
-	next "that grows longer"
-	page "every day has made"
-	next "it a world-class"
-	next "jumper.@"
--- a/data/pokedex/entries/porygon.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PorygonPokedexEntry: ; 0x1cc353
-	db "VIRTUAL@" ; species name
-	dw 207, 800 ; height, weight
-
-	db   "An artificial"
-	next "#MON created"
-	next "due to extensive"
-	page "research, it can"
-	next "perform only what"
-	next "is in its program.@"
--- a/data/pokedex/entries/porygon2.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; Porygon2PokedexEntry: ; 0x1d110c
-	db "VIRTUAL@" ; species name
-	dw 200, 720 ; height, weight
-
-	db   "This manmade"
-	next "#MON evolved"
-	next "from the latest"
-	page "technology. It"
-	next "may have unprog-"
-	next "rammed reactions.@"
--- a/data/pokedex/entries/primeape.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PrimeapePokedexEntry: ; 0x182e39
-	db "PIG MONKEY@" ; species name
-	dw 303, 710 ; height, weight
-
-	db   "It will beat up"
-	next "anyone who makes"
-	next "it mad, even if it"
-	page "has to chase them"
-	next "until the end of"
-	next "the world.@"
--- a/data/pokedex/entries/psyduck.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PsyduckPokedexEntry: ; 0x182cee
-	db "DUCK@" ; species name
-	dw 207, 430 ; height, weight
-
-	db   "The only time it"
-	next "can use its psy-"
-	next "chic power is when"
-	page "its sleeping brain"
-	next "cells happen to"
-	next "wake.@"
--- a/data/pokedex/entries/pupitar.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; PupitarPokedexEntry: ; 0x1d1709
-	db "HARD SHELL@" ; species name
-	dw 311, 3350 ; height, weight
-
-	db   "It will not stay"
-	next "still, even while"
-	next "it's a pupa. It"
-	page "already has arms"
-	next "and legs under its"
-	next "solid shell.@"
--- a/data/pokedex/entries/quagsire.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; QuagsirePokedexEntry: ; 0x1d00dd
-	db "WATER FISH@" ; species name
-	dw 407, 1650 ; height, weight
-
-	db   "Its body is always"
-	next "slimy. It often"
-	next "bangs its head on"
-	page "the river bottom"
-	next "as it swims but"
-	next "seems not to care.@"
--- a/data/pokedex/entries/quilava.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; QuilavaPokedexEntry: ; 0x1ccb33
-	db "VOLCANO@" ; species name
-	dw 211, 420 ; height, weight
-
-	db   "Before battle, it"
-	next "turns its back on"
-	next "its opponent to"
-	page "demonstrate how"
-	next "ferociously its"
-	next "fire blazes.@"
--- a/data/pokedex/entries/qwilfish.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; QwilfishPokedexEntry: ; 0x1d07b1
-	db "BALLOON@" ; species name
-	dw 108, 90 ; height, weight
-
-	db   "When faced with a"
-	next "larger opponent,"
-	next "it swallows as"
-	page "much water as it"
-	next "can to match the"
-	next "opponent's size.@"
--- a/data/pokedex/entries/raichu.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; RaichuPokedexEntry: ; 0x182117
-	db "MOUSE@" ; species name
-	dw 207, 660 ; height, weight
-
-	db   "If its electric"
-	next "pouches run empty,"
-	next "it raises its tail"
-	page "to gather electri-"
-	next "city from the"
-	next "atmosphere.@"
--- a/data/pokedex/entries/raikou.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; RaikouPokedexEntry: ; 0x1d156b
-	db "THUNDER@" ; species name
-	dw 603, 3920 ; height, weight
-
-	db   "This rough #MON"
-	next "stores energy"
-	next "inside its body,"
-	page "then sweeps across"
-	next "the land, shooting"
-	next "off electricity.@"
--- a/data/pokedex/entries/rapidash.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; RapidashPokedexEntry: ; 0x1b855e
-	db "FIRE HORSE@" ; species name
-	dw 507, 2090 ; height, weight
-
-	db   "It just loves to"
-	next "gallop. The faster"
-	next "it goes, the long-"
-	page "er the swaying"
-	next "flames of its mane"
-	next "will become.@"
--- a/data/pokedex/entries/raticate.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; RaticatePokedexEntry: ; 0x181ea3
-	db "RAT@" ; species name
-	dw 204, 410 ; height, weight
-
-	db   "The webs on its"
-	next "hind legs enable"
-	next "it to cross"
-	page "rivers. It search-"
-	next "es wide areas for"
-	next "food.@"
--- a/data/pokedex/entries/rattata.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; RattataPokedexEntry: ; 0x181e3d
-	db "RAT@" ; species name
-	dw 100, 80 ; height, weight
-
-	db   "This #MON's"
-	next "impressive vital-"
-	next "ity allows it to"
-	page "live anywhere. It"
-	next "also multiplies"
-	next "very quickly.@"
--- a/data/pokedex/entries/remoraid.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; RemoraidPokedexEntry: ; 0x1d0cd3
-	db "JET@" ; species name
-	dw 200, 260 ; height, weight
-
-	db   "To escape from an"
-	next "attacker, it may"
-	next "shoot water out of"
-	page "its mouth, then"
-	next "use that force to"
-	next "swim backward.@"
--- a/data/pokedex/entries/rhydon.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; RhydonPokedexEntry: ; 0x1b93c5
-	db "DRILL@" ; species name
-	dw 603, 2650 ; height, weight
-
-	db   "By lightly spin-"
-	next "ning its drill-"
-	next "like horn, it can"
-	page "easily shatter"
-	next "even a diamond in"
-	next "the rough.@"
--- a/data/pokedex/entries/rhyhorn.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; RhyhornPokedexEntry: ; 0x1b935d
-	db "SPIKES@" ; species name
-	dw 303, 2540 ; height, weight
-
-	db   "It can remember"
-	next "only one thing at"
-	next "a time. Once it"
-	page "starts rushing, it"
-	next "forgets why it"
-	next "started.@"
--- a/data/pokedex/entries/sandshrew.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SandshrewPokedexEntry: ; 0x182184
-	db "MOUSE@" ; species name
-	dw 200, 260 ; height, weight
-
-	db   "It prefers dry,"
-	next "sandy places"
-	next "because it uses"
-	page "the sand to"
-	next "protect itself"
-	next "when threatened.@"
--- a/data/pokedex/entries/sandslash.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SandslashPokedexEntry: ; 0x1821e7
-	db "MOUSE@" ; species name
-	dw 303, 650 ; height, weight
-
-	db   "Adept at climbing"
-	next "trees, it rolls"
-	next "into a spiny ball,"
-	page "then attacks its"
-	next "enemies from"
-	next "above.@"
--- a/data/pokedex/entries/scizor.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ScizorPokedexEntry: ; 0x1d0821
-	db "SCISSORS@" ; species name
-	dw 511, 2600 ; height, weight
-
-	db   "This #MON's"
-	next "pincers, which"
-	next "contain steel, can"
-	page "crush any hard"
-	next "object it gets a"
-	next "hold of into bits.@"
--- a/data/pokedex/entries/scyther.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ScytherPokedexEntry: ; 0x1b9851
-	db "MANTIS@" ; species name
-	dw 411, 1230 ; height, weight
-
-	db   "It's very proud of"
-	next "its speed. It"
-	next "moves so fast that"
-	page "its opponent does"
-	next "not even know what"
-	next "knocked it down.@"
--- a/data/pokedex/entries/seadra.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SeadraPokedexEntry: ; 0x1b95b8
-	db "DRAGON@" ; species name
-	dw 311, 550 ; height, weight
-
-	db   "The male raises"
-	next "the young. If it"
-	next "is approached, it"
-	page "uses its toxic"
-	next "spikes to fend off"
-	next "the intruder.@"
--- a/data/pokedex/entries/seaking.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SeakingPokedexEntry: ; 0x1b9690
-	db "GOLDFISH@" ; species name
-	dw 403, 860 ; height, weight
-
-	db   "When autumn comes,"
-	next "the males patrol"
-	next "the area around"
-	page "their nests in"
-	next "order to protect"
-	next "their offspring.@"
--- a/data/pokedex/entries/seel.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SeelPokedexEntry: ; 0x1b88bf
-	db "SEA LION@" ; species name
-	dw 307, 1980 ; height, weight
-
-	db   "The light blue fur"
-	next "that covers it"
-	next "keeps it protected"
-	page "against the cold."
-	next "It loves iceberg-"
-	next "filled oceans.@"
--- a/data/pokedex/entries/sentret.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SentretPokedexEntry: ; 0x1ccd6b
-	db "SCOUT@" ; species name
-	dw 207, 130 ; height, weight
-
-	db   "When acting as a"
-	next "lookout, it warns"
-	next "others of danger"
-	page "by screeching and"
-	next "hitting the ground"
-	next "with its tail.@"
--- a/data/pokedex/entries/shellder.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ShellderPokedexEntry: ; 0x1b8a68
-	db "BIVALVE@" ; species name
-	dw 100, 90 ; height, weight
-
-	db   "Clamping on to an"
-	next "opponent reveals"
-	next "its vulnerable"
-	page "parts, so it uses"
-	next "this move only as"
-	next "a last resort.@"
--- a/data/pokedex/entries/shuckle.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ShucklePokedexEntry: ; 0x1d088e
-	db "MOLD@" ; species name
-	dw 200, 450 ; height, weight
-
-	db   "The fluid secreted"
-	next "by its toes carves"
-	next "holes in rocks for"
-	page "nesting and can be"
-	next "mixed with BERRIES"
-	next "to make a drink.@"
--- a/data/pokedex/entries/skarmory.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SkarmoryPokedexEntry: ; 0x1d0e8c
-	db "ARMOR BIRD@" ; species name
-	dw 507, 1110 ; height, weight
-
-	db   "The feathers that"
-	next "it sheds are very"
-	next "sharp. It is said"
-	page "that people once"
-	next "used the feathers"
-	next "as swords.@"
--- a/data/pokedex/entries/skiploom.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SkiploomPokedexEntry: ; 0x1cd928
-	db "COTTONWEED@" ; species name
-	dw 200, 20 ; height, weight
-
-	db   "As soon as it"
-	next "rains, it closes"
-	next "its flower and"
-	page "hides in the shade"
-	next "of a tree to avoid"
-	next "getting wet.@"
--- a/data/pokedex/entries/slowbro.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SlowbroPokedexEntry: ; 0x1b8635
-	db "HERMITCRAB@" ; species name
-	dw 503, 1730 ; height, weight
-
-	db   "An attached"
-	next "SHELLDER won't let"
-	next "go because of the"
-	page "tasty flavor that"
-	next "oozes out of its"
-	next "tail.@"
--- a/data/pokedex/entries/slowking.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SlowkingPokedexEntry: ; 0x1d0292
-	db "ROYAL@" ; species name
-	dw 607, 1750 ; height, weight
-
-	db   "Every time it ya-"
-	next "wns, SHELLDER"
-	next "injects more poi-"
-	page "son into it. The"
-	next "poison makes it"
-	next "more intelligent.@"
--- a/data/pokedex/entries/slowpoke.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SlowpokePokedexEntry: ; 0x1b85d3
-	db "DOPEY@" ; species name
-	dw 311, 790 ; height, weight
-
-	db   "It is always so"
-	next "absent-minded that"
-	next "it won't react,"
-	page "even if its"
-	next "flavorful tail is"
-	next "bitten.@"
--- a/data/pokedex/entries/slugma.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SlugmaPokedexEntry: ; 0x1d0ab8
-	db "LAVA@" ; species name
-	dw 204, 770 ; height, weight
-
-	db   "These group to-"
-	next "gether in areas"
-	next "that are hotter"
-	page "than normal. If it"
-	next "cools off, its"
-	next "skin hardens.@"
--- a/data/pokedex/entries/smeargle.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SmearglePokedexEntry: ; 0x1d11e0
-	db "PAINTER@" ; species name
-	dw 311, 1280 ; height, weight
-
-	db   "The color of the"
-	next "mysterious fluid"
-	next "secreted from its"
-	page "tail is predeter-"
-	next "mined for each"
-	next "SMEARGLE.@"
--- a/data/pokedex/entries/smoochum.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SmoochumPokedexEntry: ; 0x1d132b
-	db "KISS@" ; species name
-	dw 104, 130 ; height, weight
-
-	db   "The sensitivity of"
-	next "its lips develops"
-	next "most quickly."
-	page "It uses them to"
-	next "try to identify"
-	next "unknown objects.@"
--- a/data/pokedex/entries/sneasel.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SneaselPokedexEntry: ; 0x1d097a
-	db "SHARP CLAW@" ; species name
-	dw 211, 620 ; height, weight
-
-	db   "This cunning"
-	next "#MON hides"
-	next "under the cover"
-	page "of darkness,"
-	next "waiting to attack"
-	next "its prey.@"
--- a/data/pokedex/entries/snorlax.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SnorlaxPokedexEntry: ; 0x1cc5cf
-	db "SLEEPING@" ; species name
-	dw 611, 10140 ; height, weight
-
-	db   "This #MON's"
-	next "stomach is so"
-	next "strong, even"
-	page "eating moldy or"
-	next "rotten food will"
-	next "not affect it.@"
--- a/data/pokedex/entries/snubbull.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SnubbullPokedexEntry: ; 0x1d06e0
-	db "FAIRY@" ; species name
-	dw 200, 170 ; height, weight
-
-	db   "In truth, it is a"
-	next "cowardly #MON."
-	next "It growls eagerly"
-	page "in order to hide"
-	next "its fear from its"
-	next "opponent.@"
--- a/data/pokedex/entries/spearow.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SpearowPokedexEntry: ; 0x181f03
-	db "TINY BIRD@" ; species name
-	dw 100, 40 ; height, weight
-
-	db   "To protect its"
-	next "territory, it"
-	next "flies around"
-	page "ceaselessly,"
-	next "making high-"
-	next "pitched cries.@"
--- a/data/pokedex/entries/spinarak.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SpinarakPokedexEntry: ; 0x1cd012
-	db "STRINGSPIT@" ; species name
-	dw 108, 190 ; height, weight
-
-	db   "If prey becomes"
-	next "ensnared in its"
-	next "nest of spun"
-	page "string, it waits"
-	next "motionlessly until"
-	next "it becomes dark.@"
--- a/data/pokedex/entries/squirtle.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SquirtlePokedexEntry: ; 0x181926
-	db "TINYTURTLE@" ; species name
-	dw 108, 200 ; height, weight
-
-	db   "When it feels"
-	next "threatened, it"
-	next "draws its legs"
-	page "inside its shell"
-	next "and sprays water"
-	next "from its mouth.@"
--- a/data/pokedex/entries/stantler.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; StantlerPokedexEntry: ; 0x1d1174
-	db "BIG HORN@" ; species name
-	dw 407, 1570 ; height, weight
-
-	db   "The round balls"
-	next "found on the"
-	next "fallen antlers can"
-	page "be ground into a"
-	next "powder that aids"
-	next "in sleeping.@"
--- a/data/pokedex/entries/starmie.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; StarmiePokedexEntry: ; 0x1b9776
-	db "MYSTERIOUS@" ; species name
-	dw 307, 1760 ; height, weight
-
-	db   "It is said that it"
-	next "uses the seven-"
-	next "colored core of"
-	page "its body to send"
-	next "electric waves"
-	next "into outer space.@"
--- a/data/pokedex/entries/staryu.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; StaryuPokedexEntry: ; 0x1b9702
-	db "STARSHAPE@" ; species name
-	dw 207, 760 ; height, weight
-
-	db   "When the stars"
-	next "twinkle at night,"
-	next "it floats up from"
-	page "the sea floor, and"
-	next "its body's center"
-	next "core flickers.@"
--- a/data/pokedex/entries/steelix.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SteelixPokedexEntry: ; 0x1d067c
-	db "IRON SNAKE@" ; species name
-	dw 3002, 8820 ; height, weight
-
-	db   "The many small"
-	next "metal particles"
-	next "that cover this"
-	page "#MON's body"
-	next "reflect bright"
-	next "light well.@"
--- a/data/pokedex/entries/sudowoodo.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SudowoodoPokedexEntry: ; 0x1cd7d9
-	db "IMITATION@" ; species name
-	dw 311, 840 ; height, weight
-
-	db   "If a tree branch"
-	next "shakes when there"
-	next "is no wind, it's a"
-	page "SUDOWOODO, not a"
-	next "tree. It hides"
-	next "from the rain.@"
--- a/data/pokedex/entries/suicune.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SuicunePokedexEntry: ; 0x1d1642
-	db "AURORA@" ; species name
-	dw 607, 4120 ; height, weight
-
-	db   "This divine"
-	next "#MON blows"
-	next "around the world,"
-	page "always in search"
-	next "of a pure"
-	next "reservoir.@"
--- a/data/pokedex/entries/sunflora.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SunfloraPokedexEntry: ; 0x1cdaef
-	db "SUN@" ; species name
-	dw 207, 190 ; height, weight
-
-	db   "As the hot season"
-	next "approaches, the"
-	next "petals on this"
-	page "#MON's face"
-	next "become more vivid"
-	next "and lively.@"
--- a/data/pokedex/entries/sunkern.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SunkernPokedexEntry: ; 0x1cda87
-	db "SEED@" ; species name
-	dw 100, 40 ; height, weight
-
-	db   "It is very weak."
-	next "Its only means of"
-	next "defense is to"
-	page "shake its leaves"
-	next "desperately at its"
-	next "attacker.@"
--- a/data/pokedex/entries/swinub.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; SwinubPokedexEntry: ; 0x1d0b8d
-	db "PIG@" ; species name
-	dw 104, 140 ; height, weight
-
-	db   "It uses the tip of"
-	next "its nose to dig"
-	next "for food. Its nose"
-	page "is so tough that"
-	next "even frozen ground"
-	next "poses no problem.@"
--- a/data/pokedex/entries/tangela.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; TangelaPokedexEntry: ; 0x1b948c
-	db "VINE@" ; species name
-	dw 303, 770 ; height, weight
-
-	db   "During battle, it"
-	next "constantly moves"
-	next "the vines that"
-	page "cover its body in"
-	next "order to annoy its"
-	next "opponent.@"
--- a/data/pokedex/entries/tauros.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; TaurosPokedexEntry: ; 0x1b9a6f
-	db "WILD BULL@" ; species name
-	dw 407, 1950 ; height, weight
-
-	db   "These violent"
-	next "#MON fight"
-	next "with other mem-"
-	page "bers of their herd"
-	next "in order to prove"
-	next "their strength.@"
--- a/data/pokedex/entries/teddiursa.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; TeddiursaPokedexEntry: ; 0x1d09da
-	db "LITTLE BEAR@" ; species name
-	dw 200, 190 ; height, weight
-
-	db   "It always licks"
-	next "honey. Its palm"
-	next "tastes sweet"
-	page "because of all the"
-	next "honey it has"
-	next "absorbed.@"
--- a/data/pokedex/entries/tentacool.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; TentacoolPokedexEntry: ; 0x1b82d1
-	db "JELLYFISH@" ; species name
-	dw 211, 1000 ; height, weight
-
-	db   "As it floats along"
-	next "on the waves, it"
-	next "uses its toxic"
-	page "feelers to stab"
-	next "anything it"
-	next "touches.@"
--- a/data/pokedex/entries/tentacruel.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; TentacruelPokedexEntry: ; 0x1b8337
-	db "JELLYFISH@" ; species name
-	dw 503, 1210 ; height, weight
-
-	db   "When its 80 feel-"
-	next "ers absorb water,"
-	next "it stretches to"
-	page "become like a net"
-	next "to entangle its"
-	next "prey.@"
--- a/data/pokedex/entries/togepi.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; TogepiPokedexEntry: ; 0x1cd396
-	db "SPIKE BALL@" ; species name
-	dw 100, 30 ; height, weight
-
-	db   "It is considered"
-	next "to be a symbol of"
-	next "good luck. Its"
-	page "shell is said to"
-	next "be filled with"
-	next "happiness.@"
--- a/data/pokedex/entries/togetic.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; TogeticPokedexEntry: ; 0x1cd402
-	db "HAPPINESS@" ; species name
-	dw 200, 70 ; height, weight
-
-	db   "Although it does"
-	next "not flap its wings"
-	next "very much, it can"
-	page "stay up in the air"
-	next "as it tags along"
-	next "after its trainer.@"
--- a/data/pokedex/entries/totodile.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; TotodilePokedexEntry: ; 0x1ccc14
-	db "BIG JAW@" ; species name
-	dw 200, 210 ; height, weight
-
-	db   "This rough critter"
-	next "chomps at any"
-	next "moving object it"
-	page "sees. Turning your"
-	next "back on it is not"
-	next "recommended.@"
--- a/data/pokedex/entries/typhlosion.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; TyphlosionPokedexEntry: ; 0x1ccba0
-	db "VOLCANO@" ; species name
-	dw 507, 1750 ; height, weight
-
-	db   "When heat from its"
-	next "body causes the"
-	next "air around it to"
-	page "shimmer, this is a"
-	next "sign that it is"
-	next "ready to battle.@"
--- a/data/pokedex/entries/tyranitar.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; TyranitarPokedexEntry: ; 0x1d177b
-	db "ARMOR@" ; species name
-	dw 607, 4450 ; height, weight
-
-	db   "In just one of its"
-	next "mighty hands, it"
-	next "has the power to"
-	page "make the ground"
-	next "shake and moun-"
-	next "tains crumble.@"
--- a/data/pokedex/entries/tyrogue.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; TyroguePokedexEntry: ; 0x1d124b
-	db "SCUFFLE@" ; species name
-	dw 204, 460 ; height, weight
-
-	db   "To brush up on its"
-	next "fighting skills,"
-	next "it will challenge"
-	page "anyone. It has a"
-	next "very strong com-"
-	next "petitive spirit.@"
--- a/data/pokedex/entries/umbreon.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; UmbreonPokedexEntry: ; 0x1d01af
-	db "MOONLIGHT@" ; species name
-	dw 303, 600 ; height, weight
-
-	db   "On the night of a"
-	next "full moon, or when"
-	next "it gets excited,"
-	page "the ring patterns"
-	next "on its body glow"
-	next "yellow.@"
--- a/data/pokedex/entries/unown.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; UnownPokedexEntry: ; 0x1d0373
-	db "SYMBOL@" ; species name
-	dw 108, 110 ; height, weight
-
-	db   "Because different"
-	next "types of UNOWN"
-	next "exist, it is said"
-	page "that they must"
-	next "have a variety of"
-	next "abilities.@"
--- a/data/pokedex/entries/ursaring.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; UrsaringPokedexEntry: ; 0x1d0a41
-	db "HIBERNANT@" ; species name
-	dw 511, 2770 ; height, weight
-
-	db   "Although it has a"
-	next "large body, it is"
-	next "quite skilled at"
-	page "climbing trees. It"
-	next "eats and sleeps in"
-	next "the treetops.@"
--- a/data/pokedex/entries/vaporeon.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; VaporeonPokedexEntry: ; 0x1cc224
-	db "BUBBLE JET@" ; species name
-	dw 303, 640 ; height, weight
-
-	db   "As it uses the"
-	next "fins on the tip"
-	next "of its tail to"
-	page "swim, it blends"
-	next "with the water"
-	next "perfectly.@"
--- a/data/pokedex/entries/venomoth.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; VenomothPokedexEntry: ; 0x182abf
-	db "POISONMOTH@" ; species name
-	dw 411, 280 ; height, weight
-
-	db   "The scales it"
-	next "scatters will"
-	next "paralyze anyone"
-	page "who touches them,"
-	next "making that person"
-	next "unable to stand.@"
--- a/data/pokedex/entries/venonat.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; VenonatPokedexEntry: ; 0x182a53
-	db "INSECT@" ; species name
-	dw 303, 660 ; height, weight
-
-	db   "The small bugs it"
-	next "eats appear only"
-	next "at night, so it"
-	page "sleeps in a hole"
-	next "in a tree until"
-	next "night falls.@"
--- a/data/pokedex/entries/venusaur.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; VenusaurPokedexEntry: ; 0x181773
-	db "SEED@" ; species name
-	dw 607, 2210 ; height, weight
-
-	db   "As it warms it-"
-	next "self and absorbs"
-	next "the sunlight, its"
-	page "flower petals"
-	next "release a pleasant"
-	next "fragrance.@"
--- a/data/pokedex/entries/victreebel.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; VictreebelPokedexEntry: ; 0x1b826e
-	db "FLYCATCHER@" ; species name
-	dw 507, 340 ; height, weight
-
-	db   "Once ingested into"
-	next "this #MON's"
-	next "body, even the"
-	page "hardest object"
-	next "will melt into"
-	next "nothing.@"
--- a/data/pokedex/entries/vileplume.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; VileplumePokedexEntry: ; 0x182918
-	db "FLOWER@" ; species name
-	dw 311, 410 ; height, weight
-
-	db   "By shaking its big"
-	next "petals, it scat-"
-	next "ters toxic pollen"
-	page "into the air,"
-	next "turning the air"
-	next "yellow.@"
--- a/data/pokedex/entries/voltorb.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; VoltorbPokedexEntry: ; 0x1b8eb0
-	db "BALL@" ; species name
-	dw 108, 230 ; height, weight
-
-	db   "During the study"
-	next "of this #MON,"
-	next "it was discovered"
-	page "that its compo-"
-	next "nents are not"
-	next "found in nature.@"
--- a/data/pokedex/entries/vulpix.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; VulpixPokedexEntry: ; 0x18259b
-	db "FOX@" ; species name
-	dw 200, 220 ; height, weight
-
-	db   "As its body grows"
-	next "larger, its six"
-	next "warm tails become"
-	page "more beautiful,"
-	next "with a more luxur-"
-	next "ious coat of fur.@"
--- a/data/pokedex/entries/wartortle.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; WartortlePokedexEntry: ; 0x181993
-	db "TURTLE@" ; species name
-	dw 303, 500 ; height, weight
-
-	db   "Its long, furry"
-	next "tail is a symbol"
-	next "of longevity,"
-	page "making it quite"
-	next "popular among"
-	next "older people.@"
--- a/data/pokedex/entries/weedle.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; WeedlePokedexEntry: ; 0x181bb4
-	db "HAIRY BUG@" ; species name
-	dw 100, 70 ; height, weight
-
-	db   "The barb on top of"
-	next "its head secretes"
-	next "a strong poison."
-	page "It uses this toxic"
-	next "barb to protect"
-	next "itself.@"
--- a/data/pokedex/entries/weepinbell.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; WeepinbellPokedexEntry: ; 0x1b81fd
-	db "FLYCATCHER@" ; species name
-	dw 303, 140 ; height, weight
-
-	db   "When it's hungry,"
-	next "it swings its"
-	next "razor-sharp"
-	page "leaves, slicing up"
-	next "any unlucky object"
-	next "nearby for food.@"
--- a/data/pokedex/entries/weezing.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; WeezingPokedexEntry: ; 0x1b92ec
-	db "POISON GAS@" ; species name
-	dw 311, 210 ; height, weight
-
-	db   "When it inhales"
-	next "poisonous gases"
-	next "from garbage, its"
-	page "body expands, and"
-	next "its insides smell"
-	next "much worse.@"
--- a/data/pokedex/entries/wigglytuff.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; WigglytuffPokedexEntry: ; 0x1826e9
-	db "BALLOON@" ; species name
-	dw 303, 260 ; height, weight
-
-	db   "The rich, fluffy"
-	next "fur that covers"
-	next "its body feels so"
-	page "good that anyone"
-	next "who feels it can't"
-	next "stop touching it.@"
--- a/data/pokedex/entries/wobbuffet.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; WobbuffetPokedexEntry: ; 0x1d03dd
-	db "PATIENT@" ; species name
-	dw 403, 630 ; height, weight
-
-	db   "In order to con-"
-	next "ceal its black"
-	next "tail, it lives in"
-	page "a dark cave and"
-	next "only moves about"
-	next "at night.@"
--- a/data/pokedex/entries/wooper.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; WooperPokedexEntry: ; 0x1d0078
-	db "WATER FISH@" ; species name
-	dw 104, 190 ; height, weight
-
-	db   "A mucous"
-	next "membrane covers"
-	next "its body. Touching"
-	page "it barehanded will"
-	next "cause a shooting"
-	next "pain.@"
--- a/data/pokedex/entries/xatu.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; XatuPokedexEntry: ; 0x1cd4e9
-	db "MYSTIC@" ; species name
-	dw 411, 330 ; height, weight
-
-	db   "Once it begins to"
-	next "meditate at sun-"
-	next "rise, the entire"
-	page "day will pass"
-	next "before it will"
-	next "move again.@"
--- a/data/pokedex/entries/yanma.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; YanmaPokedexEntry: ; 0x1d0000
-	db "CLEAR WING@" ; species name
-	dw 311, 840 ; height, weight
-
-	db   "It can see in all"
-	next "directions without"
-	next "moving its big"
-	page "eyes, helping it"
-	next "spot attackers and"
-	next "food right away.@"
--- a/data/pokedex/entries/zapdos.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ZapdosPokedexEntry: ; 0x1cc697
-	db "ELECTRIC@" ; species name
-	dw 503, 1160 ; height, weight
-
-	db   "Legendary bird"
-	next "#MON. They say"
-	next "lightning caused"
-	page "by the flapping of"
-	next "its wings causes"
-	next "summer storms.@"
--- a/data/pokedex/entries/zubat.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-; ZubatPokedexEntry: ; 0x18275d
-	db "BAT@" ; species name
-	dw 207, 170 ; height, weight
-
-	db   "During the day, it"
-	next "gathers with"
-	next "others and hangs"
-	page "from the ceilings"
-	next "of old buildings"
-	next "and caves.@"
--- a/data/pokedex/entry_pointers.asm
+++ /dev/null
@@ -1,254 +1,0 @@
-PokedexDataPointerTable: ; 0x44378
-; entries correspond to constants/pokemon_constants.asm
-	dw BulbasaurPokedexEntry
-	dw IvysaurPokedexEntry
-	dw VenusaurPokedexEntry
-	dw CharmanderPokedexEntry
-	dw CharmeleonPokedexEntry
-	dw CharizardPokedexEntry
-	dw SquirtlePokedexEntry
-	dw WartortlePokedexEntry
-	dw BlastoisePokedexEntry
-	dw CaterpiePokedexEntry
-	dw MetapodPokedexEntry
-	dw ButterfreePokedexEntry
-	dw WeedlePokedexEntry
-	dw KakunaPokedexEntry
-	dw BeedrillPokedexEntry
-	dw PidgeyPokedexEntry
-	dw PidgeottoPokedexEntry
-	dw PidgeotPokedexEntry
-	dw RattataPokedexEntry
-	dw RaticatePokedexEntry
-	dw SpearowPokedexEntry
-	dw FearowPokedexEntry
-	dw EkansPokedexEntry
-	dw ArbokPokedexEntry
-	dw PikachuPokedexEntry
-	dw RaichuPokedexEntry
-	dw SandshrewPokedexEntry
-	dw SandslashPokedexEntry
-	dw NidoranFPokedexEntry
-	dw NidorinaPokedexEntry
-	dw NidoqueenPokedexEntry
-	dw NidoranMPokedexEntry
-	dw NidorinoPokedexEntry
-	dw NidokingPokedexEntry
-	dw ClefairyPokedexEntry
-	dw ClefablePokedexEntry
-	dw VulpixPokedexEntry
-	dw NinetalesPokedexEntry
-	dw JigglypuffPokedexEntry
-	dw WigglytuffPokedexEntry
-	dw ZubatPokedexEntry
-	dw GolbatPokedexEntry
-	dw OddishPokedexEntry
-	dw GloomPokedexEntry
-	dw VileplumePokedexEntry
-	dw ParasPokedexEntry
-	dw ParasectPokedexEntry
-	dw VenonatPokedexEntry
-	dw VenomothPokedexEntry
-	dw DiglettPokedexEntry
-	dw DugtrioPokedexEntry
-	dw MeowthPokedexEntry
-	dw PersianPokedexEntry
-	dw PsyduckPokedexEntry
-	dw GolduckPokedexEntry
-	dw MankeyPokedexEntry
-	dw PrimeapePokedexEntry
-	dw GrowlithePokedexEntry
-	dw ArcaninePokedexEntry
-	dw PoliwagPokedexEntry
-	dw PoliwhirlPokedexEntry
-	dw PoliwrathPokedexEntry
-	dw AbraPokedexEntry
-	dw KadabraPokedexEntry
-	dw AlakazamPokedexEntry
-	dw MachopPokedexEntry
-	dw MachokePokedexEntry
-	dw MachampPokedexEntry
-	dw BellsproutPokedexEntry
-	dw WeepinbellPokedexEntry
-	dw VictreebelPokedexEntry
-	dw TentacoolPokedexEntry
-	dw TentacruelPokedexEntry
-	dw GeodudePokedexEntry
-	dw GravelerPokedexEntry
-	dw GolemPokedexEntry
-	dw PonytaPokedexEntry
-	dw RapidashPokedexEntry
-	dw SlowpokePokedexEntry
-	dw SlowbroPokedexEntry
-	dw MagnemitePokedexEntry
-	dw MagnetonPokedexEntry
-	dw FarfetchDPokedexEntry
-	dw DoduoPokedexEntry
-	dw DodrioPokedexEntry
-	dw SeelPokedexEntry
-	dw DewgongPokedexEntry
-	dw GrimerPokedexEntry
-	dw MukPokedexEntry
-	dw ShellderPokedexEntry
-	dw CloysterPokedexEntry
-	dw GastlyPokedexEntry
-	dw HaunterPokedexEntry
-	dw GengarPokedexEntry
-	dw OnixPokedexEntry
-	dw DrowzeePokedexEntry
-	dw HypnoPokedexEntry
-	dw KrabbyPokedexEntry
-	dw KinglerPokedexEntry
-	dw VoltorbPokedexEntry
-	dw ElectrodePokedexEntry
-	dw ExeggcutePokedexEntry
-	dw ExeggutorPokedexEntry
-	dw CubonePokedexEntry
-	dw MarowakPokedexEntry
-	dw HitmonleePokedexEntry
-	dw HitmonchanPokedexEntry
-	dw LickitungPokedexEntry
-	dw KoffingPokedexEntry
-	dw WeezingPokedexEntry
-	dw RhyhornPokedexEntry
-	dw RhydonPokedexEntry
-	dw ChanseyPokedexEntry
-	dw TangelaPokedexEntry
-	dw KangaskhanPokedexEntry
-	dw HorseaPokedexEntry
-	dw SeadraPokedexEntry
-	dw GoldeenPokedexEntry
-	dw SeakingPokedexEntry
-	dw StaryuPokedexEntry
-	dw StarmiePokedexEntry
-	dw MrMimePokedexEntry
-	dw ScytherPokedexEntry
-	dw JynxPokedexEntry
-	dw ElectabuzzPokedexEntry
-	dw MagmarPokedexEntry
-	dw PinsirPokedexEntry
-	dw TaurosPokedexEntry
-	dw MagikarpPokedexEntry
-	dw GyaradosPokedexEntry
-	dw LaprasPokedexEntry
-	dw DittoPokedexEntry
-	dw EeveePokedexEntry
-	dw VaporeonPokedexEntry
-	dw JolteonPokedexEntry
-	dw FlareonPokedexEntry
-	dw PorygonPokedexEntry
-	dw OmanytePokedexEntry
-	dw OmastarPokedexEntry
-	dw KabutoPokedexEntry
-	dw KabutopsPokedexEntry
-	dw AerodactylPokedexEntry
-	dw SnorlaxPokedexEntry
-	dw ArticunoPokedexEntry
-	dw ZapdosPokedexEntry
-	dw MoltresPokedexEntry
-	dw DratiniPokedexEntry
-	dw DragonairPokedexEntry
-	dw DragonitePokedexEntry
-	dw MewtwoPokedexEntry
-	dw MewPokedexEntry
-	dw ChikoritaPokedexEntry
-	dw BayleefPokedexEntry
-	dw MeganiumPokedexEntry
-	dw CyndaquilPokedexEntry
-	dw QuilavaPokedexEntry
-	dw TyphlosionPokedexEntry
-	dw TotodilePokedexEntry
-	dw CroconawPokedexEntry
-	dw FeraligatrPokedexEntry
-	dw SentretPokedexEntry
-	dw FurretPokedexEntry
-	dw HoothootPokedexEntry
-	dw NoctowlPokedexEntry
-	dw LedybaPokedexEntry
-	dw LedianPokedexEntry
-	dw SpinarakPokedexEntry
-	dw AriadosPokedexEntry
-	dw CrobatPokedexEntry
-	dw ChinchouPokedexEntry
-	dw LanturnPokedexEntry
-	dw PichuPokedexEntry
-	dw CleffaPokedexEntry
-	dw IgglybuffPokedexEntry
-	dw TogepiPokedexEntry
-	dw TogeticPokedexEntry
-	dw NatuPokedexEntry
-	dw XatuPokedexEntry
-	dw MareepPokedexEntry
-	dw FlaaffyPokedexEntry
-	dw AmpharosPokedexEntry
-	dw BellossomPokedexEntry
-	dw MarillPokedexEntry
-	dw AzumarillPokedexEntry
-	dw SudowoodoPokedexEntry
-	dw PolitoedPokedexEntry
-	dw HoppipPokedexEntry
-	dw SkiploomPokedexEntry
-	dw JumpluffPokedexEntry
-	dw AipomPokedexEntry
-	dw SunkernPokedexEntry
-	dw SunfloraPokedexEntry
-	dw YanmaPokedexEntry
-	dw WooperPokedexEntry
-	dw QuagsirePokedexEntry
-	dw EspeonPokedexEntry
-	dw UmbreonPokedexEntry
-	dw MurkrowPokedexEntry
-	dw SlowkingPokedexEntry
-	dw MisdreavusPokedexEntry
-	dw UnownPokedexEntry
-	dw WobbuffetPokedexEntry
-	dw GirafarigPokedexEntry
-	dw PinecoPokedexEntry
-	dw ForretressPokedexEntry
-	dw DunsparcePokedexEntry
-	dw GligarPokedexEntry
-	dw SteelixPokedexEntry
-	dw SnubbullPokedexEntry
-	dw GranbullPokedexEntry
-	dw QwilfishPokedexEntry
-	dw ScizorPokedexEntry
-	dw ShucklePokedexEntry
-	dw HeracrossPokedexEntry
-	dw SneaselPokedexEntry
-	dw TeddiursaPokedexEntry
-	dw UrsaringPokedexEntry
-	dw SlugmaPokedexEntry
-	dw MagcargoPokedexEntry
-	dw SwinubPokedexEntry
-	dw PiloswinePokedexEntry
-	dw CorsolaPokedexEntry
-	dw RemoraidPokedexEntry
-	dw OctilleryPokedexEntry
-	dw DelibirdPokedexEntry
-	dw MantinePokedexEntry
-	dw SkarmoryPokedexEntry
-	dw HoundourPokedexEntry
-	dw HoundoomPokedexEntry
-	dw KingdraPokedexEntry
-	dw PhanpyPokedexEntry
-	dw DonphanPokedexEntry
-	dw Porygon2PokedexEntry
-	dw StantlerPokedexEntry
-	dw SmearglePokedexEntry
-	dw TyroguePokedexEntry
-	dw HitmontopPokedexEntry
-	dw SmoochumPokedexEntry
-	dw ElekidPokedexEntry
-	dw MagbyPokedexEntry
-	dw MiltankPokedexEntry
-	dw BlisseyPokedexEntry
-	dw RaikouPokedexEntry
-	dw EnteiPokedexEntry
-	dw SuicunePokedexEntry
-	dw LarvitarPokedexEntry
-	dw PupitarPokedexEntry
-	dw TyranitarPokedexEntry
-	dw LugiaPokedexEntry
-	dw HoOhPokedexEntry
-	dw CelebiPokedexEntry
-; 0x4456e
--- a/data/pokedex/order_alpha.asm
+++ /dev/null
@@ -1,255 +1,0 @@
-; Every Pokémon sorted alphabetically by name.
-
-AlphabeticalPokedexOrder: ; 0x40c65
-	db ABRA
-	db AERODACTYL
-	db AIPOM
-	db ALAKAZAM
-	db AMPHAROS
-	db ARBOK
-	db ARCANINE
-	db ARIADOS
-	db ARTICUNO
-	db AZUMARILL
-	db BAYLEEF
-	db BEEDRILL
-	db BELLOSSOM
-	db BELLSPROUT
-	db BLASTOISE
-	db BLISSEY
-	db BULBASAUR
-	db BUTTERFREE
-	db CATERPIE
-	db CELEBI
-	db CHANSEY
-	db CHARIZARD
-	db CHARMANDER
-	db CHARMELEON
-	db CHIKORITA
-	db CHINCHOU
-	db CLEFABLE
-	db CLEFAIRY
-	db CLEFFA
-	db CLOYSTER
-	db CORSOLA
-	db CROBAT
-	db CROCONAW
-	db CUBONE
-	db CYNDAQUIL
-	db DELIBIRD
-	db DEWGONG
-	db DIGLETT
-	db DITTO
-	db DODRIO
-	db DODUO
-	db DONPHAN
-	db DRAGONAIR
-	db DRAGONITE
-	db DRATINI
-	db DROWZEE
-	db DUGTRIO
-	db DUNSPARCE
-	db EEVEE
-	db EKANS
-	db ELECTABUZZ
-	db ELECTRODE
-	db ELEKID
-	db ENTEI
-	db ESPEON
-	db EXEGGCUTE
-	db EXEGGUTOR
-	db FARFETCH_D
-	db FEAROW
-	db FERALIGATR
-	db FLAAFFY
-	db FLAREON
-	db FORRETRESS
-	db FURRET
-	db GASTLY
-	db GENGAR
-	db GEODUDE
-	db GIRAFARIG
-	db GLIGAR
-	db GLOOM
-	db GOLBAT
-	db GOLDEEN
-	db GOLDUCK
-	db GOLEM
-	db GRANBULL
-	db GRAVELER
-	db GRIMER
-	db GROWLITHE
-	db GYARADOS
-	db HAUNTER
-	db HERACROSS
-	db HITMONCHAN
-	db HITMONLEE
-	db HITMONTOP
-	db HO_OH
-	db HOOTHOOT
-	db HOPPIP
-	db HORSEA
-	db HOUNDOOM
-	db HOUNDOUR
-	db HYPNO
-	db IGGLYBUFF
-	db IVYSAUR
-	db JIGGLYPUFF
-	db JOLTEON
-	db JUMPLUFF
-	db JYNX
-	db KABUTO
-	db KABUTOPS
-	db KADABRA
-	db KAKUNA
-	db KANGASKHAN
-	db KINGDRA
-	db KINGLER
-	db KOFFING
-	db KRABBY
-	db LANTURN
-	db LAPRAS
-	db LARVITAR
-	db LEDIAN
-	db LEDYBA
-	db LICKITUNG
-	db LUGIA
-	db MACHAMP
-	db MACHOKE
-	db MACHOP
-	db MAGBY
-	db MAGCARGO
-	db MAGIKARP
-	db MAGMAR
-	db MAGNEMITE
-	db MAGNETON
-	db MANKEY
-	db MANTINE
-	db MAREEP
-	db MARILL
-	db MAROWAK
-	db MEGANIUM
-	db MEOWTH
-	db METAPOD
-	db MEW
-	db MEWTWO
-	db MILTANK
-	db MISDREAVUS
-	db MOLTRES
-	db MR__MIME
-	db MUK
-	db MURKROW
-	db NATU
-	db NIDOKING
-	db NIDOQUEEN
-	db NIDORAN_F
-	db NIDORAN_M
-	db NIDORINA
-	db NIDORINO
-	db NINETALES
-	db NOCTOWL
-	db OCTILLERY
-	db ODDISH
-	db OMANYTE
-	db OMASTAR
-	db ONIX
-	db PARAS
-	db PARASECT
-	db PERSIAN
-	db PHANPY
-	db PICHU
-	db PIDGEOT
-	db PIDGEOTTO
-	db PIDGEY
-	db PIKACHU
-	db PILOSWINE
-	db PINECO
-	db PINSIR
-	db POLITOED
-	db POLIWAG
-	db POLIWHIRL
-	db POLIWRATH
-	db PONYTA
-	db PORYGON
-	db PORYGON2
-	db PRIMEAPE
-	db PSYDUCK
-	db PUPITAR
-	db QUAGSIRE
-	db QUILAVA
-	db QWILFISH
-	db RAICHU
-	db RAIKOU
-	db RAPIDASH
-	db RATICATE
-	db RATTATA
-	db REMORAID
-	db RHYDON
-	db RHYHORN
-	db SANDSHREW
-	db SANDSLASH
-	db SCIZOR
-	db SCYTHER
-	db SEADRA
-	db SEAKING
-	db SEEL
-	db SENTRET
-	db SHELLDER
-	db SHUCKLE
-	db SKARMORY
-	db SKIPLOOM
-	db SLOWBRO
-	db SLOWKING
-	db SLOWPOKE
-	db SLUGMA
-	db SMEARGLE
-	db SMOOCHUM
-	db SNEASEL
-	db SNORLAX
-	db SNUBBULL
-	db SPEAROW
-	db SPINARAK
-	db SQUIRTLE
-	db STANTLER
-	db STARMIE
-	db STARYU
-	db STEELIX
-	db SUDOWOODO
-	db SUICUNE
-	db SUNFLORA
-	db SUNKERN
-	db SWINUB
-	db TANGELA
-	db TAUROS
-	db TEDDIURSA
-	db TENTACOOL
-	db TENTACRUEL
-	db TOGEPI
-	db TOGETIC
-	db TOTODILE
-	db TYPHLOSION
-	db TYRANITAR
-	db TYROGUE
-	db UMBREON
-	db UNOWN
-	db URSARING
-	db VAPOREON
-	db VENOMOTH
-	db VENONAT
-	db VENUSAUR
-	db VICTREEBEL
-	db VILEPLUME
-	db VOLTORB
-	db VULPIX
-	db WARTORTLE
-	db WEEDLE
-	db WEEPINBELL
-	db WEEZING
-	db WIGGLYTUFF
-	db WOBBUFFET
-	db WOOPER
-	db XATU
-	db YANMA
-	db ZAPDOS
-	db ZUBAT
-; 0x40d60
--- a/data/pokedex/order_new.asm
+++ /dev/null
@@ -1,255 +1,0 @@
-; Every Pokémon sorted in New Pokédex Order.
-
-NewPokedexOrder: ; 0x40d60
-	db CHIKORITA
-	db BAYLEEF
-	db MEGANIUM
-	db CYNDAQUIL
-	db QUILAVA
-	db TYPHLOSION
-	db TOTODILE
-	db CROCONAW
-	db FERALIGATR
-	db PIDGEY
-	db PIDGEOTTO
-	db PIDGEOT
-	db SPEAROW
-	db FEAROW
-	db HOOTHOOT
-	db NOCTOWL
-	db RATTATA
-	db RATICATE
-	db SENTRET
-	db FURRET
-	db PICHU
-	db PIKACHU
-	db RAICHU
-	db CATERPIE
-	db METAPOD
-	db BUTTERFREE
-	db WEEDLE
-	db KAKUNA
-	db BEEDRILL
-	db LEDYBA
-	db LEDIAN
-	db SPINARAK
-	db ARIADOS
-	db GEODUDE
-	db GRAVELER
-	db GOLEM
-	db ZUBAT
-	db GOLBAT
-	db CROBAT
-	db CLEFFA
-	db CLEFAIRY
-	db CLEFABLE
-	db IGGLYBUFF
-	db JIGGLYPUFF
-	db WIGGLYTUFF
-	db TOGEPI
-	db TOGETIC
-	db SANDSHREW
-	db SANDSLASH
-	db EKANS
-	db ARBOK
-	db DUNSPARCE
-	db MAREEP
-	db FLAAFFY
-	db AMPHAROS
-	db WOOPER
-	db QUAGSIRE
-	db GASTLY
-	db HAUNTER
-	db GENGAR
-	db UNOWN
-	db ONIX
-	db STEELIX
-	db BELLSPROUT
-	db WEEPINBELL
-	db VICTREEBEL
-	db HOPPIP
-	db SKIPLOOM
-	db JUMPLUFF
-	db PARAS
-	db PARASECT
-	db POLIWAG
-	db POLIWHIRL
-	db POLIWRATH
-	db POLITOED
-	db MAGIKARP
-	db GYARADOS
-	db GOLDEEN
-	db SEAKING
-	db SLOWPOKE
-	db SLOWBRO
-	db SLOWKING
-	db ODDISH
-	db GLOOM
-	db VILEPLUME
-	db BELLOSSOM
-	db DROWZEE
-	db HYPNO
-	db ABRA
-	db KADABRA
-	db ALAKAZAM
-	db DITTO
-	db PINECO
-	db FORRETRESS
-	db NIDORAN_F
-	db NIDORINA
-	db NIDOQUEEN
-	db NIDORAN_M
-	db NIDORINO
-	db NIDOKING
-	db YANMA
-	db SUNKERN
-	db SUNFLORA
-	db EXEGGCUTE
-	db EXEGGUTOR
-	db SUDOWOODO
-	db WOBBUFFET
-	db VENONAT
-	db VENOMOTH
-	db SCYTHER
-	db SCIZOR
-	db PINSIR
-	db HERACROSS
-	db KOFFING
-	db WEEZING
-	db GRIMER
-	db MUK
-	db MAGNEMITE
-	db MAGNETON
-	db VOLTORB
-	db ELECTRODE
-	db AIPOM
-	db SNUBBULL
-	db GRANBULL
-	db VULPIX
-	db NINETALES
-	db GROWLITHE
-	db ARCANINE
-	db STANTLER
-	db MARILL
-	db AZUMARILL
-	db DIGLETT
-	db DUGTRIO
-	db MANKEY
-	db PRIMEAPE
-	db MEOWTH
-	db PERSIAN
-	db PSYDUCK
-	db GOLDUCK
-	db MACHOP
-	db MACHOKE
-	db MACHAMP
-	db TYROGUE
-	db HITMONLEE
-	db HITMONCHAN
-	db HITMONTOP
-	db GIRAFARIG
-	db TAUROS
-	db MILTANK
-	db MAGBY
-	db MAGMAR
-	db SMOOCHUM
-	db JYNX
-	db ELEKID
-	db ELECTABUZZ
-	db MR__MIME
-	db SMEARGLE
-	db FARFETCH_D
-	db NATU
-	db XATU
-	db QWILFISH
-	db TENTACOOL
-	db TENTACRUEL
-	db KRABBY
-	db KINGLER
-	db SHUCKLE
-	db STARYU
-	db STARMIE
-	db SHELLDER
-	db CLOYSTER
-	db CORSOLA
-	db REMORAID
-	db OCTILLERY
-	db CHINCHOU
-	db LANTURN
-	db SEEL
-	db DEWGONG
-	db LICKITUNG
-	db TANGELA
-	db EEVEE
-	db VAPOREON
-	db JOLTEON
-	db FLAREON
-	db ESPEON
-	db UMBREON
-	db HORSEA
-	db SEADRA
-	db KINGDRA
-	db GLIGAR
-	db DELIBIRD
-	db SWINUB
-	db PILOSWINE
-	db TEDDIURSA
-	db URSARING
-	db PHANPY
-	db DONPHAN
-	db MANTINE
-	db SKARMORY
-	db DODUO
-	db DODRIO
-	db PONYTA
-	db RAPIDASH
-	db CUBONE
-	db MAROWAK
-	db KANGASKHAN
-	db RHYHORN
-	db RHYDON
-	db MURKROW
-	db HOUNDOUR
-	db HOUNDOOM
-	db SLUGMA
-	db MAGCARGO
-	db SNEASEL
-	db MISDREAVUS
-	db PORYGON
-	db PORYGON2
-	db CHANSEY
-	db BLISSEY
-	db LAPRAS
-	db OMANYTE
-	db OMASTAR
-	db KABUTO
-	db KABUTOPS
-	db AERODACTYL
-	db SNORLAX
-	db BULBASAUR
-	db IVYSAUR
-	db VENUSAUR
-	db CHARMANDER
-	db CHARMELEON
-	db CHARIZARD
-	db SQUIRTLE
-	db WARTORTLE
-	db BLASTOISE
-	db ARTICUNO
-	db ZAPDOS
-	db MOLTRES
-	db RAIKOU
-	db ENTEI
-	db SUICUNE
-	db DRATINI
-	db DRAGONAIR
-	db DRAGONITE
-	db LARVITAR
-	db PUPITAR
-	db TYRANITAR
-	db LUGIA
-	db HO_OH
-	db MEWTWO
-	db MEW
-	db CELEBI
-; 0x40e5b
--- /dev/null
+++ b/data/pokemon/base_stats.asm
@@ -1,0 +1,252 @@
+BaseData::
+INCLUDE "data/pokemon/base_stats/bulbasaur.asm"
+INCLUDE "data/pokemon/base_stats/ivysaur.asm"
+INCLUDE "data/pokemon/base_stats/venusaur.asm"
+INCLUDE "data/pokemon/base_stats/charmander.asm"
+INCLUDE "data/pokemon/base_stats/charmeleon.asm"
+INCLUDE "data/pokemon/base_stats/charizard.asm"
+INCLUDE "data/pokemon/base_stats/squirtle.asm"
+INCLUDE "data/pokemon/base_stats/wartortle.asm"
+INCLUDE "data/pokemon/base_stats/blastoise.asm"
+INCLUDE "data/pokemon/base_stats/caterpie.asm"
+INCLUDE "data/pokemon/base_stats/metapod.asm"
+INCLUDE "data/pokemon/base_stats/butterfree.asm"
+INCLUDE "data/pokemon/base_stats/weedle.asm"
+INCLUDE "data/pokemon/base_stats/kakuna.asm"
+INCLUDE "data/pokemon/base_stats/beedrill.asm"
+INCLUDE "data/pokemon/base_stats/pidgey.asm"
+INCLUDE "data/pokemon/base_stats/pidgeotto.asm"
+INCLUDE "data/pokemon/base_stats/pidgeot.asm"
+INCLUDE "data/pokemon/base_stats/rattata.asm"
+INCLUDE "data/pokemon/base_stats/raticate.asm"
+INCLUDE "data/pokemon/base_stats/spearow.asm"
+INCLUDE "data/pokemon/base_stats/fearow.asm"
+INCLUDE "data/pokemon/base_stats/ekans.asm"
+INCLUDE "data/pokemon/base_stats/arbok.asm"
+INCLUDE "data/pokemon/base_stats/pikachu.asm"
+INCLUDE "data/pokemon/base_stats/raichu.asm"
+INCLUDE "data/pokemon/base_stats/sandshrew.asm"
+INCLUDE "data/pokemon/base_stats/sandslash.asm"
+INCLUDE "data/pokemon/base_stats/nidoran_f.asm"
+INCLUDE "data/pokemon/base_stats/nidorina.asm"
+INCLUDE "data/pokemon/base_stats/nidoqueen.asm"
+INCLUDE "data/pokemon/base_stats/nidoran_m.asm"
+INCLUDE "data/pokemon/base_stats/nidorino.asm"
+INCLUDE "data/pokemon/base_stats/nidoking.asm"
+INCLUDE "data/pokemon/base_stats/clefairy.asm"
+INCLUDE "data/pokemon/base_stats/clefable.asm"
+INCLUDE "data/pokemon/base_stats/vulpix.asm"
+INCLUDE "data/pokemon/base_stats/ninetales.asm"
+INCLUDE "data/pokemon/base_stats/jigglypuff.asm"
+INCLUDE "data/pokemon/base_stats/wigglytuff.asm"
+INCLUDE "data/pokemon/base_stats/zubat.asm"
+INCLUDE "data/pokemon/base_stats/golbat.asm"
+INCLUDE "data/pokemon/base_stats/oddish.asm"
+INCLUDE "data/pokemon/base_stats/gloom.asm"
+INCLUDE "data/pokemon/base_stats/vileplume.asm"
+INCLUDE "data/pokemon/base_stats/paras.asm"
+INCLUDE "data/pokemon/base_stats/parasect.asm"
+INCLUDE "data/pokemon/base_stats/venonat.asm"
+INCLUDE "data/pokemon/base_stats/venomoth.asm"
+INCLUDE "data/pokemon/base_stats/diglett.asm"
+INCLUDE "data/pokemon/base_stats/dugtrio.asm"
+INCLUDE "data/pokemon/base_stats/meowth.asm"
+INCLUDE "data/pokemon/base_stats/persian.asm"
+INCLUDE "data/pokemon/base_stats/psyduck.asm"
+INCLUDE "data/pokemon/base_stats/golduck.asm"
+INCLUDE "data/pokemon/base_stats/mankey.asm"
+INCLUDE "data/pokemon/base_stats/primeape.asm"
+INCLUDE "data/pokemon/base_stats/growlithe.asm"
+INCLUDE "data/pokemon/base_stats/arcanine.asm"
+INCLUDE "data/pokemon/base_stats/poliwag.asm"
+INCLUDE "data/pokemon/base_stats/poliwhirl.asm"
+INCLUDE "data/pokemon/base_stats/poliwrath.asm"
+INCLUDE "data/pokemon/base_stats/abra.asm"
+INCLUDE "data/pokemon/base_stats/kadabra.asm"
+INCLUDE "data/pokemon/base_stats/alakazam.asm"
+INCLUDE "data/pokemon/base_stats/machop.asm"
+INCLUDE "data/pokemon/base_stats/machoke.asm"
+INCLUDE "data/pokemon/base_stats/machamp.asm"
+INCLUDE "data/pokemon/base_stats/bellsprout.asm"
+INCLUDE "data/pokemon/base_stats/weepinbell.asm"
+INCLUDE "data/pokemon/base_stats/victreebel.asm"
+INCLUDE "data/pokemon/base_stats/tentacool.asm"
+INCLUDE "data/pokemon/base_stats/tentacruel.asm"
+INCLUDE "data/pokemon/base_stats/geodude.asm"
+INCLUDE "data/pokemon/base_stats/graveler.asm"
+INCLUDE "data/pokemon/base_stats/golem.asm"
+INCLUDE "data/pokemon/base_stats/ponyta.asm"
+INCLUDE "data/pokemon/base_stats/rapidash.asm"
+INCLUDE "data/pokemon/base_stats/slowpoke.asm"
+INCLUDE "data/pokemon/base_stats/slowbro.asm"
+INCLUDE "data/pokemon/base_stats/magnemite.asm"
+INCLUDE "data/pokemon/base_stats/magneton.asm"
+INCLUDE "data/pokemon/base_stats/farfetch_d.asm"
+INCLUDE "data/pokemon/base_stats/doduo.asm"
+INCLUDE "data/pokemon/base_stats/dodrio.asm"
+INCLUDE "data/pokemon/base_stats/seel.asm"
+INCLUDE "data/pokemon/base_stats/dewgong.asm"
+INCLUDE "data/pokemon/base_stats/grimer.asm"
+INCLUDE "data/pokemon/base_stats/muk.asm"
+INCLUDE "data/pokemon/base_stats/shellder.asm"
+INCLUDE "data/pokemon/base_stats/cloyster.asm"
+INCLUDE "data/pokemon/base_stats/gastly.asm"
+INCLUDE "data/pokemon/base_stats/haunter.asm"
+INCLUDE "data/pokemon/base_stats/gengar.asm"
+INCLUDE "data/pokemon/base_stats/onix.asm"
+INCLUDE "data/pokemon/base_stats/drowzee.asm"
+INCLUDE "data/pokemon/base_stats/hypno.asm"
+INCLUDE "data/pokemon/base_stats/krabby.asm"
+INCLUDE "data/pokemon/base_stats/kingler.asm"
+INCLUDE "data/pokemon/base_stats/voltorb.asm"
+INCLUDE "data/pokemon/base_stats/electrode.asm"
+INCLUDE "data/pokemon/base_stats/exeggcute.asm"
+INCLUDE "data/pokemon/base_stats/exeggutor.asm"
+INCLUDE "data/pokemon/base_stats/cubone.asm"
+INCLUDE "data/pokemon/base_stats/marowak.asm"
+INCLUDE "data/pokemon/base_stats/hitmonlee.asm"
+INCLUDE "data/pokemon/base_stats/hitmonchan.asm"
+INCLUDE "data/pokemon/base_stats/lickitung.asm"
+INCLUDE "data/pokemon/base_stats/koffing.asm"
+INCLUDE "data/pokemon/base_stats/weezing.asm"
+INCLUDE "data/pokemon/base_stats/rhyhorn.asm"
+INCLUDE "data/pokemon/base_stats/rhydon.asm"
+INCLUDE "data/pokemon/base_stats/chansey.asm"
+INCLUDE "data/pokemon/base_stats/tangela.asm"
+INCLUDE "data/pokemon/base_stats/kangaskhan.asm"
+INCLUDE "data/pokemon/base_stats/horsea.asm"
+INCLUDE "data/pokemon/base_stats/seadra.asm"
+INCLUDE "data/pokemon/base_stats/goldeen.asm"
+INCLUDE "data/pokemon/base_stats/seaking.asm"
+INCLUDE "data/pokemon/base_stats/staryu.asm"
+INCLUDE "data/pokemon/base_stats/starmie.asm"
+INCLUDE "data/pokemon/base_stats/mr__mime.asm"
+INCLUDE "data/pokemon/base_stats/scyther.asm"
+INCLUDE "data/pokemon/base_stats/jynx.asm"
+INCLUDE "data/pokemon/base_stats/electabuzz.asm"
+INCLUDE "data/pokemon/base_stats/magmar.asm"
+INCLUDE "data/pokemon/base_stats/pinsir.asm"
+INCLUDE "data/pokemon/base_stats/tauros.asm"
+INCLUDE "data/pokemon/base_stats/magikarp.asm"
+INCLUDE "data/pokemon/base_stats/gyarados.asm"
+INCLUDE "data/pokemon/base_stats/lapras.asm"
+INCLUDE "data/pokemon/base_stats/ditto.asm"
+INCLUDE "data/pokemon/base_stats/eevee.asm"
+INCLUDE "data/pokemon/base_stats/vaporeon.asm"
+INCLUDE "data/pokemon/base_stats/jolteon.asm"
+INCLUDE "data/pokemon/base_stats/flareon.asm"
+INCLUDE "data/pokemon/base_stats/porygon.asm"
+INCLUDE "data/pokemon/base_stats/omanyte.asm"
+INCLUDE "data/pokemon/base_stats/omastar.asm"
+INCLUDE "data/pokemon/base_stats/kabuto.asm"
+INCLUDE "data/pokemon/base_stats/kabutops.asm"
+INCLUDE "data/pokemon/base_stats/aerodactyl.asm"
+INCLUDE "data/pokemon/base_stats/snorlax.asm"
+INCLUDE "data/pokemon/base_stats/articuno.asm"
+INCLUDE "data/pokemon/base_stats/zapdos.asm"
+INCLUDE "data/pokemon/base_stats/moltres.asm"
+INCLUDE "data/pokemon/base_stats/dratini.asm"
+INCLUDE "data/pokemon/base_stats/dragonair.asm"
+INCLUDE "data/pokemon/base_stats/dragonite.asm"
+INCLUDE "data/pokemon/base_stats/mewtwo.asm"
+INCLUDE "data/pokemon/base_stats/mew.asm"
+INCLUDE "data/pokemon/base_stats/chikorita.asm"
+INCLUDE "data/pokemon/base_stats/bayleef.asm"
+INCLUDE "data/pokemon/base_stats/meganium.asm"
+INCLUDE "data/pokemon/base_stats/cyndaquil.asm"
+INCLUDE "data/pokemon/base_stats/quilava.asm"
+INCLUDE "data/pokemon/base_stats/typhlosion.asm"
+INCLUDE "data/pokemon/base_stats/totodile.asm"
+INCLUDE "data/pokemon/base_stats/croconaw.asm"
+INCLUDE "data/pokemon/base_stats/feraligatr.asm"
+INCLUDE "data/pokemon/base_stats/sentret.asm"
+INCLUDE "data/pokemon/base_stats/furret.asm"
+INCLUDE "data/pokemon/base_stats/hoothoot.asm"
+INCLUDE "data/pokemon/base_stats/noctowl.asm"
+INCLUDE "data/pokemon/base_stats/ledyba.asm"
+INCLUDE "data/pokemon/base_stats/ledian.asm"
+INCLUDE "data/pokemon/base_stats/spinarak.asm"
+INCLUDE "data/pokemon/base_stats/ariados.asm"
+INCLUDE "data/pokemon/base_stats/crobat.asm"
+INCLUDE "data/pokemon/base_stats/chinchou.asm"
+INCLUDE "data/pokemon/base_stats/lanturn.asm"
+INCLUDE "data/pokemon/base_stats/pichu.asm"
+INCLUDE "data/pokemon/base_stats/cleffa.asm"
+INCLUDE "data/pokemon/base_stats/igglybuff.asm"
+INCLUDE "data/pokemon/base_stats/togepi.asm"
+INCLUDE "data/pokemon/base_stats/togetic.asm"
+INCLUDE "data/pokemon/base_stats/natu.asm"
+INCLUDE "data/pokemon/base_stats/xatu.asm"
+INCLUDE "data/pokemon/base_stats/mareep.asm"
+INCLUDE "data/pokemon/base_stats/flaaffy.asm"
+INCLUDE "data/pokemon/base_stats/ampharos.asm"
+INCLUDE "data/pokemon/base_stats/bellossom.asm"
+INCLUDE "data/pokemon/base_stats/marill.asm"
+INCLUDE "data/pokemon/base_stats/azumarill.asm"
+INCLUDE "data/pokemon/base_stats/sudowoodo.asm"
+INCLUDE "data/pokemon/base_stats/politoed.asm"
+INCLUDE "data/pokemon/base_stats/hoppip.asm"
+INCLUDE "data/pokemon/base_stats/skiploom.asm"
+INCLUDE "data/pokemon/base_stats/jumpluff.asm"
+INCLUDE "data/pokemon/base_stats/aipom.asm"
+INCLUDE "data/pokemon/base_stats/sunkern.asm"
+INCLUDE "data/pokemon/base_stats/sunflora.asm"
+INCLUDE "data/pokemon/base_stats/yanma.asm"
+INCLUDE "data/pokemon/base_stats/wooper.asm"
+INCLUDE "data/pokemon/base_stats/quagsire.asm"
+INCLUDE "data/pokemon/base_stats/espeon.asm"
+INCLUDE "data/pokemon/base_stats/umbreon.asm"
+INCLUDE "data/pokemon/base_stats/murkrow.asm"
+INCLUDE "data/pokemon/base_stats/slowking.asm"
+INCLUDE "data/pokemon/base_stats/misdreavus.asm"
+INCLUDE "data/pokemon/base_stats/unown.asm"
+INCLUDE "data/pokemon/base_stats/wobbuffet.asm"
+INCLUDE "data/pokemon/base_stats/girafarig.asm"
+INCLUDE "data/pokemon/base_stats/pineco.asm"
+INCLUDE "data/pokemon/base_stats/forretress.asm"
+INCLUDE "data/pokemon/base_stats/dunsparce.asm"
+INCLUDE "data/pokemon/base_stats/gligar.asm"
+INCLUDE "data/pokemon/base_stats/steelix.asm"
+INCLUDE "data/pokemon/base_stats/snubbull.asm"
+INCLUDE "data/pokemon/base_stats/granbull.asm"
+INCLUDE "data/pokemon/base_stats/qwilfish.asm"
+INCLUDE "data/pokemon/base_stats/scizor.asm"
+INCLUDE "data/pokemon/base_stats/shuckle.asm"
+INCLUDE "data/pokemon/base_stats/heracross.asm"
+INCLUDE "data/pokemon/base_stats/sneasel.asm"
+INCLUDE "data/pokemon/base_stats/teddiursa.asm"
+INCLUDE "data/pokemon/base_stats/ursaring.asm"
+INCLUDE "data/pokemon/base_stats/slugma.asm"
+INCLUDE "data/pokemon/base_stats/magcargo.asm"
+INCLUDE "data/pokemon/base_stats/swinub.asm"
+INCLUDE "data/pokemon/base_stats/piloswine.asm"
+INCLUDE "data/pokemon/base_stats/corsola.asm"
+INCLUDE "data/pokemon/base_stats/remoraid.asm"
+INCLUDE "data/pokemon/base_stats/octillery.asm"
+INCLUDE "data/pokemon/base_stats/delibird.asm"
+INCLUDE "data/pokemon/base_stats/mantine.asm"
+INCLUDE "data/pokemon/base_stats/skarmory.asm"
+INCLUDE "data/pokemon/base_stats/houndour.asm"
+INCLUDE "data/pokemon/base_stats/houndoom.asm"
+INCLUDE "data/pokemon/base_stats/kingdra.asm"
+INCLUDE "data/pokemon/base_stats/phanpy.asm"
+INCLUDE "data/pokemon/base_stats/donphan.asm"
+INCLUDE "data/pokemon/base_stats/porygon2.asm"
+INCLUDE "data/pokemon/base_stats/stantler.asm"
+INCLUDE "data/pokemon/base_stats/smeargle.asm"
+INCLUDE "data/pokemon/base_stats/tyrogue.asm"
+INCLUDE "data/pokemon/base_stats/hitmontop.asm"
+INCLUDE "data/pokemon/base_stats/smoochum.asm"
+INCLUDE "data/pokemon/base_stats/elekid.asm"
+INCLUDE "data/pokemon/base_stats/magby.asm"
+INCLUDE "data/pokemon/base_stats/miltank.asm"
+INCLUDE "data/pokemon/base_stats/blissey.asm"
+INCLUDE "data/pokemon/base_stats/raikou.asm"
+INCLUDE "data/pokemon/base_stats/entei.asm"
+INCLUDE "data/pokemon/base_stats/suicune.asm"
+INCLUDE "data/pokemon/base_stats/larvitar.asm"
+INCLUDE "data/pokemon/base_stats/pupitar.asm"
+INCLUDE "data/pokemon/base_stats/tyranitar.asm"
+INCLUDE "data/pokemon/base_stats/lugia.asm"
+INCLUDE "data/pokemon/base_stats/ho_oh.asm"
+INCLUDE "data/pokemon/base_stats/celebi.asm"
--- /dev/null
+++ b/data/pokemon/base_stats/abra.asm
@@ -1,0 +1,22 @@
+	db ABRA ; 063
+
+	db  25,  20,  15,  90, 105,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db PSYCHIC, PSYCHIC
+	db 200 ; catch rate
+	db 73 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F25 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/abra/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/aerodactyl.asm
@@ -1,0 +1,22 @@
+	db AERODACTYL ; 142
+
+	db  80, 105,  65, 130,  60,  75
+	;   hp  atk  def  spd  sat  sdf
+
+	db ROCK, FLYING
+	db 45 ; catch rate
+	db 202 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 35 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/aerodactyl/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn AVIAN, AVIAN ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, STEEL_WING, FLY, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/aipom.asm
@@ -1,0 +1,22 @@
+	db AIPOM ; 190
+
+	db  55,  70,  55,  85,  40,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 45 ; catch rate
+	db 94 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/aipom/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, STRENGTH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/alakazam.asm
@@ -1,0 +1,22 @@
+	db ALAKAZAM ; 065
+
+	db  55,  50,  45, 120, 135,  85
+	;   hp  atk  def  spd  sat  sdf
+
+	db PSYCHIC, PSYCHIC
+	db 50 ; catch rate
+	db 186 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F25 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/alakazam/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DIG, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/ampharos.asm
@@ -1,0 +1,22 @@
+	db AMPHAROS ; 181
+
+	db  90,  75,  75,  55, 115,  90
+	;   hp  atk  def  spd  sat  sdf
+
+	db ELECTRIC, ELECTRIC
+	db 45 ; catch rate
+	db 194 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/ampharos/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/arbok.asm
@@ -1,0 +1,22 @@
+	db ARBOK ; 024
+
+	db  60,  85,  69,  80,  65,  79
+	;   hp  atk  def  spd  sat  sdf
+
+	db POISON, POISON
+	db 90 ; catch rate
+	db 147 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/arbok/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, REPTILE ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/arcanine.asm
@@ -1,0 +1,22 @@
+	db ARCANINE ; 059
+
+	db  90, 110,  80,  95, 100,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FIRE
+	db 75 ; catch rate
+	db 213 ; base exp
+	db BURNT_BERRY ; item 1
+	db BURNT_BERRY ; item 2
+	db GENDER_F25 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/arcanine/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/ariados.asm
@@ -1,0 +1,22 @@
+	db ARIADOS ; 168
+
+	db  70,  90,  70,  40,  60,  60
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, POISON
+	db 90 ; catch rate
+	db 134 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/ariados/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/articuno.asm
@@ -1,0 +1,22 @@
+	db ARTICUNO ; 144
+
+	db  90,  85, 100,  85,  95, 125
+	;   hp  atk  def  spd  sat  sdf
+
+	db ICE, FLYING
+	db 3 ; catch rate
+	db 215 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 80 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/articuno/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, STEEL_WING, FLY, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/azumarill.asm
@@ -1,0 +1,22 @@
+	db AZUMARILL ; 184
+
+	db 100,  50,  80,  50,  50,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 75 ; catch rate
+	db 153 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/azumarill/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn AMPHIBIAN, FAIRY ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/bayleef.asm
@@ -1,0 +1,22 @@
+	db BAYLEEF ; 153
+
+	db  60,  62,  80,  60,  63,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, GRASS
+	db 45 ; catch rate
+	db 141 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/bayleef/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, PLANT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/beedrill.asm
@@ -1,0 +1,22 @@
+	db BEEDRILL ; 015
+
+	db  65,  80,  40,  75,  45,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, POISON
+	db 45 ; catch rate
+	db 159 ; base exp
+	db NO_ITEM ; item 1
+	db POISON_BARB ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/beedrill/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, FURY_CUTTER, CUT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/bellossom.asm
@@ -1,0 +1,22 @@
+	db BELLOSSOM ; 182
+
+	db  75,  80,  85,  50,  90, 100
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, GRASS
+	db 45 ; catch rate
+	db 184 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/bellossom/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn PLANT, PLANT ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/bellsprout.asm
@@ -1,0 +1,22 @@
+	db BELLSPROUT ; 069
+
+	db  50,  75,  35,  40,  70,  30
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, POISON
+	db 255 ; catch rate
+	db 84 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/bellsprout/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn PLANT, PLANT ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/blastoise.asm
@@ -1,0 +1,22 @@
+	db BLASTOISE ; 009
+
+	db  79,  83, 100,  78,  85, 105
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 45 ; catch rate
+	db 210 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/blastoise/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, AMPHIBIAN ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/blissey.asm
@@ -1,0 +1,22 @@
+	db BLISSEY ; 242
+
+	db 255,  10,  10,  55,  75, 135
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 30 ; catch rate
+	db 255 ; base exp
+	db NO_ITEM ; item 1
+	db LUCKY_EGG ; item 2
+	db GENDER_F100 ; gender
+	db 100 ; unknown
+	db 40 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/blissey/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn FAIRY, FAIRY ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/bulbasaur.asm
@@ -1,0 +1,22 @@
+	db BULBASAUR ; 001
+
+	db  45,  49,  49,  45,  65,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, POISON
+	db 45 ; catch rate
+	db 64 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/bulbasaur/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, PLANT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/butterfree.asm
@@ -1,0 +1,22 @@
+	db BUTTERFREE ; 012
+
+	db  60,  45,  50,  70,  80,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, FLYING
+	db 45 ; catch rate
+	db 160 ; base exp
+	db NO_ITEM ; item 1
+	db SILVERPOWDER ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/butterfree/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, NIGHTMARE, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/caterpie.asm
@@ -1,0 +1,22 @@
+	db CATERPIE ; 010
+
+	db  45,  30,  35,  45,  20,  20
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, BUG
+	db 255 ; catch rate
+	db 53 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/caterpie/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/celebi.asm
@@ -1,0 +1,22 @@
+	db CELEBI ; 251
+
+	db 100, 100, 100, 100, 100, 100
+	;   hp  atk  def  spd  sat  sdf
+
+	db PSYCHIC, GRASS
+	db 45 ; catch rate
+	db 64 ; base exp
+	db NO_ITEM ; item 1
+	db MIRACLEBERRY ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 120 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/celebi/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, NIGHTMARE, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/chansey.asm
@@ -1,0 +1,22 @@
+	db CHANSEY ; 113
+
+	db 250,  05,  05,  50,  35, 105
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 30 ; catch rate
+	db 255 ; base exp
+	db NO_ITEM ; item 1
+	db LUCKY_EGG ; item 2
+	db GENDER_F100 ; gender
+	db 100 ; unknown
+	db 40 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/chansey/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn FAIRY, FAIRY ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/charizard.asm
@@ -1,0 +1,22 @@
+	db CHARIZARD ; 006
+
+	db  78,  84,  78, 100, 109,  85
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FLYING
+	db 45 ; catch rate
+	db 209 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/charizard/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, REPTILE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, CUT, FLY, STRENGTH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/charmander.asm
@@ -1,0 +1,22 @@
+	db CHARMANDER ; 004
+
+	db  39,  52,  43,  65,  60,  50
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FIRE
+	db 45 ; catch rate
+	db 65 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/charmander/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, REPTILE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/charmeleon.asm
@@ -1,0 +1,22 @@
+	db CHARMELEON ; 005
+
+	db  58,  64,  58,  80,  80,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FIRE
+	db 45 ; catch rate
+	db 142 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/charmeleon/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, REPTILE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/chikorita.asm
@@ -1,0 +1,22 @@
+	db CHIKORITA ; 152
+
+	db  45,  49,  65,  45,  49,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, GRASS
+	db 45 ; catch rate
+	db 64 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/chikorita/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, PLANT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/chinchou.asm
@@ -1,0 +1,22 @@
+	db CHINCHOU ; 170
+
+	db  75,  38,  38,  67,  56,  56
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, ELECTRIC
+	db 190 ; catch rate
+	db 90 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/chinchou/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn FISH, FISH ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/clefable.asm
@@ -1,0 +1,22 @@
+	db CLEFABLE ; 036
+
+	db  95,  70,  73,  60,  85,  90
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 25 ; catch rate
+	db 129 ; base exp
+	db MYSTERYBERRY ; item 1
+	db MOON_STONE ; item 2
+	db GENDER_F75 ; gender
+	db 100 ; unknown
+	db 10 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/clefable/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn FAIRY, FAIRY ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/clefairy.asm
@@ -1,0 +1,22 @@
+	db CLEFAIRY ; 035
+
+	db  70,  45,  48,  35,  60,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 150 ; catch rate
+	db 68 ; base exp
+	db MYSTERYBERRY ; item 1
+	db MOON_STONE ; item 2
+	db GENDER_F75 ; gender
+	db 100 ; unknown
+	db 10 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/clefairy/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn FAIRY, FAIRY ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/cleffa.asm
@@ -1,0 +1,22 @@
+	db CLEFFA ; 173
+
+	db  50,  25,  28,  15,  45,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 150 ; catch rate
+	db 37 ; base exp
+	db MYSTERYBERRY ; item 1
+	db MOON_STONE ; item 2
+	db GENDER_F75 ; gender
+	db 100 ; unknown
+	db 10 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/cleffa/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, FLASH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/cloyster.asm
@@ -1,0 +1,22 @@
+	db CLOYSTER ; 091
+
+	db  50,  95, 180,  70,  85,  45
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, ICE
+	db 60 ; catch rate
+	db 203 ; base exp
+	db PEARL ; item 1
+	db BIG_PEARL ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/cloyster/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn INVERTEBRATE, INVERTEBRATE ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/corsola.asm
@@ -1,0 +1,22 @@
+	db CORSOLA ; 222
+
+	db  55,  55,  85,  35,  65,  85
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, ROCK
+	db 60 ; catch rate
+	db 113 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F75 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/corsola/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn AMPHIBIAN, INVERTEBRATE ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/crobat.asm
@@ -1,0 +1,22 @@
+	db CROBAT ; 169
+
+	db  85,  90,  80, 130,  70,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db POISON, FLYING
+	db 90 ; catch rate
+	db 204 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/crobat/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AVIAN, AVIAN ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/croconaw.asm
@@ -1,0 +1,22 @@
+	db CROCONAW ; 159
+
+	db  65,  80,  80,  58,  59,  63
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 45 ; catch rate
+	db 143 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/croconaw/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, AMPHIBIAN ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/cubone.asm
@@ -1,0 +1,22 @@
+	db CUBONE ; 104
+
+	db  50,  50,  95,  35,  40,  50
+	;   hp  atk  def  spd  sat  sdf
+
+	db GROUND, GROUND
+	db 190 ; catch rate
+	db 87 ; base exp
+	db NO_ITEM ; item 1
+	db THICK_CLUB ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/cubone/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn MONSTER, MONSTER ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/cyndaquil.asm
@@ -1,0 +1,22 @@
+	db CYNDAQUIL ; 155
+
+	db  39,  52,  43,  65,  60,  50
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FIRE
+	db 45 ; catch rate
+	db 65 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/cyndaquil/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, CUT, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/delibird.asm
@@ -1,0 +1,22 @@
+	db DELIBIRD ; 225
+
+	db  45,  55,  45,  75,  65,  45
+	;   hp  atk  def  spd  sat  sdf
+
+	db ICE, FLYING
+	db 45 ; catch rate
+	db 183 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/delibird/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn AMPHIBIAN, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, FLY, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/dewgong.asm
@@ -1,0 +1,22 @@
+	db DEWGONG ; 087
+
+	db  90,  70,  80,  70,  70,  95
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, ICE
+	db 75 ; catch rate
+	db 176 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/dewgong/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMPHIBIAN, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/diglett.asm
@@ -1,0 +1,22 @@
+	db DIGLETT ; 050
+
+	db  10,  55,  25,  95,  35,  45
+	;   hp  atk  def  spd  sat  sdf
+
+	db GROUND, GROUND
+	db 255 ; catch rate
+	db 81 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/diglett/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/ditto.asm
@@ -1,0 +1,22 @@
+	db DITTO ; 132
+
+	db  48,  48,  48,  48,  48,  48
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 35 ; catch rate
+	db 61 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/ditto/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn LADIES_MAN, LADIES_MAN ; egg groups
+
+	; tmhm
+	tmhm
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/dodrio.asm
@@ -1,0 +1,22 @@
+	db DODRIO ; 085
+
+	db  60, 110,  70, 100,  60,  60
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, FLYING
+	db 45 ; catch rate
+	db 158 ; base exp
+	db NO_ITEM ; item 1
+	db SHARP_BEAK ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/dodrio/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AVIAN, AVIAN ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, THIEF, STEEL_WING, FLY
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/doduo.asm
@@ -1,0 +1,22 @@
+	db DODUO ; 084
+
+	db  35,  85,  45,  75,  35,  35
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, FLYING
+	db 190 ; catch rate
+	db 96 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/doduo/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AVIAN, AVIAN ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, THIEF, STEEL_WING, FLY
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/donphan.asm
@@ -1,0 +1,22 @@
+	db DONPHAN ; 232
+
+	db  90, 120, 120,  50,  60,  60
+	;   hp  atk  def  spd  sat  sdf
+
+	db GROUND, GROUND
+	db 60 ; catch rate
+	db 189 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/donphan/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/dragonair.asm
@@ -1,0 +1,22 @@
+	db DRAGONAIR ; 148
+
+	db  61,  84,  65,  70,  70,  70
+	;   hp  atk  def  spd  sat  sdf
+
+	db DRAGON, DRAGON
+	db 45 ; catch rate
+	db 144 ; base exp
+	db NO_ITEM ; item 1
+	db DRAGON_SCALE ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 40 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/dragonair/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn AMPHIBIAN, REPTILE ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, SURF, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/dragonite.asm
@@ -1,0 +1,22 @@
+	db DRAGONITE ; 149
+
+	db  91, 134,  95,  80, 100, 100
+	;   hp  atk  def  spd  sat  sdf
+
+	db DRAGON, FLYING
+	db 45 ; catch rate
+	db 218 ; base exp
+	db NO_ITEM ; item 1
+	db DRAGON_SCALE ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 40 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/dragonite/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn AMPHIBIAN, REPTILE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, FLY, SURF, STRENGTH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/dratini.asm
@@ -1,0 +1,22 @@
+	db DRATINI ; 147
+
+	db  41,  64,  45,  50,  50,  50
+	;   hp  atk  def  spd  sat  sdf
+
+	db DRAGON, DRAGON
+	db 45 ; catch rate
+	db 67 ; base exp
+	db NO_ITEM ; item 1
+	db DRAGON_SCALE ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 40 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/dratini/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn AMPHIBIAN, REPTILE ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, SURF, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/drowzee.asm
@@ -1,0 +1,22 @@
+	db DROWZEE ; 096
+
+	db  60,  48,  45,  42,  43,  90
+	;   hp  atk  def  spd  sat  sdf
+
+	db PSYCHIC, PSYCHIC
+	db 190 ; catch rate
+	db 102 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/drowzee/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/dugtrio.asm
@@ -1,0 +1,22 @@
+	db DUGTRIO ; 051
+
+	db  35,  80,  50, 120,  50,  70
+	;   hp  atk  def  spd  sat  sdf
+
+	db GROUND, GROUND
+	db 50 ; catch rate
+	db 153 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/dugtrio/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/dunsparce.asm
@@ -1,0 +1,22 @@
+	db DUNSPARCE ; 206
+
+	db 100,  70,  70,  45,  65,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 190 ; catch rate
+	db 75 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/dunsparce/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLAMETHROWER, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/eevee.asm
@@ -1,0 +1,22 @@
+	db EEVEE ; 133
+
+	db  55,  55,  50,  55,  45,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 45 ; catch rate
+	db 92 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 35 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/eevee/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/ekans.asm
@@ -1,0 +1,22 @@
+	db EKANS ; 023
+
+	db  35,  60,  44,  55,  40,  54
+	;   hp  atk  def  spd  sat  sdf
+
+	db POISON, POISON
+	db 255 ; catch rate
+	db 62 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/ekans/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, REPTILE ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/electabuzz.asm
@@ -1,0 +1,22 @@
+	db ELECTABUZZ ; 125
+
+	db  65,  83,  57, 105,  95,  85
+	;   hp  atk  def  spd  sat  sdf
+
+	db ELECTRIC, ELECTRIC
+	db 45 ; catch rate
+	db 156 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F25 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/electabuzz/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/electrode.asm
@@ -1,0 +1,22 @@
+	db ELECTRODE ; 101
+
+	db  60,  50,  70, 140,  80,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db ELECTRIC, ELECTRIC
+	db 60 ; catch rate
+	db 150 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/electrode/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INANIMATE, INANIMATE ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/elekid.asm
@@ -1,0 +1,22 @@
+	db ELEKID ; 239
+
+	db  45,  63,  37,  95,  65,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db ELECTRIC, ELECTRIC
+	db 45 ; catch rate
+	db 106 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F25 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/elekid/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FLASH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/entei.asm
@@ -1,0 +1,22 @@
+	db ENTEI ; 244
+
+	db 115, 115,  85, 100,  90,  75
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FIRE
+	db 3 ; catch rate
+	db 217 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 80 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/entei/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, CUT, STRENGTH, FLASH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/espeon.asm
@@ -1,0 +1,22 @@
+	db ESPEON ; 196
+
+	db  65,  65,  60, 110, 130,  95
+	;   hp  atk  def  spd  sat  sdf
+
+	db PSYCHIC, PSYCHIC
+	db 45 ; catch rate
+	db 197 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 35 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/espeon/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/exeggcute.asm
@@ -1,0 +1,22 @@
+	db EXEGGCUTE ; 102
+
+	db  60,  40,  80,  40,  60,  45
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, PSYCHIC
+	db 90 ; catch rate
+	db 98 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/exeggcute/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn PLANT, PLANT ; egg groups
+
+	; tmhm
+	tmhm CURSE, ROLLOUT, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/exeggutor.asm
@@ -1,0 +1,22 @@
+	db EXEGGUTOR ; 103
+
+	db  95,  95,  85,  55, 125,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, PSYCHIC
+	db 45 ; catch rate
+	db 212 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/exeggutor/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn PLANT, PLANT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/farfetch_d.asm
@@ -1,0 +1,22 @@
+	db FARFETCH_D ; 083
+
+	db  52,  65,  55,  60,  58,  62
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, FLYING
+	db 45 ; catch rate
+	db 94 ; base exp
+	db NO_ITEM ; item 1
+	db STICK ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/farfetch_d/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AVIAN, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, CUT, FLY
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/fearow.asm
@@ -1,0 +1,22 @@
+	db FEAROW ; 022
+
+	db  65,  90,  65, 100,  61,  61
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, FLYING
+	db 90 ; catch rate
+	db 162 ; base exp
+	db NO_ITEM ; item 1
+	db SHARP_BEAK ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/fearow/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AVIAN, AVIAN ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/feraligatr.asm
@@ -1,0 +1,22 @@
+	db FERALIGATR ; 160
+
+	db  85, 105, 100,  78,  79,  83
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 45 ; catch rate
+	db 210 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/feraligatr/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, AMPHIBIAN ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/flaaffy.asm
@@ -1,0 +1,22 @@
+	db FLAAFFY ; 180
+
+	db  70,  55,  55,  45,  80,  60
+	;   hp  atk  def  spd  sat  sdf
+
+	db ELECTRIC, ELECTRIC
+	db 120 ; catch rate
+	db 117 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/flaaffy/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/flareon.asm
@@ -1,0 +1,22 @@
+	db FLAREON ; 136
+
+	db  65, 130,  60,  65,  95, 110
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FIRE
+	db 45 ; catch rate
+	db 198 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 35 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/flareon/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/forretress.asm
@@ -1,0 +1,22 @@
+	db FORRETRESS ; 205
+
+	db  75,  90, 140,  40,  60,  60
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, STEEL
+	db 75 ; catch rate
+	db 118 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/forretress/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/furret.asm
@@ -1,0 +1,22 @@
+	db FURRET ; 162
+
+	db  85,  76,  64,  90,  45,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 90 ; catch rate
+	db 116 ; base exp
+	db BERRY ; item 1
+	db GOLD_BERRY ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/furret/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, SURF, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/gastly.asm
@@ -1,0 +1,22 @@
+	db GASTLY ; 092
+
+	db  30,  35,  30,  80, 100,  35
+	;   hp  atk  def  spd  sat  sdf
+
+	db GHOST, POISON
+	db 190 ; catch rate
+	db 95 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/gastly/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn AMORPHOUS, AMORPHOUS ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/gengar.asm
@@ -1,0 +1,22 @@
+	db GENGAR ; 094
+
+	db  60,  65,  60, 110, 130,  75
+	;   hp  atk  def  spd  sat  sdf
+
+	db GHOST, POISON
+	db 45 ; catch rate
+	db 190 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/gengar/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn AMORPHOUS, AMORPHOUS ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, STRENGTH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/geodude.asm
@@ -1,0 +1,22 @@
+	db GEODUDE ; 074
+
+	db  40,  80, 100,  20,  30,  30
+	;   hp  atk  def  spd  sat  sdf
+
+	db ROCK, GROUND
+	db 255 ; catch rate
+	db 86 ; base exp
+	db NO_ITEM ; item 1
+	db EVERSTONE ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/geodude/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn INANIMATE, INANIMATE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/girafarig.asm
@@ -1,0 +1,22 @@
+	db GIRAFARIG ; 203
+
+	db  70,  80,  65,  85,  90,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, PSYCHIC
+	db 60 ; catch rate
+	db 149 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/girafarig/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/gligar.asm
@@ -1,0 +1,22 @@
+	db GLIGAR ; 207
+
+	db  65,  75, 105,  85,  35,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db GROUND, FLYING
+	db 60 ; catch rate
+	db 108 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/gligar/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/gloom.asm
@@ -1,0 +1,22 @@
+	db GLOOM ; 044
+
+	db  60,  65,  70,  40,  85,  75
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, POISON
+	db 120 ; catch rate
+	db 132 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/gloom/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn PLANT, PLANT ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/golbat.asm
@@ -1,0 +1,22 @@
+	db GOLBAT ; 042
+
+	db  75,  80,  70,  90,  65,  75
+	;   hp  atk  def  spd  sat  sdf
+
+	db POISON, FLYING
+	db 90 ; catch rate
+	db 171 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/golbat/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AVIAN, AVIAN ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/goldeen.asm
@@ -1,0 +1,22 @@
+	db GOLDEEN ; 118
+
+	db  45,  67,  60,  63,  35,  50
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 225 ; catch rate
+	db 111 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/goldeen/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FISH, FISH ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/golduck.asm
@@ -1,0 +1,22 @@
+	db GOLDUCK ; 055
+
+	db  80,  82,  78,  85,  95,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 75 ; catch rate
+	db 174 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/golduck/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMPHIBIAN, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, FURY_CUTTER, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/golem.asm
@@ -1,0 +1,22 @@
+	db GOLEM ; 076
+
+	db  80, 110, 130,  45,  55,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db ROCK, GROUND
+	db 45 ; catch rate
+	db 177 ; base exp
+	db NO_ITEM ; item 1
+	db EVERSTONE ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/golem/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn INANIMATE, INANIMATE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, STRENGTH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/granbull.asm
@@ -1,0 +1,22 @@
+	db GRANBULL ; 210
+
+	db  90, 120,  75,  45,  60,  60
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 75 ; catch rate
+	db 178 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F75 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/granbull/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn FIELD, FAIRY ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/graveler.asm
@@ -1,0 +1,22 @@
+	db GRAVELER ; 075
+
+	db  55,  95, 115,  35,  45,  45
+	;   hp  atk  def  spd  sat  sdf
+
+	db ROCK, GROUND
+	db 120 ; catch rate
+	db 134 ; base exp
+	db NO_ITEM ; item 1
+	db EVERSTONE ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/graveler/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn INANIMATE, INANIMATE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/grimer.asm
@@ -1,0 +1,22 @@
+	db GRIMER ; 088
+
+	db  80,  80,  50,  25,  40,  50
+	;   hp  atk  def  spd  sat  sdf
+
+	db POISON, POISON
+	db 190 ; catch rate
+	db 90 ; base exp
+	db NO_ITEM ; item 1
+	db NUGGET ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/grimer/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMORPHOUS, AMORPHOUS ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/growlithe.asm
@@ -1,0 +1,22 @@
+	db GROWLITHE ; 058
+
+	db  55,  70,  45,  60,  70,  50
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FIRE
+	db 190 ; catch rate
+	db 91 ; base exp
+	db BURNT_BERRY ; item 1
+	db BURNT_BERRY ; item 2
+	db GENDER_F25 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/growlithe/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/gyarados.asm
@@ -1,0 +1,22 @@
+	db GYARADOS ; 130
+
+	db  95, 125,  79,  81,  60, 100
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, FLYING
+	db 45 ; catch rate
+	db 214 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 5 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/gyarados/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn FISH, REPTILE ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/haunter.asm
@@ -1,0 +1,22 @@
+	db HAUNTER ; 093
+
+	db  45,  50,  45,  95, 115,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db GHOST, POISON
+	db 90 ; catch rate
+	db 126 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/haunter/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn AMORPHOUS, AMORPHOUS ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/heracross.asm
@@ -1,0 +1,22 @@
+	db HERACROSS ; 214
+
+	db  80, 125,  75,  85,  40,  95
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, FIGHTING
+	db 45 ; catch rate
+	db 200 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/heracross/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/hitmonchan.asm
@@ -1,0 +1,22 @@
+	db HITMONCHAN ; 107
+
+	db  50, 105,  79,  76,  35, 110
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIGHTING, FIGHTING
+	db 45 ; catch rate
+	db 140 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F0 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/hitmonchan/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/hitmonlee.asm
@@ -1,0 +1,22 @@
+	db HITMONLEE ; 106
+
+	db  50, 120,  53,  87,  35, 110
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIGHTING, FIGHTING
+	db 45 ; catch rate
+	db 139 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F0 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/hitmonlee/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/hitmontop.asm
@@ -1,0 +1,22 @@
+	db HITMONTOP ; 237
+
+	db  50,  95,  95,  70,  35, 110
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIGHTING, FIGHTING
+	db 45 ; catch rate
+	db 138 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F0 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/hitmontop/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/ho_oh.asm
@@ -1,0 +1,22 @@
+	db HO_OH ; 250
+
+	db 106, 130,  90,  90, 110, 154
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FLYING
+	db 3 ; catch rate
+	db 220 ; base exp
+	db SACRED_ASH ; item 1
+	db SACRED_ASH ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 120 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/ho_oh/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, STEEL_WING, NIGHTMARE, FLY, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/hoothoot.asm
@@ -1,0 +1,22 @@
+	db HOOTHOOT ; 163
+
+	db  60,  30,  30,  50,  36,  56
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, FLYING
+	db 255 ; catch rate
+	db 58 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/hoothoot/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AVIAN, AVIAN ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/hoppip.asm
@@ -1,0 +1,22 @@
+	db HOPPIP ; 187
+
+	db  35,  35,  40,  50,  35,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, FLYING
+	db 255 ; catch rate
+	db 74 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/hoppip/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn FAIRY, PLANT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/horsea.asm
@@ -1,0 +1,22 @@
+	db HORSEA ; 116
+
+	db  30,  40,  70,  60,  70,  25
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 225 ; catch rate
+	db 83 ; base exp
+	db NO_ITEM ; item 1
+	db DRAGON_SCALE ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/horsea/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMPHIBIAN, REPTILE ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/houndoom.asm
@@ -1,0 +1,22 @@
+	db HOUNDOOM ; 229
+
+	db  75,  90,  50,  95, 110,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db DARK, FIRE
+	db 45 ; catch rate
+	db 204 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/houndoom/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/houndour.asm
@@ -1,0 +1,22 @@
+	db HOUNDOUR ; 228
+
+	db  45,  60,  30,  65,  80,  50
+	;   hp  atk  def  spd  sat  sdf
+
+	db DARK, FIRE
+	db 120 ; catch rate
+	db 114 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/houndour/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/hypno.asm
@@ -1,0 +1,22 @@
+	db HYPNO ; 097
+
+	db  85,  73,  70,  67,  73, 115
+	;   hp  atk  def  spd  sat  sdf
+
+	db PSYCHIC, PSYCHIC
+	db 75 ; catch rate
+	db 165 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/hypno/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/igglybuff.asm
@@ -1,0 +1,22 @@
+	db IGGLYBUFF ; 174
+
+	db  90,  30,  15,  15,  40,  20
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 170 ; catch rate
+	db 39 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F75 ; gender
+	db 100 ; unknown
+	db 10 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/igglybuff/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, FLASH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/ivysaur.asm
@@ -1,0 +1,22 @@
+	db IVYSAUR ; 002
+
+	db  60,  62,  63,  60,  80,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, POISON
+	db 45 ; catch rate
+	db 141 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/ivysaur/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, PLANT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/jigglypuff.asm
@@ -1,0 +1,22 @@
+	db JIGGLYPUFF ; 039
+
+	db 115,  45,  20,  20,  45,  25
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 170 ; catch rate
+	db 76 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F75 ; gender
+	db 100 ; unknown
+	db 10 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/jigglypuff/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn FAIRY, FAIRY ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/jolteon.asm
@@ -1,0 +1,22 @@
+	db JOLTEON ; 135
+
+	db  65,  65,  60, 130, 110,  95
+	;   hp  atk  def  spd  sat  sdf
+
+	db ELECTRIC, ELECTRIC
+	db 45 ; catch rate
+	db 197 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 35 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/jolteon/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, FLASH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/jumpluff.asm
@@ -1,0 +1,22 @@
+	db JUMPLUFF ; 189
+
+	db  75,  55,  70, 110,  55,  85
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, FLYING
+	db 45 ; catch rate
+	db 176 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/jumpluff/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn FAIRY, PLANT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/jynx.asm
@@ -1,0 +1,22 @@
+	db JYNX ; 124
+
+	db  65,  50,  35,  95, 115,  95
+	;   hp  atk  def  spd  sat  sdf
+
+	db ICE, PSYCHIC
+	db 45 ; catch rate
+	db 137 ; base exp
+	db ICE_BERRY ; item 1
+	db ICE_BERRY ; item 2
+	db GENDER_F100 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/jynx/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/kabuto.asm
@@ -1,0 +1,22 @@
+	db KABUTO ; 140
+
+	db  30,  80,  90,  55,  55,  45
+	;   hp  atk  def  spd  sat  sdf
+
+	db ROCK, WATER
+	db 45 ; catch rate
+	db 119 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 30 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/kabuto/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMPHIBIAN, INVERTEBRATE ; egg groups
+
+	; tmhm
+	tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/kabutops.asm
@@ -1,0 +1,22 @@
+	db KABUTOPS ; 141
+
+	db  60, 115, 105,  80,  65,  70
+	;   hp  atk  def  spd  sat  sdf
+
+	db ROCK, WATER
+	db 45 ; catch rate
+	db 201 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 30 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/kabutops/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMPHIBIAN, INVERTEBRATE ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, WHIRLPOOL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/kadabra.asm
@@ -1,0 +1,22 @@
+	db KADABRA ; 064
+
+	db  40,  35,  30, 105, 120,  70
+	;   hp  atk  def  spd  sat  sdf
+
+	db PSYCHIC, PSYCHIC
+	db 100 ; catch rate
+	db 145 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F25 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/kadabra/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DIG, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/kakuna.asm
@@ -1,0 +1,22 @@
+	db KAKUNA ; 014
+
+	db  45,  25,  50,  35,  25,  25
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, POISON
+	db 120 ; catch rate
+	db 71 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/kakuna/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/kangaskhan.asm
@@ -1,0 +1,22 @@
+	db KANGASKHAN ; 115
+
+	db 105,  95,  80,  90,  40,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 45 ; catch rate
+	db 175 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F100 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/kangaskhan/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn MONSTER, MONSTER ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/kingdra.asm
@@ -1,0 +1,22 @@
+	db KINGDRA ; 230
+
+	db  75,  95,  95,  85,  95,  95
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, DRAGON
+	db 45 ; catch rate
+	db 207 ; base exp
+	db NO_ITEM ; item 1
+	db DRAGON_SCALE ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/kingdra/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMPHIBIAN, REPTILE ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/kingler.asm
@@ -1,0 +1,22 @@
+	db KINGLER ; 099
+
+	db  55, 130, 115,  75,  50,  50
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 60 ; catch rate
+	db 206 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/kingler/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INVERTEBRATE, INVERTEBRATE ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/koffing.asm
@@ -1,0 +1,22 @@
+	db KOFFING ; 109
+
+	db  40,  65,  95,  35,  60,  45
+	;   hp  atk  def  spd  sat  sdf
+
+	db POISON, POISON
+	db 190 ; catch rate
+	db 114 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/koffing/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMORPHOUS, AMORPHOUS ; egg groups
+
+	; tmhm
+	tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, REST, ATTRACT, THIEF, FLAMETHROWER, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/krabby.asm
@@ -1,0 +1,22 @@
+	db KRABBY ; 098
+
+	db  30, 105,  90,  50,  25,  25
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 225 ; catch rate
+	db 115 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/krabby/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INVERTEBRATE, INVERTEBRATE ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/lanturn.asm
@@ -1,0 +1,22 @@
+	db LANTURN ; 171
+
+	db 125,  58,  58,  67,  76,  76
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, ELECTRIC
+	db 75 ; catch rate
+	db 156 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/lanturn/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn FISH, FISH ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/lapras.asm
@@ -1,0 +1,22 @@
+	db LAPRAS ; 131
+
+	db 130,  85,  80,  60,  85,  95
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, ICE
+	db 45 ; catch rate
+	db 219 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 40 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/lapras/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn MONSTER, AMPHIBIAN ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, STRENGTH, WHIRLPOOL, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/larvitar.asm
@@ -1,0 +1,22 @@
+	db LARVITAR ; 246
+
+	db  50,  64,  50,  41,  45,  50
+	;   hp  atk  def  spd  sat  sdf
+
+	db ROCK, GROUND
+	db 45 ; catch rate
+	db 67 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 40 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/larvitar/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn MONSTER, MONSTER ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DETECT, REST, ATTRACT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/ledian.asm
@@ -1,0 +1,22 @@
+	db LEDIAN ; 166
+
+	db  55,  35,  50,  85,  55, 110
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, FLYING
+	db 90 ; catch rate
+	db 134 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/ledian/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, REST, ATTRACT, THIEF, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/ledyba.asm
@@ -1,0 +1,22 @@
+	db LEDYBA ; 165
+
+	db  40,  20,  30,  55,  40,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, FLYING
+	db 255 ; catch rate
+	db 54 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/ledyba/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, REST, ATTRACT, THIEF, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/lickitung.asm
@@ -1,0 +1,22 @@
+	db LICKITUNG ; 108
+
+	db  90,  55,  75,  30,  60,  75
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 45 ; catch rate
+	db 127 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/lickitung/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn MONSTER, MONSTER ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, CUT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/lugia.asm
@@ -1,0 +1,22 @@
+	db LUGIA ; 249
+
+	db 106,  90, 130, 110,  90, 154
+	;   hp  atk  def  spd  sat  sdf
+
+	db PSYCHIC, FLYING
+	db 3 ; catch rate
+	db 220 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 120 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/lugia/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DREAM_EATER, DETECT, REST, STEEL_WING, NIGHTMARE, FLY, SURF, STRENGTH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/machamp.asm
@@ -1,0 +1,22 @@
+	db MACHAMP ; 068
+
+	db  90, 130,  80,  55,  65,  85
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIGHTING, FIGHTING
+	db 45 ; catch rate
+	db 193 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F25 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/machamp/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/machoke.asm
@@ -1,0 +1,22 @@
+	db MACHOKE ; 067
+
+	db  80, 100,  70,  45,  50,  60
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIGHTING, FIGHTING
+	db 90 ; catch rate
+	db 146 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F25 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/machoke/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/machop.asm
@@ -1,0 +1,22 @@
+	db MACHOP ; 066
+
+	db  70,  80,  50,  35,  35,  35
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIGHTING, FIGHTING
+	db 180 ; catch rate
+	db 88 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F25 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/machop/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/magby.asm
@@ -1,0 +1,22 @@
+	db MAGBY ; 240
+
+	db  45,  75,  37,  83,  70,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FIRE
+	db 45 ; catch rate
+	db 117 ; base exp
+	db BURNT_BERRY ; item 1
+	db BURNT_BERRY ; item 2
+	db GENDER_F25 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/magby/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/magcargo.asm
@@ -1,0 +1,22 @@
+	db MAGCARGO ; 219
+
+	db  50,  50, 120,  30,  80,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, ROCK
+	db 75 ; catch rate
+	db 154 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/magcargo/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMORPHOUS, AMORPHOUS ; egg groups
+
+	; tmhm
+	tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, STRENGTH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/magikarp.asm
@@ -1,0 +1,22 @@
+	db MAGIKARP ; 129
+
+	db  20,  10,  55,  80,  15,  20
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 255 ; catch rate
+	db 20 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 5 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/magikarp/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn FISH, REPTILE ; egg groups
+
+	; tmhm
+	tmhm
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/magmar.asm
@@ -1,0 +1,22 @@
+	db MAGMAR ; 126
+
+	db  65,  95,  57,  93, 100,  85
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FIRE
+	db 45 ; catch rate
+	db 167 ; base exp
+	db BURNT_BERRY ; item 1
+	db BURNT_BERRY ; item 2
+	db GENDER_F25 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/magmar/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/magnemite.asm
@@ -1,0 +1,22 @@
+	db MAGNEMITE ; 081
+
+	db  25,  35,  70,  45,  95,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db ELECTRIC, STEEL
+	db 190 ; catch rate
+	db 89 ; base exp
+	db NO_ITEM ; item 1
+	db METAL_COAT ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/magnemite/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INANIMATE, INANIMATE ; egg groups
+
+	; tmhm
+	tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/magneton.asm
@@ -1,0 +1,22 @@
+	db MAGNETON ; 082
+
+	db  50,  60,  95,  70, 120,  70
+	;   hp  atk  def  spd  sat  sdf
+
+	db ELECTRIC, STEEL
+	db 60 ; catch rate
+	db 161 ; base exp
+	db NO_ITEM ; item 1
+	db METAL_COAT ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/magneton/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INANIMATE, INANIMATE ; egg groups
+
+	; tmhm
+	tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/mankey.asm
@@ -1,0 +1,22 @@
+	db MANKEY ; 056
+
+	db  40,  80,  35,  70,  35,  45
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIGHTING, FIGHTING
+	db 190 ; catch rate
+	db 74 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/mankey/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/mantine.asm
@@ -1,0 +1,22 @@
+	db MANTINE ; 226
+
+	db  65,  40,  70,  70,  80, 140
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, FLYING
+	db 25 ; catch rate
+	db 168 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/mantine/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn AMPHIBIAN, AMPHIBIAN ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/mareep.asm
@@ -1,0 +1,22 @@
+	db MAREEP ; 179
+
+	db  55,  40,  40,  35,  65,  45
+	;   hp  atk  def  spd  sat  sdf
+
+	db ELECTRIC, ELECTRIC
+	db 235 ; catch rate
+	db 59 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/mareep/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, FLASH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/marill.asm
@@ -1,0 +1,22 @@
+	db MARILL ; 183
+
+	db  70,  20,  50,  40,  20,  50
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 190 ; catch rate
+	db 58 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/marill/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn AMPHIBIAN, FAIRY ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/marowak.asm
@@ -1,0 +1,22 @@
+	db MAROWAK ; 105
+
+	db  60,  80, 110,  45,  50,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db GROUND, GROUND
+	db 75 ; catch rate
+	db 124 ; base exp
+	db NO_ITEM ; item 1
+	db THICK_CLUB ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/marowak/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn MONSTER, MONSTER ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/meganium.asm
@@ -1,0 +1,22 @@
+	db MEGANIUM ; 154
+
+	db  80,  82, 100,  80,  83, 100
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, GRASS
+	db 45 ; catch rate
+	db 208 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/meganium/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, PLANT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/meowth.asm
@@ -1,0 +1,22 @@
+	db MEOWTH ; 052
+
+	db  40,  45,  35,  90,  40,  40
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 255 ; catch rate
+	db 69 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/meowth/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/metapod.asm
@@ -1,0 +1,22 @@
+	db METAPOD ; 011
+
+	db  50,  20,  55,  30,  25,  25
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, BUG
+	db 120 ; catch rate
+	db 72 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/metapod/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/mew.asm
@@ -1,0 +1,22 @@
+	db MEW ; 151
+
+	db 100, 100, 100, 100, 100, 100
+	;   hp  atk  def  spd  sat  sdf
+
+	db PSYCHIC, PSYCHIC
+	db 45 ; catch rate
+	db 64 ; base exp
+	db NO_ITEM ; item 1
+	db MIRACLEBERRY ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 120 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/mew/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, FIRE_BLAST, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, FLY, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/mewtwo.asm
@@ -1,0 +1,22 @@
+	db MEWTWO ; 150
+
+	db 106, 110,  90, 130, 154,  90
+	;   hp  atk  def  spd  sat  sdf
+
+	db PSYCHIC, PSYCHIC
+	db 3 ; catch rate
+	db 220 ; base exp
+	db NO_ITEM ; item 1
+	db BERSERK_GENE ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 120 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/mewtwo/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, THUNDERPUNCH, DREAM_EATER, DETECT, REST, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/miltank.asm
@@ -1,0 +1,22 @@
+	db MILTANK ; 241
+
+	db  95,  80, 105, 100,  40,  70
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 45 ; catch rate
+	db 200 ; base exp
+	db MOOMOO_MILK ; item 1
+	db MOOMOO_MILK ; item 2
+	db GENDER_F100 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/miltank/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, SURF, STRENGTH, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/misdreavus.asm
@@ -1,0 +1,22 @@
+	db MISDREAVUS ; 200
+
+	db  60,  60,  60,  85,  85,  85
+	;   hp  atk  def  spd  sat  sdf
+
+	db GHOST, GHOST
+	db 45 ; catch rate
+	db 147 ; base exp
+	db NO_ITEM ; item 1
+	db SPELL_TAG ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/misdreavus/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn AMORPHOUS, AMORPHOUS ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, FLASH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/moltres.asm
@@ -1,0 +1,22 @@
+	db MOLTRES ; 146
+
+	db  90, 100,  90,  90, 125,  85
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FLYING
+	db 3 ; catch rate
+	db 217 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 80 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/moltres/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, STEEL_WING, FLY, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/mr__mime.asm
@@ -1,0 +1,22 @@
+	db MR__MIME ; 122
+
+	db  40,  45,  65,  90, 100, 120
+	;   hp  atk  def  spd  sat  sdf
+
+	db PSYCHIC, PSYCHIC
+	db 45 ; catch rate
+	db 136 ; base exp
+	db NO_ITEM ; item 1
+	db MYSTERYBERRY ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/mr__mime/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn HUMANSHAPE, HUMANSHAPE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/muk.asm
@@ -1,0 +1,22 @@
+	db MUK ; 089
+
+	db 105, 105,  75,  50,  65, 100
+	;   hp  atk  def  spd  sat  sdf
+
+	db POISON, POISON
+	db 75 ; catch rate
+	db 157 ; base exp
+	db NO_ITEM ; item 1
+	db NUGGET ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/muk/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMORPHOUS, AMORPHOUS ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/murkrow.asm
@@ -1,0 +1,22 @@
+	db MURKROW ; 198
+
+	db  60,  85,  42,  91,  85,  42
+	;   hp  atk  def  spd  sat  sdf
+
+	db DARK, FLYING
+	db 30 ; catch rate
+	db 107 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/murkrow/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn AVIAN, AVIAN ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/natu.asm
@@ -1,0 +1,22 @@
+	db NATU ; 177
+
+	db  40,  50,  45,  70,  70,  45
+	;   hp  atk  def  spd  sat  sdf
+
+	db PSYCHIC, FLYING
+	db 190 ; catch rate
+	db 73 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/natu/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AVIAN, AVIAN ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/nidoking.asm
@@ -1,0 +1,22 @@
+	db NIDOKING ; 034
+
+	db  81,  92,  77,  85,  85,  75
+	;   hp  atk  def  spd  sat  sdf
+
+	db POISON, GROUND
+	db 45 ; catch rate
+	db 195 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F0 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/nidoking/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/nidoqueen.asm
@@ -1,0 +1,22 @@
+	db NIDOQUEEN ; 031
+
+	db  90,  82,  87,  76,  75,  85
+	;   hp  atk  def  spd  sat  sdf
+
+	db POISON, GROUND
+	db 45 ; catch rate
+	db 194 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F100 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/nidoqueen/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/nidoran_f.asm
@@ -1,0 +1,22 @@
+	db NIDORAN_F ; 029
+
+	db  55,  47,  52,  41,  40,  40
+	;   hp  atk  def  spd  sat  sdf
+
+	db POISON, POISON
+	db 235 ; catch rate
+	db 59 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F100 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/nidoran_f/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/nidoran_m.asm
@@ -1,0 +1,22 @@
+	db NIDORAN_M ; 032
+
+	db  46,  57,  40,  50,  40,  40
+	;   hp  atk  def  spd  sat  sdf
+
+	db POISON, POISON
+	db 235 ; catch rate
+	db 60 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F0 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/nidoran_m/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/nidorina.asm
@@ -1,0 +1,22 @@
+	db NIDORINA ; 030
+
+	db  70,  62,  67,  56,  55,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db POISON, POISON
+	db 120 ; catch rate
+	db 117 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F100 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/nidorina/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, STRENGTH, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/nidorino.asm
@@ -1,0 +1,22 @@
+	db NIDORINO ; 033
+
+	db  61,  72,  57,  65,  55,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db POISON, POISON
+	db 120 ; catch rate
+	db 118 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F0 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/nidorino/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, STRENGTH, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/ninetales.asm
@@ -1,0 +1,22 @@
+	db NINETALES ; 038
+
+	db  73,  76,  75, 100,  81, 100
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FIRE
+	db 75 ; catch rate
+	db 178 ; base exp
+	db BURNT_BERRY ; item 1
+	db BURNT_BERRY ; item 2
+	db GENDER_F75 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/ninetales/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/noctowl.asm
@@ -1,0 +1,22 @@
+	db NOCTOWL ; 164
+
+	db 100,  50,  50,  70,  76,  96
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, FLYING
+	db 90 ; catch rate
+	db 162 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/noctowl/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AVIAN, AVIAN ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/octillery.asm
@@ -1,0 +1,22 @@
+	db OCTILLERY ; 224
+
+	db  75, 105,  75,  45, 105,  75
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 75 ; catch rate
+	db 164 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/octillery/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMPHIBIAN, FISH ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, FLAMETHROWER, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/oddish.asm
@@ -1,0 +1,22 @@
+	db ODDISH ; 043
+
+	db  45,  50,  55,  30,  75,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, POISON
+	db 255 ; catch rate
+	db 78 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/oddish/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn PLANT, PLANT ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/omanyte.asm
@@ -1,0 +1,22 @@
+	db OMANYTE ; 138
+
+	db  35,  40, 100,  35,  90,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db ROCK, WATER
+	db 45 ; catch rate
+	db 120 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 30 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/omanyte/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMPHIBIAN, INVERTEBRATE ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/omastar.asm
@@ -1,0 +1,22 @@
+	db OMASTAR ; 139
+
+	db  70,  60, 125,  55, 115,  70
+	;   hp  atk  def  spd  sat  sdf
+
+	db ROCK, WATER
+	db 45 ; catch rate
+	db 199 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 30 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/omastar/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMPHIBIAN, INVERTEBRATE ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/onix.asm
@@ -1,0 +1,22 @@
+	db ONIX ; 095
+
+	db  35,  45, 160,  70,  30,  45
+	;   hp  atk  def  spd  sat  sdf
+
+	db ROCK, GROUND
+	db 45 ; catch rate
+	db 108 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/onix/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INANIMATE, INANIMATE ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/paras.asm
@@ -1,0 +1,22 @@
+	db PARAS ; 046
+
+	db  35,  70,  55,  25,  45,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, GRASS
+	db 190 ; catch rate
+	db 70 ; base exp
+	db TINYMUSHROOM ; item 1
+	db BIG_MUSHROOM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/paras/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INSECT, PLANT ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/parasect.asm
@@ -1,0 +1,22 @@
+	db PARASECT ; 047
+
+	db  60,  95,  80,  30,  60,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, GRASS
+	db 75 ; catch rate
+	db 128 ; base exp
+	db TINYMUSHROOM ; item 1
+	db BIG_MUSHROOM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/parasect/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INSECT, PLANT ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/persian.asm
@@ -1,0 +1,22 @@
+	db PERSIAN ; 053
+
+	db  65,  70,  60, 115,  65,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 90 ; catch rate
+	db 148 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/persian/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/phanpy.asm
@@ -1,0 +1,22 @@
+	db PHANPY ; 231
+
+	db  90,  60,  60,  40,  40,  40
+	;   hp  atk  def  spd  sat  sdf
+
+	db GROUND, GROUND
+	db 120 ; catch rate
+	db 124 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/phanpy/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/pichu.asm
@@ -1,0 +1,22 @@
+	db PICHU ; 172
+
+	db  20,  40,  15,  60,  35,  35
+	;   hp  atk  def  spd  sat  sdf
+
+	db ELECTRIC, ELECTRIC
+	db 190 ; catch rate
+	db 42 ; base exp
+	db NO_ITEM ; item 1
+	db BERRY ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 10 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/pichu/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, FLASH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/pidgeot.asm
@@ -1,0 +1,22 @@
+	db PIDGEOT ; 018
+
+	db  83,  80,  75,  91,  70,  70
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, FLYING
+	db 45 ; catch rate
+	db 172 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/pidgeot/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn AVIAN, AVIAN ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/pidgeotto.asm
@@ -1,0 +1,22 @@
+	db PIDGEOTTO ; 017
+
+	db  63,  60,  55,  71,  50,  50
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, FLYING
+	db 120 ; catch rate
+	db 113 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/pidgeotto/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn AVIAN, AVIAN ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/pidgey.asm
@@ -1,0 +1,22 @@
+	db PIDGEY ; 016
+
+	db  40,  45,  40,  56,  35,  35
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, FLYING
+	db 255 ; catch rate
+	db 55 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/pidgey/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn AVIAN, AVIAN ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/pikachu.asm
@@ -1,0 +1,22 @@
+	db PIKACHU ; 025
+
+	db  35,  55,  30,  90,  50,  40
+	;   hp  atk  def  spd  sat  sdf
+
+	db ELECTRIC, ELECTRIC
+	db 190 ; catch rate
+	db 82 ; base exp
+	db NO_ITEM ; item 1
+	db BERRY ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 10 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/pikachu/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FAIRY ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, STRENGTH, FLASH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/piloswine.asm
@@ -1,0 +1,22 @@
+	db PILOSWINE ; 221
+
+	db 100, 100,  80,  50,  60,  60
+	;   hp  atk  def  spd  sat  sdf
+
+	db ICE, GROUND
+	db 75 ; catch rate
+	db 160 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/piloswine/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, STRENGTH, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/pineco.asm
@@ -1,0 +1,22 @@
+	db PINECO ; 204
+
+	db  50,  65,  90,  15,  35,  35
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, BUG
+	db 190 ; catch rate
+	db 60 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/pineco/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/pinsir.asm
@@ -1,0 +1,22 @@
+	db PINSIR ; 127
+
+	db  65, 125, 100,  85,  55,  70
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, BUG
+	db 45 ; catch rate
+	db 200 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/pinsir/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/politoed.asm
@@ -1,0 +1,22 @@
+	db POLITOED ; 186
+
+	db  90,  75,  75,  70,  90, 100
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 45 ; catch rate
+	db 185 ; base exp
+	db NO_ITEM ; item 1
+	db KINGS_ROCK ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/politoed/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn AMPHIBIAN, AMPHIBIAN ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/poliwag.asm
@@ -1,0 +1,22 @@
+	db POLIWAG ; 060
+
+	db  40,  50,  40,  90,  40,  40
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 255 ; catch rate
+	db 77 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/poliwag/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn AMPHIBIAN, AMPHIBIAN ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/poliwhirl.asm
@@ -1,0 +1,22 @@
+	db POLIWHIRL ; 061
+
+	db  65,  65,  65,  90,  50,  50
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 120 ; catch rate
+	db 131 ; base exp
+	db NO_ITEM ; item 1
+	db KINGS_ROCK ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/poliwhirl/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn AMPHIBIAN, AMPHIBIAN ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/poliwrath.asm
@@ -1,0 +1,22 @@
+	db POLIWRATH ; 062
+
+	db  90,  85,  95,  70,  70,  90
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, FIGHTING
+	db 45 ; catch rate
+	db 185 ; base exp
+	db NO_ITEM ; item 1
+	db KINGS_ROCK ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/poliwrath/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn AMPHIBIAN, AMPHIBIAN ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/ponyta.asm
@@ -1,0 +1,22 @@
+	db PONYTA ; 077
+
+	db  50,  85,  55,  90,  65,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FIRE
+	db 190 ; catch rate
+	db 152 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/ponyta/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/porygon.asm
@@ -1,0 +1,22 @@
+	db PORYGON ; 137
+
+	db  65,  60,  70,  40,  85,  75
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 45 ; catch rate
+	db 130 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/porygon/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INANIMATE, INANIMATE ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, THIEF, NIGHTMARE, FLASH, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/porygon2.asm
@@ -1,0 +1,22 @@
+	db PORYGON2 ; 233
+
+	db  85,  80,  90,  60, 105,  95
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 45 ; catch rate
+	db 180 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/porygon2/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INANIMATE, INANIMATE ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, REST, THIEF, NIGHTMARE, FLASH, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/primeape.asm
@@ -1,0 +1,22 @@
+	db PRIMEAPE ; 057
+
+	db  65, 105,  60,  95,  60,  70
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIGHTING, FIGHTING
+	db 75 ; catch rate
+	db 149 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/primeape/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/psyduck.asm
@@ -1,0 +1,22 @@
+	db PSYDUCK ; 054
+
+	db  50,  52,  48,  55,  65,  50
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 190 ; catch rate
+	db 80 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/psyduck/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMPHIBIAN, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/pupitar.asm
@@ -1,0 +1,22 @@
+	db PUPITAR ; 247
+
+	db  70,  84,  70,  51,  65,  70
+	;   hp  atk  def  spd  sat  sdf
+
+	db ROCK, GROUND
+	db 45 ; catch rate
+	db 144 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 40 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/pupitar/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn MONSTER, MONSTER ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DETECT, REST, ATTRACT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/quagsire.asm
@@ -1,0 +1,22 @@
+	db QUAGSIRE ; 195
+
+	db  95,  85,  85,  35,  65,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, GROUND
+	db 90 ; catch rate
+	db 137 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/quagsire/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMPHIBIAN, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, FLASH, WHIRLPOOL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/quilava.asm
@@ -1,0 +1,22 @@
+	db QUILAVA ; 156
+
+	db  58,  64,  58,  80,  80,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FIRE
+	db 45 ; catch rate
+	db 142 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/quilava/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/qwilfish.asm
@@ -1,0 +1,22 @@
+	db QWILFISH ; 211
+
+	db  65,  95,  75,  85,  55,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, POISON
+	db 45 ; catch rate
+	db 100 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/qwilfish/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FISH, FISH ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/raichu.asm
@@ -1,0 +1,22 @@
+	db RAICHU ; 026
+
+	db  60,  90,  55, 100,  90,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db ELECTRIC, ELECTRIC
+	db 75 ; catch rate
+	db 122 ; base exp
+	db NO_ITEM ; item 1
+	db BERRY ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 10 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/raichu/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FAIRY ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, STRENGTH, FLASH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/raikou.asm
@@ -1,0 +1,22 @@
+	db RAIKOU ; 243
+
+	db  90,  85,  75, 115, 115, 100
+	;   hp  atk  def  spd  sat  sdf
+
+	db ELECTRIC, ELECTRIC
+	db 3 ; catch rate
+	db 216 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 80 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/raikou/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, CUT, STRENGTH, FLASH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/rapidash.asm
@@ -1,0 +1,22 @@
+	db RAPIDASH ; 078
+
+	db  65, 100,  70, 105,  80,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FIRE
+	db 60 ; catch rate
+	db 192 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/rapidash/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/raticate.asm
@@ -1,0 +1,22 @@
+	db RATICATE ; 020
+
+	db  55,  81,  60,  97,  50,  70
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 90 ; catch rate
+	db 116 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/raticate/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, CUT, STRENGTH, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/rattata.asm
@@ -1,0 +1,22 @@
+	db RATTATA ; 019
+
+	db  30,  56,  35,  72,  25,  35
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 255 ; catch rate
+	db 57 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/rattata/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/remoraid.asm
@@ -1,0 +1,22 @@
+	db REMORAID ; 223
+
+	db  35,  65,  35,  65,  65,  35
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 190 ; catch rate
+	db 78 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/remoraid/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMPHIBIAN, FISH ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, FLAMETHROWER, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/rhydon.asm
@@ -1,0 +1,22 @@
+	db RHYDON ; 112
+
+	db 105, 130, 120,  40,  45,  45
+	;   hp  atk  def  spd  sat  sdf
+
+	db GROUND, ROCK
+	db 60 ; catch rate
+	db 204 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/rhydon/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn MONSTER, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/rhyhorn.asm
@@ -1,0 +1,22 @@
+	db RHYHORN ; 111
+
+	db  80,  85,  95,  25,  30,  30
+	;   hp  atk  def  spd  sat  sdf
+
+	db GROUND, ROCK
+	db 120 ; catch rate
+	db 135 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/rhyhorn/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn MONSTER, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, REST, ATTRACT, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/sandshrew.asm
@@ -1,0 +1,22 @@
+	db SANDSHREW ; 027
+
+	db  50,  75,  85,  40,  20,  30
+	;   hp  atk  def  spd  sat  sdf
+
+	db GROUND, GROUND
+	db 255 ; catch rate
+	db 93 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/sandshrew/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/sandslash.asm
@@ -1,0 +1,22 @@
+	db SANDSLASH ; 028
+
+	db  75, 100, 110,  65,  45,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db GROUND, GROUND
+	db 90 ; catch rate
+	db 163 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/sandslash/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/scizor.asm
@@ -1,0 +1,22 @@
+	db SCIZOR ; 212
+
+	db  70, 130, 100,  65,  55,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, STEEL
+	db 25 ; catch rate
+	db 200 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/scizor/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FURY_CUTTER, CUT, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/scyther.asm
@@ -1,0 +1,22 @@
+	db SCYTHER ; 123
+
+	db  70, 110,  80, 105,  55,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, FLYING
+	db 45 ; catch rate
+	db 187 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/scyther/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FURY_CUTTER, CUT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/seadra.asm
@@ -1,0 +1,22 @@
+	db SEADRA ; 117
+
+	db  55,  65,  95,  85,  95,  45
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 75 ; catch rate
+	db 155 ; base exp
+	db NO_ITEM ; item 1
+	db DRAGON_SCALE ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/seadra/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMPHIBIAN, REPTILE ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/seaking.asm
@@ -1,0 +1,22 @@
+	db SEAKING ; 119
+
+	db  80,  92,  65,  68,  65,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 60 ; catch rate
+	db 170 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/seaking/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FISH, FISH ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/seel.asm
@@ -1,0 +1,22 @@
+	db SEEL ; 086
+
+	db  65,  45,  55,  45,  45,  70
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 190 ; catch rate
+	db 100 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/seel/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMPHIBIAN, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/sentret.asm
@@ -1,0 +1,22 @@
+	db SENTRET ; 161
+
+	db  35,  46,  34,  20,  35,  45
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 255 ; catch rate
+	db 57 ; base exp
+	db NO_ITEM ; item 1
+	db BERRY ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/sentret/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, SURF
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/shellder.asm
@@ -1,0 +1,22 @@
+	db SHELLDER ; 090
+
+	db  30,  65, 100,  40,  45,  25
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 190 ; catch rate
+	db 97 ; base exp
+	db PEARL ; item 1
+	db BIG_PEARL ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/shellder/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn INVERTEBRATE, INVERTEBRATE ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/shuckle.asm
@@ -1,0 +1,22 @@
+	db SHUCKLE ; 213
+
+	db  20,  10, 230,  05,  10, 230
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, ROCK
+	db 190 ; catch rate
+	db 80 ; base exp
+	db BERRY ; item 1
+	db BERRY ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/shuckle/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/skarmory.asm
@@ -1,0 +1,22 @@
+	db SKARMORY ; 227
+
+	db  65,  80, 140,  70,  40,  70
+	;   hp  atk  def  spd  sat  sdf
+
+	db STEEL, FLYING
+	db 25 ; catch rate
+	db 168 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/skarmory/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn AVIAN, AVIAN ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, CUT, FLY
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/skiploom.asm
@@ -1,0 +1,22 @@
+	db SKIPLOOM ; 188
+
+	db  55,  45,  50,  80,  45,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, FLYING
+	db 120 ; catch rate
+	db 136 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/skiploom/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn FAIRY, PLANT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/slowbro.asm
@@ -1,0 +1,22 @@
+	db SLOWBRO ; 080
+
+	db  95,  75, 110,  30, 100,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, PSYCHIC
+	db 75 ; catch rate
+	db 164 ; base exp
+	db NO_ITEM ; item 1
+	db KINGS_ROCK ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/slowbro/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn MONSTER, AMPHIBIAN ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, FURY_CUTTER, NIGHTMARE, SURF, STRENGTH, FLASH, FLAMETHROWER, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/slowking.asm
@@ -1,0 +1,22 @@
+	db SLOWKING ; 199
+
+	db  95,  75,  80,  30, 100, 110
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, PSYCHIC
+	db 70 ; catch rate
+	db 164 ; base exp
+	db NO_ITEM ; item 1
+	db KINGS_ROCK ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/slowking/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn MONSTER, AMPHIBIAN ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, FURY_CUTTER, NIGHTMARE, SURF, STRENGTH, FLASH, WHIRLPOOL, FLAMETHROWER, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/slowpoke.asm
@@ -1,0 +1,22 @@
+	db SLOWPOKE ; 079
+
+	db  90,  65,  65,  15,  40,  40
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, PSYCHIC
+	db 190 ; catch rate
+	db 99 ; base exp
+	db NO_ITEM ; item 1
+	db KINGS_ROCK ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/slowpoke/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn MONSTER, AMPHIBIAN ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, STRENGTH, FLASH, FLAMETHROWER, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/slugma.asm
@@ -1,0 +1,22 @@
+	db SLUGMA ; 218
+
+	db  40,  40,  40,  20,  70,  40
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FIRE
+	db 190 ; catch rate
+	db 78 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/slugma/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMORPHOUS, AMORPHOUS ; egg groups
+
+	; tmhm
+	tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/smeargle.asm
@@ -1,0 +1,22 @@
+	db SMEARGLE ; 235
+
+	db  55,  20,  35,  75,  20,  45
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 45 ; catch rate
+	db 106 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/smeargle/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/smoochum.asm
@@ -1,0 +1,22 @@
+	db SMOOCHUM ; 238
+
+	db  45,  30,  15,  65,  85,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db ICE, PSYCHIC
+	db 45 ; catch rate
+	db 87 ; base exp
+	db ICE_BERRY ; item 1
+	db ICE_BERRY ; item 2
+	db GENDER_F100 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/smoochum/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SWEET_SCENT, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/sneasel.asm
@@ -1,0 +1,22 @@
+	db SNEASEL ; 215
+
+	db  55,  95,  55, 115,  35,  75
+	;   hp  atk  def  spd  sat  sdf
+
+	db DARK, ICE
+	db 60 ; catch rate
+	db 132 ; base exp
+	db NO_ITEM ; item 1
+	db QUICK_CLAW ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/sneasel/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, NIGHTMARE, CUT, SURF, STRENGTH, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/snorlax.asm
@@ -1,0 +1,22 @@
+	db SNORLAX ; 143
+
+	db 160, 110,  65,  30,  65, 110
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 25 ; catch rate
+	db 154 ; base exp
+	db LEFTOVERS ; item 1
+	db LEFTOVERS ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 40 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/snorlax/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn MONSTER, MONSTER ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/snubbull.asm
@@ -1,0 +1,22 @@
+	db SNUBBULL ; 209
+
+	db  60,  80,  50,  30,  40,  40
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 190 ; catch rate
+	db 63 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F75 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/snubbull/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn FIELD, FAIRY ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/spearow.asm
@@ -1,0 +1,22 @@
+	db SPEAROW ; 021
+
+	db  40,  60,  30,  70,  31,  31
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, FLYING
+	db 255 ; catch rate
+	db 58 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/spearow/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AVIAN, AVIAN ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/spinarak.asm
@@ -1,0 +1,22 @@
+	db SPINARAK ; 167
+
+	db  40,  60,  40,  30,  40,  40
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, POISON
+	db 255 ; catch rate
+	db 54 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/spinarak/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/squirtle.asm
@@ -1,0 +1,22 @@
+	db SQUIRTLE ; 007
+
+	db  44,  48,  65,  43,  50,  64
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 45 ; catch rate
+	db 66 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/squirtle/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, AMPHIBIAN ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/stantler.asm
@@ -1,0 +1,22 @@
+	db STANTLER ; 234
+
+	db  73,  95,  62,  85,  85,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 45 ; catch rate
+	db 165 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/stantler/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/starmie.asm
@@ -1,0 +1,22 @@
+	db STARMIE ; 121
+
+	db  60,  75,  85, 115, 100,  85
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, PSYCHIC
+	db 60 ; catch rate
+	db 207 ; base exp
+	db STARDUST ; item 1
+	db STAR_PIECE ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/starmie/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn INVERTEBRATE, INVERTEBRATE ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/staryu.asm
@@ -1,0 +1,22 @@
+	db STARYU ; 120
+
+	db  30,  45,  55,  85,  70,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 225 ; catch rate
+	db 106 ; base exp
+	db STARDUST ; item 1
+	db STAR_PIECE ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/staryu/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn INVERTEBRATE, INVERTEBRATE ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/steelix.asm
@@ -1,0 +1,22 @@
+	db STEELIX ; 208
+
+	db  75,  85, 200,  30,  55,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db STEEL, GROUND
+	db 25 ; catch rate
+	db 196 ; base exp
+	db NO_ITEM ; item 1
+	db METAL_COAT ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/steelix/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INANIMATE, INANIMATE ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, CUT, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/sudowoodo.asm
@@ -1,0 +1,22 @@
+	db SUDOWOODO ; 185
+
+	db  70, 100, 115,  30,  30,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db ROCK, ROCK
+	db 65 ; catch rate
+	db 135 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/sudowoodo/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INANIMATE, INANIMATE ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/suicune.asm
@@ -1,0 +1,22 @@
+	db SUICUNE ; 245
+
+	db 100,  75, 115,  85,  90, 115
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 3 ; catch rate
+	db 215 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 80 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/suicune/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, CUT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/sunflora.asm
@@ -1,0 +1,22 @@
+	db SUNFLORA ; 192
+
+	db  75,  75,  55,  30, 105,  85
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, GRASS
+	db 120 ; catch rate
+	db 146 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/sunflora/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn PLANT, PLANT ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/sunkern.asm
@@ -1,0 +1,22 @@
+	db SUNKERN ; 191
+
+	db  30,  30,  30,  30,  30,  30
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, GRASS
+	db 235 ; catch rate
+	db 52 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/sunkern/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn PLANT, PLANT ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/swinub.asm
@@ -1,0 +1,22 @@
+	db SWINUB ; 220
+
+	db  50,  50,  40,  50,  30,  30
+	;   hp  atk  def  spd  sat  sdf
+
+	db ICE, GROUND
+	db 225 ; catch rate
+	db 78 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/swinub/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, STRENGTH, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/tangela.asm
@@ -1,0 +1,22 @@
+	db TANGELA ; 114
+
+	db  65,  55, 115,  60, 100,  40
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, GRASS
+	db 45 ; catch rate
+	db 166 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/tangela/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn PLANT, PLANT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/tauros.asm
@@ -1,0 +1,22 @@
+	db TAUROS ; 128
+
+	db  75, 100,  95, 110,  40,  70
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 45 ; catch rate
+	db 211 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F0 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/tauros/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, REST, ATTRACT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/teddiursa.asm
@@ -1,0 +1,22 @@
+	db TEDDIURSA ; 216
+
+	db  60,  80,  50,  40,  50,  50
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 120 ; catch rate
+	db 124 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/teddiursa/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/tentacool.asm
@@ -1,0 +1,22 @@
+	db TENTACOOL ; 072
+
+	db  40,  40,  35,  70,  50, 100
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, POISON
+	db 190 ; catch rate
+	db 105 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/tentacool/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn INVERTEBRATE, INVERTEBRATE ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/tentacruel.asm
@@ -1,0 +1,22 @@
+	db TENTACRUEL ; 073
+
+	db  80,  70,  65, 100,  80, 120
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, POISON
+	db 60 ; catch rate
+	db 205 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/tentacruel/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn INVERTEBRATE, INVERTEBRATE ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/togepi.asm
@@ -1,0 +1,22 @@
+	db TOGEPI ; 175
+
+	db  35,  20,  65,  20,  40,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 190 ; catch rate
+	db 74 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 10 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/togepi/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, FLASH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/togetic.asm
@@ -1,0 +1,22 @@
+	db TOGETIC ; 176
+
+	db  55,  40,  85,  40,  80, 105
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, FLYING
+	db 75 ; catch rate
+	db 114 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 10 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/togetic/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn AVIAN, FAIRY ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, STEEL_WING, FLY, FLASH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/totodile.asm
@@ -1,0 +1,22 @@
+	db TOTODILE ; 158
+
+	db  50,  65,  64,  43,  44,  48
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 45 ; catch rate
+	db 66 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/totodile/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, AMPHIBIAN ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/typhlosion.asm
@@ -1,0 +1,22 @@
+	db TYPHLOSION ; 157
+
+	db  78,  84,  78, 100, 109,  85
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FIRE
+	db 45 ; catch rate
+	db 209 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/typhlosion/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/tyranitar.asm
@@ -1,0 +1,22 @@
+	db TYRANITAR ; 248
+
+	db 100, 134, 110,  61,  95, 100
+	;   hp  atk  def  spd  sat  sdf
+
+	db ROCK, DARK
+	db 45 ; catch rate
+	db 218 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 40 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/tyranitar/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn MONSTER, MONSTER ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DETECT, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/tyrogue.asm
@@ -1,0 +1,22 @@
+	db TYROGUE ; 236
+
+	db  35,  35,  35,  35,  35,  35
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIGHTING, FIGHTING
+	db 75 ; catch rate
+	db 91 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F0 ; gender
+	db 100 ; unknown
+	db 25 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/tyrogue/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/umbreon.asm
@@ -1,0 +1,22 @@
+	db UMBREON ; 197
+
+	db  95,  65, 110,  65,  60, 130
+	;   hp  atk  def  spd  sat  sdf
+
+	db DARK, DARK
+	db 45 ; catch rate
+	db 197 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 35 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/umbreon/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/unown.asm
@@ -1,0 +1,22 @@
+	db UNOWN ; 201
+
+	db  48,  72,  48,  48,  72,  48
+	;   hp  atk  def  spd  sat  sdf
+
+	db PSYCHIC, PSYCHIC
+	db 225 ; catch rate
+	db 61 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 40 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/unown_a/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/ursaring.asm
@@ -1,0 +1,22 @@
+	db URSARING ; 217
+
+	db  90, 130,  75,  55,  75,  75
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 60 ; catch rate
+	db 189 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/ursaring/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/vaporeon.asm
@@ -1,0 +1,22 @@
+	db VAPOREON ; 134
+
+	db 130,  65,  60,  65, 110,  95
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 45 ; catch rate
+	db 196 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 35 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/vaporeon/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/venomoth.asm
@@ -1,0 +1,22 @@
+	db VENOMOTH ; 049
+
+	db  70,  65,  60,  90,  90,  75
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, POISON
+	db 75 ; catch rate
+	db 138 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/venomoth/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, THIEF, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/venonat.asm
@@ -1,0 +1,22 @@
+	db VENONAT ; 048
+
+	db  60,  55,  50,  45,  40,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, POISON
+	db 190 ; catch rate
+	db 75 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/venonat/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, THIEF
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/venusaur.asm
@@ -1,0 +1,22 @@
+	db VENUSAUR ; 003
+
+	db  80,  82,  83,  80, 100, 100
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, POISON
+	db 45 ; catch rate
+	db 208 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/venusaur/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, PLANT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/victreebel.asm
@@ -1,0 +1,22 @@
+	db VICTREEBEL ; 071
+
+	db  80, 105,  65,  70, 100,  60
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, POISON
+	db 45 ; catch rate
+	db 191 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/victreebel/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn PLANT, PLANT ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/vileplume.asm
@@ -1,0 +1,22 @@
+	db VILEPLUME ; 045
+
+	db  75,  80,  85,  50, 100,  90
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, POISON
+	db 45 ; catch rate
+	db 184 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/vileplume/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn PLANT, PLANT ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/voltorb.asm
@@ -1,0 +1,22 @@
+	db VOLTORB ; 100
+
+	db  40,  30,  50, 100,  55,  55
+	;   hp  atk  def  spd  sat  sdf
+
+	db ELECTRIC, ELECTRIC
+	db 190 ; catch rate
+	db 103 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/voltorb/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INANIMATE, INANIMATE ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/vulpix.asm
@@ -1,0 +1,22 @@
+	db VULPIX ; 037
+
+	db  38,  41,  40,  65,  50,  65
+	;   hp  atk  def  spd  sat  sdf
+
+	db FIRE, FIRE
+	db 190 ; catch rate
+	db 63 ; base exp
+	db BURNT_BERRY ; item 1
+	db BURNT_BERRY ; item 2
+	db GENDER_F75 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/vulpix/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn FIELD, FIELD ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/wartortle.asm
@@ -1,0 +1,22 @@
+	db WARTORTLE ; 008
+
+	db  59,  63,  80,  58,  65,  80
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, WATER
+	db 45 ; catch rate
+	db 143 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F12_5 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/wartortle/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn MONSTER, AMPHIBIAN ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/weedle.asm
@@ -1,0 +1,22 @@
+	db WEEDLE ; 013
+
+	db  40,  35,  30,  50,  20,  20
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, POISON
+	db 255 ; catch rate
+	db 52 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/weedle/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/weepinbell.asm
@@ -1,0 +1,22 @@
+	db WEEPINBELL ; 070
+
+	db  65,  90,  50,  55,  85,  45
+	;   hp  atk  def  spd  sat  sdf
+
+	db GRASS, POISON
+	db 120 ; catch rate
+	db 151 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/weepinbell/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_SLOW ; growth rate
+	dn PLANT, PLANT ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/weezing.asm
@@ -1,0 +1,22 @@
+	db WEEZING ; 110
+
+	db  65,  90, 120,  60,  85,  70
+	;   hp  atk  def  spd  sat  sdf
+
+	db POISON, POISON
+	db 60 ; catch rate
+	db 173 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/weezing/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMORPHOUS, AMORPHOUS ; egg groups
+
+	; tmhm
+	tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, REST, ATTRACT, THIEF, FLAMETHROWER, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/wigglytuff.asm
@@ -1,0 +1,22 @@
+	db WIGGLYTUFF ; 040
+
+	db 140,  70,  45,  45,  75,  50
+	;   hp  atk  def  spd  sat  sdf
+
+	db NORMAL, NORMAL
+	db 50 ; catch rate
+	db 109 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F75 ; gender
+	db 100 ; unknown
+	db 10 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/wigglytuff/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db FAST ; growth rate
+	dn FAIRY, FAIRY ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/wobbuffet.asm
@@ -1,0 +1,22 @@
+	db WOBBUFFET ; 202
+
+	db 190,  33,  58,  33,  33,  58
+	;   hp  atk  def  spd  sat  sdf
+
+	db PSYCHIC, PSYCHIC
+	db 45 ; catch rate
+	db 177 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/wobbuffet/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMORPHOUS, AMORPHOUS ; egg groups
+
+	; tmhm
+	tmhm
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/wooper.asm
@@ -1,0 +1,22 @@
+	db WOOPER ; 194
+
+	db  55,  45,  45,  15,  25,  25
+	;   hp  atk  def  spd  sat  sdf
+
+	db WATER, GROUND
+	db 255 ; catch rate
+	db 52 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/wooper/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AMPHIBIAN, FIELD ; egg groups
+
+	; tmhm
+	tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, ICE_BEAM
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/xatu.asm
@@ -1,0 +1,22 @@
+	db XATU ; 178
+
+	db  65,  75,  70,  95,  95,  70
+	;   hp  atk  def  spd  sat  sdf
+
+	db PSYCHIC, FLYING
+	db 75 ; catch rate
+	db 171 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/xatu/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AVIAN, AVIAN ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLY, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/yanma.asm
@@ -1,0 +1,22 @@
+	db YANMA ; 193
+
+	db  65,  65,  45,  95,  75,  45
+	;   hp  atk  def  spd  sat  sdf
+
+	db BUG, FLYING
+	db 75 ; catch rate
+	db 147 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 20 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/yanma/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn INSECT, INSECT ; egg groups
+
+	; tmhm
+	tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, FLASH
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/zapdos.asm
@@ -1,0 +1,22 @@
+	db ZAPDOS ; 145
+
+	db  90,  90,  85, 100, 125,  90
+	;   hp  atk  def  spd  sat  sdf
+
+	db ELECTRIC, FLYING
+	db 3 ; catch rate
+	db 216 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDERLESS ; gender
+	db 100 ; unknown
+	db 80 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/zapdos/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db SLOW ; growth rate
+	dn NO_EGGS, NO_EGGS ; egg groups
+
+	; tmhm
+	tmhm CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, STEEL_WING, FLY, FLASH, THUNDERBOLT
+	; end
--- /dev/null
+++ b/data/pokemon/base_stats/zubat.asm
@@ -1,0 +1,22 @@
+	db ZUBAT ; 041
+
+	db  40,  45,  35,  55,  30,  40
+	;   hp  atk  def  spd  sat  sdf
+
+	db POISON, FLYING
+	db 255 ; catch rate
+	db 54 ; base exp
+	db NO_ITEM ; item 1
+	db NO_ITEM ; item 2
+	db GENDER_F50 ; gender
+	db 100 ; unknown
+	db 15 ; step cycles to hatch
+	db 5 ; unknown
+	INCBIN "gfx/pics/zubat/front.dimensions"
+	db 0, 0, 0, 0 ; padding
+	db MEDIUM_FAST ; growth rate
+	dn AVIAN, AVIAN ; egg groups
+
+	; tmhm
+	tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING
+	; end
--- /dev/null
+++ b/data/pokemon/cry_headers.asm
@@ -1,0 +1,259 @@
+CryHeaders:: ; f2787
+; entries correspond to constants/pokemon_constants.asm
+;                               index,          pitch, length
+BulbasaurCryHeader:   cry_header CRY_BULBASAUR,   $080,  $081
+IvysaurCryHeader:     cry_header CRY_BULBASAUR,   $020,  $100
+VenusaurCryHeader:    cry_header CRY_BULBASAUR,   $000,  $140
+CharmanderCryHeader:  cry_header CRY_CHARMANDER,  $060,  $0c0
+CharmeleonCryHeader:  cry_header CRY_CHARMANDER,  $020,  $0c0
+CharizardCryHeader:   cry_header CRY_CHARMANDER,  $000,  $100
+SquirtleCryHeader:    cry_header CRY_SQUIRTLE,    $060,  $0c0
+WartortleCryHeader:   cry_header CRY_SQUIRTLE,    $020,  $0c0
+BlastoiseCryHeader:   cry_header CRY_BLASTOISE,   $000,  $100
+CaterpieCryHeader:    cry_header CRY_CATERPIE,    $080,  $0a0
+MetapodCryHeader:     cry_header CRY_METAPOD,     $0cc,  $081
+ButterfreeCryHeader:  cry_header CRY_CATERPIE,    $077,  $0c0
+WeedleCryHeader:      cry_header CRY_WEEDLE,      $0ee,  $081
+KakunaCryHeader:      cry_header CRY_BLASTOISE,   $0ff,  $081
+BeedrillCryHeader:    cry_header CRY_BLASTOISE,   $060,  $100
+PidgeyCryHeader:      cry_header CRY_PIDGEY,      $0df,  $084
+PidgeottoCryHeader:   cry_header CRY_PIDGEOTTO,   $028,  $140
+PidgeotCryHeader:     cry_header CRY_PIDGEOTTO,   $011,  $17f
+RattataCryHeader:     cry_header CRY_RATTATA,     $000,  $100
+RaticateCryHeader:    cry_header CRY_RATTATA,     $020,  $17f
+SpearowCryHeader:     cry_header CRY_SPEAROW,     $000,  $100
+FearowCryHeader:      cry_header CRY_FEAROW,      $040,  $120
+EkansCryHeader:       cry_header CRY_EKANS,       $012,  $0c0
+ArbokCryHeader:       cry_header CRY_EKANS,       $0e0,  $090
+PikachuCryHeader:     cry_header CRY_BULBASAUR,   $0ee,  $081
+RaichuCryHeader:      cry_header CRY_RAICHU,      $0ee,  $088
+SandshrewCryHeader:   cry_header CRY_NIDORAN_M,   $020,  $0c0
+SandslashCryHeader:   cry_header CRY_NIDORAN_M,   $0ff,  $17f
+NidoranFCryHeader:    cry_header CRY_NIDORAN_F,   $000,  $100
+NidorinaCryHeader:    cry_header CRY_NIDORAN_F,   $02c,  $160
+NidoqueenCryHeader:   cry_header CRY_NIDOQUEEN,   $000,  $100
+NidoranMCryHeader:    cry_header CRY_NIDORAN_M,   $000,  $100
+NidorinoCryHeader:    cry_header CRY_NIDORAN_M,   $02c,  $140
+NidokingCryHeader:    cry_header CRY_RAICHU,      $000,  $100
+ClefairyCryHeader:    cry_header CRY_CLEFAIRY,    $0cc,  $081
+ClefableCryHeader:    cry_header CRY_CLEFAIRY,    $0aa,  $0a0
+VulpixCryHeader:      cry_header CRY_VULPIX,      $04f,  $090
+NinetalesCryHeader:   cry_header CRY_VULPIX,      $088,  $0e0
+JigglypuffCryHeader:  cry_header CRY_PIDGEY,      $0ff,  $0b5
+WigglytuffCryHeader:  cry_header CRY_PIDGEY,      $068,  $0e0
+ZubatCryHeader:       cry_header CRY_SQUIRTLE,    $0e0,  $100
+GolbatCryHeader:      cry_header CRY_SQUIRTLE,    $0fa,  $100
+OddishCryHeader:      cry_header CRY_ODDISH,      $0dd,  $081
+GloomCryHeader:       cry_header CRY_ODDISH,      $0aa,  $0c0
+VileplumeCryHeader:   cry_header CRY_VILEPLUME,   $022,  $17f
+ParasCryHeader:       cry_header CRY_PARAS,       $020,  $160
+ParasectCryHeader:    cry_header CRY_PARAS,       $042,  $17f
+VenonatCryHeader:     cry_header CRY_VENONAT,     $044,  $0c0
+VenomothCryHeader:    cry_header CRY_VENONAT,     $029,  $100
+DiglettCryHeader:     cry_header CRY_DIGLETT,     $0aa,  $081
+DugtrioCryHeader:     cry_header CRY_DIGLETT,     $02a,  $090
+MeowthCryHeader:      cry_header CRY_CLEFAIRY,    $077,  $090
+PersianCryHeader:     cry_header CRY_CLEFAIRY,    $099,  $17f
+PsyduckCryHeader:     cry_header CRY_PSYDUCK,     $020,  $0e0
+GolduckCryHeader:     cry_header CRY_PSYDUCK,     $0ff,  $0c0
+MankeyCryHeader:      cry_header CRY_NIDOQUEEN,   $0dd,  $0e0
+PrimeapeCryHeader:    cry_header CRY_NIDOQUEEN,   $0af,  $0c0
+GrowlitheCryHeader:   cry_header CRY_GROWLITHE,   $020,  $0c0
+ArcanineCryHeader:    cry_header CRY_WEEDLE,      $000,  $100
+PoliwagCryHeader:     cry_header CRY_PIDGEY,      $0ff,  $17f
+PoliwhirlCryHeader:   cry_header CRY_PIDGEY,      $077,  $0e0
+PoliwrathCryHeader:   cry_header CRY_PIDGEY,      $000,  $17f
+AbraCryHeader:        cry_header CRY_METAPOD,     $0c0,  $081
+KadabraCryHeader:     cry_header CRY_METAPOD,     $0a8,  $140
+AlakazamCryHeader:    cry_header CRY_METAPOD,     $098,  $17f
+MachopCryHeader:      cry_header CRY_GROWLITHE,   $0ee,  $081
+MachokeCryHeader:     cry_header CRY_GROWLITHE,   $048,  $0e0
+MachampCryHeader:     cry_header CRY_GROWLITHE,   $008,  $140
+BellsproutCryHeader:  cry_header CRY_PSYDUCK,     $055,  $081
+WeepinbellCryHeader:  cry_header CRY_WEEPINBELL,  $044,  $0a0
+VictreebelCryHeader:  cry_header CRY_WEEPINBELL,  $066,  $14c
+TentacoolCryHeader:   cry_header CRY_VENONAT,     $000,  $100
+TentacruelCryHeader:  cry_header CRY_VENONAT,     $0ee,  $17f
+GeodudeCryHeader:     cry_header CRY_VULPIX,      $0f0,  $090
+GravelerCryHeader:    cry_header CRY_VULPIX,      $000,  $100
+GolemCryHeader:       cry_header CRY_GOLEM,       $0e0,  $0c0
+PonytaCryHeader:      cry_header CRY_WEEPINBELL,  $000,  $100
+RapidashCryHeader:    cry_header CRY_WEEPINBELL,  $020,  $140
+SlowpokeCryHeader:    cry_header CRY_SLOWPOKE,    $000,  $100
+SlowbroCryHeader:     cry_header CRY_GROWLITHE,   $000,  $100
+MagnemiteCryHeader:   cry_header CRY_METAPOD,     $080,  $0e0
+MagnetonCryHeader:    cry_header CRY_METAPOD,     $020,  $140
+FarfetchDCryHeader:   cry_header CRY_SPEAROW,     $0dd,  $081
+DoduoCryHeader:       cry_header CRY_DIGLETT,     $0bb,  $081
+DodrioCryHeader:      cry_header CRY_DIGLETT,     $099,  $0a0
+SeelCryHeader:        cry_header CRY_SEEL,        $088,  $140
+DewgongCryHeader:     cry_header CRY_SEEL,        $023,  $17f
+GrimerCryHeader:      cry_header CRY_GRIMER,      $000,  $100
+MukCryHeader:         cry_header CRY_MUK,         $0ef,  $17f
+ShellderCryHeader:    cry_header CRY_FEAROW,      $000,  $100
+CloysterCryHeader:    cry_header CRY_FEAROW,      $06f,  $160
+GastlyCryHeader:      cry_header CRY_METAPOD,     $000,  $100
+HaunterCryHeader:     cry_header CRY_METAPOD,     $030,  $0c0
+GengarCryHeader:      cry_header CRY_MUK,         $000,  $17f
+OnixCryHeader:        cry_header CRY_EKANS,       $0ff,  $140
+DrowzeeCryHeader:     cry_header CRY_DROWZEE,     $088,  $0a0
+HypnoCryHeader:       cry_header CRY_DROWZEE,     $0ee,  $0c0
+KrabbyCryHeader:      cry_header CRY_KRABBY,      $020,  $160
+KinglerCryHeader:     cry_header CRY_KRABBY,      $0ee,  $160
+VoltorbCryHeader:     cry_header CRY_VOLTORB,     $0ed,  $100
+ElectrodeCryHeader:   cry_header CRY_VOLTORB,     $0a8,  $110
+ExeggcuteCryHeader:   cry_header CRY_DIGLETT,     $000,  $100
+ExeggutorCryHeader:   cry_header CRY_DROWZEE,     $000,  $100
+CuboneCryHeader:      cry_header CRY_CLEFAIRY,    $000,  $100
+MarowakCryHeader:     cry_header CRY_ODDISH,      $04f,  $0e0
+HitmonleeCryHeader:   cry_header CRY_GOLEM,       $080,  $140
+HitmonchanCryHeader:  cry_header CRY_SEEL,        $0ee,  $140
+LickitungCryHeader:   cry_header CRY_SEEL,        $000,  $100
+KoffingCryHeader:     cry_header CRY_GOLEM,       $0e6,  $15d
+WeezingCryHeader:     cry_header CRY_GOLEM,       $0ff,  $17f
+RhyhornCryHeader:     cry_header CRY_CHARMANDER,  $000,  $100
+RhydonCryHeader:      cry_header CRY_RHYDON,      $000,  $100
+ChanseyCryHeader:     cry_header CRY_PIDGEOTTO,   $00a,  $140
+TangelaCryHeader:     cry_header CRY_GOLEM,       $000,  $100
+KangaskhanCryHeader:  cry_header CRY_KANGASKHAN,  $000,  $100
+HorseaCryHeader:      cry_header CRY_CLEFAIRY,    $099,  $090
+SeadraCryHeader:      cry_header CRY_CLEFAIRY,    $03c,  $081
+GoldeenCryHeader:     cry_header CRY_CATERPIE,    $080,  $0c0
+SeakingCryHeader:     cry_header CRY_CATERPIE,    $010,  $17f
+StaryuCryHeader:      cry_header CRY_PARAS,       $002,  $0a0
+StarmieCryHeader:     cry_header CRY_PARAS,       $000,  $100
+MrMimeCryHeader:      cry_header CRY_KRABBY,      $008,  $0c0
+ScytherCryHeader:     cry_header CRY_CATERPIE,    $000,  $100
+JynxCryHeader:        cry_header CRY_DROWZEE,     $0ff,  $17f
+ElectabuzzCryHeader:  cry_header CRY_VOLTORB,     $08f,  $17f
+MagmarCryHeader:      cry_header CRY_CHARMANDER,  $0ff,  $0b0
+PinsirCryHeader:      cry_header CRY_PIDGEOTTO,   $000,  $100
+TaurosCryHeader:      cry_header CRY_SQUIRTLE,    $011,  $0c0
+MagikarpCryHeader:    cry_header CRY_EKANS,       $080,  $080
+GyaradosCryHeader:    cry_header CRY_EKANS,       $000,  $100
+LaprasCryHeader:      cry_header CRY_LAPRAS,      $000,  $100
+DittoCryHeader:       cry_header CRY_PIDGEY,      $0ff,  $17f
+EeveeCryHeader:       cry_header CRY_VENONAT,     $088,  $0e0
+VaporeonCryHeader:    cry_header CRY_VENONAT,     $0aa,  $17f
+JolteonCryHeader:     cry_header CRY_VENONAT,     $03d,  $100
+FlareonCryHeader:     cry_header CRY_VENONAT,     $010,  $0a0
+PorygonCryHeader:     cry_header CRY_WEEPINBELL,  $0aa,  $17f
+OmanyteCryHeader:     cry_header CRY_GROWLITHE,   $0f0,  $081
+OmastarCryHeader:     cry_header CRY_GROWLITHE,   $0ff,  $0c0
+KabutoCryHeader:      cry_header CRY_CATERPIE,    $0bb,  $0c0
+KabutopsCryHeader:    cry_header CRY_FEAROW,      $0ee,  $081
+AerodactylCryHeader:  cry_header CRY_VILEPLUME,   $020,  $170
+SnorlaxCryHeader:     cry_header CRY_GRIMER,      $055,  $081
+ArticunoCryHeader:    cry_header CRY_RAICHU,      $080,  $0c0
+ZapdosCryHeader:      cry_header CRY_FEAROW,      $0ff,  $100
+MoltresCryHeader:     cry_header CRY_RAICHU,      $0f8,  $0c0
+DratiniCryHeader:     cry_header CRY_BULBASAUR,   $060,  $0c0
+DragonairCryHeader:   cry_header CRY_BULBASAUR,   $040,  $100
+DragoniteCryHeader:   cry_header CRY_BULBASAUR,   $03c,  $140
+MewtwoCryHeader:      cry_header CRY_PARAS,       $099,  $17f
+MewCryHeader:         cry_header CRY_PARAS,       $0ee,  $17f
+ChikoritaCryHeader:   cry_header CRY_CHIKORITA,  -$010,  $0b0
+BayleefCryHeader:     cry_header CRY_CHIKORITA,  -$022,  $120
+MeganiumCryHeader:    cry_header CRY_CHIKORITA,  -$0b7,  $200
+CyndaquilCryHeader:   cry_header CRY_CYNDAQUIL,   $347,  $080
+QuilavaCryHeader:     cry_header CRY_CYNDAQUIL,   $321,  $120
+TyphlosionCryHeader:  cry_header CRY_TYPHLOSION,  $f00,  $0d4
+TotodileCryHeader:    cry_header CRY_TOTODILE,    $46c,  $0e8
+CroconawCryHeader:    cry_header CRY_TOTODILE,    $440,  $110
+FeraligatrCryHeader:  cry_header CRY_TOTODILE,    $3fc,  $180
+SentretCryHeader:     cry_header CRY_SENTRET,     $08a,  $0b8
+FurretCryHeader:      cry_header CRY_SENTRET,     $06b,  $102
+HoothootCryHeader:    cry_header CRY_HOOTHOOT,    $091,  $0d8
+NoctowlCryHeader:     cry_header CRY_HOOTHOOT,    $000,  $1a0
+LedybaCryHeader:      cry_header CRY_LEDYBA,      $000,  $0de
+LedianCryHeader:      cry_header CRY_LEDYBA,     -$096,  $138
+SpinarakCryHeader:    cry_header CRY_SPINARAK,    $011,  $200
+AriadosCryHeader:     cry_header CRY_SPINARAK,   -$0ae,  $1e2
+CrobatCryHeader:      cry_header CRY_SQUIRTLE,   -$010,  $140
+ChinchouCryHeader:    cry_header CRY_CYNDAQUIL,   $3c9,  $140
+LanturnCryHeader:     cry_header CRY_CYNDAQUIL,   $2d0,  $110
+PichuCryHeader:       cry_header CRY_PICHU,       $000,  $140
+CleffaCryHeader:      cry_header CRY_CLEFFA,      $061,  $091
+IgglybuffCryHeader:   cry_header CRY_CHIKORITA,   $0e8,  $0e8
+TogepiCryHeader:      cry_header CRY_TOGEPI,      $010,  $100
+TogeticCryHeader:     cry_header CRY_TOGETIC,     $03b,  $038
+NatuCryHeader:        cry_header CRY_NATU,       -$067,  $100
+XatuCryHeader:        cry_header CRY_NATU,       -$0a7,  $168
+MareepCryHeader:      cry_header CRY_MAREEP,      $022,  $0d8
+FlaaffyCryHeader:     cry_header CRY_MAREEP,     -$007,  $180
+AmpharosCryHeader:    cry_header CRY_AMPHAROS,   -$07c,  $0e8
+BellossomCryHeader:   cry_header CRY_CLEFFA,      $084,  $150
+MarillCryHeader:      cry_header CRY_MARILL,      $11b,  $120
+AzumarillCryHeader:   cry_header CRY_MARILL,      $0b6,  $180
+SudowoodoCryHeader:   cry_header CRY_CLEFFA,      $f40,  $180
+PolitoedCryHeader:    cry_header CRY_CLEFFA,     -$2a3,  $1c8
+HoppipCryHeader:      cry_header CRY_CLEFFA,      $03b,  $0c8
+SkiploomCryHeader:    cry_header CRY_CLEFFA,      $027,  $138
+JumpluffCryHeader:    cry_header CRY_CLEFFA,      $000,  $180
+AipomCryHeader:       cry_header CRY_AIPOM,      -$051,  $0e8
+SunkernCryHeader:     cry_header CRY_MARILL,      $12b,  $0b8
+SunfloraCryHeader:    cry_header CRY_SUNFLORA,   -$020,  $180
+YanmaCryHeader:       cry_header CRY_TOTODILE,    $031,  $0c8
+WooperCryHeader:      cry_header CRY_WOOPER,      $093,  $0af
+QuagsireCryHeader:    cry_header CRY_WOOPER,     -$0c6,  $140
+EspeonCryHeader:      cry_header CRY_AIPOM,       $0a2,  $140
+UmbreonCryHeader:     cry_header CRY_VENONAT,    -$0e9,  $0f0
+MurkrowCryHeader:     cry_header CRY_MARILL,     -$01f,  $180
+SlowkingCryHeader:    cry_header CRY_SLOWKING,    $104,  $200
+MisdreavusCryHeader:  cry_header CRY_HOOTHOOT,    $130,  $0e8
+UnownCryHeader:       cry_header CRY_HOOTHOOT,    $162,  $100
+WobbuffetCryHeader:   cry_header CRY_AMPHAROS,    $27b,  $144
+GirafarigCryHeader:   cry_header CRY_GIRAFARIG,   $041,  $200
+PinecoCryHeader:      cry_header CRY_SLOWKING,    $080,  $100
+ForretressCryHeader:  cry_header CRY_SLOWKING,    $000,  $180
+DunsparceCryHeader:   cry_header CRY_DUNSPARCE,   $1c4,  $100
+GligarCryHeader:      cry_header CRY_GLIGAR,     -$102,  $100
+SteelixCryHeader:     cry_header CRY_TYPHLOSION,  $0ef,  $0f7
+SnubbullCryHeader:    cry_header CRY_DUNSPARCE,   $112,  $0e8
+GranbullCryHeader:    cry_header CRY_DUNSPARCE,   $000,  $180
+QwilfishCryHeader:    cry_header CRY_SLOWKING,    $160,  $0e0
+ScizorCryHeader:      cry_header CRY_AMPHAROS,    $000,  $160
+ShuckleCryHeader:     cry_header CRY_DUNSPARCE,   $290,  $0a8
+HeracrossCryHeader:   cry_header CRY_AMPHAROS,    $035,  $0e0
+SneaselCryHeader:     cry_header CRY_WOOPER,      $053,  $0af
+TeddiursaCryHeader:   cry_header CRY_TEDDIURSA,   $7a2,  $06e
+UrsaringCryHeader:    cry_header CRY_TEDDIURSA,   $640,  $0d8
+SlugmaCryHeader:      cry_header CRY_SLUGMA,     -$1d8,  $140
+MagcargoCryHeader:    cry_header CRY_MAGCARGO,   -$20d,  $1c0
+SwinubCryHeader:      cry_header CRY_CYNDAQUIL,   $1fe,  $140
+PiloswineCryHeader:   cry_header CRY_MAGCARGO,   -$109,  $100
+CorsolaCryHeader:     cry_header CRY_MAGCARGO,    $0a1,  $0e8
+RemoraidCryHeader:    cry_header CRY_SUNFLORA,    $00d,  $100
+OctilleryCryHeader:   cry_header CRY_TOTODILE,    $000,  $180
+DelibirdCryHeader:    cry_header CRY_TEDDIURSA,   $002,  $06a
+MantineCryHeader:     cry_header CRY_MANTINE,    -$0be,  $0f0
+SkarmoryCryHeader:    cry_header CRY_AMPHAROS,    $8a9,  $180
+HoundourCryHeader:    cry_header CRY_CYNDAQUIL,   $039,  $140
+HoundoomCryHeader:    cry_header CRY_TOTODILE,   -$10a,  $100
+KingdraCryHeader:     cry_header CRY_SLUGMA,      $2fb,  $100
+PhanpyCryHeader:      cry_header CRY_SENTRET,     $048,  $230
+DonphanCryHeader:     cry_header CRY_DONPHAN,     $000,  $1a0
+Porygon2CryHeader:    cry_header CRY_GIRAFARIG,   $073,  $240
+StantlerCryHeader:    cry_header CRY_AIPOM,      -$160,  $180
+SmeargleCryHeader:    cry_header CRY_PICHU,      -$21a,  $1f0
+TyrogueCryHeader:     cry_header CRY_AIPOM,       $02c,  $108
+HitmontopCryHeader:   cry_header CRY_SLUGMA,      $000,  $100
+SmoochumCryHeader:    cry_header CRY_MARILL,      $068,  $100
+ElekidCryHeader:      cry_header CRY_SUNFLORA,   -$2d8,  $0b4
+MagbyCryHeader:       cry_header CRY_TEDDIURSA,   $176,  $03a
+MiltankCryHeader:     cry_header CRY_GLIGAR,     -$1cd,  $1a0
+BlisseyCryHeader:     cry_header CRY_SLOWKING,    $293,  $140
+RaikouCryHeader:      cry_header CRY_RAIKOU,      $22e,  $120
+EnteiCryHeader:       cry_header CRY_ENTEI,       $000,  $1a0
+SuicuneCryHeader:     cry_header CRY_MAGCARGO,    $000,  $180
+LarvitarCryHeader:    cry_header CRY_RAIKOU,      $05f,  $0d0
+PupitarCryHeader:     cry_header CRY_SPINARAK,   -$1db,  $150
+TyranitarCryHeader:   cry_header CRY_RAIKOU,     -$100,  $180
+LugiaCryHeader:       cry_header CRY_TYPHLOSION,  $000,  $100
+HoOhCryHeader:        cry_header CRY_AIPOM,       $000,  $180
+CelebiCryHeader:      cry_header CRY_ENTEI,       $14a,  $111
+CryHeader252:         cry_header CRY_NIDORAN_M,      0,     0
+CryHeader253:         cry_header CRY_NIDORAN_M,      0,     0
+CryHeader254:         cry_header CRY_NIDORAN_M,      0,     0
+CryHeader255:         cry_header CRY_NIDORAN_M,      0,     0
+; f2d81
--- /dev/null
+++ b/data/pokemon/dex_entries.asm
@@ -1,0 +1,272 @@
+INCLUDE "includes.asm"
+
+
+SECTION "Pokedex Entries 001-064", ROMX
+
+PokedexEntries1::
+BulbasaurPokedexEntry::  INCLUDE "data/pokemon/dex_entries/bulbasaur.asm"
+IvysaurPokedexEntry::    INCLUDE "data/pokemon/dex_entries/ivysaur.asm"
+VenusaurPokedexEntry::   INCLUDE "data/pokemon/dex_entries/venusaur.asm"
+CharmanderPokedexEntry:: INCLUDE "data/pokemon/dex_entries/charmander.asm"
+CharmeleonPokedexEntry:: INCLUDE "data/pokemon/dex_entries/charmeleon.asm"
+CharizardPokedexEntry::  INCLUDE "data/pokemon/dex_entries/charizard.asm"
+SquirtlePokedexEntry::   INCLUDE "data/pokemon/dex_entries/squirtle.asm"
+WartortlePokedexEntry::  INCLUDE "data/pokemon/dex_entries/wartortle.asm"
+BlastoisePokedexEntry::  INCLUDE "data/pokemon/dex_entries/blastoise.asm"
+CaterpiePokedexEntry::   INCLUDE "data/pokemon/dex_entries/caterpie.asm"
+MetapodPokedexEntry::    INCLUDE "data/pokemon/dex_entries/metapod.asm"
+ButterfreePokedexEntry:: INCLUDE "data/pokemon/dex_entries/butterfree.asm"
+WeedlePokedexEntry::     INCLUDE "data/pokemon/dex_entries/weedle.asm"
+KakunaPokedexEntry::     INCLUDE "data/pokemon/dex_entries/kakuna.asm"
+BeedrillPokedexEntry::   INCLUDE "data/pokemon/dex_entries/beedrill.asm"
+PidgeyPokedexEntry::     INCLUDE "data/pokemon/dex_entries/pidgey.asm"
+PidgeottoPokedexEntry::  INCLUDE "data/pokemon/dex_entries/pidgeotto.asm"
+PidgeotPokedexEntry::    INCLUDE "data/pokemon/dex_entries/pidgeot.asm"
+RattataPokedexEntry::    INCLUDE "data/pokemon/dex_entries/rattata.asm"
+RaticatePokedexEntry::   INCLUDE "data/pokemon/dex_entries/raticate.asm"
+SpearowPokedexEntry::    INCLUDE "data/pokemon/dex_entries/spearow.asm"
+FearowPokedexEntry::     INCLUDE "data/pokemon/dex_entries/fearow.asm"
+EkansPokedexEntry::      INCLUDE "data/pokemon/dex_entries/ekans.asm"
+ArbokPokedexEntry::      INCLUDE "data/pokemon/dex_entries/arbok.asm"
+PikachuPokedexEntry::    INCLUDE "data/pokemon/dex_entries/pikachu.asm"
+RaichuPokedexEntry::     INCLUDE "data/pokemon/dex_entries/raichu.asm"
+SandshrewPokedexEntry::  INCLUDE "data/pokemon/dex_entries/sandshrew.asm"
+SandslashPokedexEntry::  INCLUDE "data/pokemon/dex_entries/sandslash.asm"
+NidoranFPokedexEntry::   INCLUDE "data/pokemon/dex_entries/nidoran_f.asm"
+NidorinaPokedexEntry::   INCLUDE "data/pokemon/dex_entries/nidorina.asm"
+NidoqueenPokedexEntry::  INCLUDE "data/pokemon/dex_entries/nidoqueen.asm"
+NidoranMPokedexEntry::   INCLUDE "data/pokemon/dex_entries/nidoran_m.asm"
+NidorinoPokedexEntry::   INCLUDE "data/pokemon/dex_entries/nidorino.asm"
+NidokingPokedexEntry::   INCLUDE "data/pokemon/dex_entries/nidoking.asm"
+ClefairyPokedexEntry::   INCLUDE "data/pokemon/dex_entries/clefairy.asm"
+ClefablePokedexEntry::   INCLUDE "data/pokemon/dex_entries/clefable.asm"
+VulpixPokedexEntry::     INCLUDE "data/pokemon/dex_entries/vulpix.asm"
+NinetalesPokedexEntry::  INCLUDE "data/pokemon/dex_entries/ninetales.asm"
+JigglypuffPokedexEntry:: INCLUDE "data/pokemon/dex_entries/jigglypuff.asm"
+WigglytuffPokedexEntry:: INCLUDE "data/pokemon/dex_entries/wigglytuff.asm"
+ZubatPokedexEntry::      INCLUDE "data/pokemon/dex_entries/zubat.asm"
+GolbatPokedexEntry::     INCLUDE "data/pokemon/dex_entries/golbat.asm"
+OddishPokedexEntry::     INCLUDE "data/pokemon/dex_entries/oddish.asm"
+GloomPokedexEntry::      INCLUDE "data/pokemon/dex_entries/gloom.asm"
+VileplumePokedexEntry::  INCLUDE "data/pokemon/dex_entries/vileplume.asm"
+ParasPokedexEntry::      INCLUDE "data/pokemon/dex_entries/paras.asm"
+ParasectPokedexEntry::   INCLUDE "data/pokemon/dex_entries/parasect.asm"
+VenonatPokedexEntry::    INCLUDE "data/pokemon/dex_entries/venonat.asm"
+VenomothPokedexEntry::   INCLUDE "data/pokemon/dex_entries/venomoth.asm"
+DiglettPokedexEntry::    INCLUDE "data/pokemon/dex_entries/diglett.asm"
+DugtrioPokedexEntry::    INCLUDE "data/pokemon/dex_entries/dugtrio.asm"
+MeowthPokedexEntry::     INCLUDE "data/pokemon/dex_entries/meowth.asm"
+PersianPokedexEntry::    INCLUDE "data/pokemon/dex_entries/persian.asm"
+PsyduckPokedexEntry::    INCLUDE "data/pokemon/dex_entries/psyduck.asm"
+GolduckPokedexEntry::    INCLUDE "data/pokemon/dex_entries/golduck.asm"
+MankeyPokedexEntry::     INCLUDE "data/pokemon/dex_entries/mankey.asm"
+PrimeapePokedexEntry::   INCLUDE "data/pokemon/dex_entries/primeape.asm"
+GrowlithePokedexEntry::  INCLUDE "data/pokemon/dex_entries/growlithe.asm"
+ArcaninePokedexEntry::   INCLUDE "data/pokemon/dex_entries/arcanine.asm"
+PoliwagPokedexEntry::    INCLUDE "data/pokemon/dex_entries/poliwag.asm"
+PoliwhirlPokedexEntry::  INCLUDE "data/pokemon/dex_entries/poliwhirl.asm"
+PoliwrathPokedexEntry::  INCLUDE "data/pokemon/dex_entries/poliwrath.asm"
+AbraPokedexEntry::       INCLUDE "data/pokemon/dex_entries/abra.asm"
+KadabraPokedexEntry::    INCLUDE "data/pokemon/dex_entries/kadabra.asm"
+
+
+SECTION "Pokedex Entries 065-128", ROMX
+
+PokedexEntries2::
+AlakazamPokedexEntry::   INCLUDE "data/pokemon/dex_entries/alakazam.asm"
+MachopPokedexEntry::     INCLUDE "data/pokemon/dex_entries/machop.asm"
+MachokePokedexEntry::    INCLUDE "data/pokemon/dex_entries/machoke.asm"
+MachampPokedexEntry::    INCLUDE "data/pokemon/dex_entries/machamp.asm"
+BellsproutPokedexEntry:: INCLUDE "data/pokemon/dex_entries/bellsprout.asm"
+WeepinbellPokedexEntry:: INCLUDE "data/pokemon/dex_entries/weepinbell.asm"
+VictreebelPokedexEntry:: INCLUDE "data/pokemon/dex_entries/victreebel.asm"
+TentacoolPokedexEntry::  INCLUDE "data/pokemon/dex_entries/tentacool.asm"
+TentacruelPokedexEntry:: INCLUDE "data/pokemon/dex_entries/tentacruel.asm"
+GeodudePokedexEntry::    INCLUDE "data/pokemon/dex_entries/geodude.asm"
+GravelerPokedexEntry::   INCLUDE "data/pokemon/dex_entries/graveler.asm"
+GolemPokedexEntry::      INCLUDE "data/pokemon/dex_entries/golem.asm"
+PonytaPokedexEntry::     INCLUDE "data/pokemon/dex_entries/ponyta.asm"
+RapidashPokedexEntry::   INCLUDE "data/pokemon/dex_entries/rapidash.asm"
+SlowpokePokedexEntry::   INCLUDE "data/pokemon/dex_entries/slowpoke.asm"
+SlowbroPokedexEntry::    INCLUDE "data/pokemon/dex_entries/slowbro.asm"
+MagnemitePokedexEntry::  INCLUDE "data/pokemon/dex_entries/magnemite.asm"
+MagnetonPokedexEntry::   INCLUDE "data/pokemon/dex_entries/magneton.asm"
+FarfetchDPokedexEntry::  INCLUDE "data/pokemon/dex_entries/farfetch_d.asm"
+DoduoPokedexEntry::      INCLUDE "data/pokemon/dex_entries/doduo.asm"
+DodrioPokedexEntry::     INCLUDE "data/pokemon/dex_entries/dodrio.asm"
+SeelPokedexEntry::       INCLUDE "data/pokemon/dex_entries/seel.asm"
+DewgongPokedexEntry::    INCLUDE "data/pokemon/dex_entries/dewgong.asm"
+GrimerPokedexEntry::     INCLUDE "data/pokemon/dex_entries/grimer.asm"
+MukPokedexEntry::        INCLUDE "data/pokemon/dex_entries/muk.asm"
+ShellderPokedexEntry::   INCLUDE "data/pokemon/dex_entries/shellder.asm"
+CloysterPokedexEntry::   INCLUDE "data/pokemon/dex_entries/cloyster.asm"
+GastlyPokedexEntry::     INCLUDE "data/pokemon/dex_entries/gastly.asm"
+HaunterPokedexEntry::    INCLUDE "data/pokemon/dex_entries/haunter.asm"
+GengarPokedexEntry::     INCLUDE "data/pokemon/dex_entries/gengar.asm"
+OnixPokedexEntry::       INCLUDE "data/pokemon/dex_entries/onix.asm"
+DrowzeePokedexEntry::    INCLUDE "data/pokemon/dex_entries/drowzee.asm"
+HypnoPokedexEntry::      INCLUDE "data/pokemon/dex_entries/hypno.asm"
+KrabbyPokedexEntry::     INCLUDE "data/pokemon/dex_entries/krabby.asm"
+KinglerPokedexEntry::    INCLUDE "data/pokemon/dex_entries/kingler.asm"
+VoltorbPokedexEntry::    INCLUDE "data/pokemon/dex_entries/voltorb.asm"
+ElectrodePokedexEntry::  INCLUDE "data/pokemon/dex_entries/electrode.asm"
+ExeggcutePokedexEntry::  INCLUDE "data/pokemon/dex_entries/exeggcute.asm"
+ExeggutorPokedexEntry::  INCLUDE "data/pokemon/dex_entries/exeggutor.asm"
+CubonePokedexEntry::     INCLUDE "data/pokemon/dex_entries/cubone.asm"
+MarowakPokedexEntry::    INCLUDE "data/pokemon/dex_entries/marowak.asm"
+HitmonleePokedexEntry::  INCLUDE "data/pokemon/dex_entries/hitmonlee.asm"
+HitmonchanPokedexEntry:: INCLUDE "data/pokemon/dex_entries/hitmonchan.asm"
+LickitungPokedexEntry::  INCLUDE "data/pokemon/dex_entries/lickitung.asm"
+KoffingPokedexEntry::    INCLUDE "data/pokemon/dex_entries/koffing.asm"
+WeezingPokedexEntry::    INCLUDE "data/pokemon/dex_entries/weezing.asm"
+RhyhornPokedexEntry::    INCLUDE "data/pokemon/dex_entries/rhyhorn.asm"
+RhydonPokedexEntry::     INCLUDE "data/pokemon/dex_entries/rhydon.asm"
+ChanseyPokedexEntry::    INCLUDE "data/pokemon/dex_entries/chansey.asm"
+TangelaPokedexEntry::    INCLUDE "data/pokemon/dex_entries/tangela.asm"
+KangaskhanPokedexEntry:: INCLUDE "data/pokemon/dex_entries/kangaskhan.asm"
+HorseaPokedexEntry::     INCLUDE "data/pokemon/dex_entries/horsea.asm"
+SeadraPokedexEntry::     INCLUDE "data/pokemon/dex_entries/seadra.asm"
+GoldeenPokedexEntry::    INCLUDE "data/pokemon/dex_entries/goldeen.asm"
+SeakingPokedexEntry::    INCLUDE "data/pokemon/dex_entries/seaking.asm"
+StaryuPokedexEntry::     INCLUDE "data/pokemon/dex_entries/staryu.asm"
+StarmiePokedexEntry::    INCLUDE "data/pokemon/dex_entries/starmie.asm"
+MrMimePokedexEntry::     INCLUDE "data/pokemon/dex_entries/mr__mime.asm"
+ScytherPokedexEntry::    INCLUDE "data/pokemon/dex_entries/scyther.asm"
+JynxPokedexEntry::       INCLUDE "data/pokemon/dex_entries/jynx.asm"
+ElectabuzzPokedexEntry:: INCLUDE "data/pokemon/dex_entries/electabuzz.asm"
+MagmarPokedexEntry::     INCLUDE "data/pokemon/dex_entries/magmar.asm"
+PinsirPokedexEntry::     INCLUDE "data/pokemon/dex_entries/pinsir.asm"
+TaurosPokedexEntry::     INCLUDE "data/pokemon/dex_entries/tauros.asm"
+
+
+SECTION "Pokedex Entries 129-192", ROMX
+
+PokedexEntries3::
+MagikarpPokedexEntry::   INCLUDE "data/pokemon/dex_entries/magikarp.asm"
+GyaradosPokedexEntry::   INCLUDE "data/pokemon/dex_entries/gyarados.asm"
+LaprasPokedexEntry::     INCLUDE "data/pokemon/dex_entries/lapras.asm"
+DittoPokedexEntry::      INCLUDE "data/pokemon/dex_entries/ditto.asm"
+EeveePokedexEntry::      INCLUDE "data/pokemon/dex_entries/eevee.asm"
+VaporeonPokedexEntry::   INCLUDE "data/pokemon/dex_entries/vaporeon.asm"
+JolteonPokedexEntry::    INCLUDE "data/pokemon/dex_entries/jolteon.asm"
+FlareonPokedexEntry::    INCLUDE "data/pokemon/dex_entries/flareon.asm"
+PorygonPokedexEntry::    INCLUDE "data/pokemon/dex_entries/porygon.asm"
+OmanytePokedexEntry::    INCLUDE "data/pokemon/dex_entries/omanyte.asm"
+OmastarPokedexEntry::    INCLUDE "data/pokemon/dex_entries/omastar.asm"
+KabutoPokedexEntry::     INCLUDE "data/pokemon/dex_entries/kabuto.asm"
+KabutopsPokedexEntry::   INCLUDE "data/pokemon/dex_entries/kabutops.asm"
+AerodactylPokedexEntry:: INCLUDE "data/pokemon/dex_entries/aerodactyl.asm"
+SnorlaxPokedexEntry::    INCLUDE "data/pokemon/dex_entries/snorlax.asm"
+ArticunoPokedexEntry::   INCLUDE "data/pokemon/dex_entries/articuno.asm"
+ZapdosPokedexEntry::     INCLUDE "data/pokemon/dex_entries/zapdos.asm"
+MoltresPokedexEntry::    INCLUDE "data/pokemon/dex_entries/moltres.asm"
+DratiniPokedexEntry::    INCLUDE "data/pokemon/dex_entries/dratini.asm"
+DragonairPokedexEntry::  INCLUDE "data/pokemon/dex_entries/dragonair.asm"
+DragonitePokedexEntry::  INCLUDE "data/pokemon/dex_entries/dragonite.asm"
+MewtwoPokedexEntry::     INCLUDE "data/pokemon/dex_entries/mewtwo.asm"
+MewPokedexEntry::        INCLUDE "data/pokemon/dex_entries/mew.asm"
+ChikoritaPokedexEntry::  INCLUDE "data/pokemon/dex_entries/chikorita.asm"
+BayleefPokedexEntry::    INCLUDE "data/pokemon/dex_entries/bayleef.asm"
+MeganiumPokedexEntry::   INCLUDE "data/pokemon/dex_entries/meganium.asm"
+CyndaquilPokedexEntry::  INCLUDE "data/pokemon/dex_entries/cyndaquil.asm"
+QuilavaPokedexEntry::    INCLUDE "data/pokemon/dex_entries/quilava.asm"
+TyphlosionPokedexEntry:: INCLUDE "data/pokemon/dex_entries/typhlosion.asm"
+TotodilePokedexEntry::   INCLUDE "data/pokemon/dex_entries/totodile.asm"
+CroconawPokedexEntry::   INCLUDE "data/pokemon/dex_entries/croconaw.asm"
+FeraligatrPokedexEntry:: INCLUDE "data/pokemon/dex_entries/feraligatr.asm"
+SentretPokedexEntry::    INCLUDE "data/pokemon/dex_entries/sentret.asm"
+FurretPokedexEntry::     INCLUDE "data/pokemon/dex_entries/furret.asm"
+HoothootPokedexEntry::   INCLUDE "data/pokemon/dex_entries/hoothoot.asm"
+NoctowlPokedexEntry::    INCLUDE "data/pokemon/dex_entries/noctowl.asm"
+LedybaPokedexEntry::     INCLUDE "data/pokemon/dex_entries/ledyba.asm"
+LedianPokedexEntry::     INCLUDE "data/pokemon/dex_entries/ledian.asm"
+SpinarakPokedexEntry::   INCLUDE "data/pokemon/dex_entries/spinarak.asm"
+AriadosPokedexEntry::    INCLUDE "data/pokemon/dex_entries/ariados.asm"
+CrobatPokedexEntry::     INCLUDE "data/pokemon/dex_entries/crobat.asm"
+ChinchouPokedexEntry::   INCLUDE "data/pokemon/dex_entries/chinchou.asm"
+LanturnPokedexEntry::    INCLUDE "data/pokemon/dex_entries/lanturn.asm"
+PichuPokedexEntry::      INCLUDE "data/pokemon/dex_entries/pichu.asm"
+CleffaPokedexEntry::     INCLUDE "data/pokemon/dex_entries/cleffa.asm"
+IgglybuffPokedexEntry::  INCLUDE "data/pokemon/dex_entries/igglybuff.asm"
+TogepiPokedexEntry::     INCLUDE "data/pokemon/dex_entries/togepi.asm"
+TogeticPokedexEntry::    INCLUDE "data/pokemon/dex_entries/togetic.asm"
+NatuPokedexEntry::       INCLUDE "data/pokemon/dex_entries/natu.asm"
+XatuPokedexEntry::       INCLUDE "data/pokemon/dex_entries/xatu.asm"
+MareepPokedexEntry::     INCLUDE "data/pokemon/dex_entries/mareep.asm"
+FlaaffyPokedexEntry::    INCLUDE "data/pokemon/dex_entries/flaaffy.asm"
+AmpharosPokedexEntry::   INCLUDE "data/pokemon/dex_entries/ampharos.asm"
+BellossomPokedexEntry::  INCLUDE "data/pokemon/dex_entries/bellossom.asm"
+MarillPokedexEntry::     INCLUDE "data/pokemon/dex_entries/marill.asm"
+AzumarillPokedexEntry::  INCLUDE "data/pokemon/dex_entries/azumarill.asm"
+SudowoodoPokedexEntry::  INCLUDE "data/pokemon/dex_entries/sudowoodo.asm"
+PolitoedPokedexEntry::   INCLUDE "data/pokemon/dex_entries/politoed.asm"
+HoppipPokedexEntry::     INCLUDE "data/pokemon/dex_entries/hoppip.asm"
+SkiploomPokedexEntry::   INCLUDE "data/pokemon/dex_entries/skiploom.asm"
+JumpluffPokedexEntry::   INCLUDE "data/pokemon/dex_entries/jumpluff.asm"
+AipomPokedexEntry::      INCLUDE "data/pokemon/dex_entries/aipom.asm"
+SunkernPokedexEntry::    INCLUDE "data/pokemon/dex_entries/sunkern.asm"
+SunfloraPokedexEntry::   INCLUDE "data/pokemon/dex_entries/sunflora.asm"
+
+
+SECTION "Pokedex Entries 193-251", ROMX
+
+PokedexEntries4::
+YanmaPokedexEntry::      INCLUDE "data/pokemon/dex_entries/yanma.asm"
+WooperPokedexEntry::     INCLUDE "data/pokemon/dex_entries/wooper.asm"
+QuagsirePokedexEntry::   INCLUDE "data/pokemon/dex_entries/quagsire.asm"
+EspeonPokedexEntry::     INCLUDE "data/pokemon/dex_entries/espeon.asm"
+UmbreonPokedexEntry::    INCLUDE "data/pokemon/dex_entries/umbreon.asm"
+MurkrowPokedexEntry::    INCLUDE "data/pokemon/dex_entries/murkrow.asm"
+SlowkingPokedexEntry::   INCLUDE "data/pokemon/dex_entries/slowking.asm"
+MisdreavusPokedexEntry:: INCLUDE "data/pokemon/dex_entries/misdreavus.asm"
+UnownPokedexEntry::      INCLUDE "data/pokemon/dex_entries/unown.asm"
+WobbuffetPokedexEntry::  INCLUDE "data/pokemon/dex_entries/wobbuffet.asm"
+GirafarigPokedexEntry::  INCLUDE "data/pokemon/dex_entries/girafarig.asm"
+PinecoPokedexEntry::     INCLUDE "data/pokemon/dex_entries/pineco.asm"
+ForretressPokedexEntry:: INCLUDE "data/pokemon/dex_entries/forretress.asm"
+DunsparcePokedexEntry::  INCLUDE "data/pokemon/dex_entries/dunsparce.asm"
+GligarPokedexEntry::     INCLUDE "data/pokemon/dex_entries/gligar.asm"
+SteelixPokedexEntry::    INCLUDE "data/pokemon/dex_entries/steelix.asm"
+SnubbullPokedexEntry::   INCLUDE "data/pokemon/dex_entries/snubbull.asm"
+GranbullPokedexEntry::   INCLUDE "data/pokemon/dex_entries/granbull.asm"
+QwilfishPokedexEntry::   INCLUDE "data/pokemon/dex_entries/qwilfish.asm"
+ScizorPokedexEntry::     INCLUDE "data/pokemon/dex_entries/scizor.asm"
+ShucklePokedexEntry::    INCLUDE "data/pokemon/dex_entries/shuckle.asm"
+HeracrossPokedexEntry::  INCLUDE "data/pokemon/dex_entries/heracross.asm"
+SneaselPokedexEntry::    INCLUDE "data/pokemon/dex_entries/sneasel.asm"
+TeddiursaPokedexEntry::  INCLUDE "data/pokemon/dex_entries/teddiursa.asm"
+UrsaringPokedexEntry::   INCLUDE "data/pokemon/dex_entries/ursaring.asm"
+SlugmaPokedexEntry::     INCLUDE "data/pokemon/dex_entries/slugma.asm"
+MagcargoPokedexEntry::   INCLUDE "data/pokemon/dex_entries/magcargo.asm"
+SwinubPokedexEntry::     INCLUDE "data/pokemon/dex_entries/swinub.asm"
+PiloswinePokedexEntry::  INCLUDE "data/pokemon/dex_entries/piloswine.asm"
+CorsolaPokedexEntry::    INCLUDE "data/pokemon/dex_entries/corsola.asm"
+RemoraidPokedexEntry::   INCLUDE "data/pokemon/dex_entries/remoraid.asm"
+OctilleryPokedexEntry::  INCLUDE "data/pokemon/dex_entries/octillery.asm"
+DelibirdPokedexEntry::   INCLUDE "data/pokemon/dex_entries/delibird.asm"
+MantinePokedexEntry::    INCLUDE "data/pokemon/dex_entries/mantine.asm"
+SkarmoryPokedexEntry::   INCLUDE "data/pokemon/dex_entries/skarmory.asm"
+HoundourPokedexEntry::   INCLUDE "data/pokemon/dex_entries/houndour.asm"
+HoundoomPokedexEntry::   INCLUDE "data/pokemon/dex_entries/houndoom.asm"
+KingdraPokedexEntry::    INCLUDE "data/pokemon/dex_entries/kingdra.asm"
+PhanpyPokedexEntry::     INCLUDE "data/pokemon/dex_entries/phanpy.asm"
+DonphanPokedexEntry::    INCLUDE "data/pokemon/dex_entries/donphan.asm"
+Porygon2PokedexEntry::   INCLUDE "data/pokemon/dex_entries/porygon2.asm"
+StantlerPokedexEntry::   INCLUDE "data/pokemon/dex_entries/stantler.asm"
+SmearglePokedexEntry::   INCLUDE "data/pokemon/dex_entries/smeargle.asm"
+TyroguePokedexEntry::    INCLUDE "data/pokemon/dex_entries/tyrogue.asm"
+HitmontopPokedexEntry::  INCLUDE "data/pokemon/dex_entries/hitmontop.asm"
+SmoochumPokedexEntry::   INCLUDE "data/pokemon/dex_entries/smoochum.asm"
+ElekidPokedexEntry::     INCLUDE "data/pokemon/dex_entries/elekid.asm"
+MagbyPokedexEntry::      INCLUDE "data/pokemon/dex_entries/magby.asm"
+MiltankPokedexEntry::    INCLUDE "data/pokemon/dex_entries/miltank.asm"
+BlisseyPokedexEntry::    INCLUDE "data/pokemon/dex_entries/blissey.asm"
+RaikouPokedexEntry::     INCLUDE "data/pokemon/dex_entries/raikou.asm"
+EnteiPokedexEntry::      INCLUDE "data/pokemon/dex_entries/entei.asm"
+SuicunePokedexEntry::    INCLUDE "data/pokemon/dex_entries/suicune.asm"
+LarvitarPokedexEntry::   INCLUDE "data/pokemon/dex_entries/larvitar.asm"
+PupitarPokedexEntry::    INCLUDE "data/pokemon/dex_entries/pupitar.asm"
+TyranitarPokedexEntry::  INCLUDE "data/pokemon/dex_entries/tyranitar.asm"
+LugiaPokedexEntry::      INCLUDE "data/pokemon/dex_entries/lugia.asm"
+HoOhPokedexEntry::       INCLUDE "data/pokemon/dex_entries/ho_oh.asm"
+CelebiPokedexEntry::     INCLUDE "data/pokemon/dex_entries/celebi.asm"
--- /dev/null
+++ b/data/pokemon/dex_entries/abra.asm
@@ -1,0 +1,10 @@
+; AbraPokedexEntry: ; 0x1830d5
+	db "PSI@" ; species name
+	dw 211, 430 ; height, weight
+
+	db   "It hypnotizes"
+	next "itself so that it"
+	next "can teleport away"
+	page "when it senses"
+	next "danger, even"
+	next "if it is asleep.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/aerodactyl.asm
@@ -1,0 +1,10 @@
+; AerodactylPokedexEntry: ; 0x1cc576
+	db "FOSSIL@" ; species name
+	dw 511, 1300 ; height, weight
+
+	db   "In prehistoric"
+	next "times, this"
+	next "#MON flew"
+	page "freely and"
+	next "fearlessly through"
+	next "the skies.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/aipom.asm
@@ -1,0 +1,10 @@
+; AipomPokedexEntry: ; 0x1cda11
+	db "LONG TAIL@" ; species name
+	dw 207, 250 ; height, weight
+
+	db   "It uses its tail"
+	next "to hang on to tree"
+	next "branches. It uses"
+	page "its momentum to"
+	next "swing from one"
+	next "branch to another.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/alakazam.asm
@@ -1,0 +1,10 @@
+; AlakazamPokedexEntry: ; 0x1b8000
+	db "PSI@" ; species name
+	dw 411, 1060 ; height, weight
+
+	db   "It has an IQ of"
+	next "5000. It calcu-"
+	next "lates many things"
+	page "in order to gain"
+	next "the edge in every"
+	next "battle.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/ampharos.asm
@@ -1,0 +1,10 @@
+; AmpharosPokedexEntry: ; 0x1cd626
+	db "LIGHT@" ; species name
+	dw 407, 1360 ; height, weight
+
+	db   "When it gets dark,"
+	next "the light from its"
+	next "bright, shiny tail"
+	page "can be seen from"
+	next "far away on the"
+	next "ocean's surface.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/arbok.asm
@@ -1,0 +1,10 @@
+; ArbokPokedexEntry: ; 0x18203d
+	db "COBRA@" ; species name
+	dw 1106, 1430 ; height, weight
+
+	db   "To intimidate"
+	next "foes, it spreads"
+	next "its chest wide and"
+	page "makes eerie sounds"
+	next "by expelling air"
+	next "from its mouth.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/arcanine.asm
@@ -1,0 +1,10 @@
+; ArcaninePokedexEntry: ; 0x182f1c
+	db "LEGENDARY@" ; species name
+	dw 603, 3420 ; height, weight
+
+	db   "An ancient picture"
+	next "scroll shows that"
+	next "people were"
+	page "attracted to its"
+	next "movement as it ran"
+	next "through prairies.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/ariados.asm
@@ -1,0 +1,10 @@
+; AriadosPokedexEntry: ; 0x1cd083
+	db "LONG LEG@" ; species name
+	dw 307, 740 ; height, weight
+
+	db   "Rather than mak-"
+	next "ing a nest in one"
+	next "specific spot, it"
+	page "wanders in search"
+	next "of food after"
+	next "darkness falls.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/articuno.asm
@@ -1,0 +1,10 @@
+; ArticunoPokedexEntry: ; 0x1cc632
+	db "FREEZE@" ; species name
+	dw 507, 1220 ; height, weight
+
+	db   "Legendary bird"
+	next "#MON. As it"
+	next "flies through the"
+	page "sky, it cools the"
+	next "air, causing snow"
+	next "to fall.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/azumarill.asm
@@ -1,0 +1,10 @@
+; AzumarillPokedexEntry: ; 0x1cd771
+	db "AQUARABBIT@" ; species name
+	dw 207, 630 ; height, weight
+
+	db   "The bubble-like"
+	next "pattern on its"
+	next "stomach helps it"
+	page "camouflage itself"
+	next "when it's in the"
+	next "water.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/bayleef.asm
@@ -1,0 +1,10 @@
+; BayleefPokedexEntry: ; 0x1cc9e9
+	db "LEAF@" ; species name
+	dw 311, 350 ; height, weight
+
+	db   "The scent that"
+	next "wafts from the"
+	next "leaves on its neck"
+	page "causes anyone who"
+	next "smells it to"
+	next "become energetic.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/beedrill.asm
@@ -1,0 +1,10 @@
+; BeedrillPokedexEntry: ; 0x181c8a
+	db "POISON BEE@" ; species name
+	dw 303, 650 ; height, weight
+
+	db   "It uses sharp,"
+	next "poisonous stings"
+	next "to defeat prey,"
+	page "then takes the"
+	next "victim back to its"
+	next "nest for food.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/bellossom.asm
@@ -1,0 +1,10 @@
+; BellossomPokedexEntry: ; 0x1cd69a
+	db "FLOWER@" ; species name
+	dw 104, 130 ; height, weight
+
+	db   "When these dance"
+	next "together, their"
+	next "petals rub against"
+	page "each other,"
+	next "making pretty,"
+	next "relaxing sounds.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/bellsprout.asm
@@ -1,0 +1,10 @@
+; BellsproutPokedexEntry: ; 0x1b81a1
+	db "FLOWER@" ; species name
+	dw 204, 90 ; height, weight
+
+	db   "If it notices"
+	next "anything that"
+	next "moves, it"
+	page "immediately flings"
+	next "its vine at the"
+	next "object.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/blastoise.asm
@@ -1,0 +1,10 @@
+; BlastoisePokedexEntry: ; 0x1819f9
+	db "SHELLFISH@" ; species name
+	dw 503, 1890 ; height, weight
+
+	db   "It firmly plants"
+	next "its feet on the"
+	next "ground before"
+	page "shooting water"
+	next "from the jets on"
+	next "its back.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/blissey.asm
@@ -1,0 +1,10 @@
+; BlisseyPokedexEntry: ; 0x1d14f7
+	db "HAPPINESS@" ; species name
+	dw 411, 1030 ; height, weight
+
+	db   "Biting into one"
+	next "of the delicious"
+	next "eggs that BLISSEY"
+	page "provides will make"
+	next "everyone around"
+	next "smile with joy.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/bulbasaur.asm
@@ -1,0 +1,10 @@
+; BulbasaurPokedexEntry: ; 0x181695
+	db "SEED@" ; species name
+	dw 204, 150 ; height, weight
+
+	db   "While it is young,"
+	next "it uses the"
+	next "nutrients that are"
+	page "stored in the"
+	next "seeds on its back"
+	next "in order to grow.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/butterfree.asm
@@ -1,0 +1,10 @@
+; ButterfreePokedexEntry: ; 0x181b45
+	db "BUTTERFLY@" ; species name
+	dw 307, 710 ; height, weight
+
+	db   "It flits from"
+	next "flower to flower,"
+	next "collecting honey."
+	page "It can even"
+	next "identify distant"
+	next "flowers in bloom.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/caterpie.asm
@@ -1,0 +1,10 @@
+; CaterpiePokedexEntry: ; 0x181a60
+	db "WORM@" ; species name
+	dw 100, 60 ; height, weight
+
+	db   "It crawls into"
+	next "foliage where it"
+	next "camouflages itself"
+	page "among leaves that"
+	next "are the same color"
+	next "as its body.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/celebi.asm
@@ -1,0 +1,10 @@
+; CelebiPokedexEntry: ; 0x1d18cc
+	db "TIMETRAVEL@" ; species name
+	dw 200, 110 ; height, weight
+
+	db   "Revered as a"
+	next "guardian of the"
+	next "forest, CELEBI"
+	page "appears wherever"
+	next "beautiful forests"
+	next "exist.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/chansey.asm
@@ -1,0 +1,10 @@
+; ChanseyPokedexEntry: ; 0x1b942e
+	db "EGG@" ; species name
+	dw 307, 760 ; height, weight
+
+	db   "People try to"
+	next "catch it for its"
+	next "extremely"
+	page "nutritious eggs,"
+	next "but it rarely can"
+	next "be found.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/charizard.asm
@@ -1,0 +1,10 @@
+; CharizardPokedexEntry: ; 0x1818b3
+	db "FLAME@" ; species name
+	dw 507, 2000 ; height, weight
+
+	db   "It uses its wings"
+	next "to fly high. The"
+	next "temperature of its"
+	page "fire increases as"
+	next "it gains exper-"
+	next "ience in battle.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/charmander.asm
@@ -1,0 +1,10 @@
+; CharmanderPokedexEntry: ; 0x1817db
+	db "LIZARD@" ; species name
+	dw 200, 190 ; height, weight
+
+	db   "If it's healthy,"
+	next "the flame on the"
+	next "tip of its tail"
+	page "will burn vigor-"
+	next "ously, even if it"
+	next "gets a bit wet.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/charmeleon.asm
@@ -1,0 +1,10 @@
+; CharmeleonPokedexEntry: ; 0x18184a
+	db "FLAME@" ; species name
+	dw 307, 420 ; height, weight
+
+	db   "If it becomes"
+	next "agitated during"
+	next "battle, it spouts"
+	page "intense flames,"
+	next "incinerating its"
+	next "surroundings.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/chikorita.asm
@@ -1,0 +1,10 @@
+; ChikoritaPokedexEntry: ; 0x1cc988
+	db "LEAF@" ; species name
+	dw 211, 140 ; height, weight
+
+	db   "It loves to bask"
+	next "in the sunlight."
+	next "It uses the leaf"
+	page "on its head to"
+	next "seek out warm"
+	next "places.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/chinchou.asm
@@ -1,0 +1,10 @@
+; ChinchouPokedexEntry: ; 0x1cd165
+	db "ANGLER@" ; species name
+	dw 108, 260 ; height, weight
+
+	db   "Its antennae, whi-"
+	next "ch evolved from a"
+	next "fin, have both po-"
+	page "sitive and neg-"
+	next "ative charges flo-"
+	next "wing through them.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/clefable.asm
@@ -1,0 +1,10 @@
+; ClefablePokedexEntry: ; 0x182530
+	db "FAIRY@" ; species name
+	dw 403, 880 ; height, weight
+
+	db   "Said to live in"
+	next "quiet, remote"
+	next "mountains, this"
+	page "type of fairy has"
+	next "a strong aversion"
+	next "to being seen.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/clefairy.asm
@@ -1,0 +1,10 @@
+; ClefairyPokedexEntry: ; 0x1824c8
+	db "FAIRY@" ; species name
+	dw 200, 170 ; height, weight
+
+	db   "Though rarely"
+	next "seen, it becomes"
+	next "easier to spot,"
+	page "for some reason,"
+	next "on the night of a "
+	next "full moon.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/cleffa.asm
@@ -1,0 +1,10 @@
+; CleffaPokedexEntry: ; 0x1cd2bc
+	db "STARSHAPE@" ; species name
+	dw 100, 70 ; height, weight
+
+	db   "If the impact site"
+	next "of a meteorite is"
+	next "found, this"
+	page "#MON is certain"
+	next "to be within the"
+	next "immediate area.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/cloyster.asm
@@ -1,0 +1,10 @@
+; CloysterPokedexEntry: ; 0x1b8ad9
+	db "BIVALVE@" ; species name
+	dw 411, 2920 ; height, weight
+
+	db   "Even a missile"
+	next "can't break the"
+	next "spikes it uses to"
+	page "stab opponents."
+	next "They're even hard-"
+	next "er than its shell.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/corsola.asm
@@ -1,0 +1,10 @@
+; CorsolaPokedexEntry: ; 0x1d0c68
+	db "CORAL@" ; species name
+	dw 200, 110 ; height, weight
+
+	db   "The points on its"
+	next "head absorb"
+	next "nutrients from"
+	page "clean water. They"
+	next "cannot survive in"
+	next "polluted water.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/crobat.asm
@@ -1,0 +1,10 @@
+; CrobatPokedexEntry: ; 0x1cd0f5
+	db "BAT@" ; species name
+	dw 511, 1650 ; height, weight
+
+	db   "As a result of its"
+	next "pursuit of faster,"
+	next "yet more silent"
+	page "flight, a new set"
+	next "of wings grew on"
+	next "its hind legs.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/croconaw.asm
@@ -1,0 +1,10 @@
+; CroconawPokedexEntry: ; 0x1ccc84
+	db "BIG JAW@" ; species name
+	dw 307, 550 ; height, weight
+
+	db   "The tips of its"
+	next "fangs are slanted"
+	next "backward. Once"
+	page "those fangs clamp"
+	next "down, the prey has"
+	next "no hope of escape.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/cubone.asm
@@ -1,0 +1,10 @@
+; CubonePokedexEntry: ; 0x1b9068
+	db "LONELY@" ; species name
+	dw 104, 140 ; height, weight
+
+	db   "It lost its mother"
+	next "after its birth."
+	next "It wears its"
+	page "mother's skull,"
+	next "never revealing"
+	next "its true face.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/cyndaquil.asm
@@ -1,0 +1,10 @@
+; CyndaquilPokedexEntry: ; 0x1ccabd
+	db "FIRE MOUSE@" ; species name
+	dw 108, 170 ; height, weight
+
+	db   "The fire that"
+	next "spouts from its"
+	next "back burns hottest"
+	page "when it is angry."
+	next "The flaring flames"
+	next "intimidate foes.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/delibird.asm
@@ -1,0 +1,10 @@
+; DelibirdPokedexEntry: ; 0x1d0db1
+	db "DELIVERY@" ; species name
+	dw 211, 350 ; height, weight
+
+	db   "It always carries"
+	next "its food with it,"
+	next "wherever it goes."
+	page "If attacked, it"
+	next "throws its food at"
+	next "the opponent.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/dewgong.asm
@@ -1,0 +1,10 @@
+; DewgongPokedexEntry: ; 0x1b8934
+	db "SEA LION@" ; species name
+	dw 507, 2650 ; height, weight
+
+	db   "It sleeps under"
+	next "shallow ocean"
+	next "waters during the"
+	page "day, then looks"
+	next "for food at night"
+	next "when it's cold.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/diglett.asm
@@ -1,0 +1,10 @@
+; DiglettPokedexEntry: ; 0x182b30
+	db "MOLE@" ; species name
+	dw 8, 20 ; height, weight
+
+	db   "It digs under-"
+	next "ground and chews"
+	next "on tree roots,"
+	page "sticking its head"
+	next "out only when the"
+	next "sun isn't bright.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/ditto.asm
@@ -1,0 +1,10 @@
+; DittoPokedexEntry: ; 0x1cc13c
+	db "TRANSFORM@" ; species name
+	dw 100, 90 ; height, weight
+
+	db   "When it encount-"
+	next "ers another DITTO,"
+	next "it will move"
+	page "faster than normal"
+	next "to duplicate that"
+	next "opponent exactly.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/dodrio.asm
@@ -1,0 +1,10 @@
+; DodrioPokedexEntry: ; 0x1b884a
+	db "TRIPLEBIRD@" ; species name
+	dw 511, 1880 ; height, weight
+
+	db   "An enemy that"
+	next "takes its eyes off"
+	next "any of the three"
+	page "heads--even for a"
+	next "second--will get"
+	next "pecked severely.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/doduo.asm
@@ -1,0 +1,10 @@
+; DoduoPokedexEntry: ; 0x1b87d7
+	db "TWIN BIRD@" ; species name
+	dw 407, 860 ; height, weight
+
+	db   "It lives on a"
+	next "grassy plain where"
+	next "it can see a long"
+	page "way. If it sees an"
+	next "enemy, it runs"
+	next "away at 60 mph.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/donphan.asm
@@ -1,0 +1,10 @@
+; DonphanPokedexEntry: ; 0x1d10ac
+	db "ARMOR@" ; species name
+	dw 307, 2650 ; height, weight
+
+	db   "Because this"
+	next "#MON's skin is"
+	next "so tough, a normal"
+	page "attack won't even"
+	next "leave a scratch on"
+	next "it.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/dragonair.asm
@@ -1,0 +1,10 @@
+; DragonairPokedexEntry: ; 0x1cc7dc
+	db "DRAGON@" ; species name
+	dw 1301, 360 ; height, weight
+
+	db   "It is called the"
+	next "divine #MON."
+	next "When its entire"
+	page "body brightens"
+	next "slightly, the"
+	next "weather changes.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/dragonite.asm
@@ -1,0 +1,10 @@
+; DragonitePokedexEntry: ; 0x1cc843
+	db "DRAGON@" ; species name
+	dw 703, 4630 ; height, weight
+
+	db   "It is said that"
+	next "somewhere in the"
+	next "ocean lies an"
+	page "island where these"
+	next "gather. Only they"
+	next "live there.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/dratini.asm
@@ -1,0 +1,10 @@
+; DratiniPokedexEntry: ; 0x1cc761
+	db "DRAGON@" ; species name
+	dw 511, 70 ; height, weight
+
+	db   "It sheds many lay-"
+	next "ers of skin as it"
+	next "grows larger. Dur-"
+	page "ing this process,"
+	next "it is protected by"
+	next "a rapid waterfall.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/drowzee.asm
@@ -1,0 +1,10 @@
+; DrowzeePokedexEntry: ; 0x1b8d0a
+	db "HYPNOSIS@" ; species name
+	dw 303, 710 ; height, weight
+
+	db   "When it twitches"
+	next "its nose, it can"
+	next "tell where someone"
+	page "is sleeping and"
+	next "what that person"
+	next "is dreaming about.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/dugtrio.asm
@@ -1,0 +1,10 @@
+; DugtrioPokedexEntry: ; 0x182b9d
+	db "MOLE@" ; species name
+	dw 204, 730 ; height, weight
+
+	db   "These DIGLETT"
+	next "triplets dig over"
+	next "60 miles below sea"
+	page "level. No one"
+	next "knows what it's"
+	next "like underground.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/dunsparce.asm
@@ -1,0 +1,10 @@
+; DunsparcePokedexEntry: ; 0x1d0593
+	db "LAND SNAKE@" ; species name
+	dw 411, 310 ; height, weight
+
+	db   "It hides deep"
+	next "inside caves where"
+	next "no light ever"
+	page "reaches it and"
+	next "remains virtually"
+	next "motionless there.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/eevee.asm
@@ -1,0 +1,10 @@
+; EeveePokedexEntry: ; 0x1cc1b2
+	db "EVOLUTION@" ; species name
+	dw 100, 140 ; height, weight
+
+	db   "Its ability to"
+	next "evolve into many"
+	next "forms allows it to"
+	page "adapt smoothly"
+	next "and perfectly to"
+	next "any environment.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/ekans.asm
@@ -1,0 +1,10 @@
+; EkansPokedexEntry: ; 0x181fd4
+	db "SNAKE@" ; species name
+	dw 607, 150 ; height, weight
+
+	db   "It flutters the"
+	next "tip of its tongue"
+	next "to seek out the"
+	page "scent of prey,"
+	next "then swallows the"
+	next "prey whole.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/electabuzz.asm
@@ -1,0 +1,10 @@
+; ElectabuzzPokedexEntry: ; 0x1b992a
+	db "ELECTRIC@" ; species name
+	dw 307, 660 ; height, weight
+
+	db   "When two"
+	next "ELECTABUZZ touch,"
+	next "they control the"
+	page "electric currents"
+	next "to communicate"
+	next "their feelings.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/electrode.asm
@@ -1,0 +1,10 @@
+; ElectrodePokedexEntry: ; 0x1b8f19
+	db "BALL@" ; species name
+	dw 311, 1470 ; height, weight
+
+	db   "The more energy it"
+	next "charges up, the"
+	next "faster it gets."
+	page "But this also"
+	next "makes it more"
+	next "likely to explode.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/elekid.asm
@@ -1,0 +1,10 @@
+; ElekidPokedexEntry: ; 0x1d1398
+	db "ELECTRIC@" ; species name
+	dw 200, 520 ; height, weight
+
+	db   "It loves violent"
+	next "thunder. The space"
+	next "between its horns"
+	page "flickers bluish-"
+	next "white when it is"
+	next "charging energy.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/entei.asm
@@ -1,0 +1,10 @@
+; EnteiPokedexEntry: ; 0x1d15dd
+	db "VOLCANO@" ; species name
+	dw 607, 4370 ; height, weight
+
+	db   "This brawny"
+	next "#MON courses"
+	next "around the earth,"
+	page "spouting flames"
+	next "hotter than a"
+	next "volcano's magma.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/espeon.asm
@@ -1,0 +1,10 @@
+; EspeonPokedexEntry: ; 0x1d0155
+	db "SUN@" ; species name
+	dw 211, 580 ; height, weight
+
+	db   "The tip of its"
+	next "forked tail"
+	next "quivers when it is"
+	page "predicting its"
+	next "opponent's next"
+	next "move.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/exeggcute.asm
@@ -1,0 +1,10 @@
+; ExeggcutePokedexEntry: ; 0x1b8f84
+	db "EGG@" ; species name
+	dw 104, 60 ; height, weight
+
+	db   "If even one is"
+	next "separated from the"
+	next "group, the energy"
+	page "bond between the"
+	next "six will make them"
+	next "rejoin instantly.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/exeggutor.asm
@@ -1,0 +1,10 @@
+; ExeggutorPokedexEntry: ; 0x1b8ff6
+	db "COCONUT@" ; species name
+	dw 607, 2650 ; height, weight
+
+	db   "Living in a good"
+	next "environment makes"
+	next "it grow lots of"
+	page "heads. A head that"
+	next "drops off becomes"
+	next "an EXEGGCUTE.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/farfetch_d.asm
@@ -1,0 +1,10 @@
+; FarfetchDPokedexEntry: ; 0x1b876c
+	db "WILD DUCK@" ; species name
+	dw 207, 330 ; height, weight
+
+	db   "In order to pre-"
+	next "vent their"
+	next "extinction, more"
+	page "people have made"
+	next "an effort to breed"
+	next "these #MON.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/fearow.asm
@@ -1,0 +1,10 @@
+; FearowPokedexEntry: ; 0x181f64
+	db "BEAK@" ; species name
+	dw 311, 840 ; height, weight
+
+	db   "It uses its long"
+	next "beak to attack. It"
+	next "has a surprisingly"
+	page "long reach, so it"
+	next "must be treated"
+	next "with caution.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/feraligatr.asm
@@ -1,0 +1,10 @@
+; FeraligatrPokedexEntry: ; 0x1cccf9
+	db "BIG JAW@" ; species name
+	dw 707, 1960 ; height, weight
+
+	db   "Although it has a"
+	next "massive body, its"
+	next "powerful hind legs"
+	page "enable it to move"
+	next "quickly, even on"
+	next "the ground.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/flaaffy.asm
@@ -1,0 +1,10 @@
+; FlaaffyPokedexEntry: ; 0x1cd5b8
+	db "WOOL@" ; species name
+	dw 207, 290 ; height, weight
+
+	db   "Because of its"
+	next "rubbery, electric-"
+	next "ity-resistant"
+	page "skin, it can store"
+	next "lots of electric-"
+	next "ity in its fur.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/flareon.asm
@@ -1,0 +1,10 @@
+; FlareonPokedexEntry: ; 0x1cc2ec
+	db "FLAME@" ; species name
+	dw 211, 550 ; height, weight
+
+	db   "Once it has stored"
+	next "up enough heat,"
+	next "this #MON's"
+	page "body temperature"
+	next "can reach up to"
+	next "1700 degrees.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/forretress.asm
@@ -1,0 +1,10 @@
+; ForretressPokedexEntry: ; 0x1d0524
+	db "BAGWORM@" ; species name
+	dw 311, 2770 ; height, weight
+
+	db   "Usually found"
+	next "hanging on to a"
+	next "fat tree trunk. It"
+	page "shoots out bits of"
+	next "its shell when it"
+	next "sees action.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/furret.asm
@@ -1,0 +1,10 @@
+; FurretPokedexEntry: ; 0x1ccddd
+	db "LONG BODY@" ; species name
+	dw 511, 720 ; height, weight
+
+	db   "It lives in narrow"
+	next "burrows that fit"
+	next "its slim body. The"
+	page "deeper the nests"
+	next "go, the more maze-"
+	next "like they become.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/gastly.asm
@@ -1,0 +1,10 @@
+; GastlyPokedexEntry: ; 0x1b8b4a
+	db "GAS@" ; species name
+	dw 403, 2 ; height, weight
+
+	db   "It wraps its op-"
+	next "ponent in its gas-"
+	next "like body, slowly"
+	page "weakening its prey"
+	next "by poisoning it"
+	next "through the skin.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/gengar.asm
@@ -1,0 +1,10 @@
+; GengarPokedexEntry: ; 0x1b8c25
+	db "SHADOW@" ; species name
+	dw 411, 890 ; height, weight
+
+	db   "Hiding in people's"
+	next "shadows at night,"
+	next "it absorbs their"
+	page "heat. The chill it"
+	next "causes makes the"
+	next "victims shake.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/geodude.asm
@@ -1,0 +1,10 @@
+; GeodudePokedexEntry: ; 0x1b83a1
+	db "ROCK@" ; species name
+	dw 104, 440 ; height, weight
+
+	db   "Proud of their"
+	next "sturdy bodies,"
+	next "they bash against"
+	page "each other in a"
+	next "contest to prove"
+	next "whose is harder.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/girafarig.asm
@@ -1,0 +1,10 @@
+; GirafarigPokedexEntry: ; 0x1d0446
+	db "LONG NECK@" ; species name
+	dw 411, 910 ; height, weight
+
+	db   "When it is in"
+	next "danger, its tail"
+	next "uses some sort of"
+	page "mysterious powers"
+	next "to drive away the"
+	next "enemy.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/gligar.asm
@@ -1,0 +1,10 @@
+; GligarPokedexEntry: ; 0x1d0604
+	db "FLYSCORPIO@" ; species name
+	dw 307, 1430 ; height, weight
+
+	db   "It builds its nest"
+	next "on a steep cliff."
+	next "When it is done"
+	page "gliding, it hops"
+	next "along the ground"
+	next "back to its nest.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/gloom.asm
@@ -1,0 +1,10 @@
+; GloomPokedexEntry: ; 0x1828a6
+	db "WEED@" ; species name
+	dw 207, 190 ; height, weight
+
+	db   "The smell from its"
+	next "drool-like syrup"
+	next "and the pollen on"
+	page "its petals is so"
+	next "bad, it may make"
+	next "opponents faint.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/golbat.asm
@@ -1,0 +1,10 @@
+; GolbatPokedexEntry: ; 0x1827c4
+	db "BAT@" ; species name
+	dw 503, 1210 ; height, weight
+
+	db   "When it plunges"
+	next "its fangs into its"
+	next "prey, it instantly"
+	page "draws and gulps"
+	next "down more than ten"
+	next "ounces of blood.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/goldeen.asm
@@ -1,0 +1,10 @@
+; GoldeenPokedexEntry: ; 0x1b9626
+	db "GOLDFISH@" ; species name
+	dw 200, 330 ; height, weight
+
+	db   "During spawning"
+	next "season, they swim"
+	next "gracefully in the"
+	page "water, searching"
+	next "for their perfect"
+	next "mate.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/golduck.asm
@@ -1,0 +1,10 @@
+; GolduckPokedexEntry: ; 0x182d55
+	db "DUCK@" ; species name
+	dw 507, 1690 ; height, weight
+
+	db   "It swims grace-"
+	next "fully along on the"
+	next "quiet, slow-moving"
+	page "rivers and lakes"
+	next "of which it is so"
+	next "fond.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/golem.asm
@@ -1,0 +1,10 @@
+; GolemPokedexEntry: ; 0x1b8481
+	db "MEGATON@" ; species name
+	dw 407, 6620 ; height, weight
+
+	db   "Its rock-like body"
+	next "is so durable,"
+	next "even high-powered"
+	page "dynamite blasts"
+	next "fail to scratch"
+	next "its rugged hide.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/granbull.asm
@@ -1,0 +1,10 @@
+; GranbullPokedexEntry: ; 0x1d074a
+	db "FAIRY@" ; species name
+	dw 407, 1070 ; height, weight
+
+	db   "It can make most"
+	next "any #MON run"
+	next "away simply by"
+	page "opening its mouth"
+	next "wide to reveal its"
+	next "big fangs.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/graveler.asm
@@ -1,0 +1,10 @@
+; GravelerPokedexEntry: ; 0x1b840c
+	db "ROCK@" ; species name
+	dw 303, 2320 ; height, weight
+
+	db   "It travels by rol-"
+	next "ling on mountain"
+	next "paths. If it gains"
+	page "too much speed, it"
+	next "stops by running"
+	next "into huge rocks.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/grimer.asm
@@ -1,0 +1,10 @@
+; GrimerPokedexEntry: ; 0x1b89a2
+	db "SLUDGE@" ; species name
+	dw 211, 660 ; height, weight
+
+	db   "When two of these"
+	next "#MON's bodies"
+	next "are combined"
+	page "together, new"
+	next "poisons are"
+	next "created.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/growlithe.asm
@@ -1,0 +1,10 @@
+; GrowlithePokedexEntry: ; 0x182eaa
+	db "PUPPY@" ; species name
+	dw 204, 420 ; height, weight
+
+	db   "It controls a big"
+	next "territory. If it"
+	next "detects an unknown"
+	page "smell, it roars"
+	next "loudly to force"
+	next "out the intruder.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/gyarados.asm
@@ -1,0 +1,10 @@
+; GyaradosPokedexEntry: ; 0x1cc065
+	db "ATROCIOUS@" ; species name
+	dw 2104, 5180 ; height, weight
+
+	db   "It appears when-"
+	next "ever there is"
+	next "world conflict,"
+	page "burning down any"
+	next "place it travels"
+	next "through.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/haunter.asm
@@ -1,0 +1,10 @@
+; HaunterPokedexEntry: ; 0x1b8bbd
+	db "GAS@" ; species name
+	dw 503, 2 ; height, weight
+
+	db   "It hides in the"
+	next "dark, planning to"
+	next "take the life of"
+	page "the next living"
+	next "thing that wanders"
+	next "close by.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/heracross.asm
@@ -1,0 +1,10 @@
+; HeracrossPokedexEntry: ; 0x1d0907
+	db "SINGLEHORN@" ; species name
+	dw 411, 1190 ; height, weight
+
+	db   "With its Herculean"
+	next "powers, it can"
+	next "easily throw arou-"
+	page "nd an object that"
+	next "is 100 times its"
+	next "own weight.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/hitmonchan.asm
@@ -1,0 +1,10 @@
+; HitmonchanPokedexEntry: ; 0x1b91a4
+	db "PUNCHING@" ; species name
+	dw 407, 1110 ; height, weight
+
+	db   "To increase the"
+	next "strength of all"
+	next "its punch moves,"
+	page "it spins its arms"
+	next "just before making"
+	next "contact.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/hitmonlee.asm
@@ -1,0 +1,10 @@
+; HitmonleePokedexEntry: ; 0x1b913f
+	db "KICKING@" ; species name
+	dw 411, 1100 ; height, weight
+
+	db   "It is also called"
+	next "the Kick Master."
+	next "It uses its"
+	page "elastic legs to"
+	next "execute every"
+	next "known kick.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/hitmontop.asm
@@ -1,0 +1,10 @@
+; HitmontopPokedexEntry: ; 0x1d12c0
+	db "HANDSTAND@" ; species name
+	dw 407, 1060 ; height, weight
+
+	db   "After doing a"
+	next "handstand to"
+	next "throw off the"
+	page "opponent's timing,"
+	next "it presents its"
+	next "fancy kick moves.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/ho_oh.asm
@@ -1,0 +1,10 @@
+; HoOhPokedexEntry: ; 0x1d185d
+	db "RAINBOW@" ; species name
+	dw 1206, 4390 ; height, weight
+
+	db   "It will reveal"
+	next "itself before a"
+	next "pure-hearted"
+	page "trainer by shining"
+	next "its bright rain-"
+	next "bow-colored wings.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/hoothoot.asm
@@ -1,0 +1,10 @@
+; HoothootPokedexEntry: ; 0x1cce58
+	db "OWL@" ; species name
+	dw 204, 470 ; height, weight
+
+	db   "It begins to hoot"
+	next "at the same time"
+	next "every day. Some"
+	page "trainers use them"
+	next "in place of"
+	next "clocks.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/hoppip.asm
@@ -1,0 +1,10 @@
+; HoppipPokedexEntry: ; 0x1cd8b5
+	db "COTTONWEED@" ; species name
+	dw 104, 10 ; height, weight
+
+	db   "It can be carried"
+	next "away on even the"
+	next "gentlest breeze."
+	page "It may even float"
+	next "all the way to the"
+	next "next town.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/horsea.asm
@@ -1,0 +1,10 @@
+; HorseaPokedexEntry: ; 0x1b9553
+	db "DRAGON@" ; species name
+	dw 104, 180 ; height, weight
+
+	db   "When they're in a"
+	next "safe location,"
+	next "they can be seen"
+	page "playfully tangling"
+	next "their tails"
+	next "together.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/houndoom.asm
@@ -1,0 +1,10 @@
+; HoundoomPokedexEntry: ; 0x1d0f66
+	db "DARK@" ; species name
+	dw 407, 770 ; height, weight
+
+	db   "The pungent-"
+	next "smelling flame"
+	next "that shoots from"
+	page "its mouth results"
+	next "from toxins burn-"
+	next "ing in its body.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/houndour.asm
@@ -1,0 +1,10 @@
+; HoundourPokedexEntry: ; 0x1d0eff
+	db "DARK@" ; species name
+	dw 200, 240 ; height, weight
+
+	db   "Around dawn, its"
+	next "ominous howl"
+	next "echoes through the"
+	page "area to announce"
+	next "that this is its"
+	next "territory.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/hypno.asm
@@ -1,0 +1,10 @@
+; HypnoPokedexEntry: ; 0x1b8d80
+	db "HYPNOSIS@" ; species name
+	dw 503, 1670 ; height, weight
+
+	db   "The longer it"
+	next "swings its"
+	next "pendulum, the"
+	page "longer the effects"
+	next "of its hypnosis"
+	next "last.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/igglybuff.asm
@@ -1,0 +1,10 @@
+; IgglybuffPokedexEntry: ; 0x1cd32c
+	db "BALLOON@" ; species name
+	dw 100, 20 ; height, weight
+
+	db   "Instead of walking"
+	next "with its short"
+	next "legs, it moves"
+	page "around by bouncing"
+	next "on its soft,"
+	next "tender body.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/ivysaur.asm
@@ -1,0 +1,10 @@
+; IvysaurPokedexEntry: ; 0x181702
+	db "SEED@" ; species name
+	dw 303, 290 ; height, weight
+
+	db   "The bulb on its"
+	next "back grows as it"
+	next "absorbs nutrients."
+	page "The bulb gives off"
+	next "a pleasant aroma"
+	next "when it blooms.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/jigglypuff.asm
@@ -1,0 +1,10 @@
+; JigglypuffPokedexEntry: ; 0x182673
+	db "BALLOON@" ; species name
+	dw 108, 120 ; height, weight
+
+	db   "It rolls its cute"
+	next "eyes as it sings a"
+	next "soothing lullaby."
+	page "Its gentle song"
+	next "puts anyone who"
+	next "hears it to sleep.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/jolteon.asm
@@ -1,0 +1,10 @@
+; JolteonPokedexEntry: ; 0x1cc28b
+	db "LIGHTNING@" ; species name
+	dw 207, 540 ; height, weight
+
+	db   "The negatively"
+	next "charged ions"
+	next "generated in its"
+	page "fur create a"
+	next "constant sparking"
+	next "noise.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/jumpluff.asm
@@ -1,0 +1,10 @@
+; JumpluffPokedexEntry: ; 0x1cd998
+	db "COTTONWEED@" ; species name
+	dw 207, 70 ; height, weight
+
+	db   "Even in the fierc-"
+	next "est wind, it can"
+	next "control its fluff"
+	page "to make its way to"
+	next "any place in the"
+	next "world it wants.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/jynx.asm
@@ -1,0 +1,10 @@
+; JynxPokedexEntry: ; 0x1b98c5
+	db "HUMANSHAPE@" ; species name
+	dw 407, 900 ; height, weight
+
+	db   "It has several"
+	next "different cry pat-"
+	next "terns, each of"
+	page "which seems to"
+	next "have its own"
+	next "meaning.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/kabuto.asm
@@ -1,0 +1,10 @@
+; KabutoPokedexEntry: ; 0x1cc497
+	db "SHELLFISH@" ; species name
+	dw 108, 250 ; height, weight
+
+	db   "Three hundred"
+	next "million years ago,"
+	next "it hid on the sea"
+	page "floor. It also has"
+	next "eyes on its back"
+	next "that glow.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/kabutops.asm
@@ -1,0 +1,10 @@
+; KabutopsPokedexEntry: ; 0x1cc507
+	db "SHELLFISH@" ; species name
+	dw 403, 890 ; height, weight
+
+	db   "It was able to"
+	next "swim quickly thro-"
+	next "ugh the water by"
+	page "compactly folding"
+	next "up its razor-sharp"
+	next "sickles.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/kadabra.asm
@@ -1,0 +1,10 @@
+; KadabraPokedexEntry: ; 0x18313c
+	db "PSI@" ; species name
+	dw 403, 1250 ; height, weight
+
+	db   "When it closes its"
+	next "eyes, twice as"
+	next "many alpha parti-"
+	page "cles come out of"
+	next "the surface of its"
+	next "body.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/kakuna.asm
@@ -1,0 +1,10 @@
+; KakunaPokedexEntry: ; 0x181c23
+	db "COCOON@" ; species name
+	dw 200, 220 ; height, weight
+
+	db   "Nearly incapable"
+	next "of movement, it"
+	next "leans against"
+	page "stout trees while"
+	next "waiting for its"
+	next "evolution.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/kangaskhan.asm
@@ -1,0 +1,10 @@
+; KangaskhanPokedexEntry: ; 0x1b94f6
+	db "PARENT@" ; species name
+	dw 703, 1760 ; height, weight
+
+	db   "To avoid"
+	next "crushing the"
+	next "baby it carries in"
+	page "its pouch, it"
+	next "always sleeps"
+	next "standing up.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/kingdra.asm
@@ -1,0 +1,10 @@
+; KingdraPokedexEntry: ; 0x1d0fd1
+	db "DRAGON@" ; species name
+	dw 511, 3350 ; height, weight
+
+	db   "It stores energy"
+	next "by sleeping at"
+	next "underwater depths"
+	page "at which no other"
+	next "life forms can"
+	next "survive.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/kingler.asm
@@ -1,0 +1,10 @@
+; KinglerPokedexEntry: ; 0x1b8e45
+	db "PINCER@" ; species name
+	dw 403, 1320 ; height, weight
+
+	db   "Its oversized claw"
+	next "is very powerful,"
+	next "but when it's not"
+	page "in battle, the"
+	next "claw just gets in"
+	next "the way.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/koffing.asm
@@ -1,0 +1,10 @@
+; KoffingPokedexEntry: ; 0x1b9276
+	db "POISON GAS@" ; species name
+	dw 200, 20 ; height, weight
+
+	db   "If one gets close"
+	next "enough to it when"
+	next "it expels poison-"
+	page "ous gas, the gas"
+	next "swirling inside it"
+	next "can be seen.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/krabby.asm
@@ -1,0 +1,10 @@
+; KrabbyPokedexEntry: ; 0x1b8ddd
+	db "RIVER CRAB@" ; species name
+	dw 104, 140 ; height, weight
+
+	db   "If it is unable"
+	next "to find food, it"
+	next "will absorb"
+	page "nutrients by"
+	next "swallowing a"
+	next "mouthful of sand.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/lanturn.asm
@@ -1,0 +1,10 @@
+; LanturnPokedexEntry: ; 0x1cd1de
+	db "LIGHT@" ; species name
+	dw 311, 500 ; height, weight
+
+	db   "This #MON uses"
+	next "the bright part of"
+	next "its body, which"
+	page "changed from a"
+	next "dorsal fin, to"
+	next "lure prey.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/lapras.asm
@@ -1,0 +1,10 @@
+; LaprasPokedexEntry: ; 0x1cc0cd
+	db "TRANSPORT@" ; species name
+	dw 802, 4850 ; height, weight
+
+	db   "This gentle"
+	next "#MON loves to"
+	next "give people rides"
+	page "and provides a ve-"
+	next "ry comfortable way"
+	next "to get around.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/larvitar.asm
@@ -1,0 +1,10 @@
+; LarvitarPokedexEntry: ; 0x1d169c
+	db "ROCK SKIN@" ; species name
+	dw 200, 1590 ; height, weight
+
+	db   "Born deep under-"
+	next "ground, this"
+	next "#MON becomes a"
+	page "pupa after eating"
+	next "enough dirt to"
+	next "make a mountain.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/ledian.asm
@@ -1,0 +1,10 @@
+; LedianPokedexEntry: ; 0x1ccfa0
+	db "FIVE STAR@" ; species name
+	dw 407, 780 ; height, weight
+
+	db   "In the daytime"
+	next "when it gets warm,"
+	next "it curls up inside"
+	page "a big leaf and"
+	next "drifts off into"
+	next "a deep slumber.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/ledyba.asm
@@ -1,0 +1,10 @@
+; LedybaPokedexEntry: ; 0x1ccf2c
+	db "FIVE STAR@" ; species name
+	dw 303, 240 ; height, weight
+
+	db   "It is timid and"
+	next "clusters together"
+	next "with others. The"
+	page "fluid secreted by"
+	next "its feet indicates"
+	next "its location.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/lickitung.asm
@@ -1,0 +1,10 @@
+; LickitungPokedexEntry: ; 0x1b9210
+	db "LICKING@" ; species name
+	dw 311, 1440 ; height, weight
+
+	db   "It has a tongue"
+	next "that is over 6'6''"
+	next "long. It uses this"
+	page "long tongue to"
+	next "lick its body"
+	next "clean.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/lugia.asm
@@ -1,0 +1,10 @@
+; LugiaPokedexEntry: ; 0x1d17e9
+	db "DIVING@" ; species name
+	dw 1701, 4760 ; height, weight
+
+	db   "It has an incred-"
+	next "ible ability to"
+	next "calm raging sto-"
+	page "rms. It is said"
+	next "that LUGIA appears"
+	next "when storms start.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/machamp.asm
@@ -1,0 +1,10 @@
+; MachampPokedexEntry: ; 0x1b8133
+	db "SUPERPOWER@" ; species name
+	dw 503, 2870 ; height, weight
+
+	db   "With four arms"
+	next "that react more"
+	next "quickly than it"
+	page "can think, it can"
+	next "execute many"
+	next "punches at once.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/machoke.asm
@@ -1,0 +1,10 @@
+; MachokePokedexEntry: ; 0x1b80cb
+	db "SUPERPOWER@" ; species name
+	dw 411, 1550 ; height, weight
+
+	db   "This tough #MON"
+	next "always stays in"
+	next "the zone. Its"
+	page "muscles become"
+	next "thicker after"
+	next "every battle.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/machop.asm
@@ -1,0 +1,10 @@
+; MachopPokedexEntry: ; 0x1b8065
+	db "SUPERPOWER@" ; species name
+	dw 207, 430 ; height, weight
+
+	db   "It trains by"
+	next "lifting rocks in"
+	next "the mountains. It"
+	page "can even pick up a"
+	next "GRAVELER with"
+	next "ease.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/magby.asm
@@ -1,0 +1,10 @@
+; MagbyPokedexEntry: ; 0x1d140e
+	db "LIVE COAL@" ; species name
+	dw 204, 470 ; height, weight
+
+	db   "It naturally spits"
+	next "an 1100-degree"
+	next "flame. It is said"
+	page "when many appear,"
+	next "it heralds a"
+	next "volcanic eruption.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/magcargo.asm
@@ -1,0 +1,10 @@
+; MagcargoPokedexEntry: ; 0x1d0b21
+	db "LAVA@" ; species name
+	dw 207, 1210 ; height, weight
+
+	db   "Its body is as hot"
+	next "as lava and is"
+	next "always billowing."
+	page "Flames will"
+	next "occasionally burst"
+	next "from its shell.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/magikarp.asm
@@ -1,0 +1,10 @@
+; MagikarpPokedexEntry: ; 0x1cc000
+	db "FISH@" ; species name
+	dw 211, 220 ; height, weight
+
+	db   "This weak and"
+	next "pathetic #MON"
+	next "gets easily pushed"
+	page "along rivers when"
+	next "there are strong"
+	next "currents.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/magmar.asm
@@ -1,0 +1,10 @@
+; MagmarPokedexEntry: ; 0x1b9994
+	db "SPITFIRE@" ; species name
+	dw 403, 980 ; height, weight
+
+	db   "It moves more"
+	next "frequently in hot"
+	next "areas. It can heal"
+	page "itself by dipping"
+	next "its wound into"
+	next "lava.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/magnemite.asm
@@ -1,0 +1,10 @@
+; MagnemitePokedexEntry: ; 0x1b869d
+	db "MAGNET@" ; species name
+	dw 100, 130 ; height, weight
+
+	db   "The electricity"
+	next "emitted by the"
+	next "units on each side"
+	page "of its body cause"
+	next "it to become a"
+	next "strong magnet.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/magneton.asm
@@ -1,0 +1,10 @@
+; MagnetonPokedexEntry: ; 0x1b870a
+	db "MAGNET@" ; species name
+	dw 303, 1320 ; height, weight
+
+	db   "When many"
+	next "MAGNETON gather"
+	next "together, the"
+	page "resulting magnetic"
+	next "storm disrupts"
+	next "radio waves.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/mankey.asm
@@ -1,0 +1,10 @@
+; MankeyPokedexEntry: ; 0x182dbd
+	db "PIG MONKEY@" ; species name
+	dw 108, 620 ; height, weight
+
+	db   "It lives in groups"
+	next "in the treetops."
+	next "If it loses sight"
+	page "of its group, it"
+	next "becomes infuriated"
+	next "by its loneliness.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/mantine.asm
@@ -1,0 +1,10 @@
+; MantinePokedexEntry: ; 0x1d0e25
+	db "KITE@" ; species name
+	dw 611, 4850 ; height, weight
+
+	db   "It swims along"
+	next "freely, eating"
+	next "things that swim"
+	page "into its mouth."
+	next "Its whole body is"
+	next "very coarse.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/mareep.asm
@@ -1,0 +1,10 @@
+; MareepPokedexEntry: ; 0x1cd551
+	db "WOOL@" ; species name
+	dw 200, 170 ; height, weight
+
+	db   "It stores lots of"
+	next "air in its soft"
+	next "fur, allowing it"
+	page "to stay cool in"
+	next "summer and warm"
+	next "in winter.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/marill.asm
@@ -1,0 +1,10 @@
+; MarillPokedexEntry: ; 0x1cd705
+	db "AQUAMOUSE@" ; species name
+	dw 104, 190 ; height, weight
+
+	db   "The fur on its"
+	next "body naturally"
+	next "repels water. It"
+	page "can stay dry, even"
+	next "when it plays in"
+	next "the water.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/marowak.asm
@@ -1,0 +1,10 @@
+; MarowakPokedexEntry: ; 0x1b90d2
+	db "BONEKEEPER@" ; species name
+	dw 303, 990 ; height, weight
+
+	db   "Somewhere in the"
+	next "world is a ceme-"
+	next "tery just for"
+	page "MAROWAK. It gets"
+	next "its bones from"
+	next "those graves.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/meganium.asm
@@ -1,0 +1,10 @@
+; MeganiumPokedexEntry: ; 0x1cca54
+	db "HERB@" ; species name
+	dw 511, 2220 ; height, weight
+
+	db   "Anyone who stands"
+	next "beside it becomes"
+	next "refreshed, just as"
+	page "if they were"
+	next "relaxing in a"
+	next "sunny forest.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/meowth.asm
@@ -1,0 +1,10 @@
+; MeowthPokedexEntry: ; 0x182c08
+	db "SCRATCHCAT@" ; species name
+	dw 104, 90 ; height, weight
+
+	db   "It loves things"
+	next "that sparkle. When"
+	next "it sees a shiny"
+	page "object, the gold"
+	next "coin on its head"
+	next "shines too.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/metapod.asm
@@ -1,0 +1,10 @@
+; MetapodPokedexEntry: ; 0x181ace
+	db "COCOON@" ; species name
+	dw 204, 220 ; height, weight
+
+	db   "This is its pre-"
+	next "evolved form. At"
+	next "this stage, it can"
+	page "only harden, so it"
+	next "remains motionless"
+	next "to avoid attack.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/mew.asm
@@ -1,0 +1,10 @@
+; MewPokedexEntry: ; 0x1cc915
+	db "NEW SPECIE@" ; species name
+	dw 104, 90 ; height, weight
+
+	db   "Because it can"
+	next "learn any move,"
+	next "some people began"
+	page "research to see if"
+	next "it is the ancestor"
+	next "of all #MON.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/mewtwo.asm
@@ -1,0 +1,10 @@
+; MewtwoPokedexEntry: ; 0x1cc8ae
+	db "GENETIC@" ; species name
+	dw 607, 2690 ; height, weight
+
+	db   "Said to rest qui-"
+	next "etly in an"
+	next "undiscovered cave,"
+	page "this #MON was"
+	next "created solely for"
+	next "battling.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/miltank.asm
@@ -1,0 +1,10 @@
+; MiltankPokedexEntry: ; 0x1d1482
+	db "MILK COW@" ; species name
+	dw 311, 1660 ; height, weight
+
+	db   "In order to milk a"
+	next "MILTANK, one must"
+	next "have a knack for"
+	page "rhythmically pull-"
+	next "ing up and down"
+	next "on its udders.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/misdreavus.asm
@@ -1,0 +1,10 @@
+; MisdreavusPokedexEntry: ; 0x1d0301
+	db "SCREECH@" ; species name
+	dw 204, 20 ; height, weight
+
+	db   "It loves to watch"
+	next "people it's scar-"
+	next "ed. It frightens"
+	page "them by screaming"
+	next "loudly or appear-"
+	next "ing suddenly.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/moltres.asm
@@ -1,0 +1,10 @@
+; MoltresPokedexEntry: ; 0x1cc706
+	db "FLAME@" ; species name
+	dw 607, 1320 ; height, weight
+
+	db   "Legendary bird"
+	next "#MON. It is"
+	next "said to migrate"
+	page "from the south"
+	next "along with the"
+	next "spring.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/mr__mime.asm
@@ -1,0 +1,10 @@
+; MrMimePokedexEntry: ; 0x1b97ea
+	db "BARRIER@" ; species name
+	dw 403, 1200 ; height, weight
+
+	db   "It uses the"
+	next "mysterious"
+	next "power it has in"
+	page "its fingers to"
+	next "solidify air into"
+	next "an invisible wall.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/muk.asm
@@ -1,0 +1,10 @@
+; MukPokedexEntry: ; 0x1b89fc
+	db "SLUDGE@" ; species name
+	dw 311, 660 ; height, weight
+
+	db   "As it moves, a"
+	next "very strong poison"
+	next "leaks from it,"
+	page "making the ground"
+	next "there barren for"
+	next "three years.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/murkrow.asm
@@ -1,0 +1,10 @@
+; MurkrowPokedexEntry: ; 0x1d021e
+	db "DARKNESS@" ; species name
+	dw 108, 50 ; height, weight
+
+	db   "It hides any shiny"
+	next "object it finds in"
+	next "a secret location."
+	page "MURKROW and"
+	next "MEOWTH loot one"
+	next "another's stashes.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/natu.asm
@@ -1,0 +1,10 @@
+; NatuPokedexEntry: ; 0x1cd47d
+	db "LITTLE BIRD@" ; species name
+	dw 8, 40 ; height, weight
+
+	db   "It is extremely"
+	next "good at climbing"
+	next "tree trunks and"
+	page "likes to eat the"
+	next "new sprouts on"
+	next "the trees.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/nidoking.asm
@@ -1,0 +1,10 @@
+; NidokingPokedexEntry: ; 0x182463
+	db "DRILL@" ; species name
+	dw 407, 1370 ; height, weight
+
+	db   "It uses its thick"
+	next "arms, legs and"
+	next "tail to attack"
+	page "forcefully. Melee"
+	next "combat is its"
+	next "specialty.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/nidoqueen.asm
@@ -1,0 +1,10 @@
+; NidoqueenPokedexEntry: ; 0x18232e
+	db "DRILL@" ; species name
+	dw 403, 1320 ; height, weight
+
+	db   "The hard scales"
+	next "that cover its"
+	next "strong body serve"
+	page "as excellent"
+	next "protection from"
+	next "any attack.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/nidoran_f.asm
@@ -1,0 +1,10 @@
+; NidoranFPokedexEntry: ; 0x18224b
+	db "POISON PIN@" ; species name
+	dw 104, 150 ; height, weight
+
+	db   "Small and very"
+	next "docile, it pro-"
+	next "tects itself with"
+	page "its small, poison-"
+	next "ous horn when"
+	next "attacked.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/nidoran_m.asm
@@ -1,0 +1,10 @@
+; NidoranMPokedexEntry: ; 0x182392
+	db "POISON PIN@" ; species name
+	dw 108, 200 ; height, weight
+
+	db   "It constantly"
+	next "moves its large"
+	next "ears in many"
+	page "directions in"
+	next "order to detect"
+	next "danger right away.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/nidorina.asm
@@ -1,0 +1,10 @@
+; NidorinaPokedexEntry: ; 0x1822b6
+	db "POISON PIN@" ; species name
+	dw 207, 440 ; height, weight
+
+	db   "It has a docile"
+	next "nature. If it is"
+	next "threatened with"
+	page "attack, it raises"
+	next "the barbs that are"
+	next "all over its body.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/nidorino.asm
@@ -1,0 +1,10 @@
+; NidorinoPokedexEntry: ; 0x1823fd
+	db "POISON PIN@" ; species name
+	dw 211, 430 ; height, weight
+
+	db   "It is easily"
+	next "agitated and uses"
+	next "its horn for"
+	page "offense as soon as"
+	next "it notices an"
+	next "attacker.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/ninetales.asm
@@ -1,0 +1,10 @@
+; NinetalesPokedexEntry: ; 0x18260c
+	db "FOX@" ; species name
+	dw 307, 440 ; height, weight
+
+	db   "It is said to live"
+	next "a thousand years,"
+	next "and each of its"
+	page "tails is loaded"
+	next "with supernatural"
+	next "powers.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/noctowl.asm
@@ -1,0 +1,10 @@
+; NoctowlPokedexEntry: ; 0x1cceb9
+	db "OWL@" ; species name
+	dw 503, 900 ; height, weight
+
+	db   "Its extremely soft"
+	next "feathers make no"
+	next "sound in flight."
+	page "It silently sneaks"
+	next "up on prey without"
+	next "being detected.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/octillery.asm
@@ -1,0 +1,10 @@
+; OctilleryPokedexEntry: ; 0x1d0d42
+	db "JET@" ; species name
+	dw 211, 630 ; height, weight
+
+	db   "Its instinct is to"
+	next "bury itself in"
+	next "holes. It often"
+	page "steals the nesting"
+	next "holes of others to"
+	next "sleep in them.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/oddish.asm
@@ -1,0 +1,10 @@
+; OddishPokedexEntry: ; 0x182836
+	db "WEED@" ; species name
+	dw 108, 120 ; height, weight
+
+	db   "During the day, it"
+	next "stays in the cold"
+	next "underground to"
+	page "avoid the sun."
+	next "It grows by bath-"
+	next "ing in moonlight.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/omanyte.asm
@@ -1,0 +1,10 @@
+; OmanytePokedexEntry: ; 0x1cc3c1
+	db "SPIRAL@" ; species name
+	dw 104, 170 ; height, weight
+
+	db   "In prehistoric"
+	next "times, it swam on"
+	next "the sea floor,"
+	page "eating plankton."
+	next "Its fossils are"
+	next "sometimes found.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/omastar.asm
@@ -1,0 +1,10 @@
+; OmastarPokedexEntry: ; 0x1cc42e
+	db "SPIRAL@" ; species name
+	dw 303, 770 ; height, weight
+
+	db   "Its heavy shell"
+	next "allowed it to"
+	next "reach only nearby"
+	page "food. This could"
+	next "be the reason it"
+	next "is extinct.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/onix.asm
@@ -1,0 +1,10 @@
+; OnixPokedexEntry: ; 0x1b8c98
+	db "ROCK SNAKE@" ; species name
+	dw 2810, 4630 ; height, weight
+
+	db   "As it digs through"
+	next "the ground, it"
+	next "absorbs many hard"
+	page "objects. This is"
+	next "what makes its"
+	next "body so solid.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/paras.asm
@@ -1,0 +1,10 @@
+; ParasPokedexEntry: ; 0x18297f
+	db "MUSHROOM@" ; species name
+	dw 100, 120 ; height, weight
+
+	db   "The tochukaso"
+	next "growing on this"
+	next "#MON's back"
+	page "orders it to"
+	next "extract juice from"
+	next "tree trunks.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/parasect.asm
@@ -1,0 +1,10 @@
+; ParasectPokedexEntry: ; 0x1829e2
+	db "MUSHROOM@" ; species name
+	dw 303, 650 ; height, weight
+
+	db   "When nothing's"
+	next "left to extract"
+	next "from the bug, the"
+	page "mushrooms on its"
+	next "back leave spores"
+	next "on the bug's egg.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/persian.asm
@@ -1,0 +1,10 @@
+; PersianPokedexEntry: ; 0x182c78
+	db "CLASSY CAT@" ; species name
+	dw 303, 710 ; height, weight
+
+	db   "Behind its lithe,"
+	next "elegant appearance"
+	next "lies a barbaric"
+	page "side. It will tear"
+	next "apart its prey on"
+	next "a mere whim.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/phanpy.asm
@@ -1,0 +1,10 @@
+; PhanpyPokedexEntry: ; 0x1d1038
+	db "LONG NOSE@" ; species name
+	dw 108, 740 ; height, weight
+
+	db   "During the desert-"
+	next "ed morning hours,"
+	next "it comes ashore"
+	page "where it deftly"
+	next "uses its trunk to"
+	next "take a shower.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/pichu.asm
@@ -1,0 +1,10 @@
+; PichuPokedexEntry: ; 0x1cd243
+	db "TINY MOUSE@" ; species name
+	dw 100, 40 ; height, weight
+
+	db   "It is unskilled at"
+	next "storing electric"
+	next "power. Any kind of"
+	page "shock causes it to"
+	next "discharge energy"
+	next "spontaneously.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/pidgeot.asm
@@ -1,0 +1,10 @@
+; PidgeotPokedexEntry: ; 0x181dd7
+	db "BIRD@" ; species name
+	dw 411, 870 ; height, weight
+
+	db   "Its outstanding"
+	next "vision allows it"
+	next "to spot splashing"
+	page "MAGIKARP, even"
+	next "while flying at"
+	next "3300 feet.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/pidgeotto.asm
@@ -1,0 +1,10 @@
+; PidgeottoPokedexEntry: ; 0x181d75
+	db "BIRD@" ; species name
+	dw 307, 660 ; height, weight
+
+	db   "It slowly flies in"
+	next "a circular pat-"
+	next "tern, all the"
+	page "while keeping a"
+	next "sharp lookout for"
+	next "prey.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/pidgey.asm
@@ -1,0 +1,10 @@
+; PidgeyPokedexEntry: ; 0x181cfa
+	db "TINY BIRD@" ; species name
+	dw 100, 40 ; height, weight
+
+	db   "It rapidly flaps"
+	next "its wings in the"
+	next "grass, stirring up"
+	page "a dust cloud that"
+	next "drives insect prey"
+	next "out into the open.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/pikachu.asm
@@ -1,0 +1,10 @@
+; PikachuPokedexEntry: ; 0x1820ad
+	db "MOUSE@" ; species name
+	dw 104, 130 ; height, weight
+
+	db   "When it is anger-"
+	next "ed, it immediately"
+	next "discharges the"
+	page "energy stored in"
+	next "the pouches in its"
+	next "cheeks.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/piloswine.asm
@@ -1,0 +1,10 @@
+; PiloswinePokedexEntry: ; 0x1d0c01
+	db "SWINE@" ; species name
+	dw 307, 1230 ; height, weight
+
+	db   "Although its legs"
+	next "are short, its"
+	next "rugged hooves"
+	page "prevent it from"
+	next "slipping, even on"
+	next "icy ground.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/pineco.asm
@@ -1,0 +1,10 @@
+; PinecoPokedexEntry: ; 0x1d04b0
+	db "BAGWORM@" ; species name
+	dw 200, 160 ; height, weight
+
+	db   "It spits out a"
+	next "fluid that it uses"
+	next "to glue tree bark"
+	page "to its body. The"
+	next "fluid hardens when"
+	next "it touches air.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/pinsir.asm
@@ -1,0 +1,10 @@
+; PinsirPokedexEntry: ; 0x1b99fb
+	db "STAGBEETLE@" ; species name
+	dw 411, 1210 ; height, weight
+
+	db   "When the tempera-"
+	next "ture drops at"
+	next "night, it sleeps"
+	page "on treetops or"
+	next "among roots where"
+	next "it is well hidden.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/politoed.asm
@@ -1,0 +1,10 @@
+; PolitoedPokedexEntry: ; 0x1cd84b
+	db "FROG@" ; species name
+	dw 307, 750 ; height, weight
+
+	db   "When it expands"
+	next "its throat to"
+	next "croak out a tune,"
+	page "nearby POLIWAG and"
+	next "POLIWHIRL gather"
+	next "immediately.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/poliwag.asm
@@ -1,0 +1,10 @@
+; PoliwagPokedexEntry: ; 0x182f91
+	db "TADPOLE@" ; species name
+	dw 200, 270 ; height, weight
+
+	db   "The swirl on its"
+	next "belly is its"
+	next "insides showing"
+	page "through the skin."
+	next "It looks clearer"
+	next "after it eats.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/poliwhirl.asm
@@ -1,0 +1,10 @@
+; PoliwhirlPokedexEntry: ; 0x182ffd
+	db "TADPOLE@" ; species name
+	dw 303, 440 ; height, weight
+
+	db   "Though it is"
+	next "skilled at walk-"
+	next "ing, it prefers to"
+	page "live underwater"
+	next "where there is"
+	next "less danger.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/poliwrath.asm
@@ -1,0 +1,10 @@
+; PoliwrathPokedexEntry: ; 0x183066
+	db "TADPOLE@" ; species name
+	dw 403, 1190 ; height, weight
+
+	db   "It can use its"
+	next "well-developed"
+	next "arms and legs to"
+	page "run on the surface"
+	next "of the water for a"
+	next "split second.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/ponyta.asm
@@ -1,0 +1,10 @@
+; PonytaPokedexEntry: ; 0x1b84f2
+	db "FIRE HORSE@" ; species name
+	dw 303, 660 ; height, weight
+
+	db   "Training by"
+	next "jumping over grass"
+	next "that grows longer"
+	page "every day has made"
+	next "it a world-class"
+	next "jumper.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/porygon.asm
@@ -1,0 +1,10 @@
+; PorygonPokedexEntry: ; 0x1cc353
+	db "VIRTUAL@" ; species name
+	dw 207, 800 ; height, weight
+
+	db   "An artificial"
+	next "#MON created"
+	next "due to extensive"
+	page "research, it can"
+	next "perform only what"
+	next "is in its program.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/porygon2.asm
@@ -1,0 +1,10 @@
+; Porygon2PokedexEntry: ; 0x1d110c
+	db "VIRTUAL@" ; species name
+	dw 200, 720 ; height, weight
+
+	db   "This manmade"
+	next "#MON evolved"
+	next "from the latest"
+	page "technology. It"
+	next "may have unprog-"
+	next "rammed reactions.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/primeape.asm
@@ -1,0 +1,10 @@
+; PrimeapePokedexEntry: ; 0x182e39
+	db "PIG MONKEY@" ; species name
+	dw 303, 710 ; height, weight
+
+	db   "It will beat up"
+	next "anyone who makes"
+	next "it mad, even if it"
+	page "has to chase them"
+	next "until the end of"
+	next "the world.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/psyduck.asm
@@ -1,0 +1,10 @@
+; PsyduckPokedexEntry: ; 0x182cee
+	db "DUCK@" ; species name
+	dw 207, 430 ; height, weight
+
+	db   "The only time it"
+	next "can use its psy-"
+	next "chic power is when"
+	page "its sleeping brain"
+	next "cells happen to"
+	next "wake.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/pupitar.asm
@@ -1,0 +1,10 @@
+; PupitarPokedexEntry: ; 0x1d1709
+	db "HARD SHELL@" ; species name
+	dw 311, 3350 ; height, weight
+
+	db   "It will not stay"
+	next "still, even while"
+	next "it's a pupa. It"
+	page "already has arms"
+	next "and legs under its"
+	next "solid shell.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/quagsire.asm
@@ -1,0 +1,10 @@
+; QuagsirePokedexEntry: ; 0x1d00dd
+	db "WATER FISH@" ; species name
+	dw 407, 1650 ; height, weight
+
+	db   "Its body is always"
+	next "slimy. It often"
+	next "bangs its head on"
+	page "the river bottom"
+	next "as it swims but"
+	next "seems not to care.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/quilava.asm
@@ -1,0 +1,10 @@
+; QuilavaPokedexEntry: ; 0x1ccb33
+	db "VOLCANO@" ; species name
+	dw 211, 420 ; height, weight
+
+	db   "Before battle, it"
+	next "turns its back on"
+	next "its opponent to"
+	page "demonstrate how"
+	next "ferociously its"
+	next "fire blazes.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/qwilfish.asm
@@ -1,0 +1,10 @@
+; QwilfishPokedexEntry: ; 0x1d07b1
+	db "BALLOON@" ; species name
+	dw 108, 90 ; height, weight
+
+	db   "When faced with a"
+	next "larger opponent,"
+	next "it swallows as"
+	page "much water as it"
+	next "can to match the"
+	next "opponent's size.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/raichu.asm
@@ -1,0 +1,10 @@
+; RaichuPokedexEntry: ; 0x182117
+	db "MOUSE@" ; species name
+	dw 207, 660 ; height, weight
+
+	db   "If its electric"
+	next "pouches run empty,"
+	next "it raises its tail"
+	page "to gather electri-"
+	next "city from the"
+	next "atmosphere.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/raikou.asm
@@ -1,0 +1,10 @@
+; RaikouPokedexEntry: ; 0x1d156b
+	db "THUNDER@" ; species name
+	dw 603, 3920 ; height, weight
+
+	db   "This rough #MON"
+	next "stores energy"
+	next "inside its body,"
+	page "then sweeps across"
+	next "the land, shooting"
+	next "off electricity.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/rapidash.asm
@@ -1,0 +1,10 @@
+; RapidashPokedexEntry: ; 0x1b855e
+	db "FIRE HORSE@" ; species name
+	dw 507, 2090 ; height, weight
+
+	db   "It just loves to"
+	next "gallop. The faster"
+	next "it goes, the long-"
+	page "er the swaying"
+	next "flames of its mane"
+	next "will become.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/raticate.asm
@@ -1,0 +1,10 @@
+; RaticatePokedexEntry: ; 0x181ea3
+	db "RAT@" ; species name
+	dw 204, 410 ; height, weight
+
+	db   "The webs on its"
+	next "hind legs enable"
+	next "it to cross"
+	page "rivers. It search-"
+	next "es wide areas for"
+	next "food.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/rattata.asm
@@ -1,0 +1,10 @@
+; RattataPokedexEntry: ; 0x181e3d
+	db "RAT@" ; species name
+	dw 100, 80 ; height, weight
+
+	db   "This #MON's"
+	next "impressive vital-"
+	next "ity allows it to"
+	page "live anywhere. It"
+	next "also multiplies"
+	next "very quickly.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/remoraid.asm
@@ -1,0 +1,10 @@
+; RemoraidPokedexEntry: ; 0x1d0cd3
+	db "JET@" ; species name
+	dw 200, 260 ; height, weight
+
+	db   "To escape from an"
+	next "attacker, it may"
+	next "shoot water out of"
+	page "its mouth, then"
+	next "use that force to"
+	next "swim backward.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/rhydon.asm
@@ -1,0 +1,10 @@
+; RhydonPokedexEntry: ; 0x1b93c5
+	db "DRILL@" ; species name
+	dw 603, 2650 ; height, weight
+
+	db   "By lightly spin-"
+	next "ning its drill-"
+	next "like horn, it can"
+	page "easily shatter"
+	next "even a diamond in"
+	next "the rough.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/rhyhorn.asm
@@ -1,0 +1,10 @@
+; RhyhornPokedexEntry: ; 0x1b935d
+	db "SPIKES@" ; species name
+	dw 303, 2540 ; height, weight
+
+	db   "It can remember"
+	next "only one thing at"
+	next "a time. Once it"
+	page "starts rushing, it"
+	next "forgets why it"
+	next "started.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/sandshrew.asm
@@ -1,0 +1,10 @@
+; SandshrewPokedexEntry: ; 0x182184
+	db "MOUSE@" ; species name
+	dw 200, 260 ; height, weight
+
+	db   "It prefers dry,"
+	next "sandy places"
+	next "because it uses"
+	page "the sand to"
+	next "protect itself"
+	next "when threatened.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/sandslash.asm
@@ -1,0 +1,10 @@
+; SandslashPokedexEntry: ; 0x1821e7
+	db "MOUSE@" ; species name
+	dw 303, 650 ; height, weight
+
+	db   "Adept at climbing"
+	next "trees, it rolls"
+	next "into a spiny ball,"
+	page "then attacks its"
+	next "enemies from"
+	next "above.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/scizor.asm
@@ -1,0 +1,10 @@
+; ScizorPokedexEntry: ; 0x1d0821
+	db "SCISSORS@" ; species name
+	dw 511, 2600 ; height, weight
+
+	db   "This #MON's"
+	next "pincers, which"
+	next "contain steel, can"
+	page "crush any hard"
+	next "object it gets a"
+	next "hold of into bits.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/scyther.asm
@@ -1,0 +1,10 @@
+; ScytherPokedexEntry: ; 0x1b9851
+	db "MANTIS@" ; species name
+	dw 411, 1230 ; height, weight
+
+	db   "It's very proud of"
+	next "its speed. It"
+	next "moves so fast that"
+	page "its opponent does"
+	next "not even know what"
+	next "knocked it down.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/seadra.asm
@@ -1,0 +1,10 @@
+; SeadraPokedexEntry: ; 0x1b95b8
+	db "DRAGON@" ; species name
+	dw 311, 550 ; height, weight
+
+	db   "The male raises"
+	next "the young. If it"
+	next "is approached, it"
+	page "uses its toxic"
+	next "spikes to fend off"
+	next "the intruder.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/seaking.asm
@@ -1,0 +1,10 @@
+; SeakingPokedexEntry: ; 0x1b9690
+	db "GOLDFISH@" ; species name
+	dw 403, 860 ; height, weight
+
+	db   "When autumn comes,"
+	next "the males patrol"
+	next "the area around"
+	page "their nests in"
+	next "order to protect"
+	next "their offspring.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/seel.asm
@@ -1,0 +1,10 @@
+; SeelPokedexEntry: ; 0x1b88bf
+	db "SEA LION@" ; species name
+	dw 307, 1980 ; height, weight
+
+	db   "The light blue fur"
+	next "that covers it"
+	next "keeps it protected"
+	page "against the cold."
+	next "It loves iceberg-"
+	next "filled oceans.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/sentret.asm
@@ -1,0 +1,10 @@
+; SentretPokedexEntry: ; 0x1ccd6b
+	db "SCOUT@" ; species name
+	dw 207, 130 ; height, weight
+
+	db   "When acting as a"
+	next "lookout, it warns"
+	next "others of danger"
+	page "by screeching and"
+	next "hitting the ground"
+	next "with its tail.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/shellder.asm
@@ -1,0 +1,10 @@
+; ShellderPokedexEntry: ; 0x1b8a68
+	db "BIVALVE@" ; species name
+	dw 100, 90 ; height, weight
+
+	db   "Clamping on to an"
+	next "opponent reveals"
+	next "its vulnerable"
+	page "parts, so it uses"
+	next "this move only as"
+	next "a last resort.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/shuckle.asm
@@ -1,0 +1,10 @@
+; ShucklePokedexEntry: ; 0x1d088e
+	db "MOLD@" ; species name
+	dw 200, 450 ; height, weight
+
+	db   "The fluid secreted"
+	next "by its toes carves"
+	next "holes in rocks for"
+	page "nesting and can be"
+	next "mixed with BERRIES"
+	next "to make a drink.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/skarmory.asm
@@ -1,0 +1,10 @@
+; SkarmoryPokedexEntry: ; 0x1d0e8c
+	db "ARMOR BIRD@" ; species name
+	dw 507, 1110 ; height, weight
+
+	db   "The feathers that"
+	next "it sheds are very"
+	next "sharp. It is said"
+	page "that people once"
+	next "used the feathers"
+	next "as swords.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/skiploom.asm
@@ -1,0 +1,10 @@
+; SkiploomPokedexEntry: ; 0x1cd928
+	db "COTTONWEED@" ; species name
+	dw 200, 20 ; height, weight
+
+	db   "As soon as it"
+	next "rains, it closes"
+	next "its flower and"
+	page "hides in the shade"
+	next "of a tree to avoid"
+	next "getting wet.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/slowbro.asm
@@ -1,0 +1,10 @@
+; SlowbroPokedexEntry: ; 0x1b8635
+	db "HERMITCRAB@" ; species name
+	dw 503, 1730 ; height, weight
+
+	db   "An attached"
+	next "SHELLDER won't let"
+	next "go because of the"
+	page "tasty flavor that"
+	next "oozes out of its"
+	next "tail.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/slowking.asm
@@ -1,0 +1,10 @@
+; SlowkingPokedexEntry: ; 0x1d0292
+	db "ROYAL@" ; species name
+	dw 607, 1750 ; height, weight
+
+	db   "Every time it ya-"
+	next "wns, SHELLDER"
+	next "injects more poi-"
+	page "son into it. The"
+	next "poison makes it"
+	next "more intelligent.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/slowpoke.asm
@@ -1,0 +1,10 @@
+; SlowpokePokedexEntry: ; 0x1b85d3
+	db "DOPEY@" ; species name
+	dw 311, 790 ; height, weight
+
+	db   "It is always so"
+	next "absent-minded that"
+	next "it won't react,"
+	page "even if its"
+	next "flavorful tail is"
+	next "bitten.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/slugma.asm
@@ -1,0 +1,10 @@
+; SlugmaPokedexEntry: ; 0x1d0ab8
+	db "LAVA@" ; species name
+	dw 204, 770 ; height, weight
+
+	db   "These group to-"
+	next "gether in areas"
+	next "that are hotter"
+	page "than normal. If it"
+	next "cools off, its"
+	next "skin hardens.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/smeargle.asm
@@ -1,0 +1,10 @@
+; SmearglePokedexEntry: ; 0x1d11e0
+	db "PAINTER@" ; species name
+	dw 311, 1280 ; height, weight
+
+	db   "The color of the"
+	next "mysterious fluid"
+	next "secreted from its"
+	page "tail is predeter-"
+	next "mined for each"
+	next "SMEARGLE.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/smoochum.asm
@@ -1,0 +1,10 @@
+; SmoochumPokedexEntry: ; 0x1d132b
+	db "KISS@" ; species name
+	dw 104, 130 ; height, weight
+
+	db   "The sensitivity of"
+	next "its lips develops"
+	next "most quickly."
+	page "It uses them to"
+	next "try to identify"
+	next "unknown objects.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/sneasel.asm
@@ -1,0 +1,10 @@
+; SneaselPokedexEntry: ; 0x1d097a
+	db "SHARP CLAW@" ; species name
+	dw 211, 620 ; height, weight
+
+	db   "This cunning"
+	next "#MON hides"
+	next "under the cover"
+	page "of darkness,"
+	next "waiting to attack"
+	next "its prey.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/snorlax.asm
@@ -1,0 +1,10 @@
+; SnorlaxPokedexEntry: ; 0x1cc5cf
+	db "SLEEPING@" ; species name
+	dw 611, 10140 ; height, weight
+
+	db   "This #MON's"
+	next "stomach is so"
+	next "strong, even"
+	page "eating moldy or"
+	next "rotten food will"
+	next "not affect it.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/snubbull.asm
@@ -1,0 +1,10 @@
+; SnubbullPokedexEntry: ; 0x1d06e0
+	db "FAIRY@" ; species name
+	dw 200, 170 ; height, weight
+
+	db   "In truth, it is a"
+	next "cowardly #MON."
+	next "It growls eagerly"
+	page "in order to hide"
+	next "its fear from its"
+	next "opponent.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/spearow.asm
@@ -1,0 +1,10 @@
+; SpearowPokedexEntry: ; 0x181f03
+	db "TINY BIRD@" ; species name
+	dw 100, 40 ; height, weight
+
+	db   "To protect its"
+	next "territory, it"
+	next "flies around"
+	page "ceaselessly,"
+	next "making high-"
+	next "pitched cries.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/spinarak.asm
@@ -1,0 +1,10 @@
+; SpinarakPokedexEntry: ; 0x1cd012
+	db "STRINGSPIT@" ; species name
+	dw 108, 190 ; height, weight
+
+	db   "If prey becomes"
+	next "ensnared in its"
+	next "nest of spun"
+	page "string, it waits"
+	next "motionlessly until"
+	next "it becomes dark.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/squirtle.asm
@@ -1,0 +1,10 @@
+; SquirtlePokedexEntry: ; 0x181926
+	db "TINYTURTLE@" ; species name
+	dw 108, 200 ; height, weight
+
+	db   "When it feels"
+	next "threatened, it"
+	next "draws its legs"
+	page "inside its shell"
+	next "and sprays water"
+	next "from its mouth.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/stantler.asm
@@ -1,0 +1,10 @@
+; StantlerPokedexEntry: ; 0x1d1174
+	db "BIG HORN@" ; species name
+	dw 407, 1570 ; height, weight
+
+	db   "The round balls"
+	next "found on the"
+	next "fallen antlers can"
+	page "be ground into a"
+	next "powder that aids"
+	next "in sleeping.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/starmie.asm
@@ -1,0 +1,10 @@
+; StarmiePokedexEntry: ; 0x1b9776
+	db "MYSTERIOUS@" ; species name
+	dw 307, 1760 ; height, weight
+
+	db   "It is said that it"
+	next "uses the seven-"
+	next "colored core of"
+	page "its body to send"
+	next "electric waves"
+	next "into outer space.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/staryu.asm
@@ -1,0 +1,10 @@
+; StaryuPokedexEntry: ; 0x1b9702
+	db "STARSHAPE@" ; species name
+	dw 207, 760 ; height, weight
+
+	db   "When the stars"
+	next "twinkle at night,"
+	next "it floats up from"
+	page "the sea floor, and"
+	next "its body's center"
+	next "core flickers.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/steelix.asm
@@ -1,0 +1,10 @@
+; SteelixPokedexEntry: ; 0x1d067c
+	db "IRON SNAKE@" ; species name
+	dw 3002, 8820 ; height, weight
+
+	db   "The many small"
+	next "metal particles"
+	next "that cover this"
+	page "#MON's body"
+	next "reflect bright"
+	next "light well.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/sudowoodo.asm
@@ -1,0 +1,10 @@
+; SudowoodoPokedexEntry: ; 0x1cd7d9
+	db "IMITATION@" ; species name
+	dw 311, 840 ; height, weight
+
+	db   "If a tree branch"
+	next "shakes when there"
+	next "is no wind, it's a"
+	page "SUDOWOODO, not a"
+	next "tree. It hides"
+	next "from the rain.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/suicune.asm
@@ -1,0 +1,10 @@
+; SuicunePokedexEntry: ; 0x1d1642
+	db "AURORA@" ; species name
+	dw 607, 4120 ; height, weight
+
+	db   "This divine"
+	next "#MON blows"
+	next "around the world,"
+	page "always in search"
+	next "of a pure"
+	next "reservoir.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/sunflora.asm
@@ -1,0 +1,10 @@
+; SunfloraPokedexEntry: ; 0x1cdaef
+	db "SUN@" ; species name
+	dw 207, 190 ; height, weight
+
+	db   "As the hot season"
+	next "approaches, the"
+	next "petals on this"
+	page "#MON's face"
+	next "become more vivid"
+	next "and lively.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/sunkern.asm
@@ -1,0 +1,10 @@
+; SunkernPokedexEntry: ; 0x1cda87
+	db "SEED@" ; species name
+	dw 100, 40 ; height, weight
+
+	db   "It is very weak."
+	next "Its only means of"
+	next "defense is to"
+	page "shake its leaves"
+	next "desperately at its"
+	next "attacker.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/swinub.asm
@@ -1,0 +1,10 @@
+; SwinubPokedexEntry: ; 0x1d0b8d
+	db "PIG@" ; species name
+	dw 104, 140 ; height, weight
+
+	db   "It uses the tip of"
+	next "its nose to dig"
+	next "for food. Its nose"
+	page "is so tough that"
+	next "even frozen ground"
+	next "poses no problem.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/tangela.asm
@@ -1,0 +1,10 @@
+; TangelaPokedexEntry: ; 0x1b948c
+	db "VINE@" ; species name
+	dw 303, 770 ; height, weight
+
+	db   "During battle, it"
+	next "constantly moves"
+	next "the vines that"
+	page "cover its body in"
+	next "order to annoy its"
+	next "opponent.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/tauros.asm
@@ -1,0 +1,10 @@
+; TaurosPokedexEntry: ; 0x1b9a6f
+	db "WILD BULL@" ; species name
+	dw 407, 1950 ; height, weight
+
+	db   "These violent"
+	next "#MON fight"
+	next "with other mem-"
+	page "bers of their herd"
+	next "in order to prove"
+	next "their strength.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/teddiursa.asm
@@ -1,0 +1,10 @@
+; TeddiursaPokedexEntry: ; 0x1d09da
+	db "LITTLE BEAR@" ; species name
+	dw 200, 190 ; height, weight
+
+	db   "It always licks"
+	next "honey. Its palm"
+	next "tastes sweet"
+	page "because of all the"
+	next "honey it has"
+	next "absorbed.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/tentacool.asm
@@ -1,0 +1,10 @@
+; TentacoolPokedexEntry: ; 0x1b82d1
+	db "JELLYFISH@" ; species name
+	dw 211, 1000 ; height, weight
+
+	db   "As it floats along"
+	next "on the waves, it"
+	next "uses its toxic"
+	page "feelers to stab"
+	next "anything it"
+	next "touches.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/tentacruel.asm
@@ -1,0 +1,10 @@
+; TentacruelPokedexEntry: ; 0x1b8337
+	db "JELLYFISH@" ; species name
+	dw 503, 1210 ; height, weight
+
+	db   "When its 80 feel-"
+	next "ers absorb water,"
+	next "it stretches to"
+	page "become like a net"
+	next "to entangle its"
+	next "prey.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/togepi.asm
@@ -1,0 +1,10 @@
+; TogepiPokedexEntry: ; 0x1cd396
+	db "SPIKE BALL@" ; species name
+	dw 100, 30 ; height, weight
+
+	db   "It is considered"
+	next "to be a symbol of"
+	next "good luck. Its"
+	page "shell is said to"
+	next "be filled with"
+	next "happiness.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/togetic.asm
@@ -1,0 +1,10 @@
+; TogeticPokedexEntry: ; 0x1cd402
+	db "HAPPINESS@" ; species name
+	dw 200, 70 ; height, weight
+
+	db   "Although it does"
+	next "not flap its wings"
+	next "very much, it can"
+	page "stay up in the air"
+	next "as it tags along"
+	next "after its trainer.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/totodile.asm
@@ -1,0 +1,10 @@
+; TotodilePokedexEntry: ; 0x1ccc14
+	db "BIG JAW@" ; species name
+	dw 200, 210 ; height, weight
+
+	db   "This rough critter"
+	next "chomps at any"
+	next "moving object it"
+	page "sees. Turning your"
+	next "back on it is not"
+	next "recommended.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/typhlosion.asm
@@ -1,0 +1,10 @@
+; TyphlosionPokedexEntry: ; 0x1ccba0
+	db "VOLCANO@" ; species name
+	dw 507, 1750 ; height, weight
+
+	db   "When heat from its"
+	next "body causes the"
+	next "air around it to"
+	page "shimmer, this is a"
+	next "sign that it is"
+	next "ready to battle.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/tyranitar.asm
@@ -1,0 +1,10 @@
+; TyranitarPokedexEntry: ; 0x1d177b
+	db "ARMOR@" ; species name
+	dw 607, 4450 ; height, weight
+
+	db   "In just one of its"
+	next "mighty hands, it"
+	next "has the power to"
+	page "make the ground"
+	next "shake and moun-"
+	next "tains crumble.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/tyrogue.asm
@@ -1,0 +1,10 @@
+; TyroguePokedexEntry: ; 0x1d124b
+	db "SCUFFLE@" ; species name
+	dw 204, 460 ; height, weight
+
+	db   "To brush up on its"
+	next "fighting skills,"
+	next "it will challenge"
+	page "anyone. It has a"
+	next "very strong com-"
+	next "petitive spirit.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/umbreon.asm
@@ -1,0 +1,10 @@
+; UmbreonPokedexEntry: ; 0x1d01af
+	db "MOONLIGHT@" ; species name
+	dw 303, 600 ; height, weight
+
+	db   "On the night of a"
+	next "full moon, or when"
+	next "it gets excited,"
+	page "the ring patterns"
+	next "on its body glow"
+	next "yellow.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/unown.asm
@@ -1,0 +1,10 @@
+; UnownPokedexEntry: ; 0x1d0373
+	db "SYMBOL@" ; species name
+	dw 108, 110 ; height, weight
+
+	db   "Because different"
+	next "types of UNOWN"
+	next "exist, it is said"
+	page "that they must"
+	next "have a variety of"
+	next "abilities.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/ursaring.asm
@@ -1,0 +1,10 @@
+; UrsaringPokedexEntry: ; 0x1d0a41
+	db "HIBERNANT@" ; species name
+	dw 511, 2770 ; height, weight
+
+	db   "Although it has a"
+	next "large body, it is"
+	next "quite skilled at"
+	page "climbing trees. It"
+	next "eats and sleeps in"
+	next "the treetops.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/vaporeon.asm
@@ -1,0 +1,10 @@
+; VaporeonPokedexEntry: ; 0x1cc224
+	db "BUBBLE JET@" ; species name
+	dw 303, 640 ; height, weight
+
+	db   "As it uses the"
+	next "fins on the tip"
+	next "of its tail to"
+	page "swim, it blends"
+	next "with the water"
+	next "perfectly.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/venomoth.asm
@@ -1,0 +1,10 @@
+; VenomothPokedexEntry: ; 0x182abf
+	db "POISONMOTH@" ; species name
+	dw 411, 280 ; height, weight
+
+	db   "The scales it"
+	next "scatters will"
+	next "paralyze anyone"
+	page "who touches them,"
+	next "making that person"
+	next "unable to stand.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/venonat.asm
@@ -1,0 +1,10 @@
+; VenonatPokedexEntry: ; 0x182a53
+	db "INSECT@" ; species name
+	dw 303, 660 ; height, weight
+
+	db   "The small bugs it"
+	next "eats appear only"
+	next "at night, so it"
+	page "sleeps in a hole"
+	next "in a tree until"
+	next "night falls.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/venusaur.asm
@@ -1,0 +1,10 @@
+; VenusaurPokedexEntry: ; 0x181773
+	db "SEED@" ; species name
+	dw 607, 2210 ; height, weight
+
+	db   "As it warms it-"
+	next "self and absorbs"
+	next "the sunlight, its"
+	page "flower petals"
+	next "release a pleasant"
+	next "fragrance.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/victreebel.asm
@@ -1,0 +1,10 @@
+; VictreebelPokedexEntry: ; 0x1b826e
+	db "FLYCATCHER@" ; species name
+	dw 507, 340 ; height, weight
+
+	db   "Once ingested into"
+	next "this #MON's"
+	next "body, even the"
+	page "hardest object"
+	next "will melt into"
+	next "nothing.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/vileplume.asm
@@ -1,0 +1,10 @@
+; VileplumePokedexEntry: ; 0x182918
+	db "FLOWER@" ; species name
+	dw 311, 410 ; height, weight
+
+	db   "By shaking its big"
+	next "petals, it scat-"
+	next "ters toxic pollen"
+	page "into the air,"
+	next "turning the air"
+	next "yellow.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/voltorb.asm
@@ -1,0 +1,10 @@
+; VoltorbPokedexEntry: ; 0x1b8eb0
+	db "BALL@" ; species name
+	dw 108, 230 ; height, weight
+
+	db   "During the study"
+	next "of this #MON,"
+	next "it was discovered"
+	page "that its compo-"
+	next "nents are not"
+	next "found in nature.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/vulpix.asm
@@ -1,0 +1,10 @@
+; VulpixPokedexEntry: ; 0x18259b
+	db "FOX@" ; species name
+	dw 200, 220 ; height, weight
+
+	db   "As its body grows"
+	next "larger, its six"
+	next "warm tails become"
+	page "more beautiful,"
+	next "with a more luxur-"
+	next "ious coat of fur.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/wartortle.asm
@@ -1,0 +1,10 @@
+; WartortlePokedexEntry: ; 0x181993
+	db "TURTLE@" ; species name
+	dw 303, 500 ; height, weight
+
+	db   "Its long, furry"
+	next "tail is a symbol"
+	next "of longevity,"
+	page "making it quite"
+	next "popular among"
+	next "older people.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/weedle.asm
@@ -1,0 +1,10 @@
+; WeedlePokedexEntry: ; 0x181bb4
+	db "HAIRY BUG@" ; species name
+	dw 100, 70 ; height, weight
+
+	db   "The barb on top of"
+	next "its head secretes"
+	next "a strong poison."
+	page "It uses this toxic"
+	next "barb to protect"
+	next "itself.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/weepinbell.asm
@@ -1,0 +1,10 @@
+; WeepinbellPokedexEntry: ; 0x1b81fd
+	db "FLYCATCHER@" ; species name
+	dw 303, 140 ; height, weight
+
+	db   "When it's hungry,"
+	next "it swings its"
+	next "razor-sharp"
+	page "leaves, slicing up"
+	next "any unlucky object"
+	next "nearby for food.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/weezing.asm
@@ -1,0 +1,10 @@
+; WeezingPokedexEntry: ; 0x1b92ec
+	db "POISON GAS@" ; species name
+	dw 311, 210 ; height, weight
+
+	db   "When it inhales"
+	next "poisonous gases"
+	next "from garbage, its"
+	page "body expands, and"
+	next "its insides smell"
+	next "much worse.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/wigglytuff.asm
@@ -1,0 +1,10 @@
+; WigglytuffPokedexEntry: ; 0x1826e9
+	db "BALLOON@" ; species name
+	dw 303, 260 ; height, weight
+
+	db   "The rich, fluffy"
+	next "fur that covers"
+	next "its body feels so"
+	page "good that anyone"
+	next "who feels it can't"
+	next "stop touching it.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/wobbuffet.asm
@@ -1,0 +1,10 @@
+; WobbuffetPokedexEntry: ; 0x1d03dd
+	db "PATIENT@" ; species name
+	dw 403, 630 ; height, weight
+
+	db   "In order to con-"
+	next "ceal its black"
+	next "tail, it lives in"
+	page "a dark cave and"
+	next "only moves about"
+	next "at night.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/wooper.asm
@@ -1,0 +1,10 @@
+; WooperPokedexEntry: ; 0x1d0078
+	db "WATER FISH@" ; species name
+	dw 104, 190 ; height, weight
+
+	db   "A mucous"
+	next "membrane covers"
+	next "its body. Touching"
+	page "it barehanded will"
+	next "cause a shooting"
+	next "pain.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/xatu.asm
@@ -1,0 +1,10 @@
+; XatuPokedexEntry: ; 0x1cd4e9
+	db "MYSTIC@" ; species name
+	dw 411, 330 ; height, weight
+
+	db   "Once it begins to"
+	next "meditate at sun-"
+	next "rise, the entire"
+	page "day will pass"
+	next "before it will"
+	next "move again.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/yanma.asm
@@ -1,0 +1,10 @@
+; YanmaPokedexEntry: ; 0x1d0000
+	db "CLEAR WING@" ; species name
+	dw 311, 840 ; height, weight
+
+	db   "It can see in all"
+	next "directions without"
+	next "moving its big"
+	page "eyes, helping it"
+	next "spot attackers and"
+	next "food right away.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/zapdos.asm
@@ -1,0 +1,10 @@
+; ZapdosPokedexEntry: ; 0x1cc697
+	db "ELECTRIC@" ; species name
+	dw 503, 1160 ; height, weight
+
+	db   "Legendary bird"
+	next "#MON. They say"
+	next "lightning caused"
+	page "by the flapping of"
+	next "its wings causes"
+	next "summer storms.@"
--- /dev/null
+++ b/data/pokemon/dex_entries/zubat.asm
@@ -1,0 +1,10 @@
+; ZubatPokedexEntry: ; 0x18275d
+	db "BAT@" ; species name
+	dw 207, 170 ; height, weight
+
+	db   "During the day, it"
+	next "gathers with"
+	next "others and hangs"
+	page "from the ceilings"
+	next "of old buildings"
+	next "and caves.@"
--- /dev/null
+++ b/data/pokemon/dex_entry_pointers.asm
@@ -1,0 +1,254 @@
+PokedexDataPointerTable: ; 0x44378
+; entries correspond to constants/pokemon_constants.asm
+	dw BulbasaurPokedexEntry
+	dw IvysaurPokedexEntry
+	dw VenusaurPokedexEntry
+	dw CharmanderPokedexEntry
+	dw CharmeleonPokedexEntry
+	dw CharizardPokedexEntry
+	dw SquirtlePokedexEntry
+	dw WartortlePokedexEntry
+	dw BlastoisePokedexEntry
+	dw CaterpiePokedexEntry
+	dw MetapodPokedexEntry
+	dw ButterfreePokedexEntry
+	dw WeedlePokedexEntry
+	dw KakunaPokedexEntry
+	dw BeedrillPokedexEntry
+	dw PidgeyPokedexEntry
+	dw PidgeottoPokedexEntry
+	dw PidgeotPokedexEntry
+	dw RattataPokedexEntry
+	dw RaticatePokedexEntry
+	dw SpearowPokedexEntry
+	dw FearowPokedexEntry
+	dw EkansPokedexEntry
+	dw ArbokPokedexEntry
+	dw PikachuPokedexEntry
+	dw RaichuPokedexEntry
+	dw SandshrewPokedexEntry
+	dw SandslashPokedexEntry
+	dw NidoranFPokedexEntry
+	dw NidorinaPokedexEntry
+	dw NidoqueenPokedexEntry
+	dw NidoranMPokedexEntry
+	dw NidorinoPokedexEntry
+	dw NidokingPokedexEntry
+	dw ClefairyPokedexEntry
+	dw ClefablePokedexEntry
+	dw VulpixPokedexEntry
+	dw NinetalesPokedexEntry
+	dw JigglypuffPokedexEntry
+	dw WigglytuffPokedexEntry
+	dw ZubatPokedexEntry
+	dw GolbatPokedexEntry
+	dw OddishPokedexEntry
+	dw GloomPokedexEntry
+	dw VileplumePokedexEntry
+	dw ParasPokedexEntry
+	dw ParasectPokedexEntry
+	dw VenonatPokedexEntry
+	dw VenomothPokedexEntry
+	dw DiglettPokedexEntry
+	dw DugtrioPokedexEntry
+	dw MeowthPokedexEntry
+	dw PersianPokedexEntry
+	dw PsyduckPokedexEntry
+	dw GolduckPokedexEntry
+	dw MankeyPokedexEntry
+	dw PrimeapePokedexEntry
+	dw GrowlithePokedexEntry
+	dw ArcaninePokedexEntry
+	dw PoliwagPokedexEntry
+	dw PoliwhirlPokedexEntry
+	dw PoliwrathPokedexEntry
+	dw AbraPokedexEntry
+	dw KadabraPokedexEntry
+	dw AlakazamPokedexEntry
+	dw MachopPokedexEntry
+	dw MachokePokedexEntry
+	dw MachampPokedexEntry
+	dw BellsproutPokedexEntry
+	dw WeepinbellPokedexEntry
+	dw VictreebelPokedexEntry
+	dw TentacoolPokedexEntry
+	dw TentacruelPokedexEntry
+	dw GeodudePokedexEntry
+	dw GravelerPokedexEntry
+	dw GolemPokedexEntry
+	dw PonytaPokedexEntry
+	dw RapidashPokedexEntry
+	dw SlowpokePokedexEntry
+	dw SlowbroPokedexEntry
+	dw MagnemitePokedexEntry
+	dw MagnetonPokedexEntry
+	dw FarfetchDPokedexEntry
+	dw DoduoPokedexEntry
+	dw DodrioPokedexEntry
+	dw SeelPokedexEntry
+	dw DewgongPokedexEntry
+	dw GrimerPokedexEntry
+	dw MukPokedexEntry
+	dw ShellderPokedexEntry
+	dw CloysterPokedexEntry
+	dw GastlyPokedexEntry
+	dw HaunterPokedexEntry
+	dw GengarPokedexEntry
+	dw OnixPokedexEntry
+	dw DrowzeePokedexEntry
+	dw HypnoPokedexEntry
+	dw KrabbyPokedexEntry
+	dw KinglerPokedexEntry
+	dw VoltorbPokedexEntry
+	dw ElectrodePokedexEntry
+	dw ExeggcutePokedexEntry
+	dw ExeggutorPokedexEntry
+	dw CubonePokedexEntry
+	dw MarowakPokedexEntry
+	dw HitmonleePokedexEntry
+	dw HitmonchanPokedexEntry
+	dw LickitungPokedexEntry
+	dw KoffingPokedexEntry
+	dw WeezingPokedexEntry
+	dw RhyhornPokedexEntry
+	dw RhydonPokedexEntry
+	dw ChanseyPokedexEntry
+	dw TangelaPokedexEntry
+	dw KangaskhanPokedexEntry
+	dw HorseaPokedexEntry
+	dw SeadraPokedexEntry
+	dw GoldeenPokedexEntry
+	dw SeakingPokedexEntry
+	dw StaryuPokedexEntry
+	dw StarmiePokedexEntry
+	dw MrMimePokedexEntry
+	dw ScytherPokedexEntry
+	dw JynxPokedexEntry
+	dw ElectabuzzPokedexEntry
+	dw MagmarPokedexEntry
+	dw PinsirPokedexEntry
+	dw TaurosPokedexEntry
+	dw MagikarpPokedexEntry
+	dw GyaradosPokedexEntry
+	dw LaprasPokedexEntry
+	dw DittoPokedexEntry
+	dw EeveePokedexEntry
+	dw VaporeonPokedexEntry
+	dw JolteonPokedexEntry
+	dw FlareonPokedexEntry
+	dw PorygonPokedexEntry
+	dw OmanytePokedexEntry
+	dw OmastarPokedexEntry
+	dw KabutoPokedexEntry
+	dw KabutopsPokedexEntry
+	dw AerodactylPokedexEntry
+	dw SnorlaxPokedexEntry
+	dw ArticunoPokedexEntry
+	dw ZapdosPokedexEntry
+	dw MoltresPokedexEntry
+	dw DratiniPokedexEntry
+	dw DragonairPokedexEntry
+	dw DragonitePokedexEntry
+	dw MewtwoPokedexEntry
+	dw MewPokedexEntry
+	dw ChikoritaPokedexEntry
+	dw BayleefPokedexEntry
+	dw MeganiumPokedexEntry
+	dw CyndaquilPokedexEntry
+	dw QuilavaPokedexEntry
+	dw TyphlosionPokedexEntry
+	dw TotodilePokedexEntry
+	dw CroconawPokedexEntry
+	dw FeraligatrPokedexEntry
+	dw SentretPokedexEntry
+	dw FurretPokedexEntry
+	dw HoothootPokedexEntry
+	dw NoctowlPokedexEntry
+	dw LedybaPokedexEntry
+	dw LedianPokedexEntry
+	dw SpinarakPokedexEntry
+	dw AriadosPokedexEntry
+	dw CrobatPokedexEntry
+	dw ChinchouPokedexEntry
+	dw LanturnPokedexEntry
+	dw PichuPokedexEntry
+	dw CleffaPokedexEntry
+	dw IgglybuffPokedexEntry
+	dw TogepiPokedexEntry
+	dw TogeticPokedexEntry
+	dw NatuPokedexEntry
+	dw XatuPokedexEntry
+	dw MareepPokedexEntry
+	dw FlaaffyPokedexEntry
+	dw AmpharosPokedexEntry
+	dw BellossomPokedexEntry
+	dw MarillPokedexEntry
+	dw AzumarillPokedexEntry
+	dw SudowoodoPokedexEntry
+	dw PolitoedPokedexEntry
+	dw HoppipPokedexEntry
+	dw SkiploomPokedexEntry
+	dw JumpluffPokedexEntry
+	dw AipomPokedexEntry
+	dw SunkernPokedexEntry
+	dw SunfloraPokedexEntry
+	dw YanmaPokedexEntry
+	dw WooperPokedexEntry
+	dw QuagsirePokedexEntry
+	dw EspeonPokedexEntry
+	dw UmbreonPokedexEntry
+	dw MurkrowPokedexEntry
+	dw SlowkingPokedexEntry
+	dw MisdreavusPokedexEntry
+	dw UnownPokedexEntry
+	dw WobbuffetPokedexEntry
+	dw GirafarigPokedexEntry
+	dw PinecoPokedexEntry
+	dw ForretressPokedexEntry
+	dw DunsparcePokedexEntry
+	dw GligarPokedexEntry
+	dw SteelixPokedexEntry
+	dw SnubbullPokedexEntry
+	dw GranbullPokedexEntry
+	dw QwilfishPokedexEntry
+	dw ScizorPokedexEntry
+	dw ShucklePokedexEntry
+	dw HeracrossPokedexEntry
+	dw SneaselPokedexEntry
+	dw TeddiursaPokedexEntry
+	dw UrsaringPokedexEntry
+	dw SlugmaPokedexEntry
+	dw MagcargoPokedexEntry
+	dw SwinubPokedexEntry
+	dw PiloswinePokedexEntry
+	dw CorsolaPokedexEntry
+	dw RemoraidPokedexEntry
+	dw OctilleryPokedexEntry
+	dw DelibirdPokedexEntry
+	dw MantinePokedexEntry
+	dw SkarmoryPokedexEntry
+	dw HoundourPokedexEntry
+	dw HoundoomPokedexEntry
+	dw KingdraPokedexEntry
+	dw PhanpyPokedexEntry
+	dw DonphanPokedexEntry
+	dw Porygon2PokedexEntry
+	dw StantlerPokedexEntry
+	dw SmearglePokedexEntry
+	dw TyroguePokedexEntry
+	dw HitmontopPokedexEntry
+	dw SmoochumPokedexEntry
+	dw ElekidPokedexEntry
+	dw MagbyPokedexEntry
+	dw MiltankPokedexEntry
+	dw BlisseyPokedexEntry
+	dw RaikouPokedexEntry
+	dw EnteiPokedexEntry
+	dw SuicunePokedexEntry
+	dw LarvitarPokedexEntry
+	dw PupitarPokedexEntry
+	dw TyranitarPokedexEntry
+	dw LugiaPokedexEntry
+	dw HoOhPokedexEntry
+	dw CelebiPokedexEntry
+; 0x4456e
--- /dev/null
+++ b/data/pokemon/dex_order_alpha.asm
@@ -1,0 +1,255 @@
+; Every Pokémon sorted alphabetically by name.
+
+AlphabeticalPokedexOrder: ; 0x40c65
+	db ABRA
+	db AERODACTYL
+	db AIPOM
+	db ALAKAZAM
+	db AMPHAROS
+	db ARBOK
+	db ARCANINE
+	db ARIADOS
+	db ARTICUNO
+	db AZUMARILL
+	db BAYLEEF
+	db BEEDRILL
+	db BELLOSSOM
+	db BELLSPROUT
+	db BLASTOISE
+	db BLISSEY
+	db BULBASAUR
+	db BUTTERFREE
+	db CATERPIE
+	db CELEBI
+	db CHANSEY
+	db CHARIZARD
+	db CHARMANDER
+	db CHARMELEON
+	db CHIKORITA
+	db CHINCHOU
+	db CLEFABLE
+	db CLEFAIRY
+	db CLEFFA
+	db CLOYSTER
+	db CORSOLA
+	db CROBAT
+	db CROCONAW
+	db CUBONE
+	db CYNDAQUIL
+	db DELIBIRD
+	db DEWGONG
+	db DIGLETT
+	db DITTO
+	db DODRIO
+	db DODUO
+	db DONPHAN
+	db DRAGONAIR
+	db DRAGONITE
+	db DRATINI
+	db DROWZEE
+	db DUGTRIO
+	db DUNSPARCE
+	db EEVEE
+	db EKANS
+	db ELECTABUZZ
+	db ELECTRODE
+	db ELEKID
+	db ENTEI
+	db ESPEON
+	db EXEGGCUTE
+	db EXEGGUTOR
+	db FARFETCH_D
+	db FEAROW
+	db FERALIGATR
+	db FLAAFFY
+	db FLAREON
+	db FORRETRESS
+	db FURRET
+	db GASTLY
+	db GENGAR
+	db GEODUDE
+	db GIRAFARIG
+	db GLIGAR
+	db GLOOM
+	db GOLBAT
+	db GOLDEEN
+	db GOLDUCK
+	db GOLEM
+	db GRANBULL
+	db GRAVELER
+	db GRIMER
+	db GROWLITHE
+	db GYARADOS
+	db HAUNTER
+	db HERACROSS
+	db HITMONCHAN
+	db HITMONLEE
+	db HITMONTOP
+	db HO_OH
+	db HOOTHOOT
+	db HOPPIP
+	db HORSEA
+	db HOUNDOOM
+	db HOUNDOUR
+	db HYPNO
+	db IGGLYBUFF
+	db IVYSAUR
+	db JIGGLYPUFF
+	db JOLTEON
+	db JUMPLUFF
+	db JYNX
+	db KABUTO
+	db KABUTOPS
+	db KADABRA
+	db KAKUNA
+	db KANGASKHAN
+	db KINGDRA
+	db KINGLER
+	db KOFFING
+	db KRABBY
+	db LANTURN
+	db LAPRAS
+	db LARVITAR
+	db LEDIAN
+	db LEDYBA
+	db LICKITUNG
+	db LUGIA
+	db MACHAMP
+	db MACHOKE
+	db MACHOP
+	db MAGBY
+	db MAGCARGO
+	db MAGIKARP
+	db MAGMAR
+	db MAGNEMITE
+	db MAGNETON
+	db MANKEY
+	db MANTINE
+	db MAREEP
+	db MARILL
+	db MAROWAK
+	db MEGANIUM
+	db MEOWTH
+	db METAPOD
+	db MEW
+	db MEWTWO
+	db MILTANK
+	db MISDREAVUS
+	db MOLTRES
+	db MR__MIME
+	db MUK
+	db MURKROW
+	db NATU
+	db NIDOKING
+	db NIDOQUEEN
+	db NIDORAN_F
+	db NIDORAN_M
+	db NIDORINA
+	db NIDORINO
+	db NINETALES
+	db NOCTOWL
+	db OCTILLERY
+	db ODDISH
+	db OMANYTE
+	db OMASTAR
+	db ONIX
+	db PARAS
+	db PARASECT
+	db PERSIAN
+	db PHANPY
+	db PICHU
+	db PIDGEOT
+	db PIDGEOTTO
+	db PIDGEY
+	db PIKACHU
+	db PILOSWINE
+	db PINECO
+	db PINSIR
+	db POLITOED
+	db POLIWAG
+	db POLIWHIRL
+	db POLIWRATH
+	db PONYTA
+	db PORYGON
+	db PORYGON2
+	db PRIMEAPE
+	db PSYDUCK
+	db PUPITAR
+	db QUAGSIRE
+	db QUILAVA
+	db QWILFISH
+	db RAICHU
+	db RAIKOU
+	db RAPIDASH
+	db RATICATE
+	db RATTATA
+	db REMORAID
+	db RHYDON
+	db RHYHORN
+	db SANDSHREW
+	db SANDSLASH
+	db SCIZOR
+	db SCYTHER
+	db SEADRA
+	db SEAKING
+	db SEEL
+	db SENTRET
+	db SHELLDER
+	db SHUCKLE
+	db SKARMORY
+	db SKIPLOOM
+	db SLOWBRO
+	db SLOWKING
+	db SLOWPOKE
+	db SLUGMA
+	db SMEARGLE
+	db SMOOCHUM
+	db SNEASEL
+	db SNORLAX
+	db SNUBBULL
+	db SPEAROW
+	db SPINARAK
+	db SQUIRTLE
+	db STANTLER
+	db STARMIE
+	db STARYU
+	db STEELIX
+	db SUDOWOODO
+	db SUICUNE
+	db SUNFLORA
+	db SUNKERN
+	db SWINUB
+	db TANGELA
+	db TAUROS
+	db TEDDIURSA
+	db TENTACOOL
+	db TENTACRUEL
+	db TOGEPI
+	db TOGETIC
+	db TOTODILE
+	db TYPHLOSION
+	db TYRANITAR
+	db TYROGUE
+	db UMBREON
+	db UNOWN
+	db URSARING
+	db VAPOREON
+	db VENOMOTH
+	db VENONAT
+	db VENUSAUR
+	db VICTREEBEL
+	db VILEPLUME
+	db VOLTORB
+	db VULPIX
+	db WARTORTLE
+	db WEEDLE
+	db WEEPINBELL
+	db WEEZING
+	db WIGGLYTUFF
+	db WOBBUFFET
+	db WOOPER
+	db XATU
+	db YANMA
+	db ZAPDOS
+	db ZUBAT
+; 0x40d60
--- /dev/null
+++ b/data/pokemon/dex_order_new.asm
@@ -1,0 +1,255 @@
+; Every Pokémon sorted in New Pokédex Order.
+
+NewPokedexOrder: ; 0x40d60
+	db CHIKORITA
+	db BAYLEEF
+	db MEGANIUM
+	db CYNDAQUIL
+	db QUILAVA
+	db TYPHLOSION
+	db TOTODILE
+	db CROCONAW
+	db FERALIGATR
+	db PIDGEY
+	db PIDGEOTTO
+	db PIDGEOT
+	db SPEAROW
+	db FEAROW
+	db HOOTHOOT
+	db NOCTOWL
+	db RATTATA
+	db RATICATE
+	db SENTRET
+	db FURRET
+	db PICHU
+	db PIKACHU
+	db RAICHU
+	db CATERPIE
+	db METAPOD
+	db BUTTERFREE
+	db WEEDLE
+	db KAKUNA
+	db BEEDRILL
+	db LEDYBA
+	db LEDIAN
+	db SPINARAK
+	db ARIADOS
+	db GEODUDE
+	db GRAVELER
+	db GOLEM
+	db ZUBAT
+	db GOLBAT
+	db CROBAT
+	db CLEFFA
+	db CLEFAIRY
+	db CLEFABLE
+	db IGGLYBUFF
+	db JIGGLYPUFF
+	db WIGGLYTUFF
+	db TOGEPI
+	db TOGETIC
+	db SANDSHREW
+	db SANDSLASH
+	db EKANS
+	db ARBOK
+	db DUNSPARCE
+	db MAREEP
+	db FLAAFFY
+	db AMPHAROS
+	db WOOPER
+	db QUAGSIRE
+	db GASTLY
+	db HAUNTER
+	db GENGAR
+	db UNOWN
+	db ONIX
+	db STEELIX
+	db BELLSPROUT
+	db WEEPINBELL
+	db VICTREEBEL
+	db HOPPIP
+	db SKIPLOOM
+	db JUMPLUFF
+	db PARAS
+	db PARASECT
+	db POLIWAG
+	db POLIWHIRL
+	db POLIWRATH
+	db POLITOED
+	db MAGIKARP
+	db GYARADOS
+	db GOLDEEN
+	db SEAKING
+	db SLOWPOKE
+	db SLOWBRO
+	db SLOWKING
+	db ODDISH
+	db GLOOM
+	db VILEPLUME
+	db BELLOSSOM
+	db DROWZEE
+	db HYPNO
+	db ABRA
+	db KADABRA
+	db ALAKAZAM
+	db DITTO
+	db PINECO
+	db FORRETRESS
+	db NIDORAN_F
+	db NIDORINA
+	db NIDOQUEEN
+	db NIDORAN_M
+	db NIDORINO
+	db NIDOKING
+	db YANMA
+	db SUNKERN
+	db SUNFLORA
+	db EXEGGCUTE
+	db EXEGGUTOR
+	db SUDOWOODO
+	db WOBBUFFET
+	db VENONAT
+	db VENOMOTH
+	db SCYTHER
+	db SCIZOR
+	db PINSIR
+	db HERACROSS
+	db KOFFING
+	db WEEZING
+	db GRIMER
+	db MUK
+	db MAGNEMITE
+	db MAGNETON
+	db VOLTORB
+	db ELECTRODE
+	db AIPOM
+	db SNUBBULL
+	db GRANBULL
+	db VULPIX
+	db NINETALES
+	db GROWLITHE
+	db ARCANINE
+	db STANTLER
+	db MARILL
+	db AZUMARILL
+	db DIGLETT
+	db DUGTRIO
+	db MANKEY
+	db PRIMEAPE
+	db MEOWTH
+	db PERSIAN
+	db PSYDUCK
+	db GOLDUCK
+	db MACHOP
+	db MACHOKE
+	db MACHAMP
+	db TYROGUE
+	db HITMONLEE
+	db HITMONCHAN
+	db HITMONTOP
+	db GIRAFARIG
+	db TAUROS
+	db MILTANK
+	db MAGBY
+	db MAGMAR
+	db SMOOCHUM
+	db JYNX
+	db ELEKID
+	db ELECTABUZZ
+	db MR__MIME
+	db SMEARGLE
+	db FARFETCH_D
+	db NATU
+	db XATU
+	db QWILFISH
+	db TENTACOOL
+	db TENTACRUEL
+	db KRABBY
+	db KINGLER
+	db SHUCKLE
+	db STARYU
+	db STARMIE
+	db SHELLDER
+	db CLOYSTER
+	db CORSOLA
+	db REMORAID
+	db OCTILLERY
+	db CHINCHOU
+	db LANTURN
+	db SEEL
+	db DEWGONG
+	db LICKITUNG
+	db TANGELA
+	db EEVEE
+	db VAPOREON
+	db JOLTEON
+	db FLAREON
+	db ESPEON
+	db UMBREON
+	db HORSEA
+	db SEADRA
+	db KINGDRA
+	db GLIGAR
+	db DELIBIRD
+	db SWINUB
+	db PILOSWINE
+	db TEDDIURSA
+	db URSARING
+	db PHANPY
+	db DONPHAN
+	db MANTINE
+	db SKARMORY
+	db DODUO
+	db DODRIO
+	db PONYTA
+	db RAPIDASH
+	db CUBONE
+	db MAROWAK
+	db KANGASKHAN
+	db RHYHORN
+	db RHYDON
+	db MURKROW
+	db HOUNDOUR
+	db HOUNDOOM
+	db SLUGMA
+	db MAGCARGO
+	db SNEASEL
+	db MISDREAVUS
+	db PORYGON
+	db PORYGON2
+	db CHANSEY
+	db BLISSEY
+	db LAPRAS
+	db OMANYTE
+	db OMASTAR
+	db KABUTO
+	db KABUTOPS
+	db AERODACTYL
+	db SNORLAX
+	db BULBASAUR
+	db IVYSAUR
+	db VENUSAUR
+	db CHARMANDER
+	db CHARMELEON
+	db CHARIZARD
+	db SQUIRTLE
+	db WARTORTLE
+	db BLASTOISE
+	db ARTICUNO
+	db ZAPDOS
+	db MOLTRES
+	db RAIKOU
+	db ENTEI
+	db SUICUNE
+	db DRATINI
+	db DRAGONAIR
+	db DRAGONITE
+	db LARVITAR
+	db PUPITAR
+	db TYRANITAR
+	db LUGIA
+	db HO_OH
+	db MEWTWO
+	db MEW
+	db CELEBI
+; 0x40e5b
--- /dev/null
+++ b/data/pokemon/egg_move_pointers.asm
@@ -1,0 +1,257 @@
+EggMovePointers:: ; 0x23b11
+	dw BulbasaurEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw CharmanderEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw SquirtleEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw PidgeyEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw RattataEggMoves
+	dw NoEggMoves
+	dw SpearowEggMoves
+	dw NoEggMoves
+	dw EkansEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw SandshrewEggMoves
+	dw NoEggMoves
+	dw NidoranFEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NidoranMEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw VulpixEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw ZubatEggMoves
+	dw NoEggMoves
+	dw OddishEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw ParasEggMoves
+	dw NoEggMoves
+	dw VenonatEggMoves
+	dw NoEggMoves
+	dw DiglettEggMoves
+	dw NoEggMoves
+	dw MeowthEggMoves
+	dw NoEggMoves
+	dw PsyduckEggMoves
+	dw NoEggMoves
+	dw MankeyEggMoves
+	dw NoEggMoves
+	dw GrowlitheEggMoves
+	dw NoEggMoves
+	dw PoliwagEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw AbraEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw MachopEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw BellsproutEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw TentacoolEggMoves
+	dw NoEggMoves
+	dw GeodudeEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw PonytaEggMoves
+	dw NoEggMoves
+	dw SlowpokeEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw FarfetchDEggMoves
+	dw DoduoEggMoves
+	dw NoEggMoves
+	dw SeelEggMoves
+	dw NoEggMoves
+	dw GrimerEggMoves
+	dw NoEggMoves
+	dw ShellderEggMoves
+	dw NoEggMoves
+	dw GastlyEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw OnixEggMoves
+	dw DrowzeeEggMoves
+	dw NoEggMoves
+	dw KrabbyEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw ExeggcuteEggMoves
+	dw NoEggMoves
+	dw CuboneEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw LickitungEggMoves
+	dw KoffingEggMoves
+	dw NoEggMoves
+	dw RhyhornEggMoves
+	dw NoEggMoves
+	dw ChanseyEggMoves
+	dw TangelaEggMoves
+	dw KangaskhanEggMoves
+	dw HorseaEggMoves
+	dw NoEggMoves
+	dw GoldeenEggMoves
+	dw NoEggMoves
+if _CRYSTAL
+	dw NoEggMoves
+else
+	dw StaryuEggMoves
+endc
+	dw NoEggMoves
+	dw MrMimeEggMoves
+	dw ScytherEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw PinsirEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw LaprasEggMoves
+	dw NoEggMoves
+	dw EeveeEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw OmanyteEggMoves
+	dw NoEggMoves
+	dw KabutoEggMoves
+	dw NoEggMoves
+	dw AerodactylEggMoves
+	dw SnorlaxEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw DratiniEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw ChikoritaEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw CyndaquilEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw TotodileEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw SentretEggMoves
+	dw NoEggMoves
+	dw HoothootEggMoves
+	dw NoEggMoves
+	dw LedybaEggMoves
+	dw NoEggMoves
+	dw SpinarakEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw ChinchouEggMoves
+	dw NoEggMoves
+	dw PichuEggMoves
+	dw CleffaEggMoves
+	dw IgglybuffEggMoves
+	dw TogepiEggMoves
+	dw NoEggMoves
+	dw NatuEggMoves
+	dw NoEggMoves
+	dw MareepEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw MarillEggMoves
+	dw NoEggMoves
+	dw SudowoodoEggMoves
+	dw NoEggMoves
+	dw HoppipEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw AipomEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw YanmaEggMoves
+	dw WooperEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw MurkrowEggMoves
+	dw NoEggMoves
+	dw MisdreavusEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw GirafarigEggMoves
+	dw PinecoEggMoves
+	dw NoEggMoves
+	dw DunsparceEggMoves
+	dw GligarEggMoves
+	dw NoEggMoves
+	dw SnubbullEggMoves
+	dw NoEggMoves
+	dw QwilfishEggMoves
+	dw NoEggMoves
+	dw ShuckleEggMoves
+	dw HeracrossEggMoves
+	dw SneaselEggMoves
+	dw TeddiursaEggMoves
+	dw NoEggMoves
+	dw SlugmaEggMoves
+	dw NoEggMoves
+	dw SwinubEggMoves
+	dw NoEggMoves
+	dw CorsolaEggMoves
+	dw RemoraidEggMoves
+	dw NoEggMoves
+	dw DelibirdEggMoves
+	dw MantineEggMoves
+	dw SkarmoryEggMoves
+	dw HoundourEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw PhanpyEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw StantlerEggMoves
+	dw NoEggMoves
+	dw TyrogueEggMoves
+	dw NoEggMoves
+	dw SmoochumEggMoves
+	dw ElekidEggMoves
+	dw MagbyEggMoves
+	dw MiltankEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw LarvitarEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+	dw NoEggMoves
+; 0x23d07
--- /dev/null
+++ b/data/pokemon/egg_moves.asm
@@ -1,0 +1,870 @@
+INCLUDE "includes.asm"
+
+
+SECTION "Egg Moves", ROMX
+
+; All instances of Charm, Steel Wing, Sweet Scent, and Lovely Kiss were
+; removed from egg move lists in Crystal, because they are also TMs.
+
+; Staryu's egg moves were removed in Crystal, because Staryu is genderless
+; and can only breed with Ditto.
+
+
+INCLUDE "data/pokemon/egg_move_pointers.asm"
+
+
+EggMoves::
+
+BulbasaurEggMoves:
+	db LIGHT_SCREEN
+	db SKULL_BASH
+	db SAFEGUARD
+if !_CRYSTAL
+	db CHARM
+endc
+	db RAZOR_WIND
+	db PETAL_DANCE
+	db $ff
+
+CharmanderEggMoves:
+	db BELLY_DRUM
+	db ANCIENTPOWER
+	db ROCK_SLIDE
+	db BITE
+	db OUTRAGE
+	db BEAT_UP
+	db $ff
+
+SquirtleEggMoves:
+	db MIRROR_COAT
+	db HAZE
+	db MIST
+	db CONFUSION
+	db FORESIGHT
+	db FLAIL
+	db $ff
+
+PidgeyEggMoves:
+	db PURSUIT
+	db FAINT_ATTACK
+	db FORESIGHT
+if !_CRYSTAL
+	db STEEL_WING
+endc
+	db $ff
+
+RattataEggMoves:
+	db SCREECH
+	db FLAME_WHEEL
+	db FURY_SWIPES
+	db BITE
+	db COUNTER
+	db REVERSAL
+	db $ff
+
+SpearowEggMoves:
+	db FAINT_ATTACK
+	db FALSE_SWIPE
+	db SCARY_FACE
+	db QUICK_ATTACK
+	db TRI_ATTACK
+	db $ff
+
+EkansEggMoves:
+	db PURSUIT
+	db SLAM
+	db SPITE
+	db BEAT_UP
+if _CRYSTAL
+	db CRUNCH
+endc
+	db $ff
+
+SandshrewEggMoves:
+	db FLAIL
+	db SAFEGUARD
+	db COUNTER
+	db RAPID_SPIN
+if _CRYSTAL
+	db METAL_CLAW
+endc
+	db $ff
+
+NidoranFEggMoves:
+	db SUPERSONIC
+	db DISABLE
+	db TAKE_DOWN
+	db FOCUS_ENERGY
+	db CHARM
+	db COUNTER
+	db BEAT_UP
+	db $ff
+
+NidoranMEggMoves:
+	db SUPERSONIC
+	db DISABLE
+	db TAKE_DOWN
+	db CONFUSION
+	db AMNESIA
+	db COUNTER
+	db BEAT_UP
+	db $ff
+
+VulpixEggMoves:
+	db FAINT_ATTACK
+	db HYPNOSIS
+	db FLAIL
+	db SPITE
+	db DISABLE
+	db $ff
+
+ZubatEggMoves:
+	db QUICK_ATTACK
+	db PURSUIT
+	db FAINT_ATTACK
+	db GUST
+	db WHIRLWIND
+	db $ff
+
+OddishEggMoves:
+	db SWORDS_DANCE
+	db RAZOR_LEAF
+	db FLAIL
+	db SYNTHESIS
+if !_CRYSTAL
+	db CHARM
+endc
+	db $ff
+
+ParasEggMoves:
+	db FALSE_SWIPE
+	db SCREECH
+	db COUNTER
+	db PSYBEAM
+	db FLAIL
+if !_CRYSTAL
+	db SWEET_SCENT
+endc
+	db LIGHT_SCREEN
+	db PURSUIT
+	db $ff
+
+VenonatEggMoves:
+	db BATON_PASS
+	db SCREECH
+	db GIGA_DRAIN
+	db $ff
+
+DiglettEggMoves:
+	db FAINT_ATTACK
+	db SCREECH
+	db ANCIENTPOWER
+	db PURSUIT
+	db BEAT_UP
+	db $ff
+
+MeowthEggMoves:
+	db SPITE
+	db CHARM
+	db HYPNOSIS
+	db AMNESIA
+	db $ff
+
+PsyduckEggMoves:
+	db ICE_BEAM
+	db HYPNOSIS
+	db PSYBEAM
+	db FORESIGHT
+	db LIGHT_SCREEN
+	db FUTURE_SIGHT
+	db PSYCHIC_M
+if _CRYSTAL
+	db CROSS_CHOP
+endc
+	db $ff
+
+MankeyEggMoves:
+	db ROCK_SLIDE
+	db FORESIGHT
+	db MEDITATE
+	db COUNTER
+	db REVERSAL
+	db BEAT_UP
+	db $ff
+
+GrowlitheEggMoves:
+	db BODY_SLAM
+	db SAFEGUARD
+	db CRUNCH
+	db THRASH
+	db FIRE_SPIN
+	db $ff
+
+PoliwagEggMoves:
+	db MIST
+	db SPLASH
+	db BUBBLEBEAM
+	db HAZE
+	db MIND_READER
+	db $ff
+
+AbraEggMoves:
+	db LIGHT_SCREEN
+	db ENCORE
+	db BARRIER
+	db $ff
+
+MachopEggMoves:
+	db LIGHT_SCREEN
+	db MEDITATE
+	db ROLLING_KICK
+	db ENCORE
+	db $ff
+
+BellsproutEggMoves:
+	db SWORDS_DANCE
+	db ENCORE
+	db REFLECT
+	db SYNTHESIS
+	db LEECH_LIFE
+	db $ff
+
+TentacoolEggMoves:
+	db AURORA_BEAM
+	db MIRROR_COAT
+	db RAPID_SPIN
+	db HAZE
+	db SAFEGUARD
+	db $ff
+
+GeodudeEggMoves:
+	db MEGA_PUNCH
+	db ROCK_SLIDE
+	db $ff
+
+PonytaEggMoves:
+	db FLAME_WHEEL
+	db THRASH
+	db DOUBLE_KICK
+	db HYPNOSIS
+	db CHARM
+	db QUICK_ATTACK
+	db $ff
+
+SlowpokeEggMoves:
+	db SAFEGUARD
+	db BELLY_DRUM
+	db FUTURE_SIGHT
+	db STOMP
+	db $ff
+
+FarfetchDEggMoves:
+if !_CRYSTAL
+	db STEEL_WING
+endc
+	db FORESIGHT
+	db MIRROR_MOVE
+	db GUST
+	db QUICK_ATTACK
+	db FLAIL
+	db $ff
+
+DoduoEggMoves:
+	db QUICK_ATTACK
+	db SUPERSONIC
+	db HAZE
+	db FAINT_ATTACK
+	db FLAIL
+	db $ff
+
+SeelEggMoves:
+	db LICK
+	db PERISH_SONG
+	db DISABLE
+	db PECK
+	db SLAM
+	db ENCORE
+	db $ff
+
+GrimerEggMoves:
+	db HAZE
+	db MEAN_LOOK
+	db LICK
+	db $ff
+
+ShellderEggMoves:
+	db BUBBLEBEAM
+	db TAKE_DOWN
+	db BARRIER
+	db RAPID_SPIN
+	db SCREECH
+	db $ff
+
+GastlyEggMoves:
+	db PSYWAVE
+	db PERISH_SONG
+	db HAZE
+	db $ff
+
+OnixEggMoves:
+	db ROCK_SLIDE
+	db FLAIL
+	db $ff
+
+DrowzeeEggMoves:
+	db LIGHT_SCREEN
+	db BARRIER
+	db $ff
+
+KrabbyEggMoves:
+	db DIG
+	db HAZE
+	db AMNESIA
+	db FLAIL
+	db SLAM
+	db $ff
+
+ExeggcuteEggMoves:
+	db SYNTHESIS
+	db MOONLIGHT
+	db REFLECT
+	db MEGA_DRAIN
+	db ANCIENTPOWER
+	db $ff
+
+CuboneEggMoves:
+	db ROCK_SLIDE
+	db ANCIENTPOWER
+	db BELLY_DRUM
+	db SCREECH
+	db SKULL_BASH
+	db PERISH_SONG
+if _CRYSTAL
+	db SWORDS_DANCE
+endc
+	db $ff
+
+LickitungEggMoves:
+	db BELLY_DRUM
+	db MAGNITUDE
+	db BODY_SLAM
+	db $ff
+
+KoffingEggMoves:
+	db SCREECH
+	db PSYWAVE
+	db PSYBEAM
+	db DESTINY_BOND
+	db PAIN_SPLIT
+	db $ff
+
+RhyhornEggMoves:
+	db CRUNCH
+	db REVERSAL
+	db ROCK_SLIDE
+	db THRASH
+	db PURSUIT
+	db COUNTER
+	db MAGNITUDE
+	db $ff
+
+ChanseyEggMoves:
+	db PRESENT
+	db METRONOME
+	db HEAL_BELL
+	db $ff
+
+TangelaEggMoves:
+	db FLAIL
+	db CONFUSION
+	db MEGA_DRAIN
+	db REFLECT
+	db AMNESIA
+	db $ff
+
+KangaskhanEggMoves:
+	db STOMP
+	db FORESIGHT
+	db FOCUS_ENERGY
+	db SAFEGUARD
+	db DISABLE
+	db $ff
+
+HorseaEggMoves:
+	db FLAIL
+	db AURORA_BEAM
+	db OCTAZOOKA
+	db DISABLE
+	db SPLASH
+	db DRAGON_RAGE
+	db $ff
+
+GoldeenEggMoves:
+	db PSYBEAM
+	db HAZE
+	db HYDRO_PUMP
+	db $ff
+
+if !_CRYSTAL
+StaryuEggMoves:
+	db AURORA_BEAM
+	db BARRIER
+	db SUPERSONIC
+	db $ff
+endc
+
+MrMimeEggMoves:
+	db FUTURE_SIGHT
+	db HYPNOSIS
+	db MIMIC
+	db $ff
+
+ScytherEggMoves:
+	db COUNTER
+	db SAFEGUARD
+	db BATON_PASS
+	db RAZOR_WIND
+	db REVERSAL
+	db LIGHT_SCREEN
+	db $ff
+
+PinsirEggMoves:
+	db FURY_ATTACK
+	db FLAIL
+	db $ff
+
+LaprasEggMoves:
+	db AURORA_BEAM
+	db FORESIGHT
+	db $ff
+
+EeveeEggMoves:
+	db FLAIL
+	db CHARM
+	db $ff
+
+OmanyteEggMoves:
+	db BUBBLEBEAM
+	db AURORA_BEAM
+	db SLAM
+	db SUPERSONIC
+	db HAZE
+	db $ff
+
+KabutoEggMoves:
+	db BUBBLEBEAM
+	db AURORA_BEAM
+	db RAPID_SPIN
+	db DIG
+	db FLAIL
+	db $ff
+
+AerodactylEggMoves:
+	db WHIRLWIND
+	db PURSUIT
+	db FORESIGHT
+if !_CRYSTAL
+	db STEEL_WING
+endc
+	db $ff
+
+SnorlaxEggMoves:
+	db LICK
+if !_CRYSTAL
+	db CHARM
+endc
+	db $ff
+
+DratiniEggMoves:
+	db LIGHT_SCREEN
+	db MIST
+	db HAZE
+	db SUPERSONIC
+	db $ff
+
+ChikoritaEggMoves:
+	db VINE_WHIP
+	db LEECH_SEED
+	db COUNTER
+	db ANCIENTPOWER
+	db FLAIL
+	db SWORDS_DANCE
+	db $ff
+
+CyndaquilEggMoves:
+	db FURY_SWIPES
+	db QUICK_ATTACK
+	db REVERSAL
+	db THRASH
+	db FORESIGHT
+if _CRYSTAL
+	db SUBMISSION
+endc
+	db $ff
+
+TotodileEggMoves:
+	db CRUNCH
+	db THRASH
+	db HYDRO_PUMP
+	db ANCIENTPOWER
+	db RAZOR_WIND
+	db ROCK_SLIDE
+	db $ff
+
+SentretEggMoves:
+	db DOUBLE_EDGE
+	db PURSUIT
+	db SLASH
+	db FOCUS_ENERGY
+	db REVERSAL
+	db $ff
+
+HoothootEggMoves:
+	db MIRROR_MOVE
+	db SUPERSONIC
+	db FAINT_ATTACK
+	db WING_ATTACK
+	db WHIRLWIND
+if _CRYSTAL
+	db SKY_ATTACK
+endc
+	db $ff
+
+LedybaEggMoves:
+	db PSYBEAM
+	db BIDE
+	db LIGHT_SCREEN
+	db $ff
+
+SpinarakEggMoves:
+	db PSYBEAM
+	db DISABLE
+	db SONICBOOM
+	db BATON_PASS
+	db PURSUIT
+	db $ff
+
+ChinchouEggMoves:
+	db FLAIL
+	db SUPERSONIC
+	db SCREECH
+	db $ff
+
+PichuEggMoves:
+	db REVERSAL
+	db BIDE
+	db PRESENT
+	db ENCORE
+	db DOUBLESLAP
+	db $ff
+
+CleffaEggMoves:
+	db PRESENT
+	db METRONOME
+	db AMNESIA
+	db BELLY_DRUM
+	db SPLASH
+	db MIMIC
+	db $ff
+
+IgglybuffEggMoves:
+	db PERISH_SONG
+	db PRESENT
+	db FAINT_ATTACK
+	db $ff
+
+TogepiEggMoves:
+	db PRESENT
+	db MIRROR_MOVE
+	db PECK
+	db FORESIGHT
+	db FUTURE_SIGHT
+	db $ff
+
+NatuEggMoves:
+	db HAZE
+	db DRILL_PECK
+	db QUICK_ATTACK
+	db FAINT_ATTACK
+	db STEEL_WING
+	db $ff
+
+MareepEggMoves:
+	db THUNDERBOLT
+	db TAKE_DOWN
+	db BODY_SLAM
+	db SAFEGUARD
+	db SCREECH
+	db REFLECT
+	db $ff
+
+MarillEggMoves:
+	db LIGHT_SCREEN
+	db PRESENT
+	db AMNESIA
+	db FUTURE_SIGHT
+	db BELLY_DRUM
+	db PERISH_SONG
+	db SUPERSONIC
+	db FORESIGHT
+	db $ff
+
+SudowoodoEggMoves:
+	db SELFDESTRUCT
+	db $ff
+
+HoppipEggMoves:
+	db CONFUSION
+	db GROWL
+	db ENCORE
+	db DOUBLE_EDGE
+	db REFLECT
+	db AMNESIA
+	db PAY_DAY
+	db $ff
+
+AipomEggMoves:
+	db COUNTER
+	db SCREECH
+	db PURSUIT
+	db AGILITY
+	db SPITE
+	db SLAM
+	db DOUBLESLAP
+	db BEAT_UP
+	db $ff
+
+YanmaEggMoves:
+	db WHIRLWIND
+	db REVERSAL
+	db LEECH_LIFE
+	db $ff
+
+WooperEggMoves:
+	db BODY_SLAM
+	db ANCIENTPOWER
+	db SAFEGUARD
+	db $ff
+
+MurkrowEggMoves:
+	db WHIRLWIND
+	db DRILL_PECK
+	db QUICK_ATTACK
+	db MIRROR_MOVE
+	db WING_ATTACK
+if _CRYSTAL
+	db SKY_ATTACK
+endc
+	db $ff
+
+MisdreavusEggMoves:
+	db SCREECH
+	db DESTINY_BOND
+	db $ff
+
+GirafarigEggMoves:
+	db TAKE_DOWN
+	db AMNESIA
+	db FORESIGHT
+	db FUTURE_SIGHT
+	db BEAT_UP
+	db $ff
+
+PinecoEggMoves:
+	db REFLECT
+	db PIN_MISSILE
+	db FLAIL
+	db SWIFT
+	db $ff
+
+DunsparceEggMoves:
+	db BIDE
+	db ANCIENTPOWER
+	db ROCK_SLIDE
+	db BITE
+	db RAGE
+	db $ff
+
+GligarEggMoves:
+	db METAL_CLAW
+	db WING_ATTACK
+	db RAZOR_WIND
+	db COUNTER
+	db $ff
+
+SnubbullEggMoves:
+	db METRONOME
+	db FAINT_ATTACK
+	db REFLECT
+	db PRESENT
+	db CRUNCH
+	db HEAL_BELL
+	db LICK
+	db LEER
+	db $ff
+
+QwilfishEggMoves:
+	db FLAIL
+	db HAZE
+	db BUBBLEBEAM
+	db SUPERSONIC
+	db $ff
+
+ShuckleEggMoves:
+	db SWEET_SCENT
+	db $ff
+
+HeracrossEggMoves:
+	db HARDEN
+	db BIDE
+	db FLAIL
+	db $ff
+
+SneaselEggMoves:
+	db COUNTER
+	db SPITE
+	db FORESIGHT
+	db REFLECT
+	db BITE
+	db $ff
+
+TeddiursaEggMoves:
+	db CRUNCH
+	db TAKE_DOWN
+	db SEISMIC_TOSS
+	db FOCUS_ENERGY
+	db COUNTER
+if _CRYSTAL
+	db METAL_CLAW
+endc
+	db $ff
+
+SlugmaEggMoves:
+	db ACID_ARMOR
+	db $ff
+
+SwinubEggMoves:
+	db TAKE_DOWN
+	db BITE
+	db BODY_SLAM
+	db ROCK_SLIDE
+	db ANCIENTPOWER
+	db $ff
+
+CorsolaEggMoves:
+	db ROCK_SLIDE
+	db SAFEGUARD
+	db SCREECH
+	db MIST
+	db AMNESIA
+	db $ff
+
+RemoraidEggMoves:
+	db AURORA_BEAM
+	db OCTAZOOKA
+	db SUPERSONIC
+	db HAZE
+	db SCREECH
+	db $ff
+
+DelibirdEggMoves:
+	db AURORA_BEAM
+	db QUICK_ATTACK
+	db FUTURE_SIGHT
+	db SPLASH
+	db RAPID_SPIN
+	db $ff
+
+MantineEggMoves:
+	db TWISTER
+	db HYDRO_PUMP
+	db HAZE
+	db SLAM
+	db $ff
+
+SkarmoryEggMoves:
+	db DRILL_PECK
+	db PURSUIT
+	db WHIRLWIND
+if _CRYSTAL
+	db SKY_ATTACK
+endc
+	db $ff
+
+HoundourEggMoves:
+	db FIRE_SPIN
+	db RAGE
+	db PURSUIT
+	db COUNTER
+	db SPITE
+	db REVERSAL
+	db BEAT_UP
+	db $ff
+
+PhanpyEggMoves:
+	db FOCUS_ENERGY
+	db BODY_SLAM
+	db ANCIENTPOWER
+if _CRYSTAL
+	db WATER_GUN
+endc
+	db $ff
+
+StantlerEggMoves:
+	db REFLECT
+	db SPITE
+	db DISABLE
+	db LIGHT_SCREEN
+	db BITE
+	db $ff
+
+TyrogueEggMoves:
+	db RAPID_SPIN
+	db HI_JUMP_KICK
+	db MACH_PUNCH
+	db MIND_READER
+	db $ff
+
+SmoochumEggMoves:
+if !_CRYSTAL
+	db LOVELY_KISS
+endc
+	db MEDITATE
+	db $ff
+
+ElekidEggMoves:
+	db KARATE_CHOP
+	db BARRIER
+	db ROLLING_KICK
+	db MEDITATE
+if _CRYSTAL
+	db CROSS_CHOP
+endc
+	db $ff
+
+MagbyEggMoves:
+	db KARATE_CHOP
+	db MEGA_PUNCH
+	db BARRIER
+	db SCREECH
+if _CRYSTAL
+	db CROSS_CHOP
+endc
+	db $ff
+
+MiltankEggMoves:
+	db PRESENT
+	db REVERSAL
+	db SEISMIC_TOSS
+	db $ff
+
+LarvitarEggMoves:
+	db PURSUIT
+	db STOMP
+	db OUTRAGE
+	db FOCUS_ENERGY
+	db ANCIENTPOWER
+	db $ff
+
+NoEggMoves:
+	db $ff
--- /dev/null
+++ b/data/pokemon/evos_attacks.asm
@@ -1,0 +1,3398 @@
+INCLUDE "includes.asm"
+
+
+SECTION "Evolutions and Attacks", ROMX
+
+
+INCLUDE "data/pokemon/evos_attacks_pointers.asm"
+
+
+EvosAttacks::
+
+BulbasaurEvosAttacks:
+	db EVOLVE_LEVEL, 16, IVYSAUR
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 4, GROWL
+	db 7, LEECH_SEED
+	db 10, VINE_WHIP
+	db 15, POISONPOWDER
+	db 15, SLEEP_POWDER
+	db 20, RAZOR_LEAF
+	db 25, SWEET_SCENT
+	db 32, GROWTH
+	db 39, SYNTHESIS
+	db 46, SOLARBEAM
+	db 0 ; no more level-up moves
+
+IvysaurEvosAttacks:
+	db EVOLVE_LEVEL, 32, VENUSAUR
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, GROWL
+	db 1, LEECH_SEED
+	db 4, GROWL
+	db 7, LEECH_SEED
+	db 10, VINE_WHIP
+	db 15, POISONPOWDER
+	db 15, SLEEP_POWDER
+	db 22, RAZOR_LEAF
+	db 29, SWEET_SCENT
+	db 38, GROWTH
+	db 47, SYNTHESIS
+	db 56, SOLARBEAM
+	db 0 ; no more level-up moves
+
+VenusaurEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, GROWL
+	db 1, LEECH_SEED
+	db 1, VINE_WHIP
+	db 4, GROWL
+	db 7, LEECH_SEED
+	db 10, VINE_WHIP
+	db 15, POISONPOWDER
+	db 15, SLEEP_POWDER
+	db 22, RAZOR_LEAF
+	db 29, SWEET_SCENT
+	db 41, GROWTH
+	db 53, SYNTHESIS
+	db 65, SOLARBEAM
+	db 0 ; no more level-up moves
+
+CharmanderEvosAttacks:
+	db EVOLVE_LEVEL, 16, CHARMELEON
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, GROWL
+	db 7, EMBER
+	db 13, SMOKESCREEN
+	db 19, RAGE
+	db 25, SCARY_FACE
+	db 31, FLAMETHROWER
+	db 37, SLASH
+	db 43, DRAGON_RAGE
+	db 49, FIRE_SPIN
+	db 0 ; no more level-up moves
+
+CharmeleonEvosAttacks:
+	db EVOLVE_LEVEL, 36, CHARIZARD
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, GROWL
+	db 1, EMBER
+	db 7, EMBER
+	db 13, SMOKESCREEN
+	db 20, RAGE
+	db 27, SCARY_FACE
+	db 34, FLAMETHROWER
+	db 41, SLASH
+	db 48, DRAGON_RAGE
+	db 55, FIRE_SPIN
+	db 0 ; no more level-up moves
+
+CharizardEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, GROWL
+	db 1, EMBER
+	db 1, SMOKESCREEN
+	db 7, EMBER
+	db 13, SMOKESCREEN
+	db 20, RAGE
+	db 27, SCARY_FACE
+	db 34, FLAMETHROWER
+	db 36, WING_ATTACK
+	db 44, SLASH
+	db 54, DRAGON_RAGE
+	db 64, FIRE_SPIN
+	db 0 ; no more level-up moves
+
+SquirtleEvosAttacks:
+	db EVOLVE_LEVEL, 16, WARTORTLE
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 4, TAIL_WHIP
+	db 7, BUBBLE
+	db 10, WITHDRAW
+	db 13, WATER_GUN
+	db 18, BITE
+	db 23, RAPID_SPIN
+	db 28, PROTECT
+	db 33, RAIN_DANCE
+	db 40, SKULL_BASH
+	db 47, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+WartortleEvosAttacks:
+	db EVOLVE_LEVEL, 36, BLASTOISE
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, TAIL_WHIP
+	db 1, BUBBLE
+	db 4, TAIL_WHIP
+	db 7, BUBBLE
+	db 10, WITHDRAW
+	db 13, WATER_GUN
+	db 19, BITE
+	db 25, RAPID_SPIN
+	db 31, PROTECT
+	db 37, RAIN_DANCE
+	db 45, SKULL_BASH
+	db 53, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+BlastoiseEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, TAIL_WHIP
+	db 1, BUBBLE
+	db 1, WITHDRAW
+	db 4, TAIL_WHIP
+	db 7, BUBBLE
+	db 10, WITHDRAW
+	db 13, WATER_GUN
+	db 19, BITE
+	db 25, RAPID_SPIN
+	db 31, PROTECT
+	db 42, RAIN_DANCE
+	db 55, SKULL_BASH
+	db 68, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+CaterpieEvosAttacks:
+	db EVOLVE_LEVEL, 7, METAPOD
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, STRING_SHOT
+	db 0 ; no more level-up moves
+
+MetapodEvosAttacks:
+	db EVOLVE_LEVEL, 10, BUTTERFREE
+	db 0 ; no more evolutions
+	db 1, HARDEN
+	db 7, HARDEN
+	db 0 ; no more level-up moves
+
+ButterfreeEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, CONFUSION
+	db 10, CONFUSION
+	db 13, POISONPOWDER
+	db 14, STUN_SPORE
+	db 15, SLEEP_POWDER
+	db 18, SUPERSONIC
+	db 23, WHIRLWIND
+	db 28, GUST
+	db 34, PSYBEAM
+	db 40, SAFEGUARD
+	db 0 ; no more level-up moves
+
+WeedleEvosAttacks:
+	db EVOLVE_LEVEL, 7, KAKUNA
+	db 0 ; no more evolutions
+	db 1, POISON_STING
+	db 1, STRING_SHOT
+	db 0 ; no more level-up moves
+
+KakunaEvosAttacks:
+	db EVOLVE_LEVEL, 10, BEEDRILL
+	db 0 ; no more evolutions
+	db 1, HARDEN
+	db 7, HARDEN
+	db 0 ; no more level-up moves
+
+BeedrillEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, FURY_ATTACK
+	db 10, FURY_ATTACK
+	db 15, FOCUS_ENERGY
+	db 20, TWINEEDLE
+	db 25, RAGE
+	db 30, PURSUIT
+	db 35, PIN_MISSILE
+	db 40, AGILITY
+	db 0 ; no more level-up moves
+
+PidgeyEvosAttacks:
+	db EVOLVE_LEVEL, 18, PIDGEOTTO
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 5, SAND_ATTACK
+	db 9, GUST
+	db 15, QUICK_ATTACK
+	db 21, WHIRLWIND
+	db 29, WING_ATTACK
+	db 37, AGILITY
+	db 47, MIRROR_MOVE
+	db 0 ; no more level-up moves
+
+PidgeottoEvosAttacks:
+	db EVOLVE_LEVEL, 36, PIDGEOT
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, SAND_ATTACK
+	db 1, GUST
+	db 5, SAND_ATTACK
+	db 9, GUST
+	db 15, QUICK_ATTACK
+	db 23, WHIRLWIND
+	db 33, WING_ATTACK
+	db 43, AGILITY
+	db 55, MIRROR_MOVE
+	db 0 ; no more level-up moves
+
+PidgeotEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, SAND_ATTACK
+	db 1, GUST
+	db 1, QUICK_ATTACK
+	db 5, SAND_ATTACK
+	db 9, GUST
+	db 15, QUICK_ATTACK
+	db 23, WHIRLWIND
+	db 33, WING_ATTACK
+	db 46, AGILITY
+	db 61, MIRROR_MOVE
+	db 0 ; no more level-up moves
+
+RattataEvosAttacks:
+	db EVOLVE_LEVEL, 20, RATICATE
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, TAIL_WHIP
+	db 7, QUICK_ATTACK
+	db 13, HYPER_FANG
+	db 20, FOCUS_ENERGY
+	db 27, PURSUIT
+	db 34, SUPER_FANG
+	db 0 ; no more level-up moves
+
+RaticateEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, TAIL_WHIP
+	db 1, QUICK_ATTACK
+	db 7, QUICK_ATTACK
+	db 13, HYPER_FANG
+	db 20, SCARY_FACE
+	db 30, PURSUIT
+	db 40, SUPER_FANG
+	db 0 ; no more level-up moves
+
+SpearowEvosAttacks:
+	db EVOLVE_LEVEL, 20, FEAROW
+	db 0 ; no more evolutions
+	db 1, PECK
+	db 1, GROWL
+	db 7, LEER
+	db 13, FURY_ATTACK
+	db 25, PURSUIT
+	db 31, MIRROR_MOVE
+	db 37, DRILL_PECK
+	db 43, AGILITY
+	db 0 ; no more level-up moves
+
+FearowEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, PECK
+	db 1, GROWL
+	db 1, LEER
+	db 1, FURY_ATTACK
+	db 7, LEER
+	db 13, FURY_ATTACK
+	db 26, PURSUIT
+	db 32, MIRROR_MOVE
+	db 40, DRILL_PECK
+	db 47, AGILITY
+	db 0 ; no more level-up moves
+
+EkansEvosAttacks:
+	db EVOLVE_LEVEL, 22, ARBOK
+	db 0 ; no more evolutions
+	db 1, WRAP
+	db 1, LEER
+	db 9, POISON_STING
+	db 15, BITE
+	db 23, GLARE
+	db 29, SCREECH
+	db 37, ACID
+	db 43, HAZE
+	db 0 ; no more level-up moves
+
+ArbokEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, WRAP
+	db 1, LEER
+	db 1, POISON_STING
+	db 1, BITE
+	db 9, POISON_STING
+	db 15, BITE
+	db 25, GLARE
+	db 33, SCREECH
+	db 43, ACID
+	db 51, HAZE
+	db 0 ; no more level-up moves
+
+PikachuEvosAttacks:
+	db EVOLVE_ITEM, THUNDERSTONE, RAICHU
+	db 0 ; no more evolutions
+	db 1, THUNDERSHOCK
+	db 1, GROWL
+	db 6, TAIL_WHIP
+	db 8, THUNDER_WAVE
+	db 11, QUICK_ATTACK
+	db 15, DOUBLE_TEAM
+	db 20, SLAM
+	db 26, THUNDERBOLT
+	db 33, AGILITY
+	db 41, THUNDER
+	db 50, LIGHT_SCREEN
+	db 0 ; no more level-up moves
+
+RaichuEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, THUNDERSHOCK
+	db 1, TAIL_WHIP
+	db 1, QUICK_ATTACK
+	db 1, THUNDERBOLT
+	db 0 ; no more level-up moves
+
+SandshrewEvosAttacks:
+	db EVOLVE_LEVEL, 22, SANDSLASH
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 6, DEFENSE_CURL
+	db 11, SAND_ATTACK
+	db 17, POISON_STING
+	db 23, SLASH
+	db 30, SWIFT
+	db 37, FURY_SWIPES
+	db 45, SANDSTORM
+	db 0 ; no more level-up moves
+
+SandslashEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, DEFENSE_CURL
+	db 1, SAND_ATTACK
+	db 6, DEFENSE_CURL
+	db 11, SAND_ATTACK
+	db 17, POISON_STING
+	db 24, SLASH
+	db 33, SWIFT
+	db 42, FURY_SWIPES
+	db 52, SANDSTORM
+	db 0 ; no more level-up moves
+
+NidoranFEvosAttacks:
+	db EVOLVE_LEVEL, 16, NIDORINA
+	db 0 ; no more evolutions
+	db 1, GROWL
+	db 1, TACKLE
+	db 8, SCRATCH
+	db 12, DOUBLE_KICK
+	db 17, POISON_STING
+	db 23, TAIL_WHIP
+	db 30, BITE
+	db 38, FURY_SWIPES
+	db 0 ; no more level-up moves
+
+NidorinaEvosAttacks:
+	db EVOLVE_ITEM, MOON_STONE, NIDOQUEEN
+	db 0 ; no more evolutions
+	db 1, GROWL
+	db 1, TACKLE
+	db 8, SCRATCH
+	db 12, DOUBLE_KICK
+	db 19, POISON_STING
+	db 27, TAIL_WHIP
+	db 36, BITE
+	db 46, FURY_SWIPES
+	db 0 ; no more level-up moves
+
+NidoqueenEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, SCRATCH
+	db 1, DOUBLE_KICK
+	db 1, TAIL_WHIP
+	db 23, BODY_SLAM
+	db 0 ; no more level-up moves
+
+NidoranMEvosAttacks:
+	db EVOLVE_LEVEL, 16, NIDORINO
+	db 0 ; no more evolutions
+	db 1, LEER
+	db 1, TACKLE
+	db 8, HORN_ATTACK
+	db 12, DOUBLE_KICK
+	db 17, POISON_STING
+	db 23, FOCUS_ENERGY
+	db 30, FURY_ATTACK
+	db 38, HORN_DRILL
+	db 0 ; no more level-up moves
+
+NidorinoEvosAttacks:
+	db EVOLVE_ITEM, MOON_STONE, NIDOKING
+	db 0 ; no more evolutions
+	db 1, LEER
+	db 1, TACKLE
+	db 8, HORN_ATTACK
+	db 12, DOUBLE_KICK
+	db 19, POISON_STING
+	db 27, FOCUS_ENERGY
+	db 36, FURY_ATTACK
+	db 46, HORN_DRILL
+	db 0 ; no more level-up moves
+
+NidokingEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, HORN_ATTACK
+	db 1, DOUBLE_KICK
+	db 1, POISON_STING
+	db 23, THRASH
+	db 0 ; no more level-up moves
+
+ClefairyEvosAttacks:
+	db EVOLVE_ITEM, MOON_STONE, CLEFABLE
+	db 0 ; no more evolutions
+	db 1, POUND
+	db 1, GROWL
+	db 4, ENCORE
+	db 8, SING
+	db 13, DOUBLESLAP
+	db 19, MINIMIZE
+	db 26, DEFENSE_CURL
+	db 34, METRONOME
+	db 43, MOONLIGHT
+	db 53, LIGHT_SCREEN
+	db 0 ; no more level-up moves
+
+ClefableEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SING
+	db 1, DOUBLESLAP
+	db 1, METRONOME
+	db 1, MOONLIGHT
+	db 0 ; no more level-up moves
+
+VulpixEvosAttacks:
+	db EVOLVE_ITEM, FIRE_STONE, NINETALES
+	db 0 ; no more evolutions
+	db 1, EMBER
+	db 1, TAIL_WHIP
+	db 7, QUICK_ATTACK
+	db 13, ROAR
+	db 19, CONFUSE_RAY
+	db 25, SAFEGUARD
+	db 31, FLAMETHROWER
+	db 37, FIRE_SPIN
+	db 0 ; no more level-up moves
+
+NinetalesEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, EMBER
+	db 1, QUICK_ATTACK
+	db 1, CONFUSE_RAY
+	db 1, SAFEGUARD
+	db 43, FIRE_SPIN
+	db 0 ; no more level-up moves
+
+JigglypuffEvosAttacks:
+	db EVOLVE_ITEM, MOON_STONE, WIGGLYTUFF
+	db 0 ; no more evolutions
+	db 1, SING
+	db 4, DEFENSE_CURL
+	db 9, POUND
+	db 14, DISABLE
+	db 19, ROLLOUT
+	db 24, DOUBLESLAP
+	db 29, REST
+	db 34, BODY_SLAM
+	db 39, DOUBLE_EDGE
+	db 0 ; no more level-up moves
+
+WigglytuffEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SING
+	db 1, DISABLE
+	db 1, DEFENSE_CURL
+	db 1, DOUBLESLAP
+	db 0 ; no more level-up moves
+
+ZubatEvosAttacks:
+	db EVOLVE_LEVEL, 22, GOLBAT
+	db 0 ; no more evolutions
+	db 1, LEECH_LIFE
+	db 6, SUPERSONIC
+	db 12, BITE
+	db 19, CONFUSE_RAY
+	db 27, WING_ATTACK
+	db 36, MEAN_LOOK
+	db 46, HAZE
+	db 0 ; no more level-up moves
+
+GolbatEvosAttacks:
+	db EVOLVE_HAPPINESS, TR_ANYTIME, CROBAT
+	db 0 ; no more evolutions
+	db 1, SCREECH
+	db 1, LEECH_LIFE
+	db 1, SUPERSONIC
+	db 6, SUPERSONIC
+	db 12, BITE
+	db 19, CONFUSE_RAY
+	db 30, WING_ATTACK
+	db 42, MEAN_LOOK
+	db 55, HAZE
+	db 0 ; no more level-up moves
+
+OddishEvosAttacks:
+	db EVOLVE_LEVEL, 21, GLOOM
+	db 0 ; no more evolutions
+	db 1, ABSORB
+	db 7, SWEET_SCENT
+	db 14, POISONPOWDER
+	db 16, STUN_SPORE
+	db 18, SLEEP_POWDER
+	db 23, ACID
+	db 32, MOONLIGHT
+	db 39, PETAL_DANCE
+	db 0 ; no more level-up moves
+
+GloomEvosAttacks:
+	db EVOLVE_ITEM, LEAF_STONE, VILEPLUME
+	db EVOLVE_ITEM, SUN_STONE, BELLOSSOM
+	db 0 ; no more evolutions
+	db 1, ABSORB
+	db 1, SWEET_SCENT
+	db 1, POISONPOWDER
+	db 7, SWEET_SCENT
+	db 14, POISONPOWDER
+	db 16, STUN_SPORE
+	db 18, SLEEP_POWDER
+	db 24, ACID
+	db 35, MOONLIGHT
+	db 44, PETAL_DANCE
+	db 0 ; no more level-up moves
+
+VileplumeEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, ABSORB
+	db 1, SWEET_SCENT
+	db 1, STUN_SPORE
+	db 1, PETAL_DANCE
+	db 0 ; no more level-up moves
+
+ParasEvosAttacks:
+	db EVOLVE_LEVEL, 24, PARASECT
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 7, STUN_SPORE
+	db 13, POISONPOWDER
+	db 19, LEECH_LIFE
+	db 25, SPORE
+	db 31, SLASH
+	db 37, GROWTH
+	db 43, GIGA_DRAIN
+	db 0 ; no more level-up moves
+
+ParasectEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, STUN_SPORE
+	db 1, POISONPOWDER
+	db 7, STUN_SPORE
+	db 13, POISONPOWDER
+	db 19, LEECH_LIFE
+	db 28, SPORE
+	db 37, SLASH
+	db 46, GROWTH
+	db 55, GIGA_DRAIN
+	db 0 ; no more level-up moves
+
+VenonatEvosAttacks:
+	db EVOLVE_LEVEL, 31, VENOMOTH
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, DISABLE
+	db 1, FORESIGHT
+	db 9, SUPERSONIC
+	db 17, CONFUSION
+	db 20, POISONPOWDER
+	db 25, LEECH_LIFE
+	db 28, STUN_SPORE
+	db 33, PSYBEAM
+	db 36, SLEEP_POWDER
+	db 41, PSYCHIC_M
+	db 0 ; no more level-up moves
+
+VenomothEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, DISABLE
+	db 1, FORESIGHT
+	db 1, SUPERSONIC
+	db 9, SUPERSONIC
+	db 17, CONFUSION
+	db 20, POISONPOWDER
+	db 25, LEECH_LIFE
+	db 28, STUN_SPORE
+	db 31, GUST
+	db 36, PSYBEAM
+	db 42, SLEEP_POWDER
+	db 52, PSYCHIC_M
+	db 0 ; no more level-up moves
+
+DiglettEvosAttacks:
+	db EVOLVE_LEVEL, 26, DUGTRIO
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 5, GROWL
+	db 9, MAGNITUDE
+	db 17, DIG
+	db 25, SAND_ATTACK
+	db 33, SLASH
+	db 41, EARTHQUAKE
+	db 49, FISSURE
+	db 0 ; no more level-up moves
+
+DugtrioEvosAttacks:
+	db 0 ; no more evolutions
+if _CRYSTAL
+	db 1, TRI_ATTACK
+endc
+	db 1, SCRATCH
+	db 1, GROWL
+	db 1, MAGNITUDE
+	db 5, GROWL
+	db 9, MAGNITUDE
+	db 17, DIG
+	db 25, SAND_ATTACK
+	db 37, SLASH
+	db 49, EARTHQUAKE
+	db 61, FISSURE
+	db 0 ; no more level-up moves
+
+MeowthEvosAttacks:
+	db EVOLVE_LEVEL, 28, PERSIAN
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, GROWL
+	db 11, BITE
+	db 20, PAY_DAY
+	db 28, FAINT_ATTACK
+	db 35, SCREECH
+	db 41, FURY_SWIPES
+	db 46, SLASH
+	db 0 ; no more level-up moves
+
+PersianEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, GROWL
+	db 1, BITE
+	db 11, BITE
+	db 20, PAY_DAY
+	db 29, FAINT_ATTACK
+	db 38, SCREECH
+	db 46, FURY_SWIPES
+	db 53, SLASH
+	db 0 ; no more level-up moves
+
+PsyduckEvosAttacks:
+	db EVOLVE_LEVEL, 33, GOLDUCK
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 5, TAIL_WHIP
+	db 10, DISABLE
+	db 16, CONFUSION
+	db 23, SCREECH
+	db 31, PSYCH_UP
+	db 40, FURY_SWIPES
+	db 50, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+GolduckEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, TAIL_WHIP
+	db 1, DISABLE
+	db 1, CONFUSION
+	db 5, TAIL_WHIP
+	db 10, DISABLE
+	db 16, CONFUSION
+	db 23, SCREECH
+	db 31, PSYCH_UP
+	db 44, FURY_SWIPES
+	db 58, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+MankeyEvosAttacks:
+	db EVOLVE_LEVEL, 28, PRIMEAPE
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, LEER
+	db 9, LOW_KICK
+	db 15, KARATE_CHOP
+	db 21, FURY_SWIPES
+	db 27, FOCUS_ENERGY
+	db 33, SEISMIC_TOSS
+	db 39, CROSS_CHOP
+	db 45, SCREECH
+	db 51, THRASH
+	db 0 ; no more level-up moves
+
+PrimeapeEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, LEER
+	db 1, LOW_KICK
+	db 1, RAGE
+	db 9, LOW_KICK
+	db 15, KARATE_CHOP
+	db 21, FURY_SWIPES
+	db 27, FOCUS_ENERGY
+	db 28, RAGE
+	db 36, SEISMIC_TOSS
+	db 45, CROSS_CHOP
+	db 54, SCREECH
+	db 63, THRASH
+	db 0 ; no more level-up moves
+
+GrowlitheEvosAttacks:
+	db EVOLVE_ITEM, FIRE_STONE, ARCANINE
+	db 0 ; no more evolutions
+	db 1, BITE
+	db 1, ROAR
+	db 9, EMBER
+	db 18, LEER
+	db 26, TAKE_DOWN
+	db 34, FLAME_WHEEL
+	db 42, AGILITY
+	db 50, FLAMETHROWER
+	db 0 ; no more level-up moves
+
+ArcanineEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, ROAR
+	db 1, LEER
+	db 1, TAKE_DOWN
+	db 1, FLAME_WHEEL
+	db 50, EXTREMESPEED
+	db 0 ; no more level-up moves
+
+PoliwagEvosAttacks:
+	db EVOLVE_LEVEL, 25, POLIWHIRL
+	db 0 ; no more evolutions
+	db 1, BUBBLE
+	db 7, HYPNOSIS
+	db 13, WATER_GUN
+	db 19, DOUBLESLAP
+	db 25, RAIN_DANCE
+	db 31, BODY_SLAM
+	db 37, BELLY_DRUM
+	db 43, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+PoliwhirlEvosAttacks:
+	db EVOLVE_ITEM, WATER_STONE, POLIWRATH
+	db EVOLVE_TRADE, KINGS_ROCK, POLITOED
+	db 0 ; no more evolutions
+	db 1, BUBBLE
+	db 1, HYPNOSIS
+	db 1, WATER_GUN
+	db 7, HYPNOSIS
+	db 13, WATER_GUN
+	db 19, DOUBLESLAP
+	db 27, RAIN_DANCE
+	db 35, BODY_SLAM
+	db 43, BELLY_DRUM
+	db 51, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+PoliwrathEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, WATER_GUN
+	db 1, HYPNOSIS
+	db 1, DOUBLESLAP
+	db 1, SUBMISSION
+	db 35, SUBMISSION
+	db 51, MIND_READER
+	db 0 ; no more level-up moves
+
+AbraEvosAttacks:
+	db EVOLVE_LEVEL, 16, KADABRA
+	db 0 ; no more evolutions
+	db 1, TELEPORT
+	db 0 ; no more level-up moves
+
+KadabraEvosAttacks:
+	db EVOLVE_TRADE, $ff, ALAKAZAM
+	db 0 ; no more evolutions
+	db 1, TELEPORT
+	db 1, KINESIS
+	db 1, CONFUSION
+	db 16, CONFUSION
+	db 18, DISABLE
+	db 21, PSYBEAM
+	db 26, RECOVER
+	db 31, FUTURE_SIGHT
+	db 38, PSYCHIC_M
+	db 45, REFLECT
+	db 0 ; no more level-up moves
+
+AlakazamEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TELEPORT
+	db 1, KINESIS
+	db 1, CONFUSION
+	db 16, CONFUSION
+	db 18, DISABLE
+	db 21, PSYBEAM
+	db 26, RECOVER
+	db 31, FUTURE_SIGHT
+	db 38, PSYCHIC_M
+	db 45, REFLECT
+	db 0 ; no more level-up moves
+
+MachopEvosAttacks:
+	db EVOLVE_LEVEL, 28, MACHOKE
+	db 0 ; no more evolutions
+	db 1, LOW_KICK
+	db 1, LEER
+	db 7, FOCUS_ENERGY
+	db 13, KARATE_CHOP
+	db 19, SEISMIC_TOSS
+	db 25, FORESIGHT
+	db 31, VITAL_THROW
+	db 37, CROSS_CHOP
+	db 43, SCARY_FACE
+	db 49, SUBMISSION
+	db 0 ; no more level-up moves
+
+MachokeEvosAttacks:
+	db EVOLVE_TRADE, $ff, MACHAMP
+	db 0 ; no more evolutions
+	db 1, LOW_KICK
+	db 1, LEER
+	db 1, FOCUS_ENERGY
+	db 8, FOCUS_ENERGY
+	db 15, KARATE_CHOP
+	db 19, SEISMIC_TOSS
+	db 25, FORESIGHT
+	db 34, VITAL_THROW
+	db 43, CROSS_CHOP
+	db 52, SCARY_FACE
+	db 61, SUBMISSION
+	db 0 ; no more level-up moves
+
+MachampEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, LOW_KICK
+	db 1, LEER
+	db 1, FOCUS_ENERGY
+	db 8, FOCUS_ENERGY
+	db 15, KARATE_CHOP
+	db 19, SEISMIC_TOSS
+	db 25, FORESIGHT
+	db 34, VITAL_THROW
+	db 43, CROSS_CHOP
+	db 52, SCARY_FACE
+	db 61, SUBMISSION
+	db 0 ; no more level-up moves
+
+BellsproutEvosAttacks:
+	db EVOLVE_LEVEL, 21, WEEPINBELL
+	db 0 ; no more evolutions
+	db 1, VINE_WHIP
+	db 6, GROWTH
+	db 11, WRAP
+	db 15, SLEEP_POWDER
+	db 17, POISONPOWDER
+	db 19, STUN_SPORE
+	db 23, ACID
+	db 30, SWEET_SCENT
+	db 37, RAZOR_LEAF
+	db 45, SLAM
+	db 0 ; no more level-up moves
+
+WeepinbellEvosAttacks:
+	db EVOLVE_ITEM, LEAF_STONE, VICTREEBEL
+	db 0 ; no more evolutions
+	db 1, VINE_WHIP
+	db 1, GROWTH
+	db 1, WRAP
+	db 6, GROWTH
+	db 11, WRAP
+	db 15, SLEEP_POWDER
+	db 17, POISONPOWDER
+	db 19, STUN_SPORE
+	db 24, ACID
+	db 33, SWEET_SCENT
+	db 42, RAZOR_LEAF
+	db 54, SLAM
+	db 0 ; no more level-up moves
+
+VictreebelEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, VINE_WHIP
+	db 1, SLEEP_POWDER
+	db 1, SWEET_SCENT
+	db 1, RAZOR_LEAF
+	db 0 ; no more level-up moves
+
+TentacoolEvosAttacks:
+	db EVOLVE_LEVEL, 30, TENTACRUEL
+	db 0 ; no more evolutions
+	db 1, POISON_STING
+	db 6, SUPERSONIC
+	db 12, CONSTRICT
+	db 19, ACID
+	db 25, BUBBLEBEAM
+	db 30, WRAP
+	db 36, BARRIER
+	db 43, SCREECH
+	db 49, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+TentacruelEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, POISON_STING
+	db 1, SUPERSONIC
+	db 1, CONSTRICT
+	db 6, SUPERSONIC
+	db 12, CONSTRICT
+	db 19, ACID
+	db 25, BUBBLEBEAM
+	db 30, WRAP
+	db 38, BARRIER
+	db 47, SCREECH
+	db 55, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+GeodudeEvosAttacks:
+	db EVOLVE_LEVEL, 25, GRAVELER
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 6, DEFENSE_CURL
+	db 11, ROCK_THROW
+	db 16, MAGNITUDE
+	db 21, SELFDESTRUCT
+	db 26, HARDEN
+	db 31, ROLLOUT
+	db 36, EARTHQUAKE
+	db 41, EXPLOSION
+	db 0 ; no more level-up moves
+
+GravelerEvosAttacks:
+	db EVOLVE_TRADE, $ff, GOLEM
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, DEFENSE_CURL
+	db 1, ROCK_THROW
+	db 6, DEFENSE_CURL
+	db 11, ROCK_THROW
+	db 16, MAGNITUDE
+	db 21, SELFDESTRUCT
+	db 27, HARDEN
+	db 34, ROLLOUT
+	db 41, EARTHQUAKE
+	db 48, EXPLOSION
+	db 0 ; no more level-up moves
+
+GolemEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, DEFENSE_CURL
+	db 1, ROCK_THROW
+	db 1, MAGNITUDE
+	db 6, DEFENSE_CURL
+	db 11, ROCK_THROW
+	db 16, MAGNITUDE
+	db 21, SELFDESTRUCT
+	db 27, HARDEN
+	db 34, ROLLOUT
+	db 41, EARTHQUAKE
+	db 48, EXPLOSION
+	db 0 ; no more level-up moves
+
+PonytaEvosAttacks:
+	db EVOLVE_LEVEL, 40, RAPIDASH
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 4, GROWL
+	db 8, TAIL_WHIP
+	db 13, EMBER
+	db 19, STOMP
+	db 26, FIRE_SPIN
+	db 34, TAKE_DOWN
+	db 43, AGILITY
+	db 53, FIRE_BLAST
+	db 0 ; no more level-up moves
+
+RapidashEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, GROWL
+	db 1, TAIL_WHIP
+	db 1, EMBER
+	db 4, GROWL
+	db 8, TAIL_WHIP
+	db 13, EMBER
+	db 19, STOMP
+	db 26, FIRE_SPIN
+	db 34, TAKE_DOWN
+	db 40, FURY_ATTACK
+	db 47, AGILITY
+	db 61, FIRE_BLAST
+	db 0 ; no more level-up moves
+
+SlowpokeEvosAttacks:
+	db EVOLVE_LEVEL, 37, SLOWBRO
+	db EVOLVE_TRADE, KINGS_ROCK, SLOWKING
+	db 0 ; no more evolutions
+	db 1, CURSE
+	db 1, TACKLE
+	db 6, GROWL
+	db 15, WATER_GUN
+	db 20, CONFUSION
+	db 29, DISABLE
+	db 34, HEADBUTT
+	db 43, AMNESIA
+	db 48, PSYCHIC_M
+	db 0 ; no more level-up moves
+
+SlowbroEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, CURSE
+	db 1, TACKLE
+	db 1, GROWL
+	db 1, WATER_GUN
+	db 6, GROWL
+	db 15, WATER_GUN
+	db 20, CONFUSION
+	db 29, DISABLE
+	db 34, HEADBUTT
+	db 37, WITHDRAW
+	db 46, AMNESIA
+	db 54, PSYCHIC_M
+	db 0 ; no more level-up moves
+
+MagnemiteEvosAttacks:
+	db EVOLVE_LEVEL, 30, MAGNETON
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 6, THUNDERSHOCK
+	db 11, SUPERSONIC
+	db 16, SONICBOOM
+	db 21, THUNDER_WAVE
+	db 27, LOCK_ON
+	db 33, SWIFT
+	db 39, SCREECH
+	db 45, ZAP_CANNON
+	db 0 ; no more level-up moves
+
+MagnetonEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, THUNDERSHOCK
+	db 1, SUPERSONIC
+	db 1, SONICBOOM
+	db 6, THUNDERSHOCK
+	db 11, SUPERSONIC
+	db 16, SONICBOOM
+	db 21, THUNDER_WAVE
+	db 27, LOCK_ON
+if _CRYSTAL
+	db 35, TRI_ATTACK
+else
+	db 35, SWIFT
+endc
+	db 43, SCREECH
+	db 53, ZAP_CANNON
+	db 0 ; no more level-up moves
+
+FarfetchDEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, PECK
+	db 7, SAND_ATTACK
+	db 13, LEER
+	db 19, FURY_ATTACK
+	db 25, SWORDS_DANCE
+	db 31, AGILITY
+	db 37, SLASH
+	db 44, FALSE_SWIPE
+	db 0 ; no more level-up moves
+
+DoduoEvosAttacks:
+	db EVOLVE_LEVEL, 31, DODRIO
+	db 0 ; no more evolutions
+	db 1, PECK
+	db 1, GROWL
+	db 9, PURSUIT
+	db 13, FURY_ATTACK
+	db 21, TRI_ATTACK
+	db 25, RAGE
+	db 33, DRILL_PECK
+	db 37, AGILITY
+	db 0 ; no more level-up moves
+
+DodrioEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, PECK
+	db 1, GROWL
+	db 1, PURSUIT
+	db 1, FURY_ATTACK
+	db 9, PURSUIT
+	db 13, FURY_ATTACK
+	db 21, TRI_ATTACK
+	db 25, RAGE
+	db 38, DRILL_PECK
+	db 47, AGILITY
+	db 0 ; no more level-up moves
+
+SeelEvosAttacks:
+	db EVOLVE_LEVEL, 34, DEWGONG
+	db 0 ; no more evolutions
+	db 1, HEADBUTT
+	db 5, GROWL
+	db 16, AURORA_BEAM
+	db 21, REST
+	db 32, TAKE_DOWN
+	db 37, ICE_BEAM
+	db 48, SAFEGUARD
+	db 0 ; no more level-up moves
+
+DewgongEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, HEADBUTT
+	db 1, GROWL
+	db 1, AURORA_BEAM
+	db 5, GROWL
+	db 16, AURORA_BEAM
+	db 21, REST
+	db 32, TAKE_DOWN
+	db 43, ICE_BEAM
+	db 60, SAFEGUARD
+	db 0 ; no more level-up moves
+
+GrimerEvosAttacks:
+	db EVOLVE_LEVEL, 38, MUK
+	db 0 ; no more evolutions
+	db 1, POISON_GAS
+	db 1, POUND
+	db 5, HARDEN
+	db 10, DISABLE
+	db 16, SLUDGE
+	db 23, MINIMIZE
+	db 31, SCREECH
+	db 40, ACID_ARMOR
+	db 50, SLUDGE_BOMB
+	db 0 ; no more level-up moves
+
+MukEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, POISON_GAS
+	db 1, POUND
+	db 1, HARDEN
+	db 33, HARDEN
+	db 37, DISABLE
+	db 45, SLUDGE
+	db 23, MINIMIZE
+	db 31, SCREECH
+	db 45, ACID_ARMOR
+	db 60, SLUDGE_BOMB
+	db 0 ; no more level-up moves
+
+ShellderEvosAttacks:
+	db EVOLVE_ITEM, WATER_STONE, CLOYSTER
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, WITHDRAW
+	db 9, SUPERSONIC
+	db 17, AURORA_BEAM
+	db 25, PROTECT
+	db 33, LEER
+	db 41, CLAMP
+	db 49, ICE_BEAM
+	db 0 ; no more level-up moves
+
+CloysterEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, WITHDRAW
+	db 1, SUPERSONIC
+	db 1, AURORA_BEAM
+	db 1, PROTECT
+if _CRYSTAL
+	db 33, SPIKES
+endc
+	db 41, SPIKE_CANNON
+	db 0 ; no more level-up moves
+
+GastlyEvosAttacks:
+	db EVOLVE_LEVEL, 25, HAUNTER
+	db 0 ; no more evolutions
+	db 1, HYPNOSIS
+	db 1, LICK
+	db 8, SPITE
+	db 13, MEAN_LOOK
+	db 16, CURSE
+	db 21, NIGHT_SHADE
+	db 28, CONFUSE_RAY
+	db 33, DREAM_EATER
+	db 36, DESTINY_BOND
+	db 0 ; no more level-up moves
+
+HaunterEvosAttacks:
+	db EVOLVE_TRADE, $ff, GENGAR
+	db 0 ; no more evolutions
+	db 1, HYPNOSIS
+	db 1, LICK
+	db 1, SPITE
+	db 8, SPITE
+	db 13, MEAN_LOOK
+	db 16, CURSE
+	db 21, NIGHT_SHADE
+	db 31, CONFUSE_RAY
+	db 39, DREAM_EATER
+	db 48, DESTINY_BOND
+	db 0 ; no more level-up moves
+
+GengarEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, HYPNOSIS
+	db 1, LICK
+	db 1, SPITE
+	db 8, SPITE
+	db 13, MEAN_LOOK
+	db 16, CURSE
+	db 21, NIGHT_SHADE
+	db 31, CONFUSE_RAY
+	db 39, DREAM_EATER
+	db 48, DESTINY_BOND
+	db 0 ; no more level-up moves
+
+OnixEvosAttacks:
+	db EVOLVE_TRADE, METAL_COAT, STEELIX
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, SCREECH
+	db 10, BIND
+	db 14, ROCK_THROW
+	db 23, HARDEN
+	db 27, RAGE
+	db 36, SANDSTORM
+	db 40, SLAM
+	db 0 ; no more level-up moves
+
+DrowzeeEvosAttacks:
+	db EVOLVE_LEVEL, 26, HYPNO
+	db 0 ; no more evolutions
+	db 1, POUND
+	db 1, HYPNOSIS
+	db 10, DISABLE
+	db 18, CONFUSION
+	db 25, HEADBUTT
+	db 31, POISON_GAS
+	db 36, MEDITATE
+	db 40, PSYCHIC_M
+	db 43, PSYCH_UP
+	db 45, FUTURE_SIGHT
+	db 0 ; no more level-up moves
+
+HypnoEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, POUND
+	db 1, HYPNOSIS
+	db 1, DISABLE
+	db 1, CONFUSION
+	db 10, DISABLE
+	db 18, CONFUSION
+	db 25, HEADBUTT
+	db 33, POISON_GAS
+	db 40, MEDITATE
+	db 49, PSYCHIC_M
+	db 55, PSYCH_UP
+	db 60, FUTURE_SIGHT
+	db 0 ; no more level-up moves
+
+KrabbyEvosAttacks:
+	db EVOLVE_LEVEL, 28, KINGLER
+	db 0 ; no more evolutions
+	db 1, BUBBLE
+	db 5, LEER
+	db 12, VICEGRIP
+	db 16, HARDEN
+	db 23, STOMP
+	db 27, GUILLOTINE
+	db 34, PROTECT
+	db 41, CRABHAMMER
+	db 0 ; no more level-up moves
+
+KinglerEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, BUBBLE
+	db 1, LEER
+	db 1, VICEGRIP
+	db 5, LEER
+	db 12, VICEGRIP
+	db 16, HARDEN
+	db 23, STOMP
+	db 27, GUILLOTINE
+	db 38, PROTECT
+	db 49, CRABHAMMER
+	db 0 ; no more level-up moves
+
+VoltorbEvosAttacks:
+	db EVOLVE_LEVEL, 30, ELECTRODE
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 9, SCREECH
+	db 17, SONICBOOM
+	db 23, SELFDESTRUCT
+	db 29, ROLLOUT
+	db 33, LIGHT_SCREEN
+	db 37, SWIFT
+	db 39, EXPLOSION
+	db 41, MIRROR_COAT
+	db 0 ; no more level-up moves
+
+ElectrodeEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, SCREECH
+	db 1, SONICBOOM
+	db 1, SELFDESTRUCT
+	db 9, SCREECH
+	db 17, SONICBOOM
+	db 23, SELFDESTRUCT
+	db 29, ROLLOUT
+	db 34, LIGHT_SCREEN
+	db 40, SWIFT
+	db 44, EXPLOSION
+	db 48, MIRROR_COAT
+	db 0 ; no more level-up moves
+
+ExeggcuteEvosAttacks:
+	db EVOLVE_ITEM, LEAF_STONE, EXEGGUTOR
+	db 0 ; no more evolutions
+	db 1, BARRAGE
+	db 1, HYPNOSIS
+	db 7, REFLECT
+	db 13, LEECH_SEED
+	db 19, CONFUSION
+	db 25, STUN_SPORE
+	db 31, POISONPOWDER
+	db 37, SLEEP_POWDER
+	db 43, SOLARBEAM
+	db 0 ; no more level-up moves
+
+ExeggutorEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, BARRAGE
+	db 1, HYPNOSIS
+	db 1, CONFUSION
+	db 19, STOMP
+	db 31, EGG_BOMB
+	db 0 ; no more level-up moves
+
+CuboneEvosAttacks:
+	db EVOLVE_LEVEL, 28, MAROWAK
+	db 0 ; no more evolutions
+	db 1, GROWL
+	db 5, TAIL_WHIP
+	db 9, BONE_CLUB
+	db 13, HEADBUTT
+	db 17, LEER
+	db 21, FOCUS_ENERGY
+	db 25, BONEMERANG
+	db 29, RAGE
+	db 33, FALSE_SWIPE
+	db 37, THRASH
+	db 41, BONE_RUSH
+	db 0 ; no more level-up moves
+
+MarowakEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, GROWL
+	db 1, TAIL_WHIP
+	db 1, BONE_CLUB
+	db 1, HEADBUTT
+	db 5, TAIL_WHIP
+	db 9, BONE_CLUB
+	db 13, HEADBUTT
+	db 17, LEER
+	db 21, FOCUS_ENERGY
+	db 25, BONEMERANG
+	db 32, RAGE
+	db 39, FALSE_SWIPE
+	db 46, THRASH
+	db 53, BONE_RUSH
+	db 0 ; no more level-up moves
+
+HitmonleeEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, DOUBLE_KICK
+	db 6, MEDITATE
+	db 11, ROLLING_KICK
+	db 16, JUMP_KICK
+	db 21, FOCUS_ENERGY
+	db 26, HI_JUMP_KICK
+	db 31, MIND_READER
+	db 36, FORESIGHT
+	db 41, ENDURE
+	db 46, MEGA_KICK
+	db 51, REVERSAL
+	db 0 ; no more level-up moves
+
+HitmonchanEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, COMET_PUNCH
+	db 7, AGILITY
+	db 13, PURSUIT
+	db 26, THUNDERPUNCH
+	db 26, ICE_PUNCH
+	db 26, FIRE_PUNCH
+	db 32, MACH_PUNCH
+	db 38, MEGA_PUNCH
+	db 44, DETECT
+	db 50, COUNTER
+	db 0 ; no more level-up moves
+
+LickitungEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, LICK
+	db 7, SUPERSONIC
+	db 13, DEFENSE_CURL
+	db 19, STOMP
+	db 25, WRAP
+	db 31, DISABLE
+	db 37, SLAM
+	db 43, SCREECH
+	db 0 ; no more level-up moves
+
+KoffingEvosAttacks:
+	db EVOLVE_LEVEL, 35, WEEZING
+	db 0 ; no more evolutions
+	db 1, POISON_GAS
+	db 1, TACKLE
+	db 9, SMOG
+	db 17, SELFDESTRUCT
+	db 21, SLUDGE
+	db 25, SMOKESCREEN
+	db 33, HAZE
+	db 41, EXPLOSION
+	db 45, DESTINY_BOND
+	db 0 ; no more level-up moves
+
+WeezingEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, POISON_GAS
+	db 1, TACKLE
+	db 1, SMOG
+	db 1, SELFDESTRUCT
+	db 9, SMOG
+	db 17, SELFDESTRUCT
+	db 21, SLUDGE
+	db 25, SMOKESCREEN
+	db 33, HAZE
+	db 44, EXPLOSION
+	db 51, DESTINY_BOND
+	db 0 ; no more level-up moves
+
+RhyhornEvosAttacks:
+	db EVOLVE_LEVEL, 42, RHYDON
+	db 0 ; no more evolutions
+	db 1, HORN_ATTACK
+	db 1, TAIL_WHIP
+	db 13, STOMP
+	db 19, FURY_ATTACK
+	db 31, SCARY_FACE
+	db 37, HORN_DRILL
+	db 49, TAKE_DOWN
+	db 55, EARTHQUAKE
+	db 0 ; no more level-up moves
+
+RhydonEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, HORN_ATTACK
+	db 1, TAIL_WHIP
+	db 1, STOMP
+	db 1, FURY_ATTACK
+	db 13, STOMP
+	db 19, FURY_ATTACK
+	db 31, SCARY_FACE
+	db 37, HORN_DRILL
+	db 54, TAKE_DOWN
+	db 65, EARTHQUAKE
+	db 0 ; no more level-up moves
+
+ChanseyEvosAttacks:
+	db EVOLVE_HAPPINESS, TR_ANYTIME, BLISSEY
+	db 0 ; no more evolutions
+	db 1, POUND
+	db 5, GROWL
+	db 9, TAIL_WHIP
+	db 13, SOFTBOILED
+	db 17, DOUBLESLAP
+	db 23, MINIMIZE
+	db 29, SING
+	db 35, EGG_BOMB
+	db 41, DEFENSE_CURL
+	db 49, LIGHT_SCREEN
+	db 57, DOUBLE_EDGE
+	db 0 ; no more level-up moves
+
+TangelaEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, CONSTRICT
+	db 4, SLEEP_POWDER
+	db 10, ABSORB
+	db 13, POISONPOWDER
+	db 19, VINE_WHIP
+	db 25, BIND
+	db 31, MEGA_DRAIN
+	db 34, STUN_SPORE
+	db 40, SLAM
+	db 46, GROWTH
+	db 0 ; no more level-up moves
+
+KangaskhanEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, COMET_PUNCH
+	db 7, LEER
+	db 13, BITE
+	db 19, TAIL_WHIP
+	db 25, MEGA_PUNCH
+	db 31, RAGE
+	db 37, ENDURE
+	db 43, DIZZY_PUNCH
+	db 49, REVERSAL
+	db 0 ; no more level-up moves
+
+HorseaEvosAttacks:
+	db EVOLVE_LEVEL, 32, SEADRA
+	db 0 ; no more evolutions
+	db 1, BUBBLE
+	db 8, SMOKESCREEN
+	db 15, LEER
+	db 22, WATER_GUN
+	db 29, TWISTER
+	db 36, AGILITY
+	db 43, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+SeadraEvosAttacks:
+	db EVOLVE_TRADE, DRAGON_SCALE, KINGDRA
+	db 0 ; no more evolutions
+	db 1, BUBBLE
+	db 1, SMOKESCREEN
+	db 1, LEER
+	db 1, WATER_GUN
+	db 8, SMOKESCREEN
+	db 15, LEER
+	db 22, WATER_GUN
+	db 29, TWISTER
+	db 40, AGILITY
+	db 51, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+GoldeenEvosAttacks:
+	db EVOLVE_LEVEL, 33, SEAKING
+	db 0 ; no more evolutions
+	db 1, PECK
+	db 1, TAIL_WHIP
+	db 10, SUPERSONIC
+	db 15, HORN_ATTACK
+	db 24, FLAIL
+	db 29, FURY_ATTACK
+	db 38, WATERFALL
+	db 43, HORN_DRILL
+	db 52, AGILITY
+	db 0 ; no more level-up moves
+
+SeakingEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, PECK
+	db 1, TAIL_WHIP
+	db 1, TAIL_WHIP
+	db 10, SUPERSONIC
+	db 15, HORN_ATTACK
+	db 24, FLAIL
+	db 29, FURY_ATTACK
+	db 41, WATERFALL
+	db 49, HORN_DRILL
+	db 61, AGILITY
+	db 0 ; no more level-up moves
+
+StaryuEvosAttacks:
+	db EVOLVE_ITEM, WATER_STONE, STARMIE
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, HARDEN
+	db 7, WATER_GUN
+	db 13, RAPID_SPIN
+	db 19, RECOVER
+	db 25, SWIFT
+	db 31, BUBBLEBEAM
+	db 37, MINIMIZE
+	db 43, LIGHT_SCREEN
+	db 50, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+StarmieEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, RAPID_SPIN
+	db 1, RECOVER
+	db 1, BUBBLEBEAM
+	db 37, CONFUSE_RAY
+	db 0 ; no more level-up moves
+
+MrMimeEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, BARRIER
+	db 6, CONFUSION
+	db 11, SUBSTITUTE
+	db 16, MEDITATE
+	db 21, DOUBLESLAP
+	db 26, LIGHT_SCREEN
+	db 26, REFLECT
+	db 31, ENCORE
+	db 36, PSYBEAM
+	db 41, BATON_PASS
+	db 46, SAFEGUARD
+	db 0 ; no more level-up moves
+
+ScytherEvosAttacks:
+	db EVOLVE_TRADE, METAL_COAT, SCIZOR
+	db 0 ; no more evolutions
+	db 1, QUICK_ATTACK
+	db 1, LEER
+	db 6, FOCUS_ENERGY
+	db 12, PURSUIT
+	db 18, FALSE_SWIPE
+	db 24, AGILITY
+	db 30, WING_ATTACK
+	db 36, SLASH
+	db 42, SWORDS_DANCE
+	db 48, DOUBLE_TEAM
+	db 0 ; no more level-up moves
+
+JynxEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, POUND
+	db 1, LICK
+	db 1, LOVELY_KISS
+	db 1, POWDER_SNOW
+	db 9, LOVELY_KISS
+	db 13, POWDER_SNOW
+	db 21, DOUBLESLAP
+	db 25, ICE_PUNCH
+	db 35, MEAN_LOOK
+	db 41, BODY_SLAM
+	db 51, PERISH_SONG
+	db 57, BLIZZARD
+	db 0 ; no more level-up moves
+
+ElectabuzzEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, QUICK_ATTACK
+	db 1, LEER
+	db 1, THUNDERPUNCH
+	db 9, THUNDERPUNCH
+	db 17, LIGHT_SCREEN
+	db 25, SWIFT
+	db 36, SCREECH
+	db 47, THUNDERBOLT
+	db 58, THUNDER
+	db 0 ; no more level-up moves
+
+MagmarEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, EMBER
+	db 1, LEER
+	db 1, SMOG
+	db 1, FIRE_PUNCH
+	db 7, LEER
+	db 13, SMOG
+	db 19, FIRE_PUNCH
+	db 25, SMOKESCREEN
+	db 33, SUNNY_DAY
+	db 41, FLAMETHROWER
+	db 49, CONFUSE_RAY
+	db 57, FIRE_BLAST
+	db 0 ; no more level-up moves
+
+PinsirEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, VICEGRIP
+	db 7, FOCUS_ENERGY
+	db 13, BIND
+	db 19, SEISMIC_TOSS
+	db 25, HARDEN
+	db 31, GUILLOTINE
+	db 37, SUBMISSION
+	db 43, SWORDS_DANCE
+	db 0 ; no more level-up moves
+
+TaurosEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 4, TAIL_WHIP
+	db 8, RAGE
+	db 13, HORN_ATTACK
+	db 19, SCARY_FACE
+	db 26, PURSUIT
+	db 34, REST
+	db 43, THRASH
+	db 53, TAKE_DOWN
+	db 0 ; no more level-up moves
+
+MagikarpEvosAttacks:
+	db EVOLVE_LEVEL, 20, GYARADOS
+	db 0 ; no more evolutions
+	db 1, SPLASH
+	db 15, TACKLE
+	db 30, FLAIL
+	db 0 ; no more level-up moves
+
+GyaradosEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, THRASH
+	db 20, BITE
+	db 25, DRAGON_RAGE
+	db 30, LEER
+	db 35, TWISTER
+	db 40, HYDRO_PUMP
+	db 45, RAIN_DANCE
+	db 50, HYPER_BEAM
+	db 0 ; no more level-up moves
+
+LaprasEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, WATER_GUN
+	db 1, GROWL
+	db 1, SING
+	db 8, MIST
+	db 15, BODY_SLAM
+	db 22, CONFUSE_RAY
+	db 29, PERISH_SONG
+	db 36, ICE_BEAM
+	db 43, RAIN_DANCE
+	db 50, SAFEGUARD
+	db 57, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+DittoEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TRANSFORM
+	db 0 ; no more level-up moves
+
+EeveeEvosAttacks:
+	db EVOLVE_ITEM, THUNDERSTONE, JOLTEON
+	db EVOLVE_ITEM, WATER_STONE, VAPOREON
+	db EVOLVE_ITEM, FIRE_STONE, FLAREON
+	db EVOLVE_HAPPINESS, TR_MORNDAY, ESPEON
+	db EVOLVE_HAPPINESS, TR_NITE, UMBREON
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, TAIL_WHIP
+	db 8, SAND_ATTACK
+	db 16, GROWL
+	db 23, QUICK_ATTACK
+	db 30, BITE
+if _CRYSTAL
+	db 36, BATON_PASS
+else
+	db 36, FOCUS_ENERGY
+endc
+	db 42, TAKE_DOWN
+	db 0 ; no more level-up moves
+
+VaporeonEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, TAIL_WHIP
+	db 8, SAND_ATTACK
+	db 16, WATER_GUN
+	db 23, QUICK_ATTACK
+	db 30, BITE
+	db 36, AURORA_BEAM
+	db 42, HAZE
+	db 47, ACID_ARMOR
+	db 52, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+JolteonEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, TAIL_WHIP
+	db 8, SAND_ATTACK
+	db 16, THUNDERSHOCK
+	db 23, QUICK_ATTACK
+	db 30, DOUBLE_KICK
+	db 36, PIN_MISSILE
+	db 42, THUNDER_WAVE
+	db 47, AGILITY
+	db 52, THUNDER
+	db 0 ; no more level-up moves
+
+FlareonEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, TAIL_WHIP
+	db 8, SAND_ATTACK
+	db 16, EMBER
+	db 23, QUICK_ATTACK
+	db 30, BITE
+	db 36, FIRE_SPIN
+	db 42, SMOG
+	db 47, LEER
+	db 52, FLAMETHROWER
+	db 0 ; no more level-up moves
+
+PorygonEvosAttacks:
+	db EVOLVE_TRADE, UP_GRADE, PORYGON2
+	db 0 ; no more evolutions
+	db 1, CONVERSION2
+	db 1, TACKLE
+	db 1, CONVERSION
+	db 9, AGILITY
+	db 12, PSYBEAM
+	db 20, RECOVER
+	db 24, SHARPEN
+	db 32, LOCK_ON
+	db 36, TRI_ATTACK
+	db 44, ZAP_CANNON
+	db 0 ; no more level-up moves
+
+OmanyteEvosAttacks:
+	db EVOLVE_LEVEL, 40, OMASTAR
+	db 0 ; no more evolutions
+	db 1, CONSTRICT
+	db 1, WITHDRAW
+	db 13, BITE
+	db 19, WATER_GUN
+	db 31, LEER
+	db 37, PROTECT
+	db 49, ANCIENTPOWER
+	db 55, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+OmastarEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, CONSTRICT
+	db 1, WITHDRAW
+	db 1, BITE
+	db 13, BITE
+	db 19, WATER_GUN
+	db 31, LEER
+	db 37, PROTECT
+	db 40, SPIKE_CANNON
+	db 54, ANCIENTPOWER
+	db 65, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+KabutoEvosAttacks:
+	db EVOLVE_LEVEL, 40, KABUTOPS
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, HARDEN
+	db 10, ABSORB
+	db 19, LEER
+	db 28, SAND_ATTACK
+	db 37, ENDURE
+	db 46, MEGA_DRAIN
+	db 55, ANCIENTPOWER
+	db 0 ; no more level-up moves
+
+KabutopsEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, HARDEN
+	db 1, ABSORB
+	db 10, ABSORB
+	db 19, LEER
+	db 28, SAND_ATTACK
+	db 37, ENDURE
+	db 40, SLASH
+	db 51, MEGA_DRAIN
+	db 65, ANCIENTPOWER
+	db 0 ; no more level-up moves
+
+AerodactylEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, WING_ATTACK
+	db 8, AGILITY
+	db 15, BITE
+	db 22, SUPERSONIC
+	db 29, ANCIENTPOWER
+	db 36, SCARY_FACE
+	db 43, TAKE_DOWN
+	db 50, HYPER_BEAM
+	db 0 ; no more level-up moves
+
+SnorlaxEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 8, AMNESIA
+	db 15, DEFENSE_CURL
+	db 22, BELLY_DRUM
+	db 29, HEADBUTT
+	db 36, SNORE
+	db 36, REST
+	db 43, BODY_SLAM
+	db 50, ROLLOUT
+	db 57, HYPER_BEAM
+	db 0 ; no more level-up moves
+
+ArticunoEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, GUST
+	db 1, POWDER_SNOW
+	db 13, MIST
+	db 25, AGILITY
+	db 37, MIND_READER
+	db 49, ICE_BEAM
+	db 61, REFLECT
+	db 73, BLIZZARD
+	db 0 ; no more level-up moves
+
+ZapdosEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, PECK
+	db 1, THUNDERSHOCK
+	db 13, THUNDER_WAVE
+	db 25, AGILITY
+	db 37, DETECT
+	db 49, DRILL_PECK
+	db 61, LIGHT_SCREEN
+	db 73, THUNDER
+	db 0 ; no more level-up moves
+
+MoltresEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, WING_ATTACK
+	db 1, EMBER
+	db 13, FIRE_SPIN
+	db 25, AGILITY
+	db 37, ENDURE
+	db 49, FLAMETHROWER
+	db 61, SAFEGUARD
+	db 73, SKY_ATTACK
+	db 0 ; no more level-up moves
+
+DratiniEvosAttacks:
+	db EVOLVE_LEVEL, 30, DRAGONAIR
+	db 0 ; no more evolutions
+	db 1, WRAP
+	db 1, LEER
+	db 8, THUNDER_WAVE
+	db 15, TWISTER
+	db 22, DRAGON_RAGE
+	db 29, SLAM
+	db 36, AGILITY
+	db 43, SAFEGUARD
+	db 50, OUTRAGE
+	db 57, HYPER_BEAM
+	db 0 ; no more level-up moves
+
+DragonairEvosAttacks:
+	db EVOLVE_LEVEL, 55, DRAGONITE
+	db 0 ; no more evolutions
+	db 1, WRAP
+	db 1, LEER
+	db 1, THUNDER_WAVE
+	db 1, TWISTER
+	db 8, THUNDER_WAVE
+	db 15, TWISTER
+	db 22, DRAGON_RAGE
+	db 29, SLAM
+	db 38, AGILITY
+	db 47, SAFEGUARD
+	db 56, OUTRAGE
+	db 65, HYPER_BEAM
+	db 0 ; no more level-up moves
+
+DragoniteEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, WRAP
+	db 1, LEER
+	db 1, THUNDER_WAVE
+	db 1, TWISTER
+	db 8, THUNDER_WAVE
+	db 15, TWISTER
+	db 22, DRAGON_RAGE
+	db 29, SLAM
+	db 38, AGILITY
+	db 47, SAFEGUARD
+	db 55, WING_ATTACK
+	db 61, OUTRAGE
+	db 75, HYPER_BEAM
+	db 0 ; no more level-up moves
+
+MewtwoEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, CONFUSION
+	db 1, DISABLE
+	db 11, BARRIER
+	db 22, SWIFT
+	db 33, PSYCH_UP
+	db 44, FUTURE_SIGHT
+	db 55, MIST
+	db 66, PSYCHIC_M
+	db 77, AMNESIA
+	db 88, RECOVER
+	db 99, SAFEGUARD
+	db 0 ; no more level-up moves
+
+MewEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, POUND
+	db 10, TRANSFORM
+	db 20, MEGA_PUNCH
+	db 30, METRONOME
+	db 40, PSYCHIC_M
+	db 50, ANCIENTPOWER
+	db 0 ; no more level-up moves
+
+ChikoritaEvosAttacks:
+	db EVOLVE_LEVEL, 16, BAYLEEF
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, GROWL
+	db 8, RAZOR_LEAF
+	db 12, REFLECT
+	db 15, POISONPOWDER
+	db 22, SYNTHESIS
+	db 29, BODY_SLAM
+	db 36, LIGHT_SCREEN
+	db 43, SAFEGUARD
+	db 50, SOLARBEAM
+	db 0 ; no more level-up moves
+
+BayleefEvosAttacks:
+	db EVOLVE_LEVEL, 32, MEGANIUM
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, GROWL
+	db 1, RAZOR_LEAF
+	db 1, REFLECT
+	db 8, RAZOR_LEAF
+	db 12, REFLECT
+	db 15, POISONPOWDER
+	db 23, SYNTHESIS
+	db 31, BODY_SLAM
+	db 39, LIGHT_SCREEN
+	db 47, SAFEGUARD
+	db 55, SOLARBEAM
+	db 0 ; no more level-up moves
+
+MeganiumEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, GROWL
+	db 1, RAZOR_LEAF
+	db 1, REFLECT
+	db 8, RAZOR_LEAF
+	db 12, REFLECT
+	db 15, POISONPOWDER
+	db 23, SYNTHESIS
+	db 31, BODY_SLAM
+	db 41, LIGHT_SCREEN
+	db 51, SAFEGUARD
+	db 61, SOLARBEAM
+	db 0 ; no more level-up moves
+
+CyndaquilEvosAttacks:
+	db EVOLVE_LEVEL, 14, QUILAVA
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, LEER
+	db 6, SMOKESCREEN
+	db 12, EMBER
+	db 19, QUICK_ATTACK
+	db 27, FLAME_WHEEL
+	db 36, SWIFT
+	db 46, FLAMETHROWER
+	db 0 ; no more level-up moves
+
+QuilavaEvosAttacks:
+	db EVOLVE_LEVEL, 36, TYPHLOSION
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, LEER
+	db 1, SMOKESCREEN
+	db 6, SMOKESCREEN
+	db 12, EMBER
+	db 21, QUICK_ATTACK
+	db 31, FLAME_WHEEL
+	db 42, SWIFT
+	db 54, FLAMETHROWER
+	db 0 ; no more level-up moves
+
+TyphlosionEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, LEER
+	db 1, SMOKESCREEN
+	db 1, EMBER
+	db 6, SMOKESCREEN
+	db 12, EMBER
+	db 21, QUICK_ATTACK
+	db 31, FLAME_WHEEL
+	db 45, SWIFT
+	db 60, FLAMETHROWER
+	db 0 ; no more level-up moves
+
+TotodileEvosAttacks:
+	db EVOLVE_LEVEL, 18, CROCONAW
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, LEER
+	db 7, RAGE
+	db 13, WATER_GUN
+	db 20, BITE
+	db 27, SCARY_FACE
+	db 35, SLASH
+	db 43, SCREECH
+	db 52, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+CroconawEvosAttacks:
+	db EVOLVE_LEVEL, 30, FERALIGATR
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, LEER
+	db 1, RAGE
+	db 7, RAGE
+	db 13, WATER_GUN
+	db 21, BITE
+	db 28, SCARY_FACE
+	db 37, SLASH
+	db 45, SCREECH
+	db 55, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+FeraligatrEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, LEER
+	db 1, RAGE
+	db 1, WATER_GUN
+	db 7, RAGE
+	db 13, WATER_GUN
+	db 21, BITE
+	db 28, SCARY_FACE
+	db 38, SLASH
+	db 47, SCREECH
+	db 58, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+SentretEvosAttacks:
+	db EVOLVE_LEVEL, 15, FURRET
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 5, DEFENSE_CURL
+	db 11, QUICK_ATTACK
+	db 17, FURY_SWIPES
+	db 25, SLAM
+	db 33, REST
+	db 41, AMNESIA
+	db 0 ; no more level-up moves
+
+FurretEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, DEFENSE_CURL
+	db 1, QUICK_ATTACK
+	db 5, DEFENSE_CURL
+	db 11, QUICK_ATTACK
+	db 18, FURY_SWIPES
+	db 28, SLAM
+	db 38, REST
+	db 48, AMNESIA
+	db 0 ; no more level-up moves
+
+HoothootEvosAttacks:
+	db EVOLVE_LEVEL, 20, NOCTOWL
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, GROWL
+	db 6, FORESIGHT
+	db 11, PECK
+	db 16, HYPNOSIS
+	db 22, REFLECT
+	db 28, TAKE_DOWN
+	db 34, CONFUSION
+	db 48, DREAM_EATER
+	db 0 ; no more level-up moves
+
+NoctowlEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, GROWL
+	db 1, FORESIGHT
+	db 1, PECK
+	db 6, FORESIGHT
+	db 11, PECK
+	db 16, HYPNOSIS
+	db 25, REFLECT
+	db 33, TAKE_DOWN
+	db 41, CONFUSION
+	db 57, DREAM_EATER
+	db 0 ; no more level-up moves
+
+LedybaEvosAttacks:
+	db EVOLVE_LEVEL, 18, LEDIAN
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 8, SUPERSONIC
+	db 15, COMET_PUNCH
+	db 22, LIGHT_SCREEN
+	db 22, REFLECT
+	db 22, SAFEGUARD
+	db 29, BATON_PASS
+	db 36, SWIFT
+	db 43, AGILITY
+	db 50, DOUBLE_EDGE
+	db 0 ; no more level-up moves
+
+LedianEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, SUPERSONIC
+	db 8, SUPERSONIC
+	db 15, COMET_PUNCH
+	db 24, LIGHT_SCREEN
+	db 24, REFLECT
+	db 24, SAFEGUARD
+	db 33, BATON_PASS
+	db 42, SWIFT
+	db 51, AGILITY
+	db 60, DOUBLE_EDGE
+	db 0 ; no more level-up moves
+
+SpinarakEvosAttacks:
+	db EVOLVE_LEVEL, 22, ARIADOS
+	db 0 ; no more evolutions
+	db 1, POISON_STING
+	db 1, STRING_SHOT
+	db 6, SCARY_FACE
+	db 11, CONSTRICT
+	db 17, NIGHT_SHADE
+	db 23, LEECH_LIFE
+	db 30, FURY_SWIPES
+	db 37, SPIDER_WEB
+if _CRYSTAL
+	db 45, AGILITY
+else
+	db 45, SCREECH
+endc
+	db 53, PSYCHIC_M
+	db 0 ; no more level-up moves
+
+AriadosEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, POISON_STING
+	db 1, STRING_SHOT
+	db 1, SCARY_FACE
+	db 1, CONSTRICT
+	db 6, SCARY_FACE
+	db 11, CONSTRICT
+	db 17, NIGHT_SHADE
+	db 25, LEECH_LIFE
+	db 34, FURY_SWIPES
+	db 43, SPIDER_WEB
+if _CRYSTAL
+	db 53, AGILITY
+else
+	db 53, SCREECH
+endc
+	db 63, PSYCHIC_M
+	db 0 ; no more level-up moves
+
+CrobatEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SCREECH
+	db 1, LEECH_LIFE
+	db 1, SUPERSONIC
+	db 6, SUPERSONIC
+	db 12, BITE
+	db 19, CONFUSE_RAY
+	db 30, WING_ATTACK
+	db 42, MEAN_LOOK
+	db 55, HAZE
+	db 0 ; no more level-up moves
+
+ChinchouEvosAttacks:
+	db EVOLVE_LEVEL, 27, LANTURN
+	db 0 ; no more evolutions
+	db 1, BUBBLE
+	db 1, THUNDER_WAVE
+	db 5, SUPERSONIC
+	db 13, FLAIL
+	db 17, WATER_GUN
+	db 25, SPARK
+	db 29, CONFUSE_RAY
+	db 37, TAKE_DOWN
+	db 41, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+LanturnEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, BUBBLE
+	db 1, THUNDER_WAVE
+	db 1, SUPERSONIC
+	db 5, SUPERSONIC
+	db 13, FLAIL
+	db 17, WATER_GUN
+	db 25, SPARK
+	db 33, CONFUSE_RAY
+	db 45, TAKE_DOWN
+	db 53, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+PichuEvosAttacks:
+	db EVOLVE_HAPPINESS, TR_ANYTIME, PIKACHU
+	db 0 ; no more evolutions
+	db 1, THUNDERSHOCK
+	db 1, CHARM
+	db 6, TAIL_WHIP
+	db 8, THUNDER_WAVE
+	db 11, SWEET_KISS
+	db 0 ; no more level-up moves
+
+CleffaEvosAttacks:
+	db EVOLVE_HAPPINESS, TR_ANYTIME, CLEFAIRY
+	db 0 ; no more evolutions
+	db 1, POUND
+	db 1, CHARM
+	db 4, ENCORE
+	db 8, SING
+	db 13, SWEET_KISS
+	db 0 ; no more level-up moves
+
+IgglybuffEvosAttacks:
+	db EVOLVE_HAPPINESS, TR_ANYTIME, JIGGLYPUFF
+	db 0 ; no more evolutions
+	db 1, SING
+	db 1, CHARM
+	db 4, DEFENSE_CURL
+	db 9, POUND
+	db 14, SWEET_KISS
+	db 0 ; no more level-up moves
+
+TogepiEvosAttacks:
+	db EVOLVE_HAPPINESS, TR_ANYTIME, TOGETIC
+	db 0 ; no more evolutions
+	db 1, GROWL
+	db 1, CHARM
+	db 7, METRONOME
+	db 18, SWEET_KISS
+	db 25, ENCORE
+	db 31, SAFEGUARD
+	db 38, DOUBLE_EDGE
+	db 0 ; no more level-up moves
+
+TogeticEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, GROWL
+	db 1, CHARM
+	db 7, METRONOME
+	db 18, SWEET_KISS
+	db 25, ENCORE
+	db 31, SAFEGUARD
+	db 38, DOUBLE_EDGE
+	db 0 ; no more level-up moves
+
+NatuEvosAttacks:
+	db EVOLVE_LEVEL, 25, XATU
+	db 0 ; no more evolutions
+	db 1, PECK
+	db 1, LEER
+	db 10, NIGHT_SHADE
+	db 20, TELEPORT
+	db 30, FUTURE_SIGHT
+	db 40, CONFUSE_RAY
+	db 50, PSYCHIC_M
+	db 0 ; no more level-up moves
+
+XatuEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, PECK
+	db 1, LEER
+	db 1, NIGHT_SHADE
+	db 10, NIGHT_SHADE
+	db 20, TELEPORT
+	db 35, FUTURE_SIGHT
+	db 50, CONFUSE_RAY
+	db 65, PSYCHIC_M
+	db 0 ; no more level-up moves
+
+MareepEvosAttacks:
+	db EVOLVE_LEVEL, 15, FLAAFFY
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, GROWL
+	db 9, THUNDERSHOCK
+	db 16, THUNDER_WAVE
+	db 23, COTTON_SPORE
+	db 30, LIGHT_SCREEN
+	db 37, THUNDER
+	db 0 ; no more level-up moves
+
+FlaaffyEvosAttacks:
+	db EVOLVE_LEVEL, 30, AMPHAROS
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, GROWL
+	db 1, THUNDERSHOCK
+	db 9, THUNDERSHOCK
+	db 18, THUNDER_WAVE
+	db 27, COTTON_SPORE
+	db 36, LIGHT_SCREEN
+	db 45, THUNDER
+	db 0 ; no more level-up moves
+
+AmpharosEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, GROWL
+	db 1, THUNDERSHOCK
+	db 1, THUNDER_WAVE
+	db 9, THUNDERSHOCK
+	db 18, THUNDER_WAVE
+	db 27, COTTON_SPORE
+	db 30, THUNDERPUNCH
+	db 42, LIGHT_SCREEN
+	db 57, THUNDER
+	db 0 ; no more level-up moves
+
+BellossomEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, ABSORB
+	db 1, SWEET_SCENT
+	db 1, STUN_SPORE
+	db 1, PETAL_DANCE
+	db 55, SOLARBEAM
+	db 0 ; no more level-up moves
+
+MarillEvosAttacks:
+	db EVOLVE_LEVEL, 18, AZUMARILL
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 3, DEFENSE_CURL
+	db 6, TAIL_WHIP
+	db 10, WATER_GUN
+	db 15, ROLLOUT
+	db 21, BUBBLEBEAM
+	db 28, DOUBLE_EDGE
+	db 36, RAIN_DANCE
+	db 0 ; no more level-up moves
+
+AzumarillEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, DEFENSE_CURL
+	db 1, TAIL_WHIP
+	db 1, WATER_GUN
+	db 3, DEFENSE_CURL
+	db 6, TAIL_WHIP
+	db 10, WATER_GUN
+	db 15, ROLLOUT
+	db 25, BUBBLEBEAM
+	db 36, DOUBLE_EDGE
+	db 48, RAIN_DANCE
+	db 0 ; no more level-up moves
+
+SudowoodoEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, ROCK_THROW
+	db 1, MIMIC
+	db 10, FLAIL
+	db 19, LOW_KICK
+	db 28, ROCK_SLIDE
+	db 37, FAINT_ATTACK
+	db 46, SLAM
+	db 0 ; no more level-up moves
+
+PolitoedEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, WATER_GUN
+	db 1, HYPNOSIS
+	db 1, DOUBLESLAP
+	db 1, PERISH_SONG
+	db 35, PERISH_SONG
+	db 51, SWAGGER
+	db 0 ; no more level-up moves
+
+HoppipEvosAttacks:
+	db EVOLVE_LEVEL, 18, SKIPLOOM
+	db 0 ; no more evolutions
+	db 1, SPLASH
+if _CRYSTAL
+	db 5, SYNTHESIS
+else
+	db 1, SYNTHESIS
+endc
+	db 5, TAIL_WHIP
+	db 10, TACKLE
+	db 13, POISONPOWDER
+	db 15, STUN_SPORE
+	db 17, SLEEP_POWDER
+	db 20, LEECH_SEED
+	db 25, COTTON_SPORE
+	db 30, MEGA_DRAIN
+	db 0 ; no more level-up moves
+
+SkiploomEvosAttacks:
+	db EVOLVE_LEVEL, 27, JUMPLUFF
+	db 0 ; no more evolutions
+	db 1, SPLASH
+	db 1, SYNTHESIS
+	db 1, TAIL_WHIP
+	db 1, TACKLE
+if _CRYSTAL
+	db 5, SYNTHESIS
+endc
+	db 5, TAIL_WHIP
+	db 10, TACKLE
+	db 13, POISONPOWDER
+	db 15, STUN_SPORE
+	db 17, SLEEP_POWDER
+	db 22, LEECH_SEED
+	db 29, COTTON_SPORE
+	db 36, MEGA_DRAIN
+	db 0 ; no more level-up moves
+
+JumpluffEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SPLASH
+	db 1, SYNTHESIS
+	db 1, TAIL_WHIP
+	db 1, TACKLE
+if _CRYSTAL
+	db 5, SYNTHESIS
+endc
+	db 5, TAIL_WHIP
+	db 10, TACKLE
+	db 13, POISONPOWDER
+	db 15, STUN_SPORE
+	db 17, SLEEP_POWDER
+	db 22, LEECH_SEED
+	db 33, COTTON_SPORE
+	db 44, MEGA_DRAIN
+	db 0 ; no more level-up moves
+
+AipomEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, TAIL_WHIP
+	db 6, SAND_ATTACK
+	db 12, BATON_PASS
+	db 19, FURY_SWIPES
+	db 27, SWIFT
+	db 36, SCREECH
+	db 46, AGILITY
+	db 0 ; no more level-up moves
+
+SunkernEvosAttacks:
+	db EVOLVE_ITEM, SUN_STONE, SUNFLORA
+	db 0 ; no more evolutions
+	db 1, ABSORB
+	db 4, GROWTH
+	db 10, MEGA_DRAIN
+	db 19, SUNNY_DAY
+	db 31, SYNTHESIS
+	db 46, GIGA_DRAIN
+	db 0 ; no more level-up moves
+
+SunfloraEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, ABSORB
+	db 1, POUND
+	db 4, GROWTH
+	db 10, RAZOR_LEAF
+	db 19, SUNNY_DAY
+	db 31, PETAL_DANCE
+	db 46, SOLARBEAM
+	db 0 ; no more level-up moves
+
+YanmaEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, FORESIGHT
+	db 7, QUICK_ATTACK
+	db 13, DOUBLE_TEAM
+	db 19, SONICBOOM
+	db 25, DETECT
+	db 31, SUPERSONIC
+if _CRYSTAL
+	db 37, WING_ATTACK
+else
+	db 37, SWIFT
+endc
+	db 43, SCREECH
+	db 0 ; no more level-up moves
+
+WooperEvosAttacks:
+	db EVOLVE_LEVEL, 20, QUAGSIRE
+	db 0 ; no more evolutions
+	db 1, WATER_GUN
+	db 1, TAIL_WHIP
+	db 11, SLAM
+	db 21, AMNESIA
+	db 31, EARTHQUAKE
+	db 41, RAIN_DANCE
+	db 51, MIST
+	db 51, HAZE
+	db 0 ; no more level-up moves
+
+QuagsireEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, WATER_GUN
+	db 1, TAIL_WHIP
+	db 11, SLAM
+	db 23, AMNESIA
+	db 35, EARTHQUAKE
+	db 47, RAIN_DANCE
+	db 59, MIST
+	db 59, HAZE
+	db 0 ; no more level-up moves
+
+EspeonEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, TAIL_WHIP
+	db 8, SAND_ATTACK
+	db 16, CONFUSION
+	db 23, QUICK_ATTACK
+	db 30, SWIFT
+	db 36, PSYBEAM
+	db 42, PSYCH_UP
+	db 47, PSYCHIC_M
+	db 52, MORNING_SUN
+	db 0 ; no more level-up moves
+
+UmbreonEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, TAIL_WHIP
+	db 8, SAND_ATTACK
+	db 16, PURSUIT
+	db 23, QUICK_ATTACK
+	db 30, CONFUSE_RAY
+	db 36, FAINT_ATTACK
+	db 42, MEAN_LOOK
+	db 47, SCREECH
+	db 52, MOONLIGHT
+	db 0 ; no more level-up moves
+
+MurkrowEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, PECK
+	db 11, PURSUIT
+	db 16, HAZE
+	db 26, NIGHT_SHADE
+	db 31, FAINT_ATTACK
+	db 41, MEAN_LOOK
+	db 0 ; no more level-up moves
+
+SlowkingEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, CURSE
+	db 1, TACKLE
+	db 6, GROWL
+	db 15, WATER_GUN
+	db 20, CONFUSION
+	db 29, DISABLE
+	db 34, HEADBUTT
+	db 43, SWAGGER
+	db 48, PSYCHIC_M
+	db 0 ; no more level-up moves
+
+MisdreavusEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, GROWL
+	db 1, PSYWAVE
+	db 6, SPITE
+	db 12, CONFUSE_RAY
+	db 19, MEAN_LOOK
+	db 27, PSYBEAM
+	db 36, PAIN_SPLIT
+	db 46, PERISH_SONG
+	db 0 ; no more level-up moves
+
+UnownEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, HIDDEN_POWER
+	db 0 ; no more level-up moves
+
+WobbuffetEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, COUNTER
+	db 1, MIRROR_COAT
+	db 1, SAFEGUARD
+	db 1, DESTINY_BOND
+	db 0 ; no more level-up moves
+
+GirafarigEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, GROWL
+	db 1, CONFUSION
+	db 1, STOMP
+	db 7, CONFUSION
+	db 13, STOMP
+	db 20, AGILITY
+	db 30, BATON_PASS
+	db 41, PSYBEAM
+	db 54, CRUNCH
+	db 0 ; no more level-up moves
+
+PinecoEvosAttacks:
+	db EVOLVE_LEVEL, 31, FORRETRESS
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, PROTECT
+	db 8, SELFDESTRUCT
+	db 15, TAKE_DOWN
+	db 22, RAPID_SPIN
+	db 29, BIDE
+	db 36, EXPLOSION
+	db 43, SPIKES
+	db 50, DOUBLE_EDGE
+	db 0 ; no more level-up moves
+
+ForretressEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, PROTECT
+	db 1, SELFDESTRUCT
+	db 8, SELFDESTRUCT
+	db 15, TAKE_DOWN
+	db 22, RAPID_SPIN
+	db 29, BIDE
+	db 39, EXPLOSION
+	db 49, SPIKES
+	db 59, DOUBLE_EDGE
+	db 0 ; no more level-up moves
+
+DunsparceEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, RAGE
+	db 5, DEFENSE_CURL
+	db 13, GLARE
+	db 18, SPITE
+	db 26, PURSUIT
+	db 30, SCREECH
+	db 38, TAKE_DOWN
+	db 0 ; no more level-up moves
+
+GligarEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, POISON_STING
+	db 6, SAND_ATTACK
+	db 13, HARDEN
+	db 20, QUICK_ATTACK
+	db 28, FAINT_ATTACK
+	db 36, SLASH
+	db 44, SCREECH
+	db 52, GUILLOTINE
+	db 0 ; no more level-up moves
+
+SteelixEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, SCREECH
+	db 10, BIND
+	db 14, ROCK_THROW
+	db 23, HARDEN
+	db 27, RAGE
+	db 36, SANDSTORM
+	db 40, SLAM
+	db 49, CRUNCH
+	db 0 ; no more level-up moves
+
+SnubbullEvosAttacks:
+	db EVOLVE_LEVEL, 23, GRANBULL
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, SCARY_FACE
+	db 4, TAIL_WHIP
+	db 8, CHARM
+	db 13, BITE
+	db 19, LICK
+	db 26, ROAR
+	db 34, RAGE
+	db 43, TAKE_DOWN
+	db 0 ; no more level-up moves
+
+GranbullEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, SCARY_FACE
+	db 4, TAIL_WHIP
+	db 8, CHARM
+	db 13, BITE
+	db 19, LICK
+	db 28, ROAR
+	db 38, RAGE
+	db 51, TAKE_DOWN
+	db 0 ; no more level-up moves
+
+QwilfishEvosAttacks:
+	db 0 ; no more evolutions
+if _CRYSTAL
+	db 1, SPIKES
+endc
+	db 1, TACKLE
+	db 1, POISON_STING
+	db 10, HARDEN
+	db 10, MINIMIZE
+	db 19, WATER_GUN
+	db 28, PIN_MISSILE
+	db 37, TAKE_DOWN
+	db 46, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+ScizorEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, QUICK_ATTACK
+	db 1, LEER
+	db 6, FOCUS_ENERGY
+	db 12, PURSUIT
+	db 18, FALSE_SWIPE
+	db 24, AGILITY
+	db 30, METAL_CLAW
+	db 36, SLASH
+	db 42, SWORDS_DANCE
+	db 48, DOUBLE_TEAM
+	db 0 ; no more level-up moves
+
+ShuckleEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, CONSTRICT
+	db 1, WITHDRAW
+	db 9, WRAP
+	db 14, ENCORE
+	db 23, SAFEGUARD
+	db 28, BIDE
+	db 37, REST
+	db 0 ; no more level-up moves
+
+HeracrossEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, LEER
+	db 6, HORN_ATTACK
+	db 12, ENDURE
+	db 19, FURY_ATTACK
+	db 27, COUNTER
+	db 35, TAKE_DOWN
+	db 44, REVERSAL
+	db 54, MEGAHORN
+	db 0 ; no more level-up moves
+
+SneaselEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, LEER
+	db 9, QUICK_ATTACK
+	db 17, SCREECH
+	db 25, FAINT_ATTACK
+	db 33, FURY_SWIPES
+	db 41, AGILITY
+	db 49, SLASH
+	db 57, BEAT_UP
+if _CRYSTAL
+	db 65, METAL_CLAW
+endc
+	db 0 ; no more level-up moves
+
+TeddiursaEvosAttacks:
+	db EVOLVE_LEVEL, 30, URSARING
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, LEER
+	db 8, LICK
+	db 15, FURY_SWIPES
+	db 22, FAINT_ATTACK
+	db 29, REST
+	db 36, SLASH
+	db 43, SNORE
+	db 50, THRASH
+	db 0 ; no more level-up moves
+
+UrsaringEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SCRATCH
+	db 1, LEER
+	db 1, LICK
+	db 1, FURY_SWIPES
+	db 8, LICK
+	db 15, FURY_SWIPES
+	db 22, FAINT_ATTACK
+	db 29, REST
+	db 39, SLASH
+	db 49, SNORE
+	db 59, THRASH
+	db 0 ; no more level-up moves
+
+SlugmaEvosAttacks:
+	db EVOLVE_LEVEL, 38, MAGCARGO
+	db 0 ; no more evolutions
+	db 1, SMOG
+	db 8, EMBER
+	db 15, ROCK_THROW
+	db 22, HARDEN
+	db 29, AMNESIA
+	db 36, FLAMETHROWER
+	db 43, ROCK_SLIDE
+	db 50, BODY_SLAM
+	db 0 ; no more level-up moves
+
+MagcargoEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SMOG
+	db 1, EMBER
+	db 1, ROCK_THROW
+	db 8, EMBER
+	db 15, ROCK_THROW
+	db 22, HARDEN
+	db 29, AMNESIA
+	db 36, FLAMETHROWER
+	db 48, ROCK_SLIDE
+	db 60, BODY_SLAM
+	db 0 ; no more level-up moves
+
+SwinubEvosAttacks:
+	db EVOLVE_LEVEL, 33, PILOSWINE
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 10, POWDER_SNOW
+	db 19, ENDURE
+	db 28, TAKE_DOWN
+	db 37, MIST
+	db 46, BLIZZARD
+if _CRYSTAL
+	db 55, AMNESIA
+endc
+	db 0 ; no more level-up moves
+
+PiloswineEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, HORN_ATTACK
+	db 1, POWDER_SNOW
+	db 1, ENDURE
+	db 10, POWDER_SNOW
+	db 19, ENDURE
+	db 28, TAKE_DOWN
+	db 33, FURY_ATTACK
+	db 42, MIST
+	db 56, BLIZZARD
+if _CRYSTAL
+	db 70, AMNESIA
+endc
+	db 0 ; no more level-up moves
+
+CorsolaEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 7, HARDEN
+	db 13, BUBBLE
+	db 19, RECOVER
+	db 25, BUBBLEBEAM
+	db 31, SPIKE_CANNON
+	db 37, MIRROR_COAT
+	db 43, ANCIENTPOWER
+	db 0 ; no more level-up moves
+
+RemoraidEvosAttacks:
+	db EVOLVE_LEVEL, 25, OCTILLERY
+	db 0 ; no more evolutions
+	db 1, WATER_GUN
+	db 11, LOCK_ON
+	db 22, PSYBEAM
+	db 22, AURORA_BEAM
+	db 22, BUBBLEBEAM
+	db 33, FOCUS_ENERGY
+	db 44, ICE_BEAM
+	db 55, HYPER_BEAM
+	db 0 ; no more level-up moves
+
+OctilleryEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, WATER_GUN
+	db 11, CONSTRICT
+	db 22, PSYBEAM
+	db 22, AURORA_BEAM
+	db 22, BUBBLEBEAM
+	db 25, OCTAZOOKA
+	db 38, FOCUS_ENERGY
+	db 54, ICE_BEAM
+	db 70, HYPER_BEAM
+	db 0 ; no more level-up moves
+
+DelibirdEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, PRESENT
+	db 0 ; no more level-up moves
+
+MantineEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, BUBBLE
+	db 10, SUPERSONIC
+	db 18, BUBBLEBEAM
+	db 25, TAKE_DOWN
+	db 32, AGILITY
+	db 40, WING_ATTACK
+	db 49, CONFUSE_RAY
+	db 0 ; no more level-up moves
+
+SkarmoryEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, LEER
+	db 1, PECK
+	db 13, SAND_ATTACK
+	db 19, SWIFT
+	db 25, AGILITY
+	db 37, FURY_ATTACK
+	db 49, STEEL_WING
+	db 0 ; no more level-up moves
+
+HoundourEvosAttacks:
+	db EVOLVE_LEVEL, 24, HOUNDOOM
+	db 0 ; no more evolutions
+	db 1, LEER
+	db 1, EMBER
+	db 7, ROAR
+	db 13, SMOG
+	db 20, BITE
+	db 27, FAINT_ATTACK
+	db 35, FLAMETHROWER
+	db 43, CRUNCH
+	db 0 ; no more level-up moves
+
+HoundoomEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, LEER
+	db 1, EMBER
+	db 7, ROAR
+	db 13, SMOG
+	db 20, BITE
+	db 30, FAINT_ATTACK
+	db 41, FLAMETHROWER
+	db 52, CRUNCH
+	db 0 ; no more level-up moves
+
+KingdraEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, BUBBLE
+	db 1, SMOKESCREEN
+	db 1, LEER
+	db 1, WATER_GUN
+	db 8, SMOKESCREEN
+	db 15, LEER
+	db 22, WATER_GUN
+	db 29, TWISTER
+	db 40, AGILITY
+	db 51, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+PhanpyEvosAttacks:
+	db EVOLVE_LEVEL, 25, DONPHAN
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 1, GROWL
+	db 9, DEFENSE_CURL
+	db 17, FLAIL
+	db 25, TAKE_DOWN
+	db 33, ROLLOUT
+	db 41, ENDURE
+	db 49, DOUBLE_EDGE
+	db 0 ; no more level-up moves
+
+DonphanEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, HORN_ATTACK
+	db 1, GROWL
+	db 9, DEFENSE_CURL
+	db 17, FLAIL
+	db 25, FURY_ATTACK
+	db 33, ROLLOUT
+	db 41, RAPID_SPIN
+	db 49, EARTHQUAKE
+	db 0 ; no more level-up moves
+
+Porygon2EvosAttacks:
+	db 0 ; no more evolutions
+	db 1, CONVERSION2
+	db 1, TACKLE
+	db 1, CONVERSION
+	db 9, AGILITY
+	db 12, PSYBEAM
+	db 20, RECOVER
+	db 24, DEFENSE_CURL
+	db 32, LOCK_ON
+	db 36, TRI_ATTACK
+	db 44, ZAP_CANNON
+	db 0 ; no more level-up moves
+
+StantlerEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 8, LEER
+	db 15, HYPNOSIS
+	db 23, STOMP
+	db 31, SAND_ATTACK
+	db 40, TAKE_DOWN
+	db 49, CONFUSE_RAY
+	db 0 ; no more level-up moves
+
+SmeargleEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SKETCH
+	db 11, SKETCH
+	db 21, SKETCH
+	db 31, SKETCH
+	db 41, SKETCH
+	db 51, SKETCH
+	db 61, SKETCH
+	db 71, SKETCH
+	db 81, SKETCH
+	db 91, SKETCH
+	db 0 ; no more level-up moves
+
+TyrogueEvosAttacks:
+	db EVOLVE_STAT, 20, ATK_LT_DEF, HITMONCHAN
+	db EVOLVE_STAT, 20, ATK_GT_DEF, HITMONLEE
+	db EVOLVE_STAT, 20, ATK_EQ_DEF, HITMONTOP
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 0 ; no more level-up moves
+
+HitmontopEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, ROLLING_KICK
+	db 7, FOCUS_ENERGY
+	db 13, PURSUIT
+	db 19, QUICK_ATTACK
+	db 25, RAPID_SPIN
+	db 31, COUNTER
+	db 37, AGILITY
+	db 43, DETECT
+	db 49, TRIPLE_KICK
+	db 0 ; no more level-up moves
+
+SmoochumEvosAttacks:
+	db EVOLVE_LEVEL, 30, JYNX
+	db 0 ; no more evolutions
+	db 1, POUND
+	db 1, LICK
+	db 9, SWEET_KISS
+	db 13, POWDER_SNOW
+	db 21, CONFUSION
+	db 25, SING
+	db 33, MEAN_LOOK
+	db 37, PSYCHIC_M
+	db 45, PERISH_SONG
+	db 49, BLIZZARD
+	db 0 ; no more level-up moves
+
+ElekidEvosAttacks:
+	db EVOLVE_LEVEL, 30, ELECTABUZZ
+	db 0 ; no more evolutions
+	db 1, QUICK_ATTACK
+	db 1, LEER
+	db 9, THUNDERPUNCH
+	db 17, LIGHT_SCREEN
+	db 25, SWIFT
+	db 33, SCREECH
+	db 41, THUNDERBOLT
+	db 49, THUNDER
+	db 0 ; no more level-up moves
+
+MagbyEvosAttacks:
+	db EVOLVE_LEVEL, 30, MAGMAR
+	db 0 ; no more evolutions
+	db 1, EMBER
+	db 7, LEER
+	db 13, SMOG
+	db 19, FIRE_PUNCH
+	db 25, SMOKESCREEN
+	db 31, SUNNY_DAY
+	db 37, FLAMETHROWER
+	db 43, CONFUSE_RAY
+	db 49, FIRE_BLAST
+	db 0 ; no more level-up moves
+
+MiltankEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, TACKLE
+	db 4, GROWL
+	db 8, DEFENSE_CURL
+	db 13, STOMP
+	db 19, MILK_DRINK
+	db 26, BIDE
+	db 34, ROLLOUT
+	db 43, BODY_SLAM
+	db 53, HEAL_BELL
+	db 0 ; no more level-up moves
+
+BlisseyEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, POUND
+	db 4, GROWL
+	db 7, TAIL_WHIP
+	db 10, SOFTBOILED
+	db 13, DOUBLESLAP
+	db 18, MINIMIZE
+	db 23, SING
+	db 28, EGG_BOMB
+	db 33, DEFENSE_CURL
+	db 40, LIGHT_SCREEN
+	db 47, DOUBLE_EDGE
+	db 0 ; no more level-up moves
+
+RaikouEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, BITE
+	db 1, LEER
+	db 11, THUNDERSHOCK
+	db 21, ROAR
+	db 31, QUICK_ATTACK
+	db 41, SPARK
+	db 51, REFLECT
+	db 61, CRUNCH
+	db 71, THUNDER
+	db 0 ; no more level-up moves
+
+EnteiEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, BITE
+	db 1, LEER
+	db 11, EMBER
+	db 21, ROAR
+	db 31, FIRE_SPIN
+	db 41, STOMP
+	db 51, FLAMETHROWER
+	db 61, SWAGGER
+	db 71, FIRE_BLAST
+	db 0 ; no more level-up moves
+
+SuicuneEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, BITE
+	db 1, LEER
+if _CRYSTAL
+	db 11, BUBBLEBEAM
+	db 21, RAIN_DANCE
+	db 31, GUST
+	db 41, AURORA_BEAM
+else
+	db 11, WATER_GUN
+	db 21, ROAR
+	db 31, GUST
+	db 41, BUBBLEBEAM
+endc
+	db 51, MIST
+	db 61, MIRROR_COAT
+	db 71, HYDRO_PUMP
+	db 0 ; no more level-up moves
+
+LarvitarEvosAttacks:
+	db EVOLVE_LEVEL, 30, PUPITAR
+	db 0 ; no more evolutions
+	db 1, BITE
+	db 1, LEER
+	db 8, SANDSTORM
+	db 15, SCREECH
+	db 22, ROCK_SLIDE
+	db 29, THRASH
+	db 36, SCARY_FACE
+	db 43, CRUNCH
+	db 50, EARTHQUAKE
+	db 57, HYPER_BEAM
+	db 0 ; no more level-up moves
+
+PupitarEvosAttacks:
+	db EVOLVE_LEVEL, 55, TYRANITAR
+	db 0 ; no more evolutions
+	db 1, BITE
+	db 1, LEER
+	db 1, SANDSTORM
+	db 1, SCREECH
+	db 8, SANDSTORM
+	db 15, SCREECH
+	db 22, ROCK_SLIDE
+	db 29, THRASH
+	db 38, SCARY_FACE
+	db 47, CRUNCH
+	db 56, EARTHQUAKE
+	db 65, HYPER_BEAM
+	db 0 ; no more level-up moves
+
+TyranitarEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, BITE
+	db 1, LEER
+	db 1, SANDSTORM
+	db 1, SCREECH
+	db 8, SANDSTORM
+	db 15, SCREECH
+	db 22, ROCK_SLIDE
+	db 29, THRASH
+	db 38, SCARY_FACE
+	db 47, CRUNCH
+	db 61, EARTHQUAKE
+	db 75, HYPER_BEAM
+	db 0 ; no more level-up moves
+
+LugiaEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, AEROBLAST
+	db 11, SAFEGUARD
+	db 22, GUST
+	db 33, RECOVER
+	db 44, HYDRO_PUMP
+	db 55, RAIN_DANCE
+	db 66, SWIFT
+	db 77, WHIRLWIND
+	db 88, ANCIENTPOWER
+	db 99, FUTURE_SIGHT
+	db 0 ; no more level-up moves
+
+HoOhEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, SACRED_FIRE
+	db 11, SAFEGUARD
+	db 22, GUST
+	db 33, RECOVER
+	db 44, FIRE_BLAST
+	db 55, SUNNY_DAY
+	db 66, SWIFT
+	db 77, WHIRLWIND
+	db 88, ANCIENTPOWER
+	db 99, FUTURE_SIGHT
+	db 0 ; no more level-up moves
+
+CelebiEvosAttacks:
+	db 0 ; no more evolutions
+	db 1, LEECH_SEED
+	db 1, CONFUSION
+	db 1, RECOVER
+	db 1, HEAL_BELL
+	db 10, SAFEGUARD
+	db 20, ANCIENTPOWER
+	db 30, FUTURE_SIGHT
+	db 40, BATON_PASS
+	db 50, PERISH_SONG
+	db 0 ; no more level-up moves
--- /dev/null
+++ b/data/pokemon/evos_attacks_pointers.asm
@@ -1,0 +1,255 @@
+; Evolutions and attacks are grouped together since they're both checked at level-up.
+
+EvosAttacksPointers:: ; 0x425b1
+	dw BulbasaurEvosAttacks
+	dw IvysaurEvosAttacks
+	dw VenusaurEvosAttacks
+	dw CharmanderEvosAttacks
+	dw CharmeleonEvosAttacks
+	dw CharizardEvosAttacks
+	dw SquirtleEvosAttacks
+	dw WartortleEvosAttacks
+	dw BlastoiseEvosAttacks
+	dw CaterpieEvosAttacks
+	dw MetapodEvosAttacks
+	dw ButterfreeEvosAttacks
+	dw WeedleEvosAttacks
+	dw KakunaEvosAttacks
+	dw BeedrillEvosAttacks
+	dw PidgeyEvosAttacks
+	dw PidgeottoEvosAttacks
+	dw PidgeotEvosAttacks
+	dw RattataEvosAttacks
+	dw RaticateEvosAttacks
+	dw SpearowEvosAttacks
+	dw FearowEvosAttacks
+	dw EkansEvosAttacks
+	dw ArbokEvosAttacks
+	dw PikachuEvosAttacks
+	dw RaichuEvosAttacks
+	dw SandshrewEvosAttacks
+	dw SandslashEvosAttacks
+	dw NidoranFEvosAttacks
+	dw NidorinaEvosAttacks
+	dw NidoqueenEvosAttacks
+	dw NidoranMEvosAttacks
+	dw NidorinoEvosAttacks
+	dw NidokingEvosAttacks
+	dw ClefairyEvosAttacks
+	dw ClefableEvosAttacks
+	dw VulpixEvosAttacks
+	dw NinetalesEvosAttacks
+	dw JigglypuffEvosAttacks
+	dw WigglytuffEvosAttacks
+	dw ZubatEvosAttacks
+	dw GolbatEvosAttacks
+	dw OddishEvosAttacks
+	dw GloomEvosAttacks
+	dw VileplumeEvosAttacks
+	dw ParasEvosAttacks
+	dw ParasectEvosAttacks
+	dw VenonatEvosAttacks
+	dw VenomothEvosAttacks
+	dw DiglettEvosAttacks
+	dw DugtrioEvosAttacks
+	dw MeowthEvosAttacks
+	dw PersianEvosAttacks
+	dw PsyduckEvosAttacks
+	dw GolduckEvosAttacks
+	dw MankeyEvosAttacks
+	dw PrimeapeEvosAttacks
+	dw GrowlitheEvosAttacks
+	dw ArcanineEvosAttacks
+	dw PoliwagEvosAttacks
+	dw PoliwhirlEvosAttacks
+	dw PoliwrathEvosAttacks
+	dw AbraEvosAttacks
+	dw KadabraEvosAttacks
+	dw AlakazamEvosAttacks
+	dw MachopEvosAttacks
+	dw MachokeEvosAttacks
+	dw MachampEvosAttacks
+	dw BellsproutEvosAttacks
+	dw WeepinbellEvosAttacks
+	dw VictreebelEvosAttacks
+	dw TentacoolEvosAttacks
+	dw TentacruelEvosAttacks
+	dw GeodudeEvosAttacks
+	dw GravelerEvosAttacks
+	dw GolemEvosAttacks
+	dw PonytaEvosAttacks
+	dw RapidashEvosAttacks
+	dw SlowpokeEvosAttacks
+	dw SlowbroEvosAttacks
+	dw MagnemiteEvosAttacks
+	dw MagnetonEvosAttacks
+	dw FarfetchDEvosAttacks
+	dw DoduoEvosAttacks
+	dw DodrioEvosAttacks
+	dw SeelEvosAttacks
+	dw DewgongEvosAttacks
+	dw GrimerEvosAttacks
+	dw MukEvosAttacks
+	dw ShellderEvosAttacks
+	dw CloysterEvosAttacks
+	dw GastlyEvosAttacks
+	dw HaunterEvosAttacks
+	dw GengarEvosAttacks
+	dw OnixEvosAttacks
+	dw DrowzeeEvosAttacks
+	dw HypnoEvosAttacks
+	dw KrabbyEvosAttacks
+	dw KinglerEvosAttacks
+	dw VoltorbEvosAttacks
+	dw ElectrodeEvosAttacks
+	dw ExeggcuteEvosAttacks
+	dw ExeggutorEvosAttacks
+	dw CuboneEvosAttacks
+	dw MarowakEvosAttacks
+	dw HitmonleeEvosAttacks
+	dw HitmonchanEvosAttacks
+	dw LickitungEvosAttacks
+	dw KoffingEvosAttacks
+	dw WeezingEvosAttacks
+	dw RhyhornEvosAttacks
+	dw RhydonEvosAttacks
+	dw ChanseyEvosAttacks
+	dw TangelaEvosAttacks
+	dw KangaskhanEvosAttacks
+	dw HorseaEvosAttacks
+	dw SeadraEvosAttacks
+	dw GoldeenEvosAttacks
+	dw SeakingEvosAttacks
+	dw StaryuEvosAttacks
+	dw StarmieEvosAttacks
+	dw MrMimeEvosAttacks
+	dw ScytherEvosAttacks
+	dw JynxEvosAttacks
+	dw ElectabuzzEvosAttacks
+	dw MagmarEvosAttacks
+	dw PinsirEvosAttacks
+	dw TaurosEvosAttacks
+	dw MagikarpEvosAttacks
+	dw GyaradosEvosAttacks
+	dw LaprasEvosAttacks
+	dw DittoEvosAttacks
+	dw EeveeEvosAttacks
+	dw VaporeonEvosAttacks
+	dw JolteonEvosAttacks
+	dw FlareonEvosAttacks
+	dw PorygonEvosAttacks
+	dw OmanyteEvosAttacks
+	dw OmastarEvosAttacks
+	dw KabutoEvosAttacks
+	dw KabutopsEvosAttacks
+	dw AerodactylEvosAttacks
+	dw SnorlaxEvosAttacks
+	dw ArticunoEvosAttacks
+	dw ZapdosEvosAttacks
+	dw MoltresEvosAttacks
+	dw DratiniEvosAttacks
+	dw DragonairEvosAttacks
+	dw DragoniteEvosAttacks
+	dw MewtwoEvosAttacks
+	dw MewEvosAttacks
+	dw ChikoritaEvosAttacks
+	dw BayleefEvosAttacks
+	dw MeganiumEvosAttacks
+	dw CyndaquilEvosAttacks
+	dw QuilavaEvosAttacks
+	dw TyphlosionEvosAttacks
+	dw TotodileEvosAttacks
+	dw CroconawEvosAttacks
+	dw FeraligatrEvosAttacks
+	dw SentretEvosAttacks
+	dw FurretEvosAttacks
+	dw HoothootEvosAttacks
+	dw NoctowlEvosAttacks
+	dw LedybaEvosAttacks
+	dw LedianEvosAttacks
+	dw SpinarakEvosAttacks
+	dw AriadosEvosAttacks
+	dw CrobatEvosAttacks
+	dw ChinchouEvosAttacks
+	dw LanturnEvosAttacks
+	dw PichuEvosAttacks
+	dw CleffaEvosAttacks
+	dw IgglybuffEvosAttacks
+	dw TogepiEvosAttacks
+	dw TogeticEvosAttacks
+	dw NatuEvosAttacks
+	dw XatuEvosAttacks
+	dw MareepEvosAttacks
+	dw FlaaffyEvosAttacks
+	dw AmpharosEvosAttacks
+	dw BellossomEvosAttacks
+	dw MarillEvosAttacks
+	dw AzumarillEvosAttacks
+	dw SudowoodoEvosAttacks
+	dw PolitoedEvosAttacks
+	dw HoppipEvosAttacks
+	dw SkiploomEvosAttacks
+	dw JumpluffEvosAttacks
+	dw AipomEvosAttacks
+	dw SunkernEvosAttacks
+	dw SunfloraEvosAttacks
+	dw YanmaEvosAttacks
+	dw WooperEvosAttacks
+	dw QuagsireEvosAttacks
+	dw EspeonEvosAttacks
+	dw UmbreonEvosAttacks
+	dw MurkrowEvosAttacks
+	dw SlowkingEvosAttacks
+	dw MisdreavusEvosAttacks
+	dw UnownEvosAttacks
+	dw WobbuffetEvosAttacks
+	dw GirafarigEvosAttacks
+	dw PinecoEvosAttacks
+	dw ForretressEvosAttacks
+	dw DunsparceEvosAttacks
+	dw GligarEvosAttacks
+	dw SteelixEvosAttacks
+	dw SnubbullEvosAttacks
+	dw GranbullEvosAttacks
+	dw QwilfishEvosAttacks
+	dw ScizorEvosAttacks
+	dw ShuckleEvosAttacks
+	dw HeracrossEvosAttacks
+	dw SneaselEvosAttacks
+	dw TeddiursaEvosAttacks
+	dw UrsaringEvosAttacks
+	dw SlugmaEvosAttacks
+	dw MagcargoEvosAttacks
+	dw SwinubEvosAttacks
+	dw PiloswineEvosAttacks
+	dw CorsolaEvosAttacks
+	dw RemoraidEvosAttacks
+	dw OctilleryEvosAttacks
+	dw DelibirdEvosAttacks
+	dw MantineEvosAttacks
+	dw SkarmoryEvosAttacks
+	dw HoundourEvosAttacks
+	dw HoundoomEvosAttacks
+	dw KingdraEvosAttacks
+	dw PhanpyEvosAttacks
+	dw DonphanEvosAttacks
+	dw Porygon2EvosAttacks
+	dw StantlerEvosAttacks
+	dw SmeargleEvosAttacks
+	dw TyrogueEvosAttacks
+	dw HitmontopEvosAttacks
+	dw SmoochumEvosAttacks
+	dw ElekidEvosAttacks
+	dw MagbyEvosAttacks
+	dw MiltankEvosAttacks
+	dw BlisseyEvosAttacks
+	dw RaikouEvosAttacks
+	dw EnteiEvosAttacks
+	dw SuicuneEvosAttacks
+	dw LarvitarEvosAttacks
+	dw PupitarEvosAttacks
+	dw TyranitarEvosAttacks
+	dw LugiaEvosAttacks
+	dw HoOhEvosAttacks
+	dw CelebiEvosAttacks
+; 0x427a7
--- /dev/null
+++ b/data/pokemon/menu_icons.asm
@@ -1,0 +1,255 @@
+; party menu icons
+
+MonMenuIcons: ; 8eac4
+	db ICON_BULBASAUR   ; BULBASAUR
+	db ICON_BULBASAUR   ; IVYSAUR
+	db ICON_BULBASAUR   ; VENUSAUR
+	db ICON_CHARMANDER  ; CHARMANDER
+	db ICON_CHARMANDER  ; CHARMELEON
+	db ICON_BIGMON      ; CHARIZARD
+	db ICON_SQUIRTLE    ; SQUIRTLE
+	db ICON_SQUIRTLE    ; WARTORTLE
+	db ICON_SQUIRTLE    ; BLASTOISE
+	db ICON_CATERPILLAR ; CATERPIE
+	db ICON_CATERPILLAR ; METAPOD
+	db ICON_MOTH        ; BUTTERFREE
+	db ICON_CATERPILLAR ; WEEDLE
+	db ICON_CATERPILLAR ; KAKUNA
+	db ICON_BUG         ; BEEDRILL
+	db ICON_BIRD        ; PIDGEY
+	db ICON_BIRD        ; PIDGEOTTO
+	db ICON_BIRD        ; PIDGEOT
+	db ICON_FOX         ; RATTATA
+	db ICON_FOX         ; RATICATE
+	db ICON_BIRD        ; SPEAROW
+	db ICON_BIRD        ; FEAROW
+	db ICON_SERPENT     ; EKANS
+	db ICON_SERPENT     ; ARBOK
+	db ICON_PIKACHU     ; PIKACHU
+	db ICON_PIKACHU     ; RAICHU
+	db ICON_MONSTER     ; SANDSHREW
+	db ICON_MONSTER     ; SANDSLASH
+	db ICON_FOX         ; NIDORAN_F
+	db ICON_FOX         ; NIDORINA
+	db ICON_MONSTER     ; NIDOQUEEN
+	db ICON_FOX         ; NIDORAN_M
+	db ICON_FOX         ; NIDORINO
+	db ICON_MONSTER     ; NIDOKING
+	db ICON_CLEFAIRY    ; CLEFAIRY
+	db ICON_CLEFAIRY    ; CLEFABLE
+	db ICON_FOX         ; VULPIX
+	db ICON_FOX         ; NINETALES
+	db ICON_JIGGLYPUFF  ; JIGGLYPUFF
+	db ICON_JIGGLYPUFF  ; WIGGLYTUFF
+	db ICON_BAT         ; ZUBAT
+	db ICON_BAT         ; GOLBAT
+	db ICON_ODDISH      ; ODDISH
+	db ICON_ODDISH      ; GLOOM
+	db ICON_ODDISH      ; VILEPLUME
+	db ICON_BUG         ; PARAS
+	db ICON_BUG         ; PARASECT
+	db ICON_CATERPILLAR ; VENONAT
+	db ICON_MOTH        ; VENOMOTH
+	db ICON_DIGLETT     ; DIGLETT
+	db ICON_DIGLETT     ; DUGTRIO
+	db ICON_FOX         ; MEOWTH
+	db ICON_FOX         ; PERSIAN
+	db ICON_MONSTER     ; PSYDUCK
+	db ICON_MONSTER     ; GOLDUCK
+	db ICON_FIGHTER     ; MANKEY
+	db ICON_FIGHTER     ; PRIMEAPE
+	db ICON_FOX         ; GROWLITHE
+	db ICON_FOX         ; ARCANINE
+	db ICON_POLIWAG     ; POLIWAG
+	db ICON_POLIWAG     ; POLIWHIRL
+	db ICON_POLIWAG     ; POLIWRATH
+	db ICON_HUMANSHAPE  ; ABRA
+	db ICON_HUMANSHAPE  ; KADABRA
+	db ICON_HUMANSHAPE  ; ALAKAZAM
+	db ICON_FIGHTER     ; MACHOP
+	db ICON_FIGHTER     ; MACHOKE
+	db ICON_FIGHTER     ; MACHAMP
+	db ICON_ODDISH      ; BELLSPROUT
+	db ICON_ODDISH      ; WEEPINBELL
+	db ICON_ODDISH      ; VICTREEBEL
+	db ICON_JELLYFISH   ; TENTACOOL
+	db ICON_JELLYFISH   ; TENTACRUEL
+	db ICON_GEODUDE     ; GEODUDE
+	db ICON_GEODUDE     ; GRAVELER
+	db ICON_GEODUDE     ; GOLEM
+	db ICON_EQUINE      ; PONYTA
+	db ICON_EQUINE      ; RAPIDASH
+	db ICON_SLOWPOKE    ; SLOWPOKE
+	db ICON_SLOWPOKE    ; SLOWBRO
+	db ICON_VOLTORB     ; MAGNEMITE
+	db ICON_VOLTORB     ; MAGNETON
+	db ICON_BIRD        ; FARFETCH_D
+	db ICON_BIRD        ; DODUO
+	db ICON_BIRD        ; DODRIO
+	db ICON_LAPRAS      ; SEEL
+	db ICON_LAPRAS      ; DEWGONG
+	db ICON_BLOB        ; GRIMER
+	db ICON_BLOB        ; MUK
+	db ICON_SHELL       ; SHELLDER
+	db ICON_SHELL       ; CLOYSTER
+	db ICON_GHOST       ; GASTLY
+	db ICON_GHOST       ; HAUNTER
+	db ICON_GHOST       ; GENGAR
+	db ICON_SERPENT     ; ONIX
+	db ICON_HUMANSHAPE  ; DROWZEE
+	db ICON_HUMANSHAPE  ; HYPNO
+	db ICON_SHELL       ; KRABBY
+	db ICON_SHELL       ; KINGLER
+	db ICON_VOLTORB     ; VOLTORB
+	db ICON_VOLTORB     ; ELECTRODE
+	db ICON_ODDISH      ; EXEGGCUTE
+	db ICON_ODDISH      ; EXEGGUTOR
+	db ICON_MONSTER     ; CUBONE
+	db ICON_MONSTER     ; MAROWAK
+	db ICON_FIGHTER     ; HITMONLEE
+	db ICON_FIGHTER     ; HITMONCHAN
+	db ICON_MONSTER     ; LICKITUNG
+	db ICON_BLOB        ; KOFFING
+	db ICON_BLOB        ; WEEZING
+	db ICON_EQUINE      ; RHYHORN
+	db ICON_MONSTER     ; RHYDON
+	db ICON_CLEFAIRY    ; CHANSEY
+	db ICON_ODDISH      ; TANGELA
+	db ICON_MONSTER     ; KANGASKHAN
+	db ICON_FISH        ; HORSEA
+	db ICON_FISH        ; SEADRA
+	db ICON_FISH        ; GOLDEEN
+	db ICON_FISH        ; SEAKING
+	db ICON_STARYU      ; STARYU
+	db ICON_STARYU      ; STARMIE
+	db ICON_HUMANSHAPE  ; MR__MIME
+	db ICON_BUG         ; SCYTHER
+	db ICON_HUMANSHAPE  ; JYNX
+	db ICON_HUMANSHAPE  ; ELECTABUZZ
+	db ICON_HUMANSHAPE  ; MAGMAR
+	db ICON_BUG         ; PINSIR
+	db ICON_EQUINE      ; TAUROS
+	db ICON_FISH        ; MAGIKARP
+	db ICON_GYARADOS    ; GYARADOS
+	db ICON_LAPRAS      ; LAPRAS
+	db ICON_BLOB        ; DITTO
+	db ICON_FOX         ; EEVEE
+	db ICON_FOX         ; VAPOREON
+	db ICON_FOX         ; JOLTEON
+	db ICON_FOX         ; FLAREON
+	db ICON_VOLTORB     ; PORYGON
+	db ICON_SHELL       ; OMANYTE
+	db ICON_SHELL       ; OMASTAR
+	db ICON_SHELL       ; KABUTO
+	db ICON_SHELL       ; KABUTOPS
+	db ICON_BIRD        ; AERODACTYL
+	db ICON_SNORLAX     ; SNORLAX
+	db ICON_BIRD        ; ARTICUNO
+	db ICON_BIRD        ; ZAPDOS
+	db ICON_BIRD        ; MOLTRES
+	db ICON_SERPENT     ; DRATINI
+	db ICON_SERPENT     ; DRAGONAIR
+	db ICON_BIGMON      ; DRAGONITE
+	db ICON_HUMANSHAPE  ; MEWTWO
+	db ICON_HUMANSHAPE  ; MEW
+	db ICON_ODDISH      ; CHIKORITA
+	db ICON_ODDISH      ; BAYLEEF
+	db ICON_ODDISH      ; MEGANIUM
+	db ICON_FOX         ; CYNDAQUIL
+	db ICON_FOX         ; QUILAVA
+	db ICON_FOX         ; TYPHLOSION
+	db ICON_MONSTER     ; TOTODILE
+	db ICON_MONSTER     ; CROCONAW
+	db ICON_MONSTER     ; FERALIGATR
+	db ICON_FOX         ; SENTRET
+	db ICON_FOX         ; FURRET
+	db ICON_BIRD        ; HOOTHOOT
+	db ICON_BIRD        ; NOCTOWL
+	db ICON_BUG         ; LEDYBA
+	db ICON_BUG         ; LEDIAN
+	db ICON_BUG         ; SPINARAK
+	db ICON_BUG         ; ARIADOS
+	db ICON_BAT         ; CROBAT
+	db ICON_FISH        ; CHINCHOU
+	db ICON_FISH        ; LANTURN
+	db ICON_PIKACHU     ; PICHU
+	db ICON_CLEFAIRY    ; CLEFFA
+	db ICON_JIGGLYPUFF  ; IGGLYBUFF
+	db ICON_CLEFAIRY    ; TOGEPI
+	db ICON_BIRD        ; TOGETIC
+	db ICON_BIRD        ; NATU
+	db ICON_BIRD        ; XATU
+	db ICON_FOX         ; MAREEP
+	db ICON_MONSTER     ; FLAAFFY
+	db ICON_MONSTER     ; AMPHAROS
+	db ICON_ODDISH      ; BELLOSSOM
+	db ICON_JIGGLYPUFF  ; MARILL
+	db ICON_JIGGLYPUFF  ; AZUMARILL
+	db ICON_SUDOWOODO   ; SUDOWOODO
+	db ICON_POLIWAG     ; POLITOED
+	db ICON_ODDISH      ; HOPPIP
+	db ICON_ODDISH      ; SKIPLOOM
+	db ICON_ODDISH      ; JUMPLUFF
+	db ICON_MONSTER     ; AIPOM
+	db ICON_ODDISH      ; SUNKERN
+	db ICON_ODDISH      ; SUNFLORA
+	db ICON_BUG         ; YANMA
+	db ICON_MONSTER     ; WOOPER
+	db ICON_MONSTER     ; QUAGSIRE
+	db ICON_FOX         ; ESPEON
+	db ICON_FOX         ; UMBREON
+	db ICON_BIRD        ; MURKROW
+	db ICON_SLOWPOKE    ; SLOWKING
+	db ICON_GHOST       ; MISDREAVUS
+	db ICON_UNOWN       ; UNOWN
+	db ICON_GHOST       ; WOBBUFFET
+	db ICON_EQUINE      ; GIRAFARIG
+	db ICON_BUG         ; PINECO
+	db ICON_BUG         ; FORRETRESS
+	db ICON_SERPENT     ; DUNSPARCE
+	db ICON_BUG         ; GLIGAR
+	db ICON_SERPENT     ; STEELIX
+	db ICON_MONSTER     ; SNUBBULL
+	db ICON_MONSTER     ; GRANBULL
+	db ICON_FISH        ; QWILFISH
+	db ICON_BUG         ; SCIZOR
+	db ICON_BUG         ; SHUCKLE
+	db ICON_BUG         ; HERACROSS
+	db ICON_FOX         ; SNEASEL
+	db ICON_MONSTER     ; TEDDIURSA
+	db ICON_MONSTER     ; URSARING
+	db ICON_BLOB        ; SLUGMA
+	db ICON_BLOB        ; MAGCARGO
+	db ICON_EQUINE      ; SWINUB
+	db ICON_EQUINE      ; PILOSWINE
+	db ICON_SHELL       ; CORSOLA
+	db ICON_FISH        ; REMORAID
+	db ICON_FISH        ; OCTILLERY
+	db ICON_MONSTER     ; DELIBIRD
+	db ICON_FISH        ; MANTINE
+	db ICON_BIRD        ; SKARMORY
+	db ICON_FOX         ; HOUNDOUR
+	db ICON_FOX         ; HOUNDOOM
+	db ICON_BIGMON      ; KINGDRA
+	db ICON_EQUINE      ; PHANPY
+	db ICON_EQUINE      ; DONPHAN
+	db ICON_VOLTORB     ; PORYGON2
+	db ICON_EQUINE      ; STANTLER
+	db ICON_MONSTER     ; SMEARGLE
+	db ICON_FIGHTER     ; TYROGUE
+	db ICON_FIGHTER     ; HITMONTOP
+	db ICON_HUMANSHAPE  ; SMOOCHUM
+	db ICON_HUMANSHAPE  ; ELEKID
+	db ICON_HUMANSHAPE  ; MAGBY
+	db ICON_EQUINE      ; MILTANK
+	db ICON_CLEFAIRY    ; BLISSEY
+	db ICON_FOX         ; RAIKOU
+	db ICON_FOX         ; ENTEI
+	db ICON_FOX         ; SUICUNE
+	db ICON_MONSTER     ; LARVITAR
+	db ICON_MONSTER     ; PUPITAR
+	db ICON_MONSTER     ; TYRANITAR
+	db ICON_LUGIA       ; LUGIA
+	db ICON_HO_OH       ; HO_OH
+	db ICON_HUMANSHAPE  ; CELEBI
+; 8ebbf
--- /dev/null
+++ b/data/pokemon/pokemon_names.asm
@@ -1,0 +1,257 @@
+PokemonNames::
+	db "BULBASAUR@"
+	db "IVYSAUR@@@"
+	db "VENUSAUR@@"
+	db "CHARMANDER"
+	db "CHARMELEON"
+	db "CHARIZARD@"
+	db "SQUIRTLE@@"
+	db "WARTORTLE@"
+	db "BLASTOISE@"
+	db "CATERPIE@@"
+	db "METAPOD@@@"
+	db "BUTTERFREE"
+	db "WEEDLE@@@@"
+	db "KAKUNA@@@@"
+	db "BEEDRILL@@"
+	db "PIDGEY@@@@"
+	db "PIDGEOTTO@"
+	db "PIDGEOT@@@"
+	db "RATTATA@@@"
+	db "RATICATE@@"
+	db "SPEAROW@@@"
+	db "FEAROW@@@@"
+	db "EKANS@@@@@"
+	db "ARBOK@@@@@"
+	db "PIKACHU@@@"
+	db "RAICHU@@@@"
+	db "SANDSHREW@"
+	db "SANDSLASH@"
+	db "NIDORAN♀@@"
+	db "NIDORINA@@"
+	db "NIDOQUEEN@"
+	db "NIDORAN♂@@"
+	db "NIDORINO@@"
+	db "NIDOKING@@"
+	db "CLEFAIRY@@"
+	db "CLEFABLE@@"
+	db "VULPIX@@@@"
+	db "NINETALES@"
+	db "JIGGLYPUFF"
+	db "WIGGLYTUFF"
+	db "ZUBAT@@@@@"
+	db "GOLBAT@@@@"
+	db "ODDISH@@@@"
+	db "GLOOM@@@@@"
+	db "VILEPLUME@"
+	db "PARAS@@@@@"
+	db "PARASECT@@"
+	db "VENONAT@@@"
+	db "VENOMOTH@@"
+	db "DIGLETT@@@"
+	db "DUGTRIO@@@"
+	db "MEOWTH@@@@"
+	db "PERSIAN@@@"
+	db "PSYDUCK@@@"
+	db "GOLDUCK@@@"
+	db "MANKEY@@@@"
+	db "PRIMEAPE@@"
+	db "GROWLITHE@"
+	db "ARCANINE@@"
+	db "POLIWAG@@@"
+	db "POLIWHIRL@"
+	db "POLIWRATH@"
+	db "ABRA@@@@@@"
+	db "KADABRA@@@"
+	db "ALAKAZAM@@"
+	db "MACHOP@@@@"
+	db "MACHOKE@@@"
+	db "MACHAMP@@@"
+	db "BELLSPROUT"
+	db "WEEPINBELL"
+	db "VICTREEBEL"
+	db "TENTACOOL@"
+	db "TENTACRUEL"
+	db "GEODUDE@@@"
+	db "GRAVELER@@"
+	db "GOLEM@@@@@"
+	db "PONYTA@@@@"
+	db "RAPIDASH@@"
+	db "SLOWPOKE@@"
+	db "SLOWBRO@@@"
+	db "MAGNEMITE@"
+	db "MAGNETON@@"
+	db "FARFETCH'D"
+	db "DODUO@@@@@"
+	db "DODRIO@@@@"
+	db "SEEL@@@@@@"
+	db "DEWGONG@@@"
+	db "GRIMER@@@@"
+	db "MUK@@@@@@@"
+	db "SHELLDER@@"
+	db "CLOYSTER@@"
+	db "GASTLY@@@@"
+	db "HAUNTER@@@"
+	db "GENGAR@@@@"
+	db "ONIX@@@@@@"
+	db "DROWZEE@@@"
+	db "HYPNO@@@@@"
+	db "KRABBY@@@@"
+	db "KINGLER@@@"
+	db "VOLTORB@@@"
+	db "ELECTRODE@"
+	db "EXEGGCUTE@"
+	db "EXEGGUTOR@"
+	db "CUBONE@@@@"
+	db "MAROWAK@@@"
+	db "HITMONLEE@"
+	db "HITMONCHAN"
+	db "LICKITUNG@"
+	db "KOFFING@@@"
+	db "WEEZING@@@"
+	db "RHYHORN@@@"
+	db "RHYDON@@@@"
+	db "CHANSEY@@@"
+	db "TANGELA@@@"
+	db "KANGASKHAN"
+	db "HORSEA@@@@"
+	db "SEADRA@@@@"
+	db "GOLDEEN@@@"
+	db "SEAKING@@@"
+	db "STARYU@@@@"
+	db "STARMIE@@@"
+	db "MR.MIME@@@"
+	db "SCYTHER@@@"
+	db "JYNX@@@@@@"
+	db "ELECTABUZZ"
+	db "MAGMAR@@@@"
+	db "PINSIR@@@@"
+	db "TAUROS@@@@"
+	db "MAGIKARP@@"
+	db "GYARADOS@@"
+	db "LAPRAS@@@@"
+	db "DITTO@@@@@"
+	db "EEVEE@@@@@"
+	db "VAPOREON@@"
+	db "JOLTEON@@@"
+	db "FLAREON@@@"
+	db "PORYGON@@@"
+	db "OMANYTE@@@"
+	db "OMASTAR@@@"
+	db "KABUTO@@@@"
+	db "KABUTOPS@@"
+	db "AERODACTYL"
+	db "SNORLAX@@@"
+	db "ARTICUNO@@"
+	db "ZAPDOS@@@@"
+	db "MOLTRES@@@"
+	db "DRATINI@@@"
+	db "DRAGONAIR@"
+	db "DRAGONITE@"
+	db "MEWTWO@@@@"
+	db "MEW@@@@@@@"
+	db "CHIKORITA@"
+	db "BAYLEEF@@@"
+	db "MEGANIUM@@"
+	db "CYNDAQUIL@"
+	db "QUILAVA@@@"
+	db "TYPHLOSION"
+	db "TOTODILE@@"
+	db "CROCONAW@@"
+	db "FERALIGATR"
+	db "SENTRET@@@"
+	db "FURRET@@@@"
+	db "HOOTHOOT@@"
+	db "NOCTOWL@@@"
+	db "LEDYBA@@@@"
+	db "LEDIAN@@@@"
+	db "SPINARAK@@"
+	db "ARIADOS@@@"
+	db "CROBAT@@@@"
+	db "CHINCHOU@@"
+	db "LANTURN@@@"
+	db "PICHU@@@@@"
+	db "CLEFFA@@@@"
+	db "IGGLYBUFF@"
+	db "TOGEPI@@@@"
+	db "TOGETIC@@@"
+	db "NATU@@@@@@"
+	db "XATU@@@@@@"
+	db "MAREEP@@@@"
+	db "FLAAFFY@@@"
+	db "AMPHAROS@@"
+	db "BELLOSSOM@"
+	db "MARILL@@@@"
+	db "AZUMARILL@"
+	db "SUDOWOODO@"
+	db "POLITOED@@"
+	db "HOPPIP@@@@"
+	db "SKIPLOOM@@"
+	db "JUMPLUFF@@"
+	db "AIPOM@@@@@"
+	db "SUNKERN@@@"
+	db "SUNFLORA@@"
+	db "YANMA@@@@@"
+	db "WOOPER@@@@"
+	db "QUAGSIRE@@"
+	db "ESPEON@@@@"
+	db "UMBREON@@@"
+	db "MURKROW@@@"
+	db "SLOWKING@@"
+	db "MISDREAVUS"
+	db "UNOWN@@@@@"
+	db "WOBBUFFET@"
+	db "GIRAFARIG@"
+	db "PINECO@@@@"
+	db "FORRETRESS"
+	db "DUNSPARCE@"
+	db "GLIGAR@@@@"
+	db "STEELIX@@@"
+	db "SNUBBULL@@"
+	db "GRANBULL@@"
+	db "QWILFISH@@"
+	db "SCIZOR@@@@"
+	db "SHUCKLE@@@"
+	db "HERACROSS@"
+	db "SNEASEL@@@"
+	db "TEDDIURSA@"
+	db "URSARING@@"
+	db "SLUGMA@@@@"
+	db "MAGCARGO@@"
+	db "SWINUB@@@@"
+	db "PILOSWINE@"
+	db "CORSOLA@@@"
+	db "REMORAID@@"
+	db "OCTILLERY@"
+	db "DELIBIRD@@"
+	db "MANTINE@@@"
+	db "SKARMORY@@"
+	db "HOUNDOUR@@"
+	db "HOUNDOOM@@"
+	db "KINGDRA@@@"
+	db "PHANPY@@@@"
+	db "DONPHAN@@@"
+	db "PORYGON2@@"
+	db "STANTLER@@"
+	db "SMEARGLE@@"
+	db "TYROGUE@@@"
+	db "HITMONTOP@"
+	db "SMOOCHUM@@"
+	db "ELEKID@@@@"
+	db "MAGBY@@@@@"
+	db "MILTANK@@@"
+	db "BLISSEY@@@"
+	db "RAIKOU@@@@"
+	db "ENTEI@@@@@"
+	db "SUICUNE@@@"
+	db "LARVITAR@@"
+	db "PUPITAR@@@"
+	db "TYRANITAR@"
+	db "LUGIA@@@@@"
+	db "HO-OH@@@@@"
+	db "CELEBI@@@@"
+	db "?????@@@@@"
+	db "EGG@@@@@@@"
+	db "?????@@@@@"
+	db "?????@@@@@"
+	db "?????@@@@@"
--- a/data/pokemon_names.asm
+++ /dev/null
@@ -1,257 +1,0 @@
-PokemonNames::
-	db "BULBASAUR@"
-	db "IVYSAUR@@@"
-	db "VENUSAUR@@"
-	db "CHARMANDER"
-	db "CHARMELEON"
-	db "CHARIZARD@"
-	db "SQUIRTLE@@"
-	db "WARTORTLE@"
-	db "BLASTOISE@"
-	db "CATERPIE@@"
-	db "METAPOD@@@"
-	db "BUTTERFREE"
-	db "WEEDLE@@@@"
-	db "KAKUNA@@@@"
-	db "BEEDRILL@@"
-	db "PIDGEY@@@@"
-	db "PIDGEOTTO@"
-	db "PIDGEOT@@@"
-	db "RATTATA@@@"
-	db "RATICATE@@"
-	db "SPEAROW@@@"
-	db "FEAROW@@@@"
-	db "EKANS@@@@@"
-	db "ARBOK@@@@@"
-	db "PIKACHU@@@"
-	db "RAICHU@@@@"
-	db "SANDSHREW@"
-	db "SANDSLASH@"
-	db "NIDORAN♀@@"
-	db "NIDORINA@@"
-	db "NIDOQUEEN@"
-	db "NIDORAN♂@@"
-	db "NIDORINO@@"
-	db "NIDOKING@@"
-	db "CLEFAIRY@@"
-	db "CLEFABLE@@"
-	db "VULPIX@@@@"
-	db "NINETALES@"
-	db "JIGGLYPUFF"
-	db "WIGGLYTUFF"
-	db "ZUBAT@@@@@"
-	db "GOLBAT@@@@"
-	db "ODDISH@@@@"
-	db "GLOOM@@@@@"
-	db "VILEPLUME@"
-	db "PARAS@@@@@"
-	db "PARASECT@@"
-	db "VENONAT@@@"
-	db "VENOMOTH@@"
-	db "DIGLETT@@@"
-	db "DUGTRIO@@@"
-	db "MEOWTH@@@@"
-	db "PERSIAN@@@"
-	db "PSYDUCK@@@"
-	db "GOLDUCK@@@"
-	db "MANKEY@@@@"
-	db "PRIMEAPE@@"
-	db "GROWLITHE@"
-	db "ARCANINE@@"
-	db "POLIWAG@@@"
-	db "POLIWHIRL@"
-	db "POLIWRATH@"
-	db "ABRA@@@@@@"
-	db "KADABRA@@@"
-	db "ALAKAZAM@@"
-	db "MACHOP@@@@"
-	db "MACHOKE@@@"
-	db "MACHAMP@@@"
-	db "BELLSPROUT"
-	db "WEEPINBELL"
-	db "VICTREEBEL"
-	db "TENTACOOL@"
-	db "TENTACRUEL"
-	db "GEODUDE@@@"
-	db "GRAVELER@@"
-	db "GOLEM@@@@@"
-	db "PONYTA@@@@"
-	db "RAPIDASH@@"
-	db "SLOWPOKE@@"
-	db "SLOWBRO@@@"
-	db "MAGNEMITE@"
-	db "MAGNETON@@"
-	db "FARFETCH'D"
-	db "DODUO@@@@@"
-	db "DODRIO@@@@"
-	db "SEEL@@@@@@"
-	db "DEWGONG@@@"
-	db "GRIMER@@@@"
-	db "MUK@@@@@@@"
-	db "SHELLDER@@"
-	db "CLOYSTER@@"
-	db "GASTLY@@@@"
-	db "HAUNTER@@@"
-	db "GENGAR@@@@"
-	db "ONIX@@@@@@"
-	db "DROWZEE@@@"
-	db "HYPNO@@@@@"
-	db "KRABBY@@@@"
-	db "KINGLER@@@"
-	db "VOLTORB@@@"
-	db "ELECTRODE@"
-	db "EXEGGCUTE@"
-	db "EXEGGUTOR@"
-	db "CUBONE@@@@"
-	db "MAROWAK@@@"
-	db "HITMONLEE@"
-	db "HITMONCHAN"
-	db "LICKITUNG@"
-	db "KOFFING@@@"
-	db "WEEZING@@@"
-	db "RHYHORN@@@"
-	db "RHYDON@@@@"
-	db "CHANSEY@@@"
-	db "TANGELA@@@"
-	db "KANGASKHAN"
-	db "HORSEA@@@@"
-	db "SEADRA@@@@"
-	db "GOLDEEN@@@"
-	db "SEAKING@@@"
-	db "STARYU@@@@"
-	db "STARMIE@@@"
-	db "MR.MIME@@@"
-	db "SCYTHER@@@"
-	db "JYNX@@@@@@"
-	db "ELECTABUZZ"
-	db "MAGMAR@@@@"
-	db "PINSIR@@@@"
-	db "TAUROS@@@@"
-	db "MAGIKARP@@"
-	db "GYARADOS@@"
-	db "LAPRAS@@@@"
-	db "DITTO@@@@@"
-	db "EEVEE@@@@@"
-	db "VAPOREON@@"
-	db "JOLTEON@@@"
-	db "FLAREON@@@"
-	db "PORYGON@@@"
-	db "OMANYTE@@@"
-	db "OMASTAR@@@"
-	db "KABUTO@@@@"
-	db "KABUTOPS@@"
-	db "AERODACTYL"
-	db "SNORLAX@@@"
-	db "ARTICUNO@@"
-	db "ZAPDOS@@@@"
-	db "MOLTRES@@@"
-	db "DRATINI@@@"
-	db "DRAGONAIR@"
-	db "DRAGONITE@"
-	db "MEWTWO@@@@"
-	db "MEW@@@@@@@"
-	db "CHIKORITA@"
-	db "BAYLEEF@@@"
-	db "MEGANIUM@@"
-	db "CYNDAQUIL@"
-	db "QUILAVA@@@"
-	db "TYPHLOSION"
-	db "TOTODILE@@"
-	db "CROCONAW@@"
-	db "FERALIGATR"
-	db "SENTRET@@@"
-	db "FURRET@@@@"
-	db "HOOTHOOT@@"
-	db "NOCTOWL@@@"
-	db "LEDYBA@@@@"
-	db "LEDIAN@@@@"
-	db "SPINARAK@@"
-	db "ARIADOS@@@"
-	db "CROBAT@@@@"
-	db "CHINCHOU@@"
-	db "LANTURN@@@"
-	db "PICHU@@@@@"
-	db "CLEFFA@@@@"
-	db "IGGLYBUFF@"
-	db "TOGEPI@@@@"
-	db "TOGETIC@@@"
-	db "NATU@@@@@@"
-	db "XATU@@@@@@"
-	db "MAREEP@@@@"
-	db "FLAAFFY@@@"
-	db "AMPHAROS@@"
-	db "BELLOSSOM@"
-	db "MARILL@@@@"
-	db "AZUMARILL@"
-	db "SUDOWOODO@"
-	db "POLITOED@@"
-	db "HOPPIP@@@@"
-	db "SKIPLOOM@@"
-	db "JUMPLUFF@@"
-	db "AIPOM@@@@@"
-	db "SUNKERN@@@"
-	db "SUNFLORA@@"
-	db "YANMA@@@@@"
-	db "WOOPER@@@@"
-	db "QUAGSIRE@@"
-	db "ESPEON@@@@"
-	db "UMBREON@@@"
-	db "MURKROW@@@"
-	db "SLOWKING@@"
-	db "MISDREAVUS"
-	db "UNOWN@@@@@"
-	db "WOBBUFFET@"
-	db "GIRAFARIG@"
-	db "PINECO@@@@"
-	db "FORRETRESS"
-	db "DUNSPARCE@"
-	db "GLIGAR@@@@"
-	db "STEELIX@@@"
-	db "SNUBBULL@@"
-	db "GRANBULL@@"
-	db "QWILFISH@@"
-	db "SCIZOR@@@@"
-	db "SHUCKLE@@@"
-	db "HERACROSS@"
-	db "SNEASEL@@@"
-	db "TEDDIURSA@"
-	db "URSARING@@"
-	db "SLUGMA@@@@"
-	db "MAGCARGO@@"
-	db "SWINUB@@@@"
-	db "PILOSWINE@"
-	db "CORSOLA@@@"
-	db "REMORAID@@"
-	db "OCTILLERY@"
-	db "DELIBIRD@@"
-	db "MANTINE@@@"
-	db "SKARMORY@@"
-	db "HOUNDOUR@@"
-	db "HOUNDOOM@@"
-	db "KINGDRA@@@"
-	db "PHANPY@@@@"
-	db "DONPHAN@@@"
-	db "PORYGON2@@"
-	db "STANTLER@@"
-	db "SMEARGLE@@"
-	db "TYROGUE@@@"
-	db "HITMONTOP@"
-	db "SMOOCHUM@@"
-	db "ELEKID@@@@"
-	db "MAGBY@@@@@"
-	db "MILTANK@@@"
-	db "BLISSEY@@@"
-	db "RAIKOU@@@@"
-	db "ENTEI@@@@@"
-	db "SUICUNE@@@"
-	db "LARVITAR@@"
-	db "PUPITAR@@@"
-	db "TYRANITAR@"
-	db "LUGIA@@@@@"
-	db "HO-OH@@@@@"
-	db "CELEBI@@@@"
-	db "?????@@@@@"
-	db "EGG@@@@@@@"
-	db "?????@@@@@"
-	db "?????@@@@@"
-	db "?????@@@@@"
--- a/data/spawn_points.asm
+++ /dev/null
@@ -1,41 +1,0 @@
-spawn: MACRO
-; map, y, x
-	map \1
-	db \2, \3
-ENDM
-
-SpawnPoints: ; 0x152ab
-; entries correspond to SPAWN_* constants
-
-	spawn KRISS_HOUSE_2F,              3,  3
-	spawn VIRIDIAN_POKECENTER_1F,      5,  3
-
-	spawn PALLET_TOWN,                 5,  6
-	spawn VIRIDIAN_CITY,              23, 26
-	spawn PEWTER_CITY,                13, 26
-	spawn CERULEAN_CITY,              19, 22
-	spawn ROUTE_10_NORTH,             11,  2
-	spawn VERMILION_CITY,              9,  6
-	spawn LAVENDER_TOWN,               5,  6
-	spawn SAFFRON_CITY,                9, 30
-	spawn CELADON_CITY,               29, 10
-	spawn FUCHSIA_CITY,               19, 28
-	spawn CINNABAR_ISLAND,            11, 12
-	spawn ROUTE_23,                    9,  6
-
-	spawn NEW_BARK_TOWN,              13,  6
-	spawn CHERRYGROVE_CITY,           29,  4
-	spawn VIOLET_CITY,                31, 26
-	spawn ROUTE_32,                   11, 74
-	spawn AZALEA_TOWN,                15, 10
-	spawn CIANWOOD_CITY,              23, 44
-	spawn GOLDENROD_CITY,             15, 28
-	spawn OLIVINE_CITY,               13, 22
-	spawn ECRUTEAK_CITY,              23, 28
-	spawn MAHOGANY_TOWN,              15, 14
-	spawn LAKE_OF_RAGE,               21, 29
-	spawn BLACKTHORN_CITY,            21, 30
-	spawn SILVER_CAVE_OUTSIDE,        23, 20
-	spawn FAST_SHIP_CABINS_SW_SSW_NW,  6,  2
-	spawn N_A,                        -1, -1
-; 1531f
--- /dev/null
+++ b/data/trainers/encounter_music.asm
@@ -1,0 +1,75 @@
+; What music plays when a trainer notices you
+
+TrainerEncounterMusic::
+; entries correspond to trainer classes (see constants/trainer_constants.asm)
+    db MUSIC_HIKER_ENCOUNTER       ; none
+    db MUSIC_YOUNGSTER_ENCOUNTER   ; falkner
+    db MUSIC_LASS_ENCOUNTER        ; whitney
+    db MUSIC_YOUNGSTER_ENCOUNTER   ; bugsy
+    db MUSIC_OFFICER_ENCOUNTER     ; morty
+    db MUSIC_OFFICER_ENCOUNTER     ; pryce
+    db MUSIC_LASS_ENCOUNTER        ; jasmine
+    db MUSIC_OFFICER_ENCOUNTER     ; chuck
+    db MUSIC_BEAUTY_ENCOUNTER      ; clair
+    db MUSIC_RIVAL_ENCOUNTER       ; rival1
+    db MUSIC_HIKER_ENCOUNTER       ; pokemon_prof
+    db MUSIC_HIKER_ENCOUNTER       ; will
+    db MUSIC_HIKER_ENCOUNTER       ; cal
+    db MUSIC_OFFICER_ENCOUNTER     ; bruno
+    db MUSIC_HIKER_ENCOUNTER       ; karen
+    db MUSIC_HIKER_ENCOUNTER       ; koga
+    db MUSIC_OFFICER_ENCOUNTER     ; champion
+    db MUSIC_YOUNGSTER_ENCOUNTER   ; brock
+    db MUSIC_LASS_ENCOUNTER        ; misty
+    db MUSIC_OFFICER_ENCOUNTER     ; lt_surge
+    db MUSIC_ROCKET_ENCOUNTER      ; scientist
+    db MUSIC_OFFICER_ENCOUNTER     ; erika
+    db MUSIC_YOUNGSTER_ENCOUNTER   ; youngster
+    db MUSIC_YOUNGSTER_ENCOUNTER   ; schoolboy
+    db MUSIC_YOUNGSTER_ENCOUNTER   ; bird_keeper
+    db MUSIC_LASS_ENCOUNTER        ; lass
+    db MUSIC_LASS_ENCOUNTER        ; janine
+    db MUSIC_HIKER_ENCOUNTER       ; cooltrainerm
+    db MUSIC_BEAUTY_ENCOUNTER      ; cooltrainerf
+    db MUSIC_BEAUTY_ENCOUNTER      ; beauty
+    db MUSIC_POKEMANIAC_ENCOUNTER  ; pokemaniac
+    db MUSIC_ROCKET_ENCOUNTER      ; gruntm
+    db MUSIC_HIKER_ENCOUNTER       ; gentleman
+    db MUSIC_BEAUTY_ENCOUNTER      ; skier
+    db MUSIC_BEAUTY_ENCOUNTER      ; teacher
+    db MUSIC_BEAUTY_ENCOUNTER      ; sabrina
+    db MUSIC_YOUNGSTER_ENCOUNTER   ; bug_catcher
+    db MUSIC_HIKER_ENCOUNTER       ; fisher
+    db MUSIC_HIKER_ENCOUNTER       ; swimmerm
+    db MUSIC_BEAUTY_ENCOUNTER      ; swimmerf
+    db MUSIC_HIKER_ENCOUNTER       ; sailor
+    db MUSIC_POKEMANIAC_ENCOUNTER  ; super_nerd
+    db MUSIC_RIVAL_ENCOUNTER       ; rival2
+    db MUSIC_HIKER_ENCOUNTER       ; guitarist
+    db MUSIC_HIKER_ENCOUNTER       ; hiker
+    db MUSIC_HIKER_ENCOUNTER       ; biker
+    db MUSIC_OFFICER_ENCOUNTER     ; blaine
+    db MUSIC_POKEMANIAC_ENCOUNTER  ; burglar
+    db MUSIC_HIKER_ENCOUNTER       ; firebreather
+    db MUSIC_POKEMANIAC_ENCOUNTER  ; juggler
+    db MUSIC_HIKER_ENCOUNTER       ; blackbelt_t
+    db MUSIC_ROCKET_ENCOUNTER      ; executivem
+    db MUSIC_YOUNGSTER_ENCOUNTER   ; psychic_t
+    db MUSIC_LASS_ENCOUNTER        ; picnicker
+    db MUSIC_YOUNGSTER_ENCOUNTER   ; camper
+    db MUSIC_ROCKET_ENCOUNTER      ; executivef
+    db MUSIC_SAGE_ENCOUNTER        ; sage
+    db MUSIC_SAGE_ENCOUNTER        ; medium
+    db MUSIC_HIKER_ENCOUNTER       ; boarder
+    db MUSIC_HIKER_ENCOUNTER       ; pokefanm
+    db MUSIC_KIMONO_ENCOUNTER      ; kimono_girl
+    db MUSIC_LASS_ENCOUNTER        ; twins
+    db MUSIC_BEAUTY_ENCOUNTER      ; pokefanf
+    db MUSIC_HIKER_ENCOUNTER       ; red
+    db MUSIC_RIVAL_ENCOUNTER       ; blue
+    db MUSIC_HIKER_ENCOUNTER       ; officer
+    db MUSIC_ROCKET_ENCOUNTER      ; gruntf
+    db MUSIC_HIKER_ENCOUNTER       ; mysticalman
+    db MUSIC_HIKER_ENCOUNTER
+    db MUSIC_HIKER_ENCOUNTER
+    db MUSIC_HIKER_ENCOUNTER
--- /dev/null
+++ b/data/trainers/gendered_trainers.asm
@@ -1,0 +1,40 @@
+MaleTrainers: ; 4e95d
+	db BURGLAR
+	db YOUNGSTER
+	db SCHOOLBOY
+	db BIRD_KEEPER
+	db POKEMANIAC
+	db GENTLEMAN
+	db BUG_CATCHER
+	db FISHER
+	db SWIMMERM
+	db SAILOR
+	db SUPER_NERD
+	db GUITARIST
+	db HIKER
+	db FIREBREATHER
+	db BLACKBELT_T
+	db PSYCHIC_T
+	db CAMPER
+	db COOLTRAINERM
+	db BOARDER
+	db JUGGLER
+	db POKEFANM
+	db OFFICER
+	db SAGE
+	db BIKER
+	db SCIENTIST
+MaleTrainersEnd
+
+FemaleTrainers: ; 4e976
+	db MEDIUM
+	db LASS
+	db BEAUTY
+	db SKIER
+	db TEACHER
+	db SWIMMERF
+	db PICNICKER
+	db KIMONO_GIRL
+	db POKEFANF
+	db COOLTRAINERF
+FemaleTrainersEnd
--- /dev/null
+++ b/data/trainers/parties.asm
@@ -1,0 +1,8829 @@
+Trainers:
+
+; All trainers follow a basic structure:
+	; Name
+		; String in format "TEXT@"
+	; Type
+		; TRAINERTYPE_NORMAL:     level, species
+		; TRAINERTYPE_MOVES:      level, species, moves
+		; TRAINERTYPE_ITEM:       level, species, item
+		; TRAINERTYPE_ITEM_MOVES: level, species, item, moves
+	; Party
+		; Up to six monsters following the data type
+	; $ff
+
+
+FalknerGroup:
+; ================================
+; ================
+
+	; FALKNER (1)
+	db "FALKNER@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 7, PIDGEY
+		db TACKLE
+		db MUD_SLAP
+		db 0
+		db 0
+
+	db 9, PIDGEOTTO
+		db TACKLE
+		db MUD_SLAP
+		db GUST
+		db 0
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+WhitneyGroup:
+; ================================
+; ================
+
+	; WHITNEY (1)
+	db "WHITNEY@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 18, CLEFAIRY
+		db DOUBLESLAP
+		db MIMIC
+		db ENCORE
+		db METRONOME
+
+	db 20, MILTANK
+		db ROLLOUT
+		db ATTRACT
+		db STOMP
+		db MILK_DRINK
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+BugsyGroup:
+; ================================
+; ================
+
+	; BUGSY (1)
+	db "BUGSY@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 14, METAPOD
+		db TACKLE
+		db STRING_SHOT
+		db HARDEN
+		db 0
+
+	db 14, KAKUNA
+		db POISON_STING
+		db STRING_SHOT
+		db HARDEN
+		db 0
+
+	db 16, SCYTHER
+		db QUICK_ATTACK
+		db LEER
+		db FURY_CUTTER
+		db 0
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+MortyGroup:
+; ================================
+; ================
+
+	; MORTY (1)
+	db "MORTY@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 21, GASTLY
+		db LICK
+		db SPITE
+		db MEAN_LOOK
+		db CURSE
+
+	db 21, HAUNTER
+		db HYPNOSIS
+		db MIMIC
+		db CURSE
+		db NIGHT_SHADE
+
+	db 25, GENGAR
+		db HYPNOSIS
+		db SHADOW_BALL
+		db MEAN_LOOK
+		db DREAM_EATER
+
+	db 23, HAUNTER
+		db SPITE
+		db MEAN_LOOK
+		db MIMIC
+		db NIGHT_SHADE
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+PryceGroup:
+; ================================
+; ================
+
+	; PRYCE (1)
+	db "PRYCE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 27, SEEL
+		db HEADBUTT
+		db ICY_WIND
+		db AURORA_BEAM
+		db REST
+
+	db 29, DEWGONG
+		db HEADBUTT
+		db ICY_WIND
+		db AURORA_BEAM
+		db REST
+
+	db 31, PILOSWINE
+		db ICY_WIND
+		db FURY_ATTACK
+		db MIST
+		db BLIZZARD
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+JasmineGroup:
+; ================================
+; ================
+
+	; JASMINE (1)
+	db "JASMINE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 30, MAGNEMITE
+		db THUNDERBOLT
+		db SUPERSONIC
+		db SONICBOOM
+		db THUNDER_WAVE
+
+	db 30, MAGNEMITE
+		db THUNDERBOLT
+		db SUPERSONIC
+		db SONICBOOM
+		db THUNDER_WAVE
+
+	db 35, STEELIX
+		db SCREECH
+		db SUNNY_DAY
+		db ROCK_THROW
+		db IRON_TAIL
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+ChuckGroup:
+; ================================
+; ================
+
+	; CHUCK (1)
+	db "CHUCK@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 27, PRIMEAPE
+		db LEER
+		db RAGE
+		db KARATE_CHOP
+		db FURY_SWIPES
+
+	db 30, POLIWRATH
+		db HYPNOSIS
+		db MIND_READER
+		db SURF
+		db DYNAMICPUNCH
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+ClairGroup:
+; ================================
+; ================
+
+	; CLAIR (1)
+	db "CLAIR@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 37, DRAGONAIR
+		db THUNDER_WAVE
+		db SURF
+		db SLAM
+		db DRAGONBREATH
+
+	db 37, DRAGONAIR
+		db THUNDER_WAVE
+		db THUNDERBOLT
+		db SLAM
+		db DRAGONBREATH
+
+	db 37, DRAGONAIR
+		db THUNDER_WAVE
+		db ICE_BEAM
+		db SLAM
+		db DRAGONBREATH
+
+	db 40, KINGDRA
+		db SMOKESCREEN
+		db SURF
+		db HYPER_BEAM
+		db DRAGONBREATH
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+Rival1Group:
+; ================================
+; ================
+
+	; RIVAL1 (1)
+	db "?@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 5, CHIKORITA
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL1 (2)
+	db "?@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 5, CYNDAQUIL
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL1 (3)
+	db "?@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 5, TOTODILE
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL1 (4)
+	db "?@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 12, GASTLY
+	db 14, ZUBAT
+	db 16, BAYLEEF
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL1 (5)
+	db "?@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 12, GASTLY
+	db 14, ZUBAT
+	db 16, QUILAVA
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL1 (6)
+	db "?@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 12, GASTLY
+	db 14, ZUBAT
+	db 16, CROCONAW
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL1 (7)
+	db "?@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 20, HAUNTER
+		db LICK
+		db SPITE
+		db MEAN_LOOK
+		db CURSE
+
+	db 18, MAGNEMITE
+		db TACKLE
+		db THUNDERSHOCK
+		db SUPERSONIC
+		db SONICBOOM
+
+	db 20, ZUBAT
+		db LEECH_LIFE
+		db SUPERSONIC
+		db BITE
+		db CONFUSE_RAY
+
+	db 22, BAYLEEF
+		db GROWL
+		db REFLECT
+		db RAZOR_LEAF
+		db POISONPOWDER
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL1 (8)
+	db "?@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 20, HAUNTER
+		db LICK
+		db SPITE
+		db MEAN_LOOK
+		db CURSE
+
+	db 18, MAGNEMITE
+		db TACKLE
+		db THUNDERSHOCK
+		db SUPERSONIC
+		db SONICBOOM
+
+	db 20, ZUBAT
+		db LEECH_LIFE
+		db SUPERSONIC
+		db BITE
+		db CONFUSE_RAY
+
+	db 22, QUILAVA
+		db LEER
+		db SMOKESCREEN
+		db EMBER
+		db QUICK_ATTACK
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL1 (9)
+	db "?@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 20, HAUNTER
+		db LICK
+		db SPITE
+		db MEAN_LOOK
+		db CURSE
+
+	db 18, MAGNEMITE
+		db TACKLE
+		db THUNDERSHOCK
+		db SUPERSONIC
+		db SONICBOOM
+
+	db 20, ZUBAT
+		db LEECH_LIFE
+		db SUPERSONIC
+		db BITE
+		db CONFUSE_RAY
+
+	db 22, CROCONAW
+		db LEER
+		db RAGE
+		db WATER_GUN
+		db BITE
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL1 (10)
+	db "?@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 30, GOLBAT
+		db LEECH_LIFE
+		db BITE
+		db CONFUSE_RAY
+		db WING_ATTACK
+
+	db 28, MAGNEMITE
+		db TACKLE
+		db THUNDERSHOCK
+		db SONICBOOM
+		db THUNDER_WAVE
+
+	db 30, HAUNTER
+		db LICK
+		db MEAN_LOOK
+		db CURSE
+		db SHADOW_BALL
+
+	db 32, SNEASEL
+		db LEER
+		db QUICK_ATTACK
+		db SCREECH
+		db FAINT_ATTACK
+
+	db 32, MEGANIUM
+		db REFLECT
+		db RAZOR_LEAF
+		db POISONPOWDER
+		db BODY_SLAM
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL1 (11)
+	db "?@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 30, GOLBAT
+		db LEECH_LIFE
+		db BITE
+		db CONFUSE_RAY
+		db WING_ATTACK
+
+	db 28, MAGNEMITE
+		db TACKLE
+		db THUNDERSHOCK
+		db SONICBOOM
+		db THUNDER_WAVE
+
+	db 30, HAUNTER
+		db LICK
+		db MEAN_LOOK
+		db CURSE
+		db SHADOW_BALL
+
+	db 32, SNEASEL
+		db LEER
+		db QUICK_ATTACK
+		db SCREECH
+		db FAINT_ATTACK
+
+	db 32, QUILAVA
+		db SMOKESCREEN
+		db EMBER
+		db QUICK_ATTACK
+		db FLAME_WHEEL
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL1 (12)
+	db "?@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 30, GOLBAT
+		db LEECH_LIFE
+		db BITE
+		db CONFUSE_RAY
+		db WING_ATTACK
+
+	db 28, MAGNEMITE
+		db TACKLE
+		db THUNDERSHOCK
+		db SONICBOOM
+		db THUNDER_WAVE
+
+	db 30, HAUNTER
+		db LICK
+		db MEAN_LOOK
+		db CURSE
+		db SHADOW_BALL
+
+	db 32, SNEASEL
+		db LEER
+		db QUICK_ATTACK
+		db SCREECH
+		db FAINT_ATTACK
+
+	db 32, FERALIGATR
+		db RAGE
+		db WATER_GUN
+		db BITE
+		db SCARY_FACE
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL1 (13)
+	db "?@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 34, SNEASEL
+		db QUICK_ATTACK
+		db SCREECH
+		db FAINT_ATTACK
+		db FURY_CUTTER
+
+	db 36, GOLBAT
+		db LEECH_LIFE
+		db BITE
+		db CONFUSE_RAY
+		db WING_ATTACK
+
+	db 35, MAGNETON
+		db THUNDERSHOCK
+		db SONICBOOM
+		db THUNDER_WAVE
+		db SWIFT
+
+	db 35, HAUNTER
+		db MEAN_LOOK
+		db CURSE
+		db SHADOW_BALL
+		db CONFUSE_RAY
+
+	db 35, KADABRA
+		db DISABLE
+		db PSYBEAM
+		db RECOVER
+		db FUTURE_SIGHT
+
+	db 38, MEGANIUM
+		db REFLECT
+		db RAZOR_LEAF
+		db POISONPOWDER
+		db BODY_SLAM
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL1 (14)
+	db "?@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 34, SNEASEL
+		db QUICK_ATTACK
+		db SCREECH
+		db FAINT_ATTACK
+		db FURY_CUTTER
+
+	db 36, GOLBAT
+		db LEECH_LIFE
+		db BITE
+		db CONFUSE_RAY
+		db WING_ATTACK
+
+	db 35, MAGNETON
+		db THUNDERSHOCK
+		db SONICBOOM
+		db THUNDER_WAVE
+		db SWIFT
+
+	db 35, HAUNTER
+		db MEAN_LOOK
+		db CURSE
+		db SHADOW_BALL
+		db CONFUSE_RAY
+
+	db 35, KADABRA
+		db DISABLE
+		db PSYBEAM
+		db RECOVER
+		db FUTURE_SIGHT
+
+	db 38, TYPHLOSION
+		db SMOKESCREEN
+		db EMBER
+		db QUICK_ATTACK
+		db FLAME_WHEEL
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL1 (15)
+	db "?@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 34, SNEASEL
+		db QUICK_ATTACK
+		db SCREECH
+		db FAINT_ATTACK
+		db FURY_CUTTER
+
+	db 36, GOLBAT
+		db LEECH_LIFE
+		db BITE
+		db CONFUSE_RAY
+		db WING_ATTACK
+
+	db 34, MAGNETON
+		db THUNDERSHOCK
+		db SONICBOOM
+		db THUNDER_WAVE
+		db SWIFT
+
+	db 35, HAUNTER
+		db MEAN_LOOK
+		db CURSE
+		db SHADOW_BALL
+		db CONFUSE_RAY
+
+	db 35, KADABRA
+		db DISABLE
+		db PSYBEAM
+		db RECOVER
+		db FUTURE_SIGHT
+
+	db 38, FERALIGATR
+		db RAGE
+		db WATER_GUN
+		db SCARY_FACE
+		db SLASH
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+PokemonProfGroup:
+; ================================
+; ================
+; ================================
+
+
+WillGroup:
+; ================================
+; ================
+
+	; WILL (1)
+	db "WILL@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 40, XATU
+		db QUICK_ATTACK
+		db FUTURE_SIGHT
+		db CONFUSE_RAY
+		db PSYCHIC_M
+
+	db 41, JYNX
+		db DOUBLESLAP
+		db LOVELY_KISS
+		db ICE_PUNCH
+		db PSYCHIC_M
+
+	db 41, EXEGGUTOR
+		db REFLECT
+		db LEECH_SEED
+		db EGG_BOMB
+		db PSYCHIC_M
+
+	db 41, SLOWBRO
+		db CURSE
+		db AMNESIA
+		db BODY_SLAM
+		db PSYCHIC_M
+
+	db 42, XATU
+		db QUICK_ATTACK
+		db FUTURE_SIGHT
+		db CONFUSE_RAY
+		db PSYCHIC_M
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+PKMNTrainerGroup:
+; ================================
+; ================
+
+	; CAL (1)
+	db "CAL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 10, CHIKORITA
+	db 10, CYNDAQUIL
+	db 10, TOTODILE
+
+	db $ff ; end
+
+; ================
+
+	; CAL (2)
+	db "CAL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, BAYLEEF
+	db 30, QUILAVA
+	db 30, CROCONAW
+
+	db $ff ; end
+
+; ================
+
+	; CAL (3)
+	db "CAL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 50, MEGANIUM
+	db 50, TYPHLOSION
+	db 50, FERALIGATR
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+BrunoGroup:
+; ================================
+; ================
+
+	; BRUNO (1)
+	db "BRUNO@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 42, HITMONTOP
+		db PURSUIT
+		db QUICK_ATTACK
+		db DIG
+		db DETECT
+
+	db 42, HITMONLEE
+		db SWAGGER
+		db DOUBLE_KICK
+		db HI_JUMP_KICK
+		db FORESIGHT
+
+	db 42, HITMONCHAN
+		db THUNDERPUNCH
+		db ICE_PUNCH
+		db FIRE_PUNCH
+		db MACH_PUNCH
+
+	db 43, ONIX
+		db BIND
+		db EARTHQUAKE
+		db SANDSTORM
+		db ROCK_SLIDE
+
+	db 46, MACHAMP
+		db ROCK_SLIDE
+		db FORESIGHT
+		db VITAL_THROW
+		db CROSS_CHOP
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+KarenGroup:
+; ================================
+; ================
+
+	; KAREN (1)
+	db "KAREN@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 42, UMBREON
+		db SAND_ATTACK
+		db CONFUSE_RAY
+		db FAINT_ATTACK
+		db MEAN_LOOK
+
+	db 42, VILEPLUME
+		db STUN_SPORE
+		db ACID
+		db MOONLIGHT
+		db PETAL_DANCE
+
+	db 45, GENGAR
+		db LICK
+		db SPITE
+		db CURSE
+		db DESTINY_BOND
+
+	db 44, MURKROW
+		db QUICK_ATTACK
+		db WHIRLWIND
+		db PURSUIT
+		db FAINT_ATTACK
+
+	db 47, HOUNDOOM
+		db ROAR
+		db PURSUIT
+		db FLAMETHROWER
+		db CRUNCH
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+KogaGroup:
+; ================================
+; ================
+
+	; KOGA (1)
+	db "KOGA@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 40, ARIADOS
+		db DOUBLE_TEAM
+		db SPIDER_WEB
+		db BATON_PASS
+		db GIGA_DRAIN
+
+	db 41, VENOMOTH
+		db SUPERSONIC
+		db GUST
+		db PSYCHIC_M
+		db TOXIC
+
+	db 43, FORRETRESS
+		db PROTECT
+		db SWIFT
+		db EXPLOSION
+		db SPIKES
+
+	db 42, MUK
+		db MINIMIZE
+		db ACID_ARMOR
+		db SLUDGE_BOMB
+		db TOXIC
+
+	db 44, CROBAT
+		db DOUBLE_TEAM
+		db QUICK_ATTACK
+		db WING_ATTACK
+		db TOXIC
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+ChampionGroup:
+; ================================
+; ================
+
+	; CHAMPION (1)
+	db "LANCE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 44, GYARADOS
+		db FLAIL
+		db RAIN_DANCE
+		db SURF
+		db HYPER_BEAM
+
+	db 47, DRAGONITE
+		db THUNDER_WAVE
+		db TWISTER
+		db THUNDER
+		db HYPER_BEAM
+
+	db 47, DRAGONITE
+		db THUNDER_WAVE
+		db TWISTER
+		db BLIZZARD
+		db HYPER_BEAM
+
+	db 46, AERODACTYL
+		db WING_ATTACK
+		db ANCIENTPOWER
+		db ROCK_SLIDE
+		db HYPER_BEAM
+
+	db 46, CHARIZARD
+		db FLAMETHROWER
+		db WING_ATTACK
+		db SLASH
+		db HYPER_BEAM
+
+	db 50, DRAGONITE
+		db FIRE_BLAST
+		db SAFEGUARD
+		db OUTRAGE
+		db HYPER_BEAM
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+BrockGroup:
+; ================================
+; ================
+
+	; BROCK (1)
+	db "BROCK@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 41, GRAVELER
+		db DEFENSE_CURL
+		db ROCK_SLIDE
+		db ROLLOUT
+		db EARTHQUAKE
+
+	db 41, RHYHORN
+		db FURY_ATTACK
+		db SCARY_FACE
+		db EARTHQUAKE
+		db HORN_DRILL
+
+	db 42, OMASTAR
+		db BITE
+		db SURF
+		db PROTECT
+		db SPIKE_CANNON
+
+	db 44, ONIX
+		db BIND
+		db ROCK_SLIDE
+		db BIDE
+		db SANDSTORM
+
+	db 42, KABUTOPS
+		db SLASH
+		db SURF
+		db ENDURE
+		db GIGA_DRAIN
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+MistyGroup:
+; ================================
+; ================
+
+	; MISTY (1)
+	db "MISTY@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 42, GOLDUCK
+		db SURF
+		db DISABLE
+		db PSYCH_UP
+		db PSYCHIC_M
+
+	db 42, QUAGSIRE
+		db SURF
+		db AMNESIA
+		db EARTHQUAKE
+		db RAIN_DANCE
+
+	db 44, LAPRAS
+		db SURF
+		db PERISH_SONG
+		db BLIZZARD
+		db RAIN_DANCE
+
+	db 47, STARMIE
+		db SURF
+		db CONFUSE_RAY
+		db RECOVER
+		db ICE_BEAM
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+LtSurgeGroup:
+; ================================
+; ================
+
+	; LT_SURGE (1)
+	db "LT.SURGE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 44, RAICHU
+		db THUNDER_WAVE
+		db QUICK_ATTACK
+		db THUNDERBOLT
+		db THUNDER
+
+	db 40, ELECTRODE
+		db SCREECH
+		db DOUBLE_TEAM
+		db SWIFT
+		db EXPLOSION
+
+	db 40, MAGNETON
+		db LOCK_ON
+		db DOUBLE_TEAM
+		db SWIFT
+		db ZAP_CANNON
+
+	db 40, ELECTRODE
+		db SCREECH
+		db DOUBLE_TEAM
+		db SWIFT
+		db EXPLOSION
+
+	db 46, ELECTABUZZ
+		db QUICK_ATTACK
+		db THUNDERPUNCH
+		db LIGHT_SCREEN
+		db THUNDER
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+ScientistGroup:
+; ================================
+; ================
+
+	; SCIENTIST (1)
+	db "ROSS@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 22, KOFFING
+	db 22, KOFFING
+
+	db $ff ; end
+
+; ================
+
+	; SCIENTIST (2)
+	db "MITCH@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 24, DITTO
+
+	db $ff ; end
+
+; ================
+
+	; SCIENTIST (3)
+	db "JED@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 20, MAGNEMITE
+	db 20, MAGNEMITE
+	db 20, MAGNEMITE
+
+	db $ff ; end
+
+; ================
+
+	; SCIENTIST (4)
+	db "MARC@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 27, MAGNEMITE
+	db 27, MAGNEMITE
+	db 27, MAGNEMITE
+
+	db $ff ; end
+
+; ================
+
+	; SCIENTIST (5)
+	db "RICH@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 30, PORYGON
+		db CONVERSION
+		db CONVERSION2
+		db RECOVER
+		db TRI_ATTACK
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+ErikaGroup:
+; ================================
+; ================
+
+	; ERIKA (1)
+	db "ERIKA@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 42, TANGELA
+		db VINE_WHIP
+		db BIND
+		db GIGA_DRAIN
+		db SLEEP_POWDER
+
+	db 41, JUMPLUFF
+		db MEGA_DRAIN
+		db LEECH_SEED
+		db COTTON_SPORE
+		db GIGA_DRAIN
+
+	db 46, VICTREEBEL
+		db SUNNY_DAY
+		db SYNTHESIS
+		db ACID
+		db RAZOR_LEAF
+
+	db 46, BELLOSSOM
+		db SUNNY_DAY
+		db SYNTHESIS
+		db PETAL_DANCE
+		db SOLARBEAM
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+YoungsterGroup:
+; ================================
+; ================
+
+	; YOUNGSTER (1)
+	db "JOEY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 4, RATTATA
+
+	db $ff ; end
+
+; ================
+
+	; YOUNGSTER (2)
+	db "MIKEY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 2, PIDGEY
+	db 4, RATTATA
+
+	db $ff ; end
+
+; ================
+
+	; YOUNGSTER (3)
+	db "ALBERT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 6, RATTATA
+	db 8, ZUBAT
+
+	db $ff ; end
+
+; ================
+
+	; YOUNGSTER (4)
+	db "GORDON@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 10, WOOPER
+
+	db $ff ; end
+
+; ================
+
+	; YOUNGSTER (5)
+	db "SAMUEL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 7, RATTATA
+	db 10, SANDSHREW
+	db 8, SPEAROW
+	db 8, SPEAROW
+
+	db $ff ; end
+
+; ================
+
+	; YOUNGSTER (6)
+	db "IAN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 10, MANKEY
+	db 12, DIGLETT
+
+	db $ff ; end
+
+; ================
+
+	; YOUNGSTER (7)
+	db "JOEY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, RATTATA
+
+	db $ff ; end
+
+; ================
+
+	; YOUNGSTER (8)
+	db "JOEY@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 21, RATICATE
+		db TAIL_WHIP
+		db QUICK_ATTACK
+		db HYPER_FANG
+		db SCARY_FACE
+
+	db $ff ; end
+
+; ================
+
+	; YOUNGSTER (9)
+	db "WARREN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 35, FEAROW
+
+	db $ff ; end
+
+; ================
+
+	; YOUNGSTER (10)
+	db "JIMMY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 33, RATICATE
+	db 33, ARBOK
+
+	db $ff ; end
+
+; ================
+
+	; YOUNGSTER (11)
+	db "OWEN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 35, GROWLITHE
+
+	db $ff ; end
+
+; ================
+
+	; YOUNGSTER (12)
+	db "JASON@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 33, SANDSLASH
+	db 33, CROBAT
+
+	db $ff ; end
+
+; ================
+
+	; YOUNGSTER (13)
+	db "JOEY@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 30, RATICATE
+		db TAIL_WHIP
+		db QUICK_ATTACK
+		db HYPER_FANG
+		db PURSUIT
+
+	db $ff ; end
+
+; ================
+
+	; YOUNGSTER (14)
+	db "JOEY@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 37, RATICATE
+		db HYPER_BEAM
+		db QUICK_ATTACK
+		db HYPER_FANG
+		db PURSUIT
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+SchoolboyGroup:
+; ================================
+; ================
+
+	; SCHOOLBOY (1)
+	db "JACK@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 12, ODDISH
+	db 15, VOLTORB
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (2)
+	db "KIPP@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 27, VOLTORB
+	db 27, MAGNEMITE
+	db 31, VOLTORB
+	db 31, MAGNETON
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (3)
+	db "ALAN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 16, TANGELA
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (4)
+	db "JOHNNY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 29, BELLSPROUT
+	db 31, WEEPINBELL
+	db 33, VICTREEBEL
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (5)
+	db "DANNY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 31, JYNX
+	db 31, ELECTABUZZ
+	db 31, MAGMAR
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (6)
+	db "TOMMY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, XATU
+	db 34, ALAKAZAM
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (7)
+	db "DUDLEY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 35, ODDISH
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (8)
+	db "JOE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 33, TANGELA
+	db 33, VAPOREON
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (9)
+	db "BILLY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 27, PARAS
+	db 27, PARAS
+	db 27, POLIWHIRL
+	db 35, DITTO
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (10)
+	db "CHAD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 19, MR__MIME
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (11)
+	db "NATE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, LEDIAN
+	db 32, EXEGGUTOR
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (12)
+	db "RICKY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, AIPOM
+	db 32, DITTO
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (13)
+	db "JACK@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 14, ODDISH
+	db 17, VOLTORB
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (14)
+	db "JACK@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 28, GLOOM
+	db 31, ELECTRODE
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (15)
+	db "ALAN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, TANGELA
+	db 17, YANMA
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (16)
+	db "ALAN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 20, NATU
+	db 22, TANGELA
+	db 20, QUAGSIRE
+	db 25, YANMA
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (17)
+	db "CHAD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 19, MR__MIME
+	db 19, MAGNEMITE
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (18)
+	db "CHAD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 27, MR__MIME
+	db 31, MAGNETON
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (19)
+	db "JACK@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, GLOOM
+	db 33, GROWLITHE
+	db 33, ELECTRODE
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (20)
+	db "JACK@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 35, ELECTRODE
+		db SCREECH
+		db SONICBOOM
+		db ROLLOUT
+		db LIGHT_SCREEN
+
+	db 35, GROWLITHE
+		db SUNNY_DAY
+		db LEER
+		db TAKE_DOWN
+		db FLAME_WHEEL
+
+	db 37, VILEPLUME
+		db SOLARBEAM
+		db SLEEP_POWDER
+		db ACID
+		db MOONLIGHT
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (21)
+	db "ALAN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 27, NATU
+	db 27, TANGELA
+	db 30, QUAGSIRE
+	db 30, YANMA
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (22)
+	db "ALAN@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 35, XATU
+		db PECK
+		db NIGHT_SHADE
+		db SWIFT
+		db FUTURE_SIGHT
+
+	db 32, TANGELA
+		db POISONPOWDER
+		db VINE_WHIP
+		db BIND
+		db MEGA_DRAIN
+
+	db 32, YANMA
+		db QUICK_ATTACK
+		db DOUBLE_TEAM
+		db SONICBOOM
+		db SUPERSONIC
+
+	db 35, QUAGSIRE
+		db TAIL_WHIP
+		db SLAM
+		db AMNESIA
+		db EARTHQUAKE
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (23)
+	db "CHAD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, MR__MIME
+	db 34, MAGNETON
+
+	db $ff ; end
+
+; ================
+
+	; SCHOOLBOY (24)
+	db "CHAD@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 34, MR__MIME
+		db PSYCHIC_M
+		db LIGHT_SCREEN
+		db REFLECT
+		db ENCORE
+
+	db 38, MAGNETON
+		db ZAP_CANNON
+		db THUNDER_WAVE
+		db LOCK_ON
+		db SWIFT
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+BirdKeeperGroup:
+; ================================
+; ================
+
+	; BIRD_KEEPER (1)
+	db "ROD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 7, PIDGEY
+	db 7, PIDGEY
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (2)
+	db "ABE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 9, SPEAROW
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (3)
+	db "BRYAN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 12, PIDGEY
+	db 14, PIDGEOTTO
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (4)
+	db "THEO@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, PIDGEY
+	db 15, PIDGEY
+	db 19, PIDGEY
+	db 15, PIDGEY
+	db 15, PIDGEY
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (5)
+	db "TOBY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, DODUO
+	db 16, DODUO
+	db 17, DODUO
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (6)
+	db "DENIS@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 18, SPEAROW
+	db 20, FEAROW
+	db 18, SPEAROW
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (7)
+	db "VANCE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 25, PIDGEOTTO
+	db 25, PIDGEOTTO
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (8)
+	db "HANK@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 12, PIDGEY
+	db 34, PIDGEOT
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (9)
+	db "ROY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 29, FEAROW
+	db 35, FEAROW
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (10)
+	db "BORIS@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, DODUO
+	db 28, DODUO
+	db 32, DODRIO
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (11)
+	db "BOB@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, NOCTOWL
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (12)
+	db "JOSE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 36, FARFETCH_D
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (13)
+	db "PETER@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 6, PIDGEY
+	db 6, PIDGEY
+	db 8, SPEAROW
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (14)
+	db "JOSE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, FARFETCH_D
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (15)
+	db "PERRY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, FARFETCH_D
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (16)
+	db "BRET@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, PIDGEOTTO
+	db 32, FEAROW
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (17)
+	db "JOSE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 40, FARFETCH_D
+		db FURY_ATTACK
+		db DETECT
+		db FLY
+		db SLASH
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (18)
+	db "VANCE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, PIDGEOTTO
+	db 32, PIDGEOTTO
+
+	db $ff ; end
+
+; ================
+
+	; BIRD_KEEPER (19)
+	db "VANCE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 38, PIDGEOT
+		db TOXIC
+		db QUICK_ATTACK
+		db WHIRLWIND
+		db FLY
+
+	db 38, PIDGEOT
+		db SWIFT
+		db DETECT
+		db STEEL_WING
+		db FLY
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+LassGroup:
+; ================================
+; ================
+
+	; LASS (1)
+	db "CARRIE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 18, SNUBBULL
+		db SCARY_FACE
+		db CHARM
+		db BITE
+		db LICK
+
+	db $ff ; end
+
+; ================
+
+	; LASS (2)
+	db "BRIDGET@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, JIGGLYPUFF
+	db 15, JIGGLYPUFF
+	db 15, JIGGLYPUFF
+
+	db $ff ; end
+
+; ================
+
+	; LASS (3)
+	db "ALICE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, GLOOM
+	db 34, ARBOK
+	db 30, GLOOM
+
+	db $ff ; end
+
+; ================
+
+	; LASS (4)
+	db "KRISE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 12, ODDISH
+	db 15, CUBONE
+
+	db $ff ; end
+
+; ================
+
+	; LASS (5)
+	db "CONNIE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 21, MARILL
+
+	db $ff ; end
+
+; ================
+
+	; LASS (6)
+	db "LINDA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, BULBASAUR
+	db 32, IVYSAUR
+	db 34, VENUSAUR
+
+	db $ff ; end
+
+; ================
+
+	; LASS (7)
+	db "LAURA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 28, GLOOM
+	db 31, PIDGEOTTO
+	db 31, BELLOSSOM
+
+	db $ff ; end
+
+; ================
+
+	; LASS (8)
+	db "SHANNON@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 29, PARAS
+	db 29, PARAS
+	db 32, PARASECT
+
+	db $ff ; end
+
+; ================
+
+	; LASS (9)
+	db "MICHELLE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, SKIPLOOM
+	db 33, HOPPIP
+	db 34, JUMPLUFF
+
+	db $ff ; end
+
+; ================
+
+	; LASS (10)
+	db "DANA@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 18, FLAAFFY
+		db TACKLE
+		db GROWL
+		db THUNDERSHOCK
+		db THUNDER_WAVE
+
+	db 18, PSYDUCK
+		db SCRATCH
+		db TAIL_WHIP
+		db DISABLE
+		db CONFUSION
+
+	db $ff ; end
+
+; ================
+
+	; LASS (11)
+	db "ELLEN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, WIGGLYTUFF
+	db 34, GRANBULL
+
+	db $ff ; end
+
+; ================
+
+	; LASS (12)
+	db "CONNIE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 21, MARILL
+
+	db $ff ; end
+
+; ================
+
+	; LASS (13)
+	db "CONNIE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 21, MARILL
+
+	db $ff ; end
+
+; ================
+
+	; LASS (14)
+	db "DANA@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 21, FLAAFFY
+		db TACKLE
+		db GROWL
+		db THUNDERSHOCK
+		db THUNDER_WAVE
+
+	db 21, PSYDUCK
+		db SCRATCH
+		db TAIL_WHIP
+		db DISABLE
+		db CONFUSION
+
+	db $ff ; end
+
+; ================
+
+	; LASS (15)
+	db "DANA@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 29, PSYDUCK
+		db SCRATCH
+		db DISABLE
+		db CONFUSION
+		db SCREECH
+
+	db 29, AMPHAROS
+		db TACKLE
+		db THUNDERSHOCK
+		db THUNDER_WAVE
+		db COTTON_SPORE
+
+	db $ff ; end
+
+; ================
+
+	; LASS (16)
+	db "DANA@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 32, PSYDUCK
+		db SCRATCH
+		db DISABLE
+		db CONFUSION
+		db SCREECH
+
+	db 32, AMPHAROS
+		db TACKLE
+		db THUNDERPUNCH
+		db THUNDER_WAVE
+		db COTTON_SPORE
+
+	db $ff ; end
+
+; ================
+
+	; LASS (17)
+	db "DANA@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 36, AMPHAROS
+		db SWIFT
+		db THUNDERPUNCH
+		db THUNDER_WAVE
+		db COTTON_SPORE
+
+	db 36, GOLDUCK
+		db DISABLE
+		db SURF
+		db PSYCHIC_M
+		db SCREECH
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+JanineGroup:
+; ================================
+; ================
+
+	; JANINE (1)
+	db "JANINE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 36, CROBAT
+		db SCREECH
+		db SUPERSONIC
+		db CONFUSE_RAY
+		db WING_ATTACK
+
+	db 36, WEEZING
+		db SMOG
+		db SLUDGE_BOMB
+		db TOXIC
+		db EXPLOSION
+
+	db 36, WEEZING
+		db SMOG
+		db SLUDGE_BOMB
+		db TOXIC
+		db EXPLOSION
+
+	db 33, ARIADOS
+		db SCARY_FACE
+		db GIGA_DRAIN
+		db STRING_SHOT
+		db NIGHT_SHADE
+
+	db 39, VENOMOTH
+		db FORESIGHT
+		db DOUBLE_TEAM
+		db GUST
+		db PSYCHIC_M
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+CooltrainerMGroup:
+; ================================
+; ================
+
+	; COOLTRAINERM (1)
+	db "NICK@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 26, CHARMANDER
+		db EMBER
+		db SMOKESCREEN
+		db RAGE
+		db SCARY_FACE
+
+	db 26, SQUIRTLE
+		db WITHDRAW
+		db WATER_GUN
+		db BITE
+		db CURSE
+
+	db 26, BULBASAUR
+		db LEECH_SEED
+		db POISONPOWDER
+		db SLEEP_POWDER
+		db RAZOR_LEAF
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (2)
+	db "AARON@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 24, IVYSAUR
+	db 24, CHARMELEON
+	db 24, WARTORTLE
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (3)
+	db "PAUL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, DRATINI
+	db 34, DRATINI
+	db 34, DRATINI
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (4)
+	db "CODY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, HORSEA
+	db 36, SEADRA
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (5)
+	db "MIKE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 37, DRAGONAIR
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (6)
+	db "GAVEN@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 35, VICTREEBEL
+		db WRAP
+		db TOXIC
+		db ACID
+		db RAZOR_LEAF
+
+	db 35, KINGLER
+		db BUBBLEBEAM
+		db STOMP
+		db GUILLOTINE
+		db PROTECT
+
+	db 35, FLAREON
+		db SAND_ATTACK
+		db QUICK_ATTACK
+		db BITE
+		db FIRE_SPIN
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (7)
+	db "GAVEN@"
+	db TRAINERTYPE_ITEM_MOVES
+
+	; party
+
+	db 39, VICTREEBEL, NO_ITEM
+		db GIGA_DRAIN
+		db TOXIC
+		db SLUDGE_BOMB
+		db RAZOR_LEAF
+
+	db 39, KINGLER, KINGS_ROCK
+		db SURF
+		db STOMP
+		db GUILLOTINE
+		db BLIZZARD
+
+	db 39, FLAREON, NO_ITEM
+		db FLAMETHROWER
+		db QUICK_ATTACK
+		db BITE
+		db FIRE_SPIN
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (8)
+	db "RYAN@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 25, PIDGEOT
+		db SAND_ATTACK
+		db QUICK_ATTACK
+		db WHIRLWIND
+		db WING_ATTACK
+
+	db 27, ELECTABUZZ
+		db THUNDERPUNCH
+		db LIGHT_SCREEN
+		db SWIFT
+		db SCREECH
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (9)
+	db "JAKE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 33, PARASECT
+		db LEECH_LIFE
+		db SPORE
+		db SLASH
+		db SWORDS_DANCE
+
+	db 35, GOLDUCK
+		db CONFUSION
+		db SCREECH
+		db PSYCH_UP
+		db FURY_SWIPES
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (10)
+	db "GAVEN@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 32, VICTREEBEL
+		db WRAP
+		db TOXIC
+		db ACID
+		db RAZOR_LEAF
+
+	db 32, KINGLER
+		db BUBBLEBEAM
+		db STOMP
+		db GUILLOTINE
+		db PROTECT
+
+	db 32, FLAREON
+		db SAND_ATTACK
+		db QUICK_ATTACK
+		db BITE
+		db FIRE_SPIN
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (11)
+	db "BLAKE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 33, MAGNETON
+		db THUNDERBOLT
+		db SUPERSONIC
+		db SWIFT
+		db SCREECH
+
+	db 31, QUAGSIRE
+		db WATER_GUN
+		db SLAM
+		db AMNESIA
+		db EARTHQUAKE
+
+	db 31, EXEGGCUTE
+		db LEECH_SEED
+		db CONFUSION
+		db SLEEP_POWDER
+		db SOLARBEAM
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (12)
+	db "BRIAN@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 35, SANDSLASH
+		db SAND_ATTACK
+		db POISON_STING
+		db SLASH
+		db SWIFT
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (13)
+	db "ERICK@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 10, BULBASAUR
+	db 10, CHARMANDER
+	db 10, SQUIRTLE
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (14)
+	db "ANDY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 10, BULBASAUR
+	db 10, CHARMANDER
+	db 10, SQUIRTLE
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (15)
+	db "TYLER@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 10, BULBASAUR
+	db 10, CHARMANDER
+	db 10, SQUIRTLE
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (16)
+	db "SEAN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 35, FLAREON
+	db 35, TANGELA
+	db 35, TAUROS
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (17)
+	db "KEVIN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 38, RHYHORN
+	db 35, CHARMELEON
+	db 35, WARTORTLE
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (18)
+	db "STEVE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 14, BULBASAUR
+	db 14, CHARMANDER
+	db 14, SQUIRTLE
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (19)
+	db "ALLEN@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 27, CHARMELEON
+		db EMBER
+		db SMOKESCREEN
+		db RAGE
+		db SCARY_FACE
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERM (20)
+	db "DARIN@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 37, DRAGONAIR
+		db WRAP
+		db SURF
+		db DRAGON_RAGE
+		db SLAM
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+CooltrainerFGroup:
+; ================================
+; ================
+
+	; COOLTRAINERF (1)
+	db "GWEN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 26, EEVEE
+	db 22, FLAREON
+	db 22, VAPOREON
+	db 22, JOLTEON
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (2)
+	db "LOIS@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 25, SKIPLOOM
+		db SYNTHESIS
+		db POISONPOWDER
+		db MEGA_DRAIN
+		db LEECH_SEED
+
+	db 25, NINETALES
+		db EMBER
+		db QUICK_ATTACK
+		db CONFUSE_RAY
+		db SAFEGUARD
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (3)
+	db "FRAN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 37, SEADRA
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (4)
+	db "LOLA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, DRATINI
+	db 36, DRAGONAIR
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (5)
+	db "KATE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 26, SHELLDER
+	db 28, CLOYSTER
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (6)
+	db "IRENE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 22, GOLDEEN
+	db 24, SEAKING
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (7)
+	db "KELLY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 27, MARILL
+	db 24, WARTORTLE
+	db 24, WARTORTLE
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (8)
+	db "JOYCE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 36, PIKACHU
+		db QUICK_ATTACK
+		db DOUBLE_TEAM
+		db THUNDERBOLT
+		db THUNDER
+
+	db 32, BLASTOISE
+		db BITE
+		db CURSE
+		db SURF
+		db RAIN_DANCE
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (9)
+	db "BETH@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 36, RAPIDASH
+		db STOMP
+		db FIRE_SPIN
+		db FURY_ATTACK
+		db AGILITY
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (10)
+	db "REENA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 31, STARMIE
+	db 33, NIDOQUEEN
+	db 31, STARMIE
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (11)
+	db "MEGAN@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 32, BULBASAUR
+		db GROWL
+		db LEECH_SEED
+		db POISONPOWDER
+		db RAZOR_LEAF
+
+	db 32, IVYSAUR
+		db GROWL
+		db LEECH_SEED
+		db POISONPOWDER
+		db RAZOR_LEAF
+
+	db 32, VENUSAUR
+		db BODY_SLAM
+		db SLEEP_POWDER
+		db RAZOR_LEAF
+		db SWEET_SCENT
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (12)
+	db "BETH@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 39, RAPIDASH
+		db STOMP
+		db FIRE_SPIN
+		db FURY_ATTACK
+		db AGILITY
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (13)
+	db "CAROL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 35, ELECTRODE
+	db 35, STARMIE
+	db 35, NINETALES
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (14)
+	db "QUINN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 38, IVYSAUR
+	db 38, STARMIE
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (15)
+	db "EMMA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 28, POLIWHIRL
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (16)
+	db "CYBIL@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 25, BUTTERFREE
+		db CONFUSION
+		db SLEEP_POWDER
+		db WHIRLWIND
+		db GUST
+
+	db 25, BELLOSSOM
+		db ABSORB
+		db STUN_SPORE
+		db ACID
+		db SOLARBEAM
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (17)
+	db "JENN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 24, STARYU
+	db 26, STARMIE
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (18)
+	db "BETH@"
+	db TRAINERTYPE_ITEM_MOVES
+
+	; party
+
+	db 43, RAPIDASH, FOCUS_BAND
+		db STOMP
+		db FIRE_SPIN
+		db FURY_ATTACK
+		db FIRE_BLAST
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (19)
+	db "REENA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, STARMIE
+	db 36, NIDOQUEEN
+	db 34, STARMIE
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (20)
+	db "REENA@"
+	db TRAINERTYPE_ITEM_MOVES
+
+	; party
+
+	db 38, STARMIE, NO_ITEM
+		db DOUBLE_TEAM
+		db PSYCHIC_M
+		db WATERFALL
+		db CONFUSE_RAY
+
+	db 40, NIDOQUEEN, PINK_BOW
+		db EARTHQUAKE
+		db DOUBLE_KICK
+		db TOXIC
+		db BODY_SLAM
+
+	db 38, STARMIE, NO_ITEM
+		db BLIZZARD
+		db PSYCHIC_M
+		db WATERFALL
+		db RECOVER
+
+	db $ff ; end
+
+; ================
+
+	; COOLTRAINERF (21)
+	db "CARA@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 33, HORSEA
+		db SMOKESCREEN
+		db LEER
+		db WHIRLPOOL
+		db TWISTER
+
+	db 33, HORSEA
+		db SMOKESCREEN
+		db LEER
+		db WHIRLPOOL
+		db TWISTER
+
+	db 35, SEADRA
+		db SWIFT
+		db LEER
+		db WATERFALL
+		db TWISTER
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+BeautyGroup:
+; ================================
+; ================
+
+	; BEAUTY (1)
+	db "VICTORIA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 9, SENTRET
+	db 13, SENTRET
+	db 17, SENTRET
+
+	db $ff ; end
+
+; ================
+
+	; BEAUTY (2)
+	db "SAMANTHA@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 16, MEOWTH
+		db SCRATCH
+		db GROWL
+		db BITE
+		db PAY_DAY
+
+	db 16, MEOWTH
+		db SCRATCH
+		db GROWL
+		db BITE
+		db SLASH
+
+	db $ff ; end
+
+; ================
+
+	; BEAUTY (3)
+	db "JULIE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, SENTRET
+
+	db $ff ; end
+
+; ================
+
+	; BEAUTY (4)
+	db "JACLYN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, SENTRET
+
+	db $ff ; end
+
+; ================
+
+	; BEAUTY (5)
+	db "BRENDA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 16, FURRET
+
+	db $ff ; end
+
+; ================
+
+	; BEAUTY (6)
+	db "CASSIE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 28, VILEPLUME
+	db 34, BUTTERFREE
+
+	db $ff ; end
+
+; ================
+
+	; BEAUTY (7)
+	db "CAROLINE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, MARILL
+	db 32, SEEL
+	db 30, MARILL
+
+	db $ff ; end
+
+; ================
+
+	; BEAUTY (8)
+	db "CARLENE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, SENTRET
+
+	db $ff ; end
+
+; ================
+
+	; BEAUTY (9)
+	db "JESSICA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, SENTRET
+
+	db $ff ; end
+
+; ================
+
+	; BEAUTY (10)
+	db "RACHAEL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, SENTRET
+
+	db $ff ; end
+
+; ================
+
+	; BEAUTY (11)
+	db "ANGELICA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, SENTRET
+
+	db $ff ; end
+
+; ================
+
+	; BEAUTY (12)
+	db "KENDRA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, SENTRET
+
+	db $ff ; end
+
+; ================
+
+	; BEAUTY (13)
+	db "VERONICA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, SENTRET
+
+	db $ff ; end
+
+; ================
+
+	; BEAUTY (14)
+	db "JULIA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, PARAS
+	db 32, EXEGGCUTE
+	db 35, PARASECT
+
+	db $ff ; end
+
+; ================
+
+	; BEAUTY (15)
+	db "THERESA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, SENTRET
+
+	db $ff ; end
+
+; ================
+
+	; BEAUTY (16)
+	db "VALERIE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 17, HOPPIP
+		db SYNTHESIS
+		db TAIL_WHIP
+		db TACKLE
+		db POISONPOWDER
+
+	db 17, SKIPLOOM
+		db SYNTHESIS
+		db TAIL_WHIP
+		db TACKLE
+		db STUN_SPORE
+
+	db $ff ; end
+
+; ================
+
+	; BEAUTY (17)
+	db "OLIVIA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 19, CORSOLA
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+PokemaniacGroup:
+; ================================
+; ================
+
+	; POKEMANIAC (1)
+	db "LARRY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 10, SLOWPOKE
+
+	db $ff ; end
+
+; ================
+
+	; POKEMANIAC (2)
+	db "ANDREW@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 24, MAROWAK
+	db 24, MAROWAK
+
+	db $ff ; end
+
+; ================
+
+	; POKEMANIAC (3)
+	db "CALVIN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 26, KANGASKHAN
+
+	db $ff ; end
+
+; ================
+
+	; POKEMANIAC (4)
+	db "SHANE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 16, NIDORINA
+	db 16, NIDORINO
+
+	db $ff ; end
+
+; ================
+
+	; POKEMANIAC (5)
+	db "BEN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 19, SLOWBRO
+
+	db $ff ; end
+
+; ================
+
+	; POKEMANIAC (6)
+	db "BRENT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 19, LICKITUNG
+
+	db $ff ; end
+
+; ================
+
+	; POKEMANIAC (7)
+	db "RON@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 19, NIDOKING
+
+	db $ff ; end
+
+; ================
+
+	; POKEMANIAC (8)
+	db "ETHAN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 31, RHYHORN
+	db 31, RHYDON
+
+	db $ff ; end
+
+; ================
+
+	; POKEMANIAC (9)
+	db "BRENT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 25, KANGASKHAN
+
+	db $ff ; end
+
+; ================
+
+	; POKEMANIAC (10)
+	db "BRENT@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 36, PORYGON
+		db RECOVER
+		db PSYCHIC_M
+		db CONVERSION2
+		db TRI_ATTACK
+
+	db $ff ; end
+
+; ================
+
+	; POKEMANIAC (11)
+	db "ISSAC@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 12, LICKITUNG
+		db LICK
+		db SUPERSONIC
+		db CUT
+		db 0
+
+	db $ff ; end
+
+; ================
+
+	; POKEMANIAC (12)
+	db "DONALD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 10, SLOWPOKE
+	db 10, SLOWPOKE
+
+	db $ff ; end
+
+; ================
+
+	; POKEMANIAC (13)
+	db "ZACH@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 27, RHYHORN
+
+	db $ff ; end
+
+; ================
+
+	; POKEMANIAC (14)
+	db "BRENT@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 41, CHANSEY
+		db ROLLOUT
+		db ATTRACT
+		db EGG_BOMB
+		db SOFTBOILED
+
+	db $ff ; end
+
+; ================
+
+	; POKEMANIAC (15)
+	db "MILLER@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, NIDOKING
+	db 17, NIDOQUEEN
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+GruntMGroup:
+; ================================
+; ================
+
+	; GRUNTM (1)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 14, KOFFING
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (2)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 7, RATTATA
+	db 9, ZUBAT
+	db 9, ZUBAT
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (3)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 24, RATICATE
+	db 24, RATICATE
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (4)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 23, GRIMER
+	db 23, GRIMER
+	db 25, MUK
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (5)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 21, RATTATA
+	db 21, RATTATA
+	db 23, RATTATA
+	db 23, RATTATA
+	db 23, RATTATA
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (6)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 26, ZUBAT
+	db 26, ZUBAT
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (7)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 23, KOFFING
+	db 23, GRIMER
+	db 23, ZUBAT
+	db 23, RATTATA
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (8)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 26, WEEZING
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (9)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 24, RATICATE
+	db 26, KOFFING
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (10)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 22, ZUBAT
+	db 24, GOLBAT
+	db 22, GRIMER
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (11)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 23, MUK
+	db 23, KOFFING
+	db 25, RATTATA
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (12)
+	db "EXECUTIVE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 33, HOUNDOUR
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (13)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 27, RATTATA
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (14)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 24, RATICATE
+	db 24, GOLBAT
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (15)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 26, GRIMER
+	db 23, WEEZING
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (16)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 16, RATTATA
+	db 16, RATTATA
+	db 16, RATTATA
+	db 16, RATTATA
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (17)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 18, GOLBAT
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (18)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, RATTATA
+	db 17, ZUBAT
+	db 17, RATTATA
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (19)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 18, VENONAT
+	db 18, VENONAT
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (20)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, DROWZEE
+	db 19, ZUBAT
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (21)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 16, ZUBAT
+	db 17, GRIMER
+	db 18, RATTATA
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (22)
+	db "EXECUTIVE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 36, GOLBAT
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (23)
+	db "EXECUTIVE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, KOFFING
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (24)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 25, KOFFING
+	db 25, KOFFING
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (25)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 24, KOFFING
+	db 24, MUK
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (26)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, RATTATA
+	db 15, RATTATA
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (27)
+	db "EXECUTIVE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 22, ZUBAT
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (28)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 19, RATICATE
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (29)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 9, RATTATA
+	db 9, RATTATA
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (30)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 25, GOLBAT
+	db 25, GOLBAT
+	db 30, ARBOK
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTM (31)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, GOLBAT
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+GentlemanGroup:
+; ================================
+; ================
+
+	; GENTLEMAN (1)
+	db "PRESTON@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 18, GROWLITHE
+	db 18, GROWLITHE
+
+	db $ff ; end
+
+; ================
+
+	; GENTLEMAN (2)
+	db "EDWARD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 33, PERSIAN
+
+	db $ff ; end
+
+; ================
+
+	; GENTLEMAN (3)
+	db "GREGORY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 37, PIKACHU
+	db 33, FLAAFFY
+
+	db $ff ; end
+
+; ================
+
+	; GENTLEMAN (4)
+	db "VIRGIL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 20, PONYTA
+
+	db $ff ; end
+
+; ================
+
+	; GENTLEMAN (5)
+	db "ALFRED@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 20, NOCTOWL
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+SkierGroup:
+; ================================
+; ================
+
+	; SKIER (1)
+	db "ROXANNE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 28, JYNX
+
+	db $ff ; end
+
+; ================
+
+	; SKIER (2)
+	db "CLARISSA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 28, DEWGONG
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+TeacherGroup:
+; ================================
+; ================
+
+	; TEACHER (1)
+	db "COLETTE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 36, CLEFAIRY
+
+	db $ff ; end
+
+; ================
+
+	; TEACHER (2)
+	db "HILLARY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, AIPOM
+	db 36, CUBONE
+
+	db $ff ; end
+
+; ================
+
+	; TEACHER (3)
+	db "SHIRLEY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 35, JIGGLYPUFF
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+SabrinaGroup:
+; ================================
+; ================
+
+	; SABRINA (1)
+	db "SABRINA@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 46, ESPEON
+		db SAND_ATTACK
+		db QUICK_ATTACK
+		db SWIFT
+		db PSYCHIC_M
+
+	db 46, MR__MIME
+		db BARRIER
+		db REFLECT
+		db BATON_PASS
+		db PSYCHIC_M
+
+	db 48, ALAKAZAM
+		db RECOVER
+		db FUTURE_SIGHT
+		db PSYCHIC_M
+		db REFLECT
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+BugCatcherGroup:
+; ================================
+; ================
+
+	; BUG_CATCHER (1)
+	db "DON@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 3, CATERPIE
+	db 3, CATERPIE
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (2)
+	db "ROB@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, BEEDRILL
+	db 32, BUTTERFREE
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (3)
+	db "ED@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, BEEDRILL
+	db 30, BEEDRILL
+	db 30, BEEDRILL
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (4)
+	db "WADE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 2, CATERPIE
+	db 2, CATERPIE
+	db 3, WEEDLE
+	db 2, CATERPIE
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (5)
+	db "BENNY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 7, WEEDLE
+	db 9, KAKUNA
+	db 12, BEEDRILL
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (6)
+	db "AL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 12, CATERPIE
+	db 12, WEEDLE
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (7)
+	db "JOSH@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 13, PARAS
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (8)
+	db "ARNIE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, VENONAT
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (9)
+	db "KEN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, ARIADOS
+	db 32, PINSIR
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (10)
+	db "WADE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 9, METAPOD
+	db 9, METAPOD
+	db 10, KAKUNA
+	db 9, METAPOD
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (11)
+	db "WADE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 14, BUTTERFREE
+	db 14, BUTTERFREE
+	db 15, BEEDRILL
+	db 14, BUTTERFREE
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (12)
+	db "DOUG@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, ARIADOS
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (13)
+	db "ARNIE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 19, VENONAT
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (14)
+	db "ARNIE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 28, VENOMOTH
+		db DISABLE
+		db SUPERSONIC
+		db CONFUSION
+		db LEECH_LIFE
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (15)
+	db "WADE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 24, BUTTERFREE
+		db CONFUSION
+		db POISONPOWDER
+		db SUPERSONIC
+		db WHIRLWIND
+
+	db 24, BUTTERFREE
+		db CONFUSION
+		db STUN_SPORE
+		db SUPERSONIC
+		db WHIRLWIND
+
+	db 25, BEEDRILL
+		db FURY_ATTACK
+		db FOCUS_ENERGY
+		db TWINEEDLE
+		db RAGE
+
+	db 24, BUTTERFREE
+		db CONFUSION
+		db SLEEP_POWDER
+		db SUPERSONIC
+		db WHIRLWIND
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (16)
+	db "WADE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 30, BUTTERFREE
+		db CONFUSION
+		db POISONPOWDER
+		db SUPERSONIC
+		db GUST
+
+	db 30, BUTTERFREE
+		db CONFUSION
+		db STUN_SPORE
+		db SUPERSONIC
+		db GUST
+
+	db 32, BEEDRILL
+		db FURY_ATTACK
+		db PURSUIT
+		db TWINEEDLE
+		db DOUBLE_TEAM
+
+	db 34, BUTTERFREE
+		db PSYBEAM
+		db SLEEP_POWDER
+		db GUST
+		db WHIRLWIND
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (17)
+	db "ARNIE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 36, VENOMOTH
+		db GUST
+		db SUPERSONIC
+		db PSYBEAM
+		db LEECH_LIFE
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (18)
+	db "ARNIE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 40, VENOMOTH
+		db GUST
+		db SUPERSONIC
+		db PSYCHIC_M
+		db TOXIC
+
+	db $ff ; end
+
+; ================
+
+	; BUG_CATCHER (19)
+	db "WAYNE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 8, LEDYBA
+	db 10, PARAS
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+FisherGroup:
+; ================================
+; ================
+
+	; FISHER (1)
+	db "JUSTIN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 5, MAGIKARP
+	db 5, MAGIKARP
+	db 15, MAGIKARP
+	db 5, MAGIKARP
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (2)
+	db "RALPH@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 10, GOLDEEN
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (3)
+	db "ARNOLD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, TENTACRUEL
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (4)
+	db "KYLE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 28, SEAKING
+	db 31, POLIWHIRL
+	db 31, SEAKING
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (5)
+	db "HENRY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 8, POLIWAG
+	db 8, POLIWAG
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (6)
+	db "MARVIN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 10, MAGIKARP
+	db 10, GYARADOS
+	db 15, MAGIKARP
+	db 15, GYARADOS
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (7)
+	db "TULLY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 18, QWILFISH
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (8)
+	db "ANDRE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 27, GYARADOS
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (9)
+	db "RAYMOND@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 22, MAGIKARP
+	db 22, MAGIKARP
+	db 22, MAGIKARP
+	db 22, MAGIKARP
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (10)
+	db "WILTON@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 23, GOLDEEN
+	db 23, GOLDEEN
+	db 25, SEAKING
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (11)
+	db "EDGAR@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 25, REMORAID
+		db LOCK_ON
+		db PSYBEAM
+		db AURORA_BEAM
+		db BUBBLEBEAM
+
+	db 25, REMORAID
+		db LOCK_ON
+		db PSYBEAM
+		db AURORA_BEAM
+		db BUBBLEBEAM
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (12)
+	db "JONAH@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 25, SHELLDER
+	db 29, OCTILLERY
+	db 25, REMORAID
+	db 29, CLOYSTER
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (13)
+	db "MARTIN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, REMORAID
+	db 32, REMORAID
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (14)
+	db "STEPHEN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 25, MAGIKARP
+	db 25, MAGIKARP
+	db 31, QWILFISH
+	db 31, TENTACRUEL
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (15)
+	db "BARNEY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, GYARADOS
+	db 30, GYARADOS
+	db 30, GYARADOS
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (16)
+	db "RALPH@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, GOLDEEN
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (17)
+	db "RALPH@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, QWILFISH
+	db 19, GOLDEEN
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (18)
+	db "TULLY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 23, QWILFISH
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (19)
+	db "TULLY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, GOLDEEN
+	db 32, GOLDEEN
+	db 32, QWILFISH
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (20)
+	db "WILTON@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 29, GOLDEEN
+	db 29, GOLDEEN
+	db 32, SEAKING
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (21)
+	db "SCOTT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, QWILFISH
+	db 30, QWILFISH
+	db 34, SEAKING
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (22)
+	db "WILTON@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 34, SEAKING
+		db SUPERSONIC
+		db WATERFALL
+		db FLAIL
+		db FURY_ATTACK
+
+	db 34, SEAKING
+		db SUPERSONIC
+		db WATERFALL
+		db FLAIL
+		db FURY_ATTACK
+
+	db 38, REMORAID
+		db PSYBEAM
+		db AURORA_BEAM
+		db BUBBLEBEAM
+		db HYPER_BEAM
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (23)
+	db "RALPH@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, QWILFISH
+	db 32, GOLDEEN
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (24)
+	db "RALPH@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 35, QWILFISH
+		db TOXIC
+		db MINIMIZE
+		db SURF
+		db PIN_MISSILE
+
+	db 39, SEAKING
+		db ENDURE
+		db FLAIL
+		db FURY_ATTACK
+		db WATERFALL
+
+	db $ff ; end
+
+; ================
+
+	; FISHER (25)
+	db "TULLY@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 34, SEAKING
+		db SUPERSONIC
+		db RAIN_DANCE
+		db WATERFALL
+		db FURY_ATTACK
+
+	db 34, SEAKING
+		db SUPERSONIC
+		db RAIN_DANCE
+		db WATERFALL
+		db FURY_ATTACK
+
+	db 37, QWILFISH
+		db ROLLOUT
+		db SURF
+		db PIN_MISSILE
+		db TAKE_DOWN
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+SwimmerMGroup:
+; ================================
+; ================
+
+	; SWIMMERM (1)
+	db "HAROLD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, REMORAID
+	db 30, SEADRA
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (2)
+	db "SIMON@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 20, TENTACOOL
+	db 20, TENTACOOL
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (3)
+	db "RANDALL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 18, SHELLDER
+	db 20, WARTORTLE
+	db 18, SHELLDER
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (4)
+	db "CHARLIE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 21, SHELLDER
+	db 19, TENTACOOL
+	db 19, TENTACRUEL
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (5)
+	db "GEORGE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 16, TENTACOOL
+	db 17, TENTACOOL
+	db 16, TENTACOOL
+	db 19, STARYU
+	db 17, TENTACOOL
+	db 19, REMORAID
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (6)
+	db "BERKE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 23, QWILFISH
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (7)
+	db "KIRK@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 20, GYARADOS
+	db 20, GYARADOS
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (8)
+	db "MATHEW@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 23, KRABBY
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (9)
+	db "HAL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 24, SEEL
+	db 25, DEWGONG
+	db 24, SEEL
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (10)
+	db "PATON@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 26, PILOSWINE
+	db 26, PILOSWINE
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (11)
+	db "DARYL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 24, SHELLDER
+	db 25, CLOYSTER
+	db 24, SHELLDER
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (12)
+	db "WALTER@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, HORSEA
+	db 15, HORSEA
+	db 20, SEADRA
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (13)
+	db "TONY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 13, STARYU
+	db 18, STARMIE
+	db 16, HORSEA
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (14)
+	db "JEROME@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 26, SEADRA
+	db 28, TENTACOOL
+	db 30, TENTACRUEL
+	db 28, GOLDEEN
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (15)
+	db "TUCKER@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, SHELLDER
+	db 34, CLOYSTER
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (16)
+	db "RICK@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 13, STARYU
+	db 18, STARMIE
+	db 16, HORSEA
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (17)
+	db "CAMERON@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, MARILL
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (18)
+	db "SETH@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 29, QUAGSIRE
+	db 29, OCTILLERY
+	db 32, QUAGSIRE
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (19)
+	db "JAMES@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 13, STARYU
+	db 18, STARMIE
+	db 16, HORSEA
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (20)
+	db "LEWIS@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 13, STARYU
+	db 18, STARMIE
+	db 16, HORSEA
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERM (21)
+	db "PARKER@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, HORSEA
+	db 32, HORSEA
+	db 35, SEADRA
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+SwimmerFGroup:
+; ================================
+; ================
+
+	; SWIMMERF (1)
+	db "ELAINE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 21, STARYU
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (2)
+	db "PAULA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 19, STARYU
+	db 19, SHELLDER
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (3)
+	db "KAYLEE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 18, GOLDEEN
+	db 20, GOLDEEN
+	db 20, SEAKING
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (4)
+	db "SUSIE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 20, PSYDUCK
+		db SCRATCH
+		db TAIL_WHIP
+		db DISABLE
+		db CONFUSION
+
+	db 22, GOLDEEN
+		db PECK
+		db TAIL_WHIP
+		db SUPERSONIC
+		db HORN_ATTACK
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (5)
+	db "DENISE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 22, SEEL
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (6)
+	db "KARA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 20, STARYU
+	db 20, STARMIE
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (7)
+	db "WENDY@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 21, HORSEA
+		db BUBBLE
+		db SMOKESCREEN
+		db LEER
+		db WATER_GUN
+
+	db 21, HORSEA
+		db DRAGON_RAGE
+		db SMOKESCREEN
+		db LEER
+		db WATER_GUN
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (8)
+	db "LISA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 28, JYNX
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (9)
+	db "JILL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 28, DEWGONG
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (10)
+	db "MARY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 20, SEAKING
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (11)
+	db "KATIE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 33, DEWGONG
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (12)
+	db "DAWN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, SEAKING
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (13)
+	db "TARA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 20, SEAKING
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (14)
+	db "NICOLE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 29, MARILL
+	db 29, MARILL
+	db 32, LAPRAS
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (15)
+	db "LORI@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, STARMIE
+	db 32, STARMIE
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (16)
+	db "JODY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 20, SEAKING
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (17)
+	db "NIKKI@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 28, SEEL
+	db 28, SEEL
+	db 28, SEEL
+	db 28, DEWGONG
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (18)
+	db "DIANA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 37, GOLDUCK
+
+	db $ff ; end
+
+; ================
+
+	; SWIMMERF (19)
+	db "BRIANA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 35, SEAKING
+	db 35, SEAKING
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+SailorGroup:
+; ================================
+; ================
+
+	; SAILOR (1)
+	db "EUGENE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, POLIWHIRL
+	db 17, RATICATE
+	db 19, KRABBY
+
+	db $ff ; end
+
+; ================
+
+	; SAILOR (2)
+	db "HUEY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 18, POLIWAG
+	db 18, POLIWHIRL
+
+	db $ff ; end
+
+; ================
+
+	; SAILOR (3)
+	db "TERRELL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 20, POLIWHIRL
+
+	db $ff ; end
+
+; ================
+
+	; SAILOR (4)
+	db "KENT@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 18, KRABBY
+		db BUBBLE
+		db LEER
+		db VICEGRIP
+		db HARDEN
+
+	db 20, KRABBY
+		db BUBBLEBEAM
+		db LEER
+		db VICEGRIP
+		db HARDEN
+
+	db $ff ; end
+
+; ================
+
+	; SAILOR (5)
+	db "ERNEST@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 18, MACHOP
+	db 18, MACHOP
+	db 18, POLIWHIRL
+
+	db $ff ; end
+
+; ================
+
+	; SAILOR (6)
+	db "JEFF@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, RATICATE
+	db 32, RATICATE
+
+	db $ff ; end
+
+; ================
+
+	; SAILOR (7)
+	db "GARRETT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, KINGLER
+
+	db $ff ; end
+
+; ================
+
+	; SAILOR (8)
+	db "KENNETH@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 28, MACHOP
+	db 28, MACHOP
+	db 28, POLIWRATH
+	db 28, MACHOP
+
+	db $ff ; end
+
+; ================
+
+	; SAILOR (9)
+	db "STANLY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 31, MACHOP
+	db 33, MACHOKE
+	db 26, PSYDUCK
+
+	db $ff ; end
+
+; ================
+
+	; SAILOR (10)
+	db "HARRY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 19, WOOPER
+
+	db $ff ; end
+
+; ================
+
+	; SAILOR (11)
+	db "HUEY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 28, POLIWHIRL
+	db 28, POLIWHIRL
+
+	db $ff ; end
+
+; ================
+
+	; SAILOR (12)
+	db "HUEY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, POLIWHIRL
+	db 34, POLIWRATH
+
+	db $ff ; end
+
+; ================
+
+	; SAILOR (13)
+	db "HUEY@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 38, POLITOED
+		db WHIRLPOOL
+		db RAIN_DANCE
+		db BODY_SLAM
+		db PERISH_SONG
+
+	db 38, POLIWRATH
+		db SURF
+		db STRENGTH
+		db ICE_PUNCH
+		db SUBMISSION
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+SuperNerdGroup:
+; ================================
+; ================
+
+	; SUPER_NERD (1)
+	db "STAN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 20, GRIMER
+
+	db $ff ; end
+
+; ================
+
+	; SUPER_NERD (2)
+	db "ERIC@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 11, GRIMER
+	db 11, GRIMER
+
+	db $ff ; end
+
+; ================
+
+	; SUPER_NERD (3)
+	db "GREGG@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 20, MAGNEMITE
+	db 20, MAGNEMITE
+	db 20, MAGNEMITE
+
+	db $ff ; end
+
+; ================
+
+	; SUPER_NERD (4)
+	db "JAY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 22, KOFFING
+	db 22, KOFFING
+
+	db $ff ; end
+
+; ================
+
+	; SUPER_NERD (5)
+	db "DAVE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 24, DITTO
+
+	db $ff ; end
+
+; ================
+
+	; SUPER_NERD (6)
+	db "SAM@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, GRIMER
+	db 34, MUK
+
+	db $ff ; end
+
+; ================
+
+	; SUPER_NERD (7)
+	db "TOM@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, MAGNEMITE
+	db 32, MAGNEMITE
+	db 32, MAGNEMITE
+
+	db $ff ; end
+
+; ================
+
+	; SUPER_NERD (8)
+	db "PAT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 36, PORYGON
+
+	db $ff ; end
+
+; ================
+
+	; SUPER_NERD (9)
+	db "SHAWN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 31, MAGNEMITE
+	db 33, MUK
+	db 31, MAGNEMITE
+
+	db $ff ; end
+
+; ================
+
+	; SUPER_NERD (10)
+	db "TERU@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 7, MAGNEMITE
+	db 11, VOLTORB
+	db 7, MAGNEMITE
+	db 9, MAGNEMITE
+
+	db $ff ; end
+
+; ================
+
+	; SUPER_NERD (11)
+	db "RUSS@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 27, MAGNEMITE
+	db 27, MAGNEMITE
+	db 27, MAGNEMITE
+
+	db $ff ; end
+
+; ================
+
+	; SUPER_NERD (12)
+	db "NORTON@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 30, PORYGON
+		db CONVERSION
+		db CONVERSION2
+		db RECOVER
+		db TRI_ATTACK
+
+	db $ff ; end
+
+; ================
+
+	; SUPER_NERD (13)
+	db "HUGH@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 39, SEADRA
+		db SMOKESCREEN
+		db TWISTER
+		db SURF
+		db WATERFALL
+
+	db $ff ; end
+
+; ================
+
+	; SUPER_NERD (14)
+	db "MARKUS@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 19, SLOWPOKE
+		db CURSE
+		db WATER_GUN
+		db GROWL
+		db STRENGTH
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+Rival2Group:
+; ================================
+; ================
+
+	; RIVAL2 (1)
+	db "?@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 41, SNEASEL
+		db QUICK_ATTACK
+		db SCREECH
+		db FAINT_ATTACK
+		db FURY_CUTTER
+
+	db 42, GOLBAT
+		db LEECH_LIFE
+		db BITE
+		db CONFUSE_RAY
+		db WING_ATTACK
+
+	db 41, MAGNETON
+		db THUNDERSHOCK
+		db SONICBOOM
+		db THUNDER_WAVE
+		db SWIFT
+
+	db 43, GENGAR
+		db MEAN_LOOK
+		db CURSE
+		db SHADOW_BALL
+		db CONFUSE_RAY
+
+	db 43, ALAKAZAM
+		db DISABLE
+		db RECOVER
+		db FUTURE_SIGHT
+		db PSYCHIC_M
+
+	db 45, MEGANIUM
+		db RAZOR_LEAF
+		db POISONPOWDER
+		db BODY_SLAM
+		db LIGHT_SCREEN
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL2 (2)
+	db "?@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 41, SNEASEL
+		db QUICK_ATTACK
+		db SCREECH
+		db FAINT_ATTACK
+		db FURY_CUTTER
+
+	db 42, GOLBAT
+		db LEECH_LIFE
+		db BITE
+		db CONFUSE_RAY
+		db WING_ATTACK
+
+	db 41, MAGNETON
+		db THUNDERSHOCK
+		db SONICBOOM
+		db THUNDER_WAVE
+		db SWIFT
+
+	db 43, GENGAR
+		db MEAN_LOOK
+		db CURSE
+		db SHADOW_BALL
+		db CONFUSE_RAY
+
+	db 43, ALAKAZAM
+		db DISABLE
+		db RECOVER
+		db FUTURE_SIGHT
+		db PSYCHIC_M
+
+	db 45, TYPHLOSION
+		db SMOKESCREEN
+		db QUICK_ATTACK
+		db FLAME_WHEEL
+		db SWIFT
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL2 (3)
+	db "?@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 41, SNEASEL
+		db QUICK_ATTACK
+		db SCREECH
+		db FAINT_ATTACK
+		db FURY_CUTTER
+
+	db 42, GOLBAT
+		db LEECH_LIFE
+		db BITE
+		db CONFUSE_RAY
+		db WING_ATTACK
+
+	db 41, MAGNETON
+		db THUNDERSHOCK
+		db SONICBOOM
+		db THUNDER_WAVE
+		db SWIFT
+
+	db 43, GENGAR
+		db MEAN_LOOK
+		db CURSE
+		db SHADOW_BALL
+		db CONFUSE_RAY
+
+	db 43, ALAKAZAM
+		db DISABLE
+		db RECOVER
+		db FUTURE_SIGHT
+		db PSYCHIC_M
+
+	db 45, FERALIGATR
+		db RAGE
+		db WATER_GUN
+		db SCARY_FACE
+		db SLASH
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL2 (4)
+	db "?@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 45, SNEASEL
+		db QUICK_ATTACK
+		db SCREECH
+		db FAINT_ATTACK
+		db FURY_CUTTER
+
+	db 48, CROBAT
+		db TOXIC
+		db BITE
+		db CONFUSE_RAY
+		db WING_ATTACK
+
+	db 45, MAGNETON
+		db THUNDER
+		db SONICBOOM
+		db THUNDER_WAVE
+		db SWIFT
+
+	db 46, GENGAR
+		db MEAN_LOOK
+		db CURSE
+		db SHADOW_BALL
+		db CONFUSE_RAY
+
+	db 46, ALAKAZAM
+		db RECOVER
+		db FUTURE_SIGHT
+		db PSYCHIC_M
+		db REFLECT
+
+	db 50, MEGANIUM
+		db GIGA_DRAIN
+		db BODY_SLAM
+		db LIGHT_SCREEN
+		db SAFEGUARD
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL2 (5)
+	db "?@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 45, SNEASEL
+		db QUICK_ATTACK
+		db SCREECH
+		db FAINT_ATTACK
+		db FURY_CUTTER
+
+	db 48, CROBAT
+		db TOXIC
+		db BITE
+		db CONFUSE_RAY
+		db WING_ATTACK
+
+	db 45, MAGNETON
+		db THUNDER
+		db SONICBOOM
+		db THUNDER_WAVE
+		db SWIFT
+
+	db 46, GENGAR
+		db MEAN_LOOK
+		db CURSE
+		db SHADOW_BALL
+		db CONFUSE_RAY
+
+	db 46, ALAKAZAM
+		db RECOVER
+		db FUTURE_SIGHT
+		db PSYCHIC_M
+		db REFLECT
+
+	db 50, TYPHLOSION
+		db SMOKESCREEN
+		db QUICK_ATTACK
+		db FIRE_BLAST
+		db SWIFT
+
+	db $ff ; end
+
+; ================
+
+	; RIVAL2 (6)
+	db "?@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 45, SNEASEL
+		db QUICK_ATTACK
+		db SCREECH
+		db FAINT_ATTACK
+		db FURY_CUTTER
+
+	db 48, CROBAT
+		db TOXIC
+		db BITE
+		db CONFUSE_RAY
+		db WING_ATTACK
+
+	db 45, MAGNETON
+		db THUNDER
+		db SONICBOOM
+		db THUNDER_WAVE
+		db SWIFT
+
+	db 46, GENGAR
+		db MEAN_LOOK
+		db CURSE
+		db SHADOW_BALL
+		db CONFUSE_RAY
+
+	db 46, ALAKAZAM
+		db RECOVER
+		db FUTURE_SIGHT
+		db PSYCHIC_M
+		db REFLECT
+
+	db 50, FERALIGATR
+		db SURF
+		db RAIN_DANCE
+		db SLASH
+		db SCREECH
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+GuitaristGroup:
+; ================================
+; ================
+
+	; GUITARIST (1)
+	db "CLYDE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, ELECTABUZZ
+
+	db $ff ; end
+
+; ================
+
+	; GUITARIST (2)
+	db "VINCENT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 27, MAGNEMITE
+	db 33, VOLTORB
+	db 32, MAGNEMITE
+	db 32, MAGNEMITE
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+HikerGroup:
+; ================================
+; ================
+
+	; HIKER (1)
+	db "ANTHONY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 16, GEODUDE
+	db 18, MACHAMP
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (2)
+	db "RUSSELL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 4, GEODUDE
+	db 6, GEODUDE
+	db 8, GEODUDE
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (3)
+	db "PHILLIP@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 23, GEODUDE
+	db 23, GEODUDE
+	db 23, GRAVELER
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (4)
+	db "LEONARD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 23, GEODUDE
+	db 25, MACHOP
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (5)
+	db "ANTHONY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 11, GEODUDE
+	db 11, MACHOP
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (6)
+	db "BENJAMIN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 14, DIGLETT
+	db 14, GEODUDE
+	db 16, DUGTRIO
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (7)
+	db "ERIK@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 24, MACHOP
+	db 27, GRAVELER
+	db 27, MACHOP
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (8)
+	db "MICHAEL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 25, GEODUDE
+	db 25, GRAVELER
+	db 25, GOLEM
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (9)
+	db "PARRY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 35, ONIX
+	db 33, SWINUB
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (10)
+	db "TIMOTHY@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 27, DIGLETT
+		db MAGNITUDE
+		db DIG
+		db SAND_ATTACK
+		db SLASH
+
+	db 27, DUGTRIO
+		db MAGNITUDE
+		db DIG
+		db SAND_ATTACK
+		db SLASH
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (11)
+	db "BAILEY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 13, GEODUDE
+	db 13, GEODUDE
+	db 13, GEODUDE
+	db 13, GEODUDE
+	db 13, GEODUDE
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (12)
+	db "ANTHONY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 25, GRAVELER
+	db 27, GRAVELER
+	db 29, MACHOKE
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (13)
+	db "TIM@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 31, GRAVELER
+	db 31, GRAVELER
+	db 31, GRAVELER
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (14)
+	db "NOLAND@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 31, SANDSLASH
+	db 33, GOLEM
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (15)
+	db "SIDNEY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, DUGTRIO
+	db 32, ONIX
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (16)
+	db "KENNY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 27, SANDSLASH
+	db 29, GRAVELER
+	db 31, GOLEM
+	db 29, GRAVELER
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (17)
+	db "JIM@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 35, MACHAMP
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (18)
+	db "DANIEL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 11, ONIX
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (19)
+	db "PARRY@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 35, PILOSWINE
+		db EARTHQUAKE
+		db BLIZZARD
+		db REST
+		db TAKE_DOWN
+
+	db 35, DUGTRIO
+		db MAGNITUDE
+		db DIG
+		db MUD_SLAP
+		db SLASH
+
+	db 38, STEELIX
+		db DIG
+		db IRON_TAIL
+		db SANDSTORM
+		db SLAM
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (20)
+	db "PARRY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 29, ONIX
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (21)
+	db "ANTHONY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, GRAVELER
+	db 30, GRAVELER
+	db 32, MACHOKE
+
+	db $ff ; end
+
+; ================
+
+	; HIKER (22)
+	db "ANTHONY@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 34, GRAVELER
+		db MAGNITUDE
+		db SELFDESTRUCT
+		db DEFENSE_CURL
+		db ROLLOUT
+
+	db 36, GOLEM
+		db MAGNITUDE
+		db SELFDESTRUCT
+		db DEFENSE_CURL
+		db ROLLOUT
+
+	db 34, MACHOKE
+		db KARATE_CHOP
+		db VITAL_THROW
+		db HEADBUTT
+		db DIG
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+BikerGroup:
+; ================================
+; ================
+
+	; BIKER (1)
+	db "BENNY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 20, KOFFING
+	db 20, KOFFING
+	db 20, KOFFING
+
+	db $ff ; end
+
+; ================
+
+	; BIKER (2)
+	db "KAZU@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 20, KOFFING
+	db 20, KOFFING
+	db 20, KOFFING
+
+	db $ff ; end
+
+; ================
+
+	; BIKER (3)
+	db "DWAYNE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 27, KOFFING
+	db 28, KOFFING
+	db 29, KOFFING
+	db 30, KOFFING
+
+	db $ff ; end
+
+; ================
+
+	; BIKER (4)
+	db "HARRIS@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, FLAREON
+
+	db $ff ; end
+
+; ================
+
+	; BIKER (5)
+	db "ZEKE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, KOFFING
+	db 32, KOFFING
+
+	db $ff ; end
+
+; ================
+
+	; BIKER (6)
+	db "CHARLES@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, KOFFING
+	db 30, CHARMELEON
+	db 30, WEEZING
+
+	db $ff ; end
+
+; ================
+
+	; BIKER (7)
+	db "RILEY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, WEEZING
+
+	db $ff ; end
+
+; ================
+
+	; BIKER (8)
+	db "JOEL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, MAGMAR
+	db 32, MAGMAR
+
+	db $ff ; end
+
+; ================
+
+	; BIKER (9)
+	db "GLENN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 28, KOFFING
+	db 30, MAGMAR
+	db 32, WEEZING
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+BlaineGroup:
+; ================================
+; ================
+
+	; BLAINE (1)
+	db "BLAINE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 45, MAGCARGO
+		db CURSE
+		db SMOG
+		db FLAMETHROWER
+		db ROCK_SLIDE
+
+	db 45, MAGMAR
+		db THUNDERPUNCH
+		db FIRE_PUNCH
+		db SUNNY_DAY
+		db CONFUSE_RAY
+
+	db 50, RAPIDASH
+		db QUICK_ATTACK
+		db FIRE_SPIN
+		db FURY_ATTACK
+		db FIRE_BLAST
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+BurglarGroup:
+; ================================
+; ================
+
+	; BURGLAR (1)
+	db "DUNCAN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 23, KOFFING
+	db 25, MAGMAR
+	db 23, KOFFING
+
+	db $ff ; end
+
+; ================
+
+	; BURGLAR (2)
+	db "EDDIE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 26, GROWLITHE
+		db ROAR
+		db EMBER
+		db LEER
+		db TAKE_DOWN
+
+	db 24, KOFFING
+		db TACKLE
+		db SMOG
+		db SLUDGE
+		db SMOKESCREEN
+
+	db $ff ; end
+
+; ================
+
+	; BURGLAR (3)
+	db "COREY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 25, KOFFING
+	db 28, MAGMAR
+	db 25, KOFFING
+	db 30, KOFFING
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+FirebreatherGroup:
+; ================================
+; ================
+
+	; FIREBREATHER (1)
+	db "OTIS@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 29, MAGMAR
+	db 32, WEEZING
+	db 29, MAGMAR
+
+	db $ff ; end
+
+; ================
+
+	; FIREBREATHER (2)
+	db "DICK@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, CHARMELEON
+
+	db $ff ; end
+
+; ================
+
+	; FIREBREATHER (3)
+	db "NED@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, KOFFING
+	db 16, GROWLITHE
+	db 15, KOFFING
+
+	db $ff ; end
+
+; ================
+
+	; FIREBREATHER (4)
+	db "BURT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, KOFFING
+	db 32, SLUGMA
+
+	db $ff ; end
+
+; ================
+
+	; FIREBREATHER (5)
+	db "BILL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 6, KOFFING
+	db 6, KOFFING
+
+	db $ff ; end
+
+; ================
+
+	; FIREBREATHER (6)
+	db "WALT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 11, MAGMAR
+	db 13, MAGMAR
+
+	db $ff ; end
+
+; ================
+
+	; FIREBREATHER (7)
+	db "RAY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 9, VULPIX
+
+	db $ff ; end
+
+; ================
+
+	; FIREBREATHER (8)
+	db "LYLE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 28, KOFFING
+	db 31, FLAREON
+	db 28, KOFFING
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+JugglerGroup:
+; ================================
+; ================
+
+	; JUGGLER (1)
+	db "IRWIN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 2, VOLTORB
+	db 6, VOLTORB
+	db 10, VOLTORB
+	db 14, VOLTORB
+
+	db $ff ; end
+
+; ================
+
+	; JUGGLER (2)
+	db "FRITZ@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 29, MR__MIME
+	db 29, MAGMAR
+	db 29, MACHOKE
+
+	db $ff ; end
+
+; ================
+
+	; JUGGLER (3)
+	db "HORTON@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 33, ELECTRODE
+	db 33, ELECTRODE
+	db 33, ELECTRODE
+	db 33, ELECTRODE
+
+	db $ff ; end
+
+; ================
+
+	; JUGGLER (4)
+	db "IRWIN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 6, VOLTORB
+	db 10, VOLTORB
+	db 14, VOLTORB
+	db 18, VOLTORB
+
+	db $ff ; end
+
+; ================
+
+	; JUGGLER (5)
+	db "IRWIN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 18, VOLTORB
+	db 22, VOLTORB
+	db 26, VOLTORB
+	db 30, ELECTRODE
+
+	db $ff ; end
+
+; ================
+
+	; JUGGLER (6)
+	db "IRWIN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 18, VOLTORB
+	db 22, VOLTORB
+	db 26, VOLTORB
+	db 30, ELECTRODE
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+BlackbeltGroup:
+; ================================
+; ================
+
+	; BLACKBELT_T (1)
+	db "KENJI@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 27, ONIX
+	db 30, HITMONLEE
+	db 27, ONIX
+	db 32, MACHOKE
+
+	db $ff ; end
+
+; ================
+
+	; BLACKBELT_T (2)
+	db "YOSHI@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 27, HITMONLEE
+		db DOUBLE_KICK
+		db MEDITATE
+		db JUMP_KICK
+		db FOCUS_ENERGY
+
+	db $ff ; end
+
+; ================
+
+	; BLACKBELT_T (3)
+	db "KENJI@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 33, ONIX
+		db BIND
+		db ROCK_THROW
+		db TOXIC
+		db DIG
+
+	db 38, MACHAMP
+		db HEADBUTT
+		db SWAGGER
+		db THUNDERPUNCH
+		db VITAL_THROW
+
+	db 33, STEELIX
+		db EARTHQUAKE
+		db ROCK_THROW
+		db IRON_TAIL
+		db SANDSTORM
+
+	db 36, HITMONLEE
+		db DOUBLE_TEAM
+		db HI_JUMP_KICK
+		db MUD_SLAP
+		db SWIFT
+
+	db $ff ; end
+
+; ================
+
+	; BLACKBELT_T (4)
+	db "LAO@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 27, HITMONCHAN
+		db COMET_PUNCH
+		db THUNDERPUNCH
+		db ICE_PUNCH
+		db FIRE_PUNCH
+
+	db $ff ; end
+
+; ================
+
+	; BLACKBELT_T (5)
+	db "NOB@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 25, MACHOP
+		db LEER
+		db FOCUS_ENERGY
+		db KARATE_CHOP
+		db SEISMIC_TOSS
+
+	db 25, MACHOKE
+		db LEER
+		db KARATE_CHOP
+		db SEISMIC_TOSS
+		db ROCK_SLIDE
+
+	db $ff ; end
+
+; ================
+
+	; BLACKBELT_T (6)
+	db "KIYO@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, HITMONLEE
+	db 34, HITMONCHAN
+
+	db $ff ; end
+
+; ================
+
+	; BLACKBELT_T (7)
+	db "LUNG@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 23, MANKEY
+	db 23, MANKEY
+	db 25, PRIMEAPE
+
+	db $ff ; end
+
+; ================
+
+	; BLACKBELT_T (8)
+	db "KENJI@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 28, MACHOKE
+
+	db $ff ; end
+
+; ================
+
+	; BLACKBELT_T (9)
+	db "WAI@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, MACHOKE
+	db 32, MACHOKE
+	db 34, MACHOKE
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+ExecutiveMGroup:
+; ================================
+; ================
+
+	; EXECUTIVEM (1)
+	db "EXECUTIVE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 33, HOUNDOUR
+		db EMBER
+		db ROAR
+		db BITE
+		db FAINT_ATTACK
+
+	db 33, KOFFING
+		db TACKLE
+		db SLUDGE
+		db SMOKESCREEN
+		db HAZE
+
+	db 35, HOUNDOOM
+		db EMBER
+		db SMOG
+		db BITE
+		db FAINT_ATTACK
+
+	db $ff ; end
+
+; ================
+
+	; EXECUTIVEM (2)
+	db "EXECUTIVE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 36, GOLBAT
+		db LEECH_LIFE
+		db BITE
+		db CONFUSE_RAY
+		db WING_ATTACK
+
+	db $ff ; end
+
+; ================
+
+	; EXECUTIVEM (3)
+	db "EXECUTIVE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 30, KOFFING
+		db TACKLE
+		db SELFDESTRUCT
+		db SLUDGE
+		db SMOKESCREEN
+
+	db 30, KOFFING
+		db TACKLE
+		db SELFDESTRUCT
+		db SLUDGE
+		db SMOKESCREEN
+
+	db 30, KOFFING
+		db TACKLE
+		db SELFDESTRUCT
+		db SLUDGE
+		db SMOKESCREEN
+
+	db 32, WEEZING
+		db TACKLE
+		db EXPLOSION
+		db SLUDGE
+		db SMOKESCREEN
+
+	db 30, KOFFING
+		db TACKLE
+		db SELFDESTRUCT
+		db SLUDGE
+		db SMOKESCREEN
+
+	db 30, KOFFING
+		db TACKLE
+		db SMOG
+		db SLUDGE
+		db SMOKESCREEN
+
+	db $ff ; end
+
+; ================
+
+	; EXECUTIVEM (4)
+	db "EXECUTIVE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 22, ZUBAT
+	db 24, RATICATE
+	db 22, KOFFING
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+PsychicGroup:
+; ================================
+; ================
+
+	; PSYCHIC_T (1)
+	db "NATHAN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 26, GIRAFARIG
+
+	db $ff ; end
+
+; ================
+
+	; PSYCHIC_T (2)
+	db "FRANKLIN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 37, KADABRA
+
+	db $ff ; end
+
+; ================
+
+	; PSYCHIC_T (3)
+	db "HERMAN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, EXEGGCUTE
+	db 30, EXEGGCUTE
+	db 30, EXEGGUTOR
+
+	db $ff ; end
+
+; ================
+
+	; PSYCHIC_T (4)
+	db "FIDEL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, XATU
+
+	db $ff ; end
+
+; ================
+
+	; PSYCHIC_T (5)
+	db "GREG@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 17, DROWZEE
+		db HYPNOSIS
+		db DISABLE
+		db DREAM_EATER
+		db 0
+
+	db $ff ; end
+
+; ================
+
+	; PSYCHIC_T (6)
+	db "NORMAN@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 17, SLOWPOKE
+		db TACKLE
+		db GROWL
+		db WATER_GUN
+		db 0
+
+	db 20, SLOWPOKE
+		db CURSE
+		db BODY_SLAM
+		db WATER_GUN
+		db CONFUSION
+
+	db $ff ; end
+
+; ================
+
+	; PSYCHIC_T (7)
+	db "MARK@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 13, ABRA
+		db TELEPORT
+		db FLASH
+		db 0
+		db 0
+
+	db 13, ABRA
+		db TELEPORT
+		db FLASH
+		db 0
+		db 0
+
+	db 15, KADABRA
+		db TELEPORT
+		db KINESIS
+		db CONFUSION
+		db 0
+
+	db $ff ; end
+
+; ================
+
+	; PSYCHIC_T (8)
+	db "PHIL@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 24, NATU
+		db LEER
+		db NIGHT_SHADE
+		db FUTURE_SIGHT
+		db CONFUSE_RAY
+
+	db 26, KADABRA
+		db DISABLE
+		db PSYBEAM
+		db RECOVER
+		db FUTURE_SIGHT
+
+	db $ff ; end
+
+; ================
+
+	; PSYCHIC_T (9)
+	db "RICHARD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 36, ESPEON
+
+	db $ff ; end
+
+; ================
+
+	; PSYCHIC_T (10)
+	db "GILBERT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, STARMIE
+	db 30, EXEGGCUTE
+	db 34, GIRAFARIG
+
+	db $ff ; end
+
+; ================
+
+	; PSYCHIC_T (11)
+	db "JARED@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, MR__MIME
+	db 32, EXEGGCUTE
+	db 35, EXEGGCUTE
+
+	db $ff ; end
+
+; ================
+
+	; PSYCHIC_T (12)
+	db "RODNEY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 29, DROWZEE
+	db 33, HYPNO
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+PicnickerGroup:
+; ================================
+; ================
+
+	; PICNICKER (1)
+	db "LIZ@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 9, NIDORAN_F
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (2)
+	db "GINA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 9, HOPPIP
+	db 9, HOPPIP
+	db 12, BULBASAUR
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (3)
+	db "BROOKE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 16, PIKACHU
+		db THUNDERSHOCK
+		db GROWL
+		db QUICK_ATTACK
+		db DOUBLE_TEAM
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (4)
+	db "KIM@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, VULPIX
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (5)
+	db "CINDY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 36, NIDOQUEEN
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (6)
+	db "HOPE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, FLAAFFY
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (7)
+	db "SHARON@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 31, FURRET
+	db 33, RAPIDASH
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (8)
+	db "DEBRA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 33, SEAKING
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (9)
+	db "GINA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 14, HOPPIP
+	db 14, HOPPIP
+	db 17, IVYSAUR
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (10)
+	db "ERIN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 16, PONYTA
+	db 16, PONYTA
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (11)
+	db "LIZ@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, WEEPINBELL
+	db 15, NIDORINA
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (12)
+	db "LIZ@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 19, WEEPINBELL
+	db 19, NIDORINO
+	db 21, NIDOQUEEN
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (13)
+	db "HEIDI@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, SKIPLOOM
+	db 32, SKIPLOOM
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (14)
+	db "EDNA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, NIDORINA
+	db 34, RAICHU
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (15)
+	db "GINA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 26, SKIPLOOM
+	db 26, SKIPLOOM
+	db 29, IVYSAUR
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (16)
+	db "TIFFANY@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 31, CLEFAIRY
+		db ENCORE
+		db SING
+		db DOUBLESLAP
+		db MINIMIZE
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (17)
+	db "TIFFANY@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 37, CLEFAIRY
+		db ENCORE
+		db DOUBLESLAP
+		db MINIMIZE
+		db METRONOME
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (18)
+	db "ERIN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, PONYTA
+	db 32, PONYTA
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (19)
+	db "TANYA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 37, EXEGGUTOR
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (20)
+	db "TIFFANY@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 20, CLEFAIRY
+		db ENCORE
+		db SING
+		db DOUBLESLAP
+		db MINIMIZE
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (21)
+	db "ERIN@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 36, PONYTA
+		db DOUBLE_TEAM
+		db STOMP
+		db FIRE_SPIN
+		db SUNNY_DAY
+
+	db 34, RAICHU
+		db SWIFT
+		db MUD_SLAP
+		db QUICK_ATTACK
+		db THUNDERBOLT
+
+	db 36, PONYTA
+		db DOUBLE_TEAM
+		db STOMP
+		db FIRE_SPIN
+		db SUNNY_DAY
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (22)
+	db "LIZ@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 24, WEEPINBELL
+	db 26, NIDORINO
+	db 26, NIDOQUEEN
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (23)
+	db "LIZ@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 30, WEEPINBELL
+		db SLEEP_POWDER
+		db POISONPOWDER
+		db STUN_SPORE
+		db SLUDGE_BOMB
+
+	db 32, NIDOKING
+		db EARTHQUAKE
+		db DOUBLE_KICK
+		db POISON_STING
+		db IRON_TAIL
+
+	db 32, NIDOQUEEN
+		db EARTHQUAKE
+		db DOUBLE_KICK
+		db TAIL_WHIP
+		db BODY_SLAM
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (24)
+	db "GINA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, SKIPLOOM
+	db 30, SKIPLOOM
+	db 32, IVYSAUR
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (25)
+	db "GINA@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 33, JUMPLUFF
+		db STUN_SPORE
+		db SUNNY_DAY
+		db LEECH_SEED
+		db COTTON_SPORE
+
+	db 33, JUMPLUFF
+		db SUNNY_DAY
+		db SLEEP_POWDER
+		db LEECH_SEED
+		db COTTON_SPORE
+
+	db 38, VENUSAUR
+		db SOLARBEAM
+		db RAZOR_LEAF
+		db HEADBUTT
+		db MUD_SLAP
+
+	db $ff ; end
+
+; ================
+
+	; PICNICKER (26)
+	db "TIFFANY@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 43, CLEFAIRY
+		db METRONOME
+		db ENCORE
+		db MOONLIGHT
+		db MINIMIZE
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+CamperGroup:
+; ================================
+; ================
+
+	; CAMPER (1)
+	db "ROLAND@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 9, NIDORAN_M
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (2)
+	db "TODD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 14, PSYDUCK
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (3)
+	db "IVAN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 10, DIGLETT
+	db 10, ZUBAT
+	db 14, DIGLETT
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (4)
+	db "ELLIOT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 13, SANDSHREW
+	db 15, MARILL
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (5)
+	db "BARRY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 36, NIDOKING
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (6)
+	db "LLOYD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, NIDOKING
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (7)
+	db "DEAN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 33, GOLDUCK
+	db 31, SANDSLASH
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (8)
+	db "SID@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, DUGTRIO
+	db 29, PRIMEAPE
+	db 29, POLIWRATH
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (9)
+	db "HARVEY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, NIDORINO
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (10)
+	db "DALE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 15, NIDORINO
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (11)
+	db "TED@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, MANKEY
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (12)
+	db "TODD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, GEODUDE
+	db 17, GEODUDE
+	db 23, PSYDUCK
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (13)
+	db "TODD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 23, GEODUDE
+	db 23, GEODUDE
+	db 26, PSYDUCK
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (14)
+	db "THOMAS@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 33, GRAVELER
+	db 36, GRAVELER
+	db 40, GOLBAT
+	db 42, GOLDUCK
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (15)
+	db "LEROY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 33, GRAVELER
+	db 36, GRAVELER
+	db 40, GOLBAT
+	db 42, GOLDUCK
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (16)
+	db "DAVID@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 33, GRAVELER
+	db 36, GRAVELER
+	db 40, GOLBAT
+	db 42, GOLDUCK
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (17)
+	db "JOHN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 33, GRAVELER
+	db 36, GRAVELER
+	db 40, GOLBAT
+	db 42, GOLDUCK
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (18)
+	db "JERRY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 37, SANDSLASH
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (19)
+	db "SPENCER@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, SANDSHREW
+	db 17, SANDSLASH
+	db 19, ZUBAT
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (20)
+	db "TODD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, GRAVELER
+	db 30, GRAVELER
+	db 30, SLUGMA
+	db 32, PSYDUCK
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (21)
+	db "TODD@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 33, GRAVELER
+		db SELFDESTRUCT
+		db ROCK_THROW
+		db HARDEN
+		db MAGNITUDE
+
+	db 33, GRAVELER
+		db SELFDESTRUCT
+		db ROCK_THROW
+		db HARDEN
+		db MAGNITUDE
+
+	db 36, MAGCARGO
+		db ROCK_THROW
+		db HARDEN
+		db AMNESIA
+		db FLAMETHROWER
+
+	db 34, GOLDUCK
+		db DISABLE
+		db PSYCHIC_M
+		db SURF
+		db PSYCH_UP
+
+	db $ff ; end
+
+; ================
+
+	; CAMPER (22)
+	db "QUENTIN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 30, FEAROW
+	db 30, PRIMEAPE
+	db 30, TAUROS
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+ExecutiveFGroup:
+; ================================
+; ================
+
+	; EXECUTIVEF (1)
+	db "EXECUTIVE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 32, ARBOK
+		db WRAP
+		db POISON_STING
+		db BITE
+		db GLARE
+
+	db 32, VILEPLUME
+		db ABSORB
+		db SWEET_SCENT
+		db SLEEP_POWDER
+		db ACID
+
+	db 32, MURKROW
+		db PECK
+		db PURSUIT
+		db HAZE
+		db NIGHT_SHADE
+
+	db $ff ; end
+
+; ================
+
+	; EXECUTIVEF (2)
+	db "EXECUTIVE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 23, ARBOK
+		db WRAP
+		db LEER
+		db POISON_STING
+		db BITE
+
+	db 23, GLOOM
+		db ABSORB
+		db SWEET_SCENT
+		db SLEEP_POWDER
+		db ACID
+
+	db 25, MURKROW
+		db PECK
+		db PURSUIT
+		db HAZE
+		db 0
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+SageGroup:
+; ================================
+; ================
+
+	; SAGE (1)
+	db "CHOW@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 3, BELLSPROUT
+	db 3, BELLSPROUT
+	db 3, BELLSPROUT
+
+	db $ff ; end
+
+; ================
+
+	; SAGE (2)
+	db "NICO@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 3, BELLSPROUT
+	db 3, BELLSPROUT
+	db 3, BELLSPROUT
+
+	db $ff ; end
+
+; ================
+
+	; SAGE (3)
+	db "JIN@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 6, BELLSPROUT
+
+	db $ff ; end
+
+; ================
+
+	; SAGE (4)
+	db "TROY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 7, BELLSPROUT
+	db 7, HOOTHOOT
+
+	db $ff ; end
+
+; ================
+
+	; SAGE (5)
+	db "JEFFREY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 22, HAUNTER
+
+	db $ff ; end
+
+; ================
+
+	; SAGE (6)
+	db "PING@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 16, GASTLY
+	db 16, GASTLY
+	db 16, GASTLY
+	db 16, GASTLY
+	db 16, GASTLY
+
+	db $ff ; end
+
+; ================
+
+	; SAGE (7)
+	db "EDMOND@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 3, BELLSPROUT
+	db 3, BELLSPROUT
+	db 3, BELLSPROUT
+
+	db $ff ; end
+
+; ================
+
+	; SAGE (8)
+	db "NEAL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 6, BELLSPROUT
+
+	db $ff ; end
+
+; ================
+
+	; SAGE (9)
+	db "LI@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 7, BELLSPROUT
+	db 7, BELLSPROUT
+	db 10, HOOTHOOT
+
+	db $ff ; end
+
+; ================
+
+	; SAGE (10)
+	db "GAKU@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, NOCTOWL
+	db 32, FLAREON
+
+	db $ff ; end
+
+; ================
+
+	; SAGE (11)
+	db "MASA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, NOCTOWL
+	db 32, JOLTEON
+
+	db $ff ; end
+
+; ================
+
+	; SAGE (12)
+	db "KOJI@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 32, NOCTOWL
+	db 32, VAPOREON
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+MediumGroup:
+; ================================
+; ================
+
+	; MEDIUM (1)
+	db "MARTHA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 18, GASTLY
+	db 20, HAUNTER
+	db 20, GASTLY
+
+	db $ff ; end
+
+; ================
+
+	; MEDIUM (2)
+	db "GRACE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 20, HAUNTER
+	db 20, HAUNTER
+
+	db $ff ; end
+
+; ================
+
+	; MEDIUM (3)
+	db "BETHANY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 25, HAUNTER
+
+	db $ff ; end
+
+; ================
+
+	; MEDIUM (4)
+	db "MARGRET@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 25, HAUNTER
+
+	db $ff ; end
+
+; ================
+
+	; MEDIUM (5)
+	db "ETHEL@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 25, HAUNTER
+
+	db $ff ; end
+
+; ================
+
+	; MEDIUM (6)
+	db "REBECCA@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 35, DROWZEE
+	db 35, HYPNO
+
+	db $ff ; end
+
+; ================
+
+	; MEDIUM (7)
+	db "DORIS@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 34, SLOWPOKE
+	db 36, SLOWBRO
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+BoarderGroup:
+; ================================
+; ================
+
+	; BOARDER (1)
+	db "RONALD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 24, SEEL
+	db 25, DEWGONG
+	db 24, SEEL
+
+	db $ff ; end
+
+; ================
+
+	; BOARDER (2)
+	db "BRAD@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 26, SWINUB
+	db 26, SWINUB
+
+	db $ff ; end
+
+; ================
+
+	; BOARDER (3)
+	db "DOUGLAS@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 24, SHELLDER
+	db 25, CLOYSTER
+	db 24, SHELLDER
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+PokefanMGroup:
+; ================================
+; ================
+
+	; POKEFANM (1)
+	db "WILLIAM@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 14, RAICHU, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANM (2)
+	db "DEREK@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 17, PIKACHU, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANM (3)
+	db "ROBERT@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 33, QUAGSIRE, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANM (4)
+	db "JOSHUA@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 23, PIKACHU, BERRY
+	db 23, PIKACHU, BERRY
+	db 23, PIKACHU, BERRY
+	db 23, PIKACHU, BERRY
+	db 23, PIKACHU, BERRY
+	db 23, PIKACHU, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANM (5)
+	db "CARTER@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 29, BULBASAUR, BERRY
+	db 29, CHARMANDER, BERRY
+	db 29, SQUIRTLE, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANM (6)
+	db "TREVOR@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 33, PSYDUCK, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANM (7)
+	db "BRANDON@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 13, SNUBBULL, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANM (8)
+	db "JEREMY@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 28, MEOWTH, BERRY
+	db 28, MEOWTH, BERRY
+	db 28, MEOWTH, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANM (9)
+	db "COLIN@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 32, DELIBIRD, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANM (10)
+	db "DEREK@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 19, PIKACHU, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANM (11)
+	db "DEREK@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 36, PIKACHU, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANM (12)
+	db "ALEX@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 29, NIDOKING, BERRY
+	db 29, SLOWKING, BERRY
+	db 29, SEAKING, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANM (13)
+	db "REX@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 35, PHANPY, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANM (14)
+	db "ALLAN@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 35, TEDDIURSA, BERRY
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+KimonoGirlGroup:
+; ================================
+; ================
+
+	; KIMONO_GIRL (1)
+	db "NAOKO@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 20, SKIPLOOM
+	db 20, VULPIX
+	db 18, SKIPLOOM
+
+	db $ff ; end
+
+; ================
+
+	; KIMONO_GIRL (2)
+	db "NAOKO@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, FLAREON
+
+	db $ff ; end
+
+; ================
+
+	; KIMONO_GIRL (3)
+	db "SAYO@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, ESPEON
+
+	db $ff ; end
+
+; ================
+
+	; KIMONO_GIRL (4)
+	db "ZUKI@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, UMBREON
+
+	db $ff ; end
+
+; ================
+
+	; KIMONO_GIRL (5)
+	db "KUNI@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, VAPOREON
+
+	db $ff ; end
+
+; ================
+
+	; KIMONO_GIRL (6)
+	db "MIKI@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, JOLTEON
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+TwinsGroup:
+; ================================
+; ================
+
+	; TWINS (1)
+	db "AMY & MAY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 10, SPINARAK
+	db 10, LEDYBA
+
+	db $ff ; end
+
+; ================
+
+	; TWINS (2)
+	db "ANN & ANNE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 16, CLEFAIRY
+		db GROWL
+		db ENCORE
+		db DOUBLESLAP
+		db METRONOME
+
+	db 16, JIGGLYPUFF
+		db SING
+		db DEFENSE_CURL
+		db POUND
+		db DISABLE
+
+	db $ff ; end
+
+; ================
+
+	; TWINS (3)
+	db "ANN & ANNE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 16, JIGGLYPUFF
+		db SING
+		db DEFENSE_CURL
+		db POUND
+		db DISABLE
+
+	db 16, CLEFAIRY
+		db GROWL
+		db ENCORE
+		db DOUBLESLAP
+		db METRONOME
+
+	db $ff ; end
+
+; ================
+
+	; TWINS (4)
+	db "AMY & MAY@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 10, LEDYBA
+	db 10, SPINARAK
+
+	db $ff ; end
+
+; ================
+
+	; TWINS (5)
+	db "JO & ZOE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 35, VICTREEBEL
+	db 35, VILEPLUME
+
+	db $ff ; end
+
+; ================
+
+	; TWINS (6)
+	db "JO & ZOE@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 35, VILEPLUME
+	db 35, VICTREEBEL
+
+	db $ff ; end
+
+; ================
+
+	; TWINS (7)
+	db "MEG & PEG@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 31, TEDDIURSA
+	db 31, PHANPY
+
+	db $ff ; end
+
+; ================
+
+	; TWINS (8)
+	db "MEG & PEG@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 31, PHANPY
+	db 31, TEDDIURSA
+
+	db $ff ; end
+
+; ================
+
+	; TWINS (9)
+	db "LEA & PIA@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 35, DRATINI
+		db THUNDER_WAVE
+		db TWISTER
+		db FLAMETHROWER
+		db HEADBUTT
+
+	db 35, DRATINI
+		db THUNDER_WAVE
+		db TWISTER
+		db ICE_BEAM
+		db HEADBUTT
+
+	db $ff ; end
+
+; ================
+
+	; TWINS (10)
+	db "LEA & PIA@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 38, DRATINI
+		db THUNDER_WAVE
+		db TWISTER
+		db ICE_BEAM
+		db HEADBUTT
+
+	db 38, DRATINI
+		db THUNDER_WAVE
+		db TWISTER
+		db FLAMETHROWER
+		db HEADBUTT
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+PokefanFGroup:
+; ================================
+; ================
+
+	; POKEFANF (1)
+	db "BEVERLY@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 14, SNUBBULL, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANF (2)
+	db "RUTH@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 17, PIKACHU, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANF (3)
+	db "BEVERLY@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 18, SNUBBULL, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANF (4)
+	db "BEVERLY@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 30, GRANBULL, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANF (5)
+	db "GEORGIA@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 23, SENTRET, BERRY
+	db 23, SENTRET, BERRY
+	db 23, SENTRET, BERRY
+	db 28, FURRET, BERRY
+	db 23, SENTRET, BERRY
+
+	db $ff ; end
+
+; ================
+
+	; POKEFANF (6)
+	db "JAIME@"
+	db TRAINERTYPE_ITEM
+
+	; party
+	db 16, MEOWTH, BERRY
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+RedGroup:
+; ================================
+; ================
+
+	; RED (1)
+	db "RED@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 81, PIKACHU
+		db CHARM
+		db QUICK_ATTACK
+		db THUNDERBOLT
+		db THUNDER
+
+	db 73, ESPEON
+		db MUD_SLAP
+		db REFLECT
+		db SWIFT
+		db PSYCHIC_M
+
+	db 75, SNORLAX
+		db AMNESIA
+		db SNORE
+		db REST
+		db BODY_SLAM
+
+	db 77, VENUSAUR
+		db SUNNY_DAY
+		db GIGA_DRAIN
+		db SYNTHESIS
+		db SOLARBEAM
+
+	db 77, CHARIZARD
+		db FLAMETHROWER
+		db WING_ATTACK
+		db SLASH
+		db FIRE_SPIN
+
+	db 77, BLASTOISE
+		db RAIN_DANCE
+		db SURF
+		db BLIZZARD
+		db WHIRLPOOL
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+BlueGroup:
+; ================================
+; ================
+
+	; BLUE (1)
+	db "BLUE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 56, PIDGEOT
+		db QUICK_ATTACK
+		db WHIRLWIND
+		db WING_ATTACK
+		db MIRROR_MOVE
+
+	db 54, ALAKAZAM
+		db DISABLE
+		db RECOVER
+		db PSYCHIC_M
+		db REFLECT
+
+	db 56, RHYDON
+		db FURY_ATTACK
+		db SANDSTORM
+		db ROCK_SLIDE
+		db EARTHQUAKE
+
+	db 58, GYARADOS
+		db TWISTER
+		db HYDRO_PUMP
+		db RAIN_DANCE
+		db HYPER_BEAM
+
+	db 58, EXEGGUTOR
+		db SUNNY_DAY
+		db LEECH_SEED
+		db EGG_BOMB
+		db SOLARBEAM
+
+	db 58, ARCANINE
+		db ROAR
+		db SWIFT
+		db FLAMETHROWER
+		db EXTREMESPEED
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+OfficerGroup:
+; ================================
+; ================
+
+	; OFFICER (1)
+	db "KEITH@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 17, GROWLITHE
+
+	db $ff ; end
+
+; ================
+
+	; OFFICER (2)
+	db "DIRK@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 14, GROWLITHE
+	db 14, GROWLITHE
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+GruntFGroup:
+; ================================
+; ================
+
+	; GRUNTF (1)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 9, ZUBAT
+	db 11, EKANS
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTF (2)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 26, ARBOK
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTF (3)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 25, GLOOM
+	db 25, GLOOM
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTF (4)
+	db "GRUNT@"
+	db TRAINERTYPE_NORMAL
+
+	; party
+	db 21, EKANS
+	db 23, ODDISH
+	db 21, EKANS
+	db 24, GLOOM
+
+	db $ff ; end
+
+; ================
+
+	; GRUNTF (5)
+	db "GRUNT@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 18, EKANS
+		db WRAP
+		db LEER
+		db POISON_STING
+		db BITE
+
+	db 18, GLOOM
+		db ABSORB
+		db SWEET_SCENT
+		db STUN_SPORE
+		db SLEEP_POWDER
+
+	db $ff ; end
+
+; ================
+; ================================
+
+
+MysticalmanGroup:
+; ================================
+; ================
+
+	; MYSTICALMAN (1)
+	db "EUSINE@"
+	db TRAINERTYPE_MOVES
+
+	; party
+
+	db 23, DROWZEE
+		db DREAM_EATER
+		db HYPNOSIS
+		db DISABLE
+		db CONFUSION
+
+	db 23, HAUNTER
+		db LICK
+		db HYPNOSIS
+		db MEAN_LOOK
+		db CURSE
+
+	db 25, ELECTRODE
+		db SCREECH
+		db SONICBOOM
+		db THUNDER
+		db ROLLOUT
+
+	db $ff ; end
+
+; ================
+; ================================
--- /dev/null
+++ b/data/trainers/party_pointers.asm
@@ -1,0 +1,70 @@
+; Each trainer class has its own group. See trainers.asm.
+
+TrainerGroups: ; 0x39999
+	dw FalknerGroup
+	dw WhitneyGroup
+	dw BugsyGroup
+	dw MortyGroup
+	dw PryceGroup
+	dw JasmineGroup
+	dw ChuckGroup
+	dw ClairGroup
+	dw Rival1Group
+	dw PokemonProfGroup
+	dw WillGroup
+	dw PKMNTrainerGroup
+	dw BrunoGroup
+	dw KarenGroup
+	dw KogaGroup
+	dw ChampionGroup
+	dw BrockGroup
+	dw MistyGroup
+	dw LtSurgeGroup
+	dw ScientistGroup
+	dw ErikaGroup
+	dw YoungsterGroup
+	dw SchoolboyGroup
+	dw BirdKeeperGroup
+	dw LassGroup
+	dw JanineGroup
+	dw CooltrainerMGroup
+	dw CooltrainerFGroup
+	dw BeautyGroup
+	dw PokemaniacGroup
+	dw GruntMGroup
+	dw GentlemanGroup
+	dw SkierGroup
+	dw TeacherGroup
+	dw SabrinaGroup
+	dw BugCatcherGroup
+	dw FisherGroup
+	dw SwimmerMGroup
+	dw SwimmerFGroup
+	dw SailorGroup
+	dw SuperNerdGroup
+	dw Rival2Group
+	dw GuitaristGroup
+	dw HikerGroup
+	dw BikerGroup
+	dw BlaineGroup
+	dw BurglarGroup
+	dw FirebreatherGroup
+	dw JugglerGroup
+	dw BlackbeltGroup
+	dw ExecutiveMGroup
+	dw PsychicGroup
+	dw PicnickerGroup
+	dw CamperGroup
+	dw ExecutiveFGroup
+	dw SageGroup
+	dw MediumGroup
+	dw BoarderGroup
+	dw PokefanMGroup
+	dw KimonoGirlGroup
+	dw TwinsGroup
+	dw PokefanFGroup
+	dw RedGroup
+	dw BlueGroup
+	dw OfficerGroup
+	dw GruntFGroup
+	dw MysticalmanGroup
--- /dev/null
+++ b/data/trainers/trainer_attributes.asm
@@ -1,0 +1,406 @@
+TrainerClassAttributes: ; 3959c
+; entries correspond to trainer classes (see constants/trainer_constants.asm)
+
+; Falkner
+	db 0, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Whitney
+	db 0, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Bugsy
+	db 0, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Morty
+	db 0, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Pryce
+	db HYPER_POTION, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Jasmine
+	db HYPER_POTION, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Chuck
+	db FULL_HEAL, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Clair
+	db FULL_HEAL, HYPER_POTION ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Rival1
+	db 0, 0 ; items
+	db 15 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Pokemon Prof
+	db 0, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_AGGRESSIVE + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Will
+	db MAX_POTION, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Cal
+	db 0, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Bruno
+	db MAX_POTION, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Karen
+	db FULL_HEAL, MAX_POTION ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Koga
+	db FULL_HEAL, FULL_RESTORE ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Champion
+	db FULL_HEAL, FULL_RESTORE ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Brock
+	db HYPER_POTION, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Misty
+	db FULL_HEAL, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Lt Surge
+	db HYPER_POTION, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Scientist
+	db 0, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Erika
+	db HYPER_POTION, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Youngster
+	db 0, 0 ; items
+	db 4 ; base reward
+	dw AI_BASIC + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Schoolboy
+	db 0, 0 ; items
+	db 8 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
+	dw CONTEXT_USE + SWITCH_OFTEN
+
+; Bird Keeper
+	db 0, 0 ; items
+	db 6 ; base reward
+	dw AI_BASIC + AI_TYPES + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Lass
+	db 0, 0 ; items
+	db 6 ; base reward
+	dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
+	dw CONTEXT_USE + SWITCH_OFTEN
+
+; Janine
+	db DIRE_HIT, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Cooltrainerm
+	db 0, 0 ; items
+	db 12 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Cooltrainerf
+	db 0, 0 ; items
+	db 12 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Beauty
+	db 0, 0 ; items
+	db 22 ; base reward
+	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Pokemaniac
+	db 0, 0 ; items
+	db 15 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_AGGRESSIVE + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Gruntm
+	db 0, 0 ; items
+	db 10 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Gentleman
+	db 0, 0 ; items
+	db 18 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_AGGRESSIVE + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Skier
+	db 0, 0 ; items
+	db 18 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Teacher
+	db 0, 0 ; items
+	db 18 ; base reward
+	dw AI_BASIC + AI_OPPORTUNIST + AI_AGGRESSIVE + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Sabrina
+	db HYPER_POTION, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Bug Catcher
+	db 0, 0 ; items
+	db 4 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Fisher
+	db 0, 0 ; items
+	db 10 ; base reward
+	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
+	dw CONTEXT_USE + SWITCH_OFTEN
+
+; Swimmerm
+	db 0, 0 ; items
+	db 2 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OFFENSIVE + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Swimmerf
+	db 0, 0 ; items
+	db 5 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Sailor
+	db 0, 0 ; items
+	db 10 ; base reward
+	dw AI_BASIC + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Super Nerd
+	db 0, 0 ; items
+	db 8 ; base reward
+	dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Rival2
+	db 0, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Guitarist
+	db 0, 0 ; items
+	db 8 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Hiker
+	db 0, 0 ; items
+	db 8 ; base reward
+	dw AI_BASIC + AI_OFFENSIVE + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Biker
+	db 0, 0 ; items
+	db 8 ; base reward
+	dw AI_BASIC + AI_TYPES + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Blaine
+	db MAX_POTION, FULL_HEAL ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Burglar
+	db 0, 0 ; items
+	db 22 ; base reward
+	dw AI_BASIC + AI_OFFENSIVE + AI_CAUTIOUS + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Firebreather
+	db 0, 0 ; items
+	db 12 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Juggler
+	db 0, 0 ; items
+	db 10 ; base reward
+	dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Blackbelt T
+	db 0, 0 ; items
+	db 6 ; base reward
+	dw AI_BASIC + AI_OFFENSIVE + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Executivem
+	db 0, 0 ; items
+	db 18 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Psychic T
+	db 0, 0 ; items
+	db 8 ; base reward
+	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Picnicker
+	db 0, 0 ; items
+	db 5 ; base reward
+	dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Camper
+	db 0, 0 ; items
+	db 5 ; base reward
+	dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Executivef
+	db 0, 0 ; items
+	db 18 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Sage
+	db 0, 0 ; items
+	db 8 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Medium
+	db 0, 0 ; items
+	db 10 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Boarder
+	db 0, 0 ; items
+	db 18 ; base reward
+	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Pokefanm
+	db 0, 0 ; items
+	db 20 ; base reward
+	dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Kimono Girl
+	db 0, 0 ; items
+	db 18 ; base reward
+	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Twins
+	db 0, 0 ; items
+	db 5 ; base reward
+	dw NO_AI
+	dw CONTEXT_USE + SWITCH_OFTEN
+
+; Pokefanf
+	db 0, 0 ; items
+	db 20 ; base reward
+	dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Red
+	db FULL_RESTORE, FULL_RESTORE ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Blue
+	db FULL_RESTORE, FULL_RESTORE ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Officer
+	db 0, 0 ; items
+	db 10 ; base reward
+	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Gruntf
+	db 0, 0 ; items
+	db 10 ; base reward
+	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Mysticalman
+	db 0, 0 ; items
+	db 25 ; base reward
+	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+	dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; 39771
--- /dev/null
+++ b/data/trainers/trainer_dvs.asm
@@ -1,0 +1,93 @@
+GetTrainerDVs: ; 270c4
+; Return the DVs of OtherTrainerClass in bc
+
+	push hl
+	ld a, [OtherTrainerClass]
+	dec a
+	ld c, a
+	ld b, 0
+
+	ld hl, TrainerClassDVs
+	add hl, bc
+	add hl, bc
+
+	ld a, [hli]
+	ld b, a
+	ld c, [hl]
+
+	pop hl
+	ret
+; 270d6
+
+TrainerClassDVs: ; 270d6
+; entries correspond to trainer classes (see constants/trainer_constants.asm)
+	;  Atk  Spd
+	;  Def  Spc
+	db $9A, $77 ; falkner
+	db $88, $88 ; bugsy
+	db $98, $88 ; whitney
+	db $98, $88 ; morty
+	db $98, $88 ; pryce
+	db $98, $88 ; jasmine
+	db $98, $88 ; chuck
+	db $7C, $DD ; clair
+	db $DD, $DD ; rival1
+	db $98, $88 ; pokemon prof
+	db $DC, $DD ; will
+	db $DC, $DD ; cal
+	db $DC, $DD ; bruno
+	db $7F, $DF ; karen
+	db $DC, $DD ; koga
+	db $DC, $DD ; champion
+	db $98, $88 ; brock
+	db $78, $88 ; misty
+	db $98, $88 ; lt surge
+	db $98, $88 ; scientist
+	db $78, $88 ; erika
+	db $98, $88 ; youngster
+	db $98, $88 ; schoolboy
+	db $98, $88 ; bird keeper
+	db $58, $88 ; lass
+	db $98, $88 ; janine
+	db $D8, $C8 ; cooltrainerm
+	db $7C, $C8 ; cooltrainerf
+	db $69, $C8 ; beauty
+	db $98, $88 ; pokemaniac
+	db $D8, $A8 ; gruntm
+	db $98, $88 ; gentleman
+	db $98, $88 ; skier
+	db $68, $88 ; teacher
+	db $7D, $87 ; sabrina
+	db $98, $88 ; bug catcher
+	db $98, $88 ; fisher
+	db $98, $88 ; swimmerm
+	db $78, $88 ; swimmerf
+	db $98, $88 ; sailor
+	db $98, $88 ; super nerd
+	db $98, $88 ; rival2
+	db $98, $88 ; guitarist
+	db $A8, $88 ; hiker
+	db $98, $88 ; biker
+	db $98, $88 ; blaine
+	db $98, $88 ; burglar
+	db $98, $88 ; firebreather
+	db $98, $88 ; juggler
+	db $98, $88 ; blackbelt
+	db $D8, $A8 ; executivem
+	db $98, $88 ; psychic
+	db $6A, $A8 ; picnicker
+	db $98, $88 ; camper
+	db $7E, $A8 ; executivef
+	db $98, $88 ; sage
+	db $78, $88 ; medium
+	db $98, $88 ; boarder
+	db $98, $88 ; pokefanm
+	db $68, $8A ; kimono girl
+	db $68, $A8 ; twins
+	db $6D, $88 ; pokefanf
+	db $FD, $DE ; red
+	db $9D, $DD ; blue
+	db $98, $88 ; officer
+	db $7E, $A8 ; gruntf
+	db $98, $88 ; mysticalman
+; 2715c
--- /dev/null
+++ b/engine/item_effects.asm
@@ -1,0 +1,3313 @@
+_DoItemEffect:: ; e722
+	ld a, [CurItem]
+	ld [wd265], a
+	call GetItemName
+	call CopyName1
+	ld a, 1
+	ld [wItemEffectSucceeded], a
+	ld a, [CurItem]
+	dec a
+	ld hl, ItemEffects
+	rst JumpTable
+	ret
+; e73c
+
+
+ItemEffects: ; e73c
+	dw MasterBall
+	dw UltraBall
+	dw Brightpowder
+	dw GreatBall
+	dw PokeBall
+	dw TownMap
+	dw Bicycle
+	dw MoonStone
+	dw Antidote
+	dw BurnHeal
+	dw IceHeal
+	dw Awakening
+	dw ParlyzHeal
+	dw FullRestore
+	dw MaxPotion
+	dw HyperPotion
+	dw SuperPotion
+	dw Potion
+	dw EscapeRope
+	dw Repel
+	dw MaxElixer
+	dw FireStone
+	dw Thunderstone
+	dw WaterStone
+	dw Item19
+	dw HPUp
+	dw Protein
+	dw Iron
+	dw Carbos
+	dw LuckyPunch
+	dw Calcium
+	dw RareCandy
+	dw XAccuracy
+	dw LeafStone
+	dw MetalPowder
+	dw Nugget
+	dw PokeDoll
+	dw FullHeal
+	dw Revive
+	dw MaxRevive
+	dw GuardSpec
+	dw SuperRepel
+	dw MaxRepel
+	dw DireHit
+	dw Item2D
+	dw FreshWater
+	dw SodaPop
+	dw Lemonade
+	dw XAttack
+	dw Item32
+	dw XDefend
+	dw XSpeed
+	dw XSpecial
+	dw CoinCase
+	dw Itemfinder
+	dw PokeFlute
+	dw ExpShare
+	dw OldRod
+	dw GoodRod
+	dw SilverLeaf
+	dw SuperRod
+	dw PPUp
+	dw Ether
+	dw MaxEther
+	dw Elixer
+	dw RedScale
+	dw Secretpotion
+	dw SSTicket
+	dw MysteryEgg
+	dw ClearBell
+	dw SilverWing
+	dw MoomooMilk
+	dw QuickClaw
+	dw Psncureberry
+	dw GoldLeaf
+	dw SoftSand
+	dw SharpBeak
+	dw Przcureberry
+	dw BurntBerry
+	dw IceBerry
+	dw PoisonBarb
+	dw KingsRock
+	dw BitterBerry
+	dw MintBerry
+	dw RedApricorn
+	dw Tinymushroom
+	dw BigMushroom
+	dw Silverpowder
+	dw BluApricorn
+	dw Item5A
+	dw AmuletCoin
+	dw YlwApricorn
+	dw GrnApricorn
+	dw CleanseTag
+	dw MysticWater
+	dw Twistedspoon
+	dw WhtApricorn
+	dw Blackbelt
+	dw BlkApricorn
+	dw Item64
+	dw PnkApricorn
+	dw Blackglasses
+	dw Slowpoketail
+	dw PinkBow
+	dw Stick
+	dw SmokeBall
+	dw Nevermeltice
+	dw Magnet
+	dw Miracleberry
+	dw Pearl
+	dw BigPearl
+	dw Everstone
+	dw SpellTag
+	dw Ragecandybar
+	dw GsBall
+	dw BlueCard
+	dw MiracleSeed
+	dw ThickClub
+	dw FocusBand
+	dw Item78
+	dw Energypowder
+	dw EnergyRoot
+	dw HealPowder
+	dw RevivalHerb
+	dw HardStone
+	dw LuckyEgg
+	dw CardKey
+	dw MachinePart
+	dw EggTicket
+	dw LostItem
+	dw Stardust
+	dw StarPiece
+	dw BasementKey
+	dw Pass
+	dw Item87
+	dw Item88
+	dw Item89
+	dw Charcoal
+	dw BerryJuice
+	dw ScopeLens
+	dw Item8D
+	dw Item8E
+	dw MetalCoat
+	dw DragonFang
+	dw Item91
+	dw Leftovers
+	dw Item93
+	dw Item94
+	dw Item95
+	dw Mysteryberry
+	dw DragonScale
+	dw BerserkGene
+	dw Item99
+	dw Item9A
+	dw Item9B
+	dw SacredAsh
+	dw HeavyBall
+	dw FlowerMail
+	dw LevelBall
+	dw LureBall
+	dw FastBall
+	dw ItemA2
+	dw LightBall
+	dw FriendBall
+	dw MoonBall
+	dw LoveBall
+	dw NormalBox
+	dw GorgeousBox
+	dw SunStone
+	dw PolkadotBow
+	dw ItemAB
+	dw UpGrade
+	dw Berry
+	dw GoldBerry
+	dw Squirtbottle
+	dw ItemB0
+	dw ParkBall
+	dw RainbowWing
+	dw ItemB3
+; e8a2
+
+
+MasterBall:
+UltraBall:
+GreatBall:
+PokeBall:
+HeavyBall:
+LevelBall:
+LureBall:
+FastBall:
+FriendBall:
+MoonBall:
+LoveBall:
+ParkBall: ; e8a2
+	ld a, [wBattleMode]
+	dec a
+	jp nz, UseBallInTrainerBattle
+
+	ld a, [PartyCount]
+	cp PARTY_LENGTH
+	jr nz, .room_in_party
+
+	ld a, BANK(sBoxCount)
+	call GetSRAMBank
+	ld a, [sBoxCount]
+	cp MONS_PER_BOX
+	call CloseSRAM
+	jp z, Ball_BoxIsFullMessage
+
+.room_in_party
+	xor a
+	ld [wWildMon], a
+	ld a, [CurItem]
+	cp PARK_BALL
+	call nz, ReturnToBattle_UseBall
+
+	ld hl, Options
+	res NO_TEXT_SCROLL, [hl]
+	ld hl, UsedItemText
+	call PrintText
+
+	ld a, [EnemyMonCatchRate]
+	ld b, a
+	ld a, [BattleType]
+	cp BATTLETYPE_TUTORIAL
+	jp z, .catch_without_fail
+	ld a, [CurItem]
+	cp MASTER_BALL
+	jp z, .catch_without_fail
+	ld a, [CurItem]
+	ld c, a
+	ld hl, BallMultiplierFunctionTable
+
+.get_multiplier_loop
+	ld a, [hli]
+	cp $ff
+	jr z, .skip_or_return_from_ball_fn
+	cp c
+	jr z, .call_ball_function
+	inc hl
+	inc hl
+	jr .get_multiplier_loop
+
+.call_ball_function
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld de, .skip_or_return_from_ball_fn
+	push de
+	jp hl
+
+.skip_or_return_from_ball_fn
+	ld a, [CurItem]
+	cp LEVEL_BALL
+	ld a, b
+	jp z, .skip_hp_calc
+
+	ld a, b
+	ld [hMultiplicand + 2], a
+
+	ld hl, EnemyMonHP
+	ld b, [hl]
+	inc hl
+	ld c, [hl]
+	inc hl
+	ld d, [hl]
+	inc hl
+	ld e, [hl]
+	sla c
+	rl b
+
+	ld h, d
+	ld l, e
+	add hl, de
+	add hl, de
+	ld d, h
+	ld e, l
+	ld a, d
+	and a
+	jr z, .okay_1
+
+	srl d
+	rr e
+	srl d
+	rr e
+	srl b
+	rr c
+	srl b
+	rr c
+
+	ld a, c
+	and a
+	jr nz, .okay_1
+	ld c, $1
+.okay_1
+	ld b, e
+
+	push bc
+	ld a, b
+	sub c
+	ld [hMultiplier], a
+	xor a
+	ld [hDividend + 0], a
+	ld [hMultiplicand + 0], a
+	ld [hMultiplicand + 1], a
+	call Multiply
+	pop bc
+
+	ld a, b
+	ld [hDivisor], a
+	ld b, $4
+	call Divide
+
+	ld a, [hQuotient + 2]
+	and a
+	jr nz, .statuscheck
+	ld a, 1
+.statuscheck
+; This routine is buggy. It was intended that SLP and FRZ provide a higher
+; catch rate than BRN/PSN/PAR, which in turn provide a higher catch rate than
+; no status effect at all. But instead, it makes BRN/PSN/PAR provide no
+; benefit.
+; Uncomment the line below to fix this.
+	ld b, a
+	ld a, [EnemyMonStatus]
+	and 1 << FRZ | SLP
+	ld c, 10
+	jr nz, .addstatus
+	; ld a, [EnemyMonStatus]
+	and a
+	ld c, 5
+	jr nz, .addstatus
+	ld c, 0
+.addstatus
+	ld a, b
+	add c
+	jr nc, .max_1
+	ld a, $ff
+.max_1
+
+	ld d, a
+	push de
+
+	; BUG: callba overwrites a,
+	; and GetItemHeldEffect takes b anyway.
+
+	; This is probably the reason
+	; the HELD_CATCH_CHANCE effect
+	; is never used.
+
+	; Uncomment the line below to fix.
+
+	ld a, [BattleMonItem]
+;	ld b, a
+	callba GetItemHeldEffect
+	ld a, b
+	cp HELD_CATCH_CHANCE
+
+	pop de
+	ld a, d
+
+	jr nz, .skip_hp_calc
+	add c
+	jr nc, .skip_hp_calc
+	ld a, $ff
+.skip_hp_calc
+
+	ld b, a
+	ld [Buffer1], a
+	call Random
+
+	cp b
+	ld a, 0
+	jr z, .catch_without_fail
+	jr nc, .fail_to_catch
+
+.catch_without_fail
+	ld a, [EnemyMonSpecies]
+
+.fail_to_catch
+	ld [wWildMon], a
+	ld c, 20
+	call DelayFrames
+
+	ld a, [CurItem]
+	cp POKE_BALL + 1 ; Assumes Master/Ultra/Great come before
+	jr c, .not_kurt_ball
+	ld a, POKE_BALL
+.not_kurt_ball
+	ld [wBattleAnimParam], a
+
+	ld de, ANIM_THROW_POKE_BALL
+	ld a, e
+	ld [FXAnimID], a
+	ld a, d
+	ld [FXAnimID + 1], a
+	xor a
+	ld [hBattleTurn], a
+	ld [Buffer2], a
+	ld [wNumHits], a
+	predef PlayBattleAnim
+
+	ld a, [wWildMon]
+	and a
+	jr nz, .caught
+	ld a, [Buffer2]
+	cp $1
+	ld hl, Text_NoShake
+	jp z, .shake_and_break_free
+	cp $2
+	ld hl, Text_OneShake
+	jp z, .shake_and_break_free
+	cp $3
+	ld hl, Text_TwoShakes
+	jp z, .shake_and_break_free
+	cp $4
+	ld hl, Text_ThreeShakes
+	jp z, .shake_and_break_free
+.caught
+
+	ld hl, EnemyMonStatus
+	ld a, [hli]
+	push af
+	inc hl
+	ld a, [hli]
+	push af
+	ld a, [hl]
+	push af
+	push hl
+	ld hl, EnemyMonItem
+	ld a, [hl]
+	push af
+	push hl
+	ld hl, EnemySubStatus5
+	ld a, [hl]
+	push af
+	set SUBSTATUS_TRANSFORMED, [hl]
+	bit SUBSTATUS_TRANSFORMED, a
+	jr nz, .ditto
+	jr .not_ditto
+
+.ditto
+	ld a, DITTO
+	ld [TempEnemyMonSpecies], a
+	jr .load_data
+
+.not_ditto
+	set SUBSTATUS_TRANSFORMED, [hl]
+	ld hl, wEnemyBackupDVs
+	ld a, [EnemyMonDVs]
+	ld [hli], a
+	ld a, [EnemyMonDVs + 1]
+	ld [hl], a
+
+.load_data
+	ld a, [TempEnemyMonSpecies]
+	ld [CurPartySpecies], a
+	ld a, [EnemyMonLevel]
+	ld [CurPartyLevel], a
+	callba LoadEnemyMon
+
+	pop af
+	ld [EnemySubStatus5], a
+
+	pop hl
+	pop af
+	ld [hl], a
+	pop hl
+	pop af
+	ld [hld], a
+	pop af
+	ld [hld], a
+	dec hl
+	pop af
+	ld [hl], a
+
+	ld hl, EnemySubStatus5
+	bit SUBSTATUS_TRANSFORMED, [hl]
+	jr nz, .Transformed
+	ld hl, wWildMonMoves
+	ld de, EnemyMonMoves
+	ld bc, NUM_MOVES
+	call CopyBytes
+
+	ld hl, wWildMonPP
+	ld de, EnemyMonPP
+	ld bc, NUM_MOVES
+	call CopyBytes
+.Transformed:
+
+	ld a, [EnemyMonSpecies]
+	ld [wWildMon], a
+	ld [CurPartySpecies], a
+	ld [wd265], a
+	ld a, [BattleType]
+	cp BATTLETYPE_TUTORIAL
+	jp z, .FinishTutorial
+
+	callba TrainerRankings_WildMonsCaught
+
+	ld hl, Text_GotchaMonWasCaught
+	call PrintText
+
+	call ClearSprites
+
+	ld a, [wd265]
+	dec a
+	call CheckCaughtMon
+
+	ld a, c
+	push af
+	ld a, [wd265]
+	dec a
+	call SetSeenAndCaughtMon
+	pop af
+	and a
+	jr nz, .skip_pokedex
+
+	call CheckReceivedDex
+	jr z, .skip_pokedex
+
+	ld hl, Text_AddedToPokedex
+	call PrintText
+
+	call ClearSprites
+
+	ld a, [EnemyMonSpecies]
+	ld [wd265], a
+	predef NewPokedexEntry
+
+.skip_pokedex
+	ld a, [BattleType]
+	cp BATTLETYPE_CONTEST
+	jp z, .catch_bug_contest_mon
+	cp BATTLETYPE_CELEBI
+	jr nz, .not_celebi
+	ld hl, wBattleResult
+	set 6, [hl]
+.not_celebi
+
+	ld a, [PartyCount]
+	cp PARTY_LENGTH
+	jr z, .SendToPC
+
+	xor a ; PARTYMON
+	ld [MonType], a
+	call ClearSprites
+
+	predef TryAddMonToParty
+
+	callba SetCaughtData
+
+	ld a, [CurItem]
+	cp FRIEND_BALL
+	jr nz, .SkipPartyMonFriendBall
+
+	ld a, [PartyCount]
+	dec a
+	ld hl, PartyMon1Happiness
+	ld bc, PARTYMON_STRUCT_LENGTH
+	call AddNTimes
+
+	ld a, FRIEND_BALL_HAPPINESS
+	ld [hl], a
+.SkipPartyMonFriendBall:
+
+	ld hl, Text_AskNicknameNewlyCaughtMon
+	call PrintText
+
+	ld a, [CurPartySpecies]
+	ld [wd265], a
+	call GetPokemonName
+
+	call YesNoBox
+	jp c, .return_from_capture
+
+	ld a, [PartyCount]
+	dec a
+	ld [CurPartyMon], a
+	ld hl, PartyMonNicknames
+	ld bc, PKMN_NAME_LENGTH
+	call AddNTimes
+
+	ld d, h
+	ld e, l
+	push de
+	xor a ; PARTYMON
+	ld [MonType], a
+	ld b, 0
+	callba NamingScreen
+
+	call RotateThreePalettesRight
+
+	call LoadStandardFont
+
+	pop hl
+	ld de, StringBuffer1
+	call InitName
+
+	jp .return_from_capture
+
+.SendToPC:
+	call ClearSprites
+
+	predef SentPkmnIntoBox
+
+	callba SetBoxMonCaughtData
+
+	ld a, BANK(sBoxCount)
+	call GetSRAMBank
+
+	ld a, [sBoxCount]
+	cp MONS_PER_BOX
+	jr nz, .BoxNotFullYet
+	ld hl, wBattleResult
+	set 7, [hl]
+.BoxNotFullYet:
+	ld a, [CurItem]
+	cp FRIEND_BALL
+	jr nz, .SkipBoxMonFriendBall
+	; The captured mon is now first in the box
+	ld a, FRIEND_BALL_HAPPINESS
+	ld [sBoxMon1Happiness], a
+.SkipBoxMonFriendBall:
+	call CloseSRAM
+
+	ld hl, Text_AskNicknameNewlyCaughtMon
+	call PrintText
+
+	ld a, [CurPartySpecies]
+	ld [wd265], a
+	call GetPokemonName
+
+	call YesNoBox
+	jr c, .SkipBoxMonNickname
+
+	xor a
+	ld [CurPartyMon], a
+	ld a, BOXMON
+	ld [MonType], a
+	ld de, wMonOrItemNameBuffer
+	ld b, $0
+	callba NamingScreen
+
+	ld a, BANK(sBoxMonNicknames)
+	call GetSRAMBank
+
+	ld hl, wMonOrItemNameBuffer
+	ld de, sBoxMonNicknames
+	ld bc, PKMN_NAME_LENGTH
+	call CopyBytes
+
+	ld hl, sBoxMonNicknames
+	ld de, StringBuffer1
+	call InitName
+
+	call CloseSRAM
+
+.SkipBoxMonNickname:
+	ld a, BANK(sBoxMonNicknames)
+	call GetSRAMBank
+
+	ld hl, sBoxMonNicknames
+	ld de, wMonOrItemNameBuffer
+	ld bc, PKMN_NAME_LENGTH
+	call CopyBytes
+
+	call CloseSRAM
+
+	ld hl, Text_SentToBillsPC
+	call PrintText
+
+	call RotateThreePalettesRight
+	call LoadStandardFont
+	jr .return_from_capture
+
+.catch_bug_contest_mon
+	callba BugContest_SetCaughtContestMon
+	jr .return_from_capture
+
+.FinishTutorial:
+	ld hl, Text_GotchaMonWasCaught
+
+.shake_and_break_free
+	call PrintText
+	call ClearSprites
+
+.return_from_capture
+	ld a, [BattleType]
+	cp BATTLETYPE_TUTORIAL
+	ret z
+	cp BATTLETYPE_DEBUG
+	ret z
+	cp BATTLETYPE_CONTEST
+	jr z, .used_park_ball
+
+	ld a, [wWildMon]
+	and a
+	jr z, .toss
+
+	call ClearBGPalettes
+	call ClearTileMap
+
+.toss
+	ld hl, NumItems
+	inc a
+	ld [wItemQuantityChangeBuffer], a
+	jp TossItem
+
+.used_park_ball
+	ld hl, wParkBallsRemaining
+	dec [hl]
+	ret
+; ec0a
+
+
+BallMultiplierFunctionTable:
+; table of routines that increase or decrease the catch rate based on
+; which ball is used in a certain situation.
+	dbw ULTRA_BALL,  UltraBallMultiplier
+	dbw GREAT_BALL,  GreatBallMultiplier
+	dbw SAFARI_BALL, SafariBallMultiplier ; Safari Ball, leftover from RBY
+	dbw HEAVY_BALL,  HeavyBallMultiplier
+	dbw LEVEL_BALL,  LevelBallMultiplier
+	dbw LURE_BALL,   LureBallMultiplier
+	dbw FAST_BALL,   FastBallMultiplier
+	dbw MOON_BALL,   MoonBallMultiplier
+	dbw LOVE_BALL,   LoveBallMultiplier
+	dbw PARK_BALL,   ParkBallMultiplier
+	db $ff
+
+UltraBallMultiplier:
+; multiply catch rate by 2
+	sla b
+	ret nc
+	ld b, $ff
+	ret
+
+SafariBallMultiplier:
+GreatBallMultiplier:
+ParkBallMultiplier:
+; multiply catch rate by 1.5
+	ld a, b
+	srl a
+	add b
+	ld b, a
+	ret nc
+	ld b, $ff
+	ret
+
+GetPokedexEntryBank:
+	push hl
+	push de
+	ld a, [EnemyMonSpecies]
+	rlca
+	rlca
+	and 3
+	ld hl, .PokedexEntryBanks
+	ld d, 0
+	ld e, a
+	add hl, de
+	ld a, [hl]
+	pop de
+	pop hl
+	ret
+
+.PokedexEntryBanks:
+
+GLOBAL PokedexEntries1
+GLOBAL PokedexEntries2
+GLOBAL PokedexEntries3
+GLOBAL PokedexEntries4
+
+	db BANK(PokedexEntries1)
+	db BANK(PokedexEntries2)
+	db BANK(PokedexEntries3)
+	db BANK(PokedexEntries4)
+
+HeavyBallMultiplier:
+; subtract 20 from catch rate if weight < 102.4 kg
+; else add 0 to catch rate if weight < 204.8 kg
+; else add 20 to catch rate if weight < 307.2 kg
+; else add 30 to catch rate if weight < 409.6 kg
+; else add 40 to catch rate (never happens)
+	ld a, [EnemyMonSpecies]
+	ld hl, PokedexDataPointerTable
+	dec a
+	ld e, a
+	ld d, 0
+	add hl, de
+	add hl, de
+	ld a, BANK(PokedexDataPointerTable)
+	call GetFarHalfword
+
+.SkipText:
+	call GetPokedexEntryBank
+	call GetFarByte
+	inc hl
+	cp "@"
+	jr nz, .SkipText
+
+	call GetPokedexEntryBank
+	push bc
+	inc hl
+	inc hl
+	call GetFarHalfword
+
+	srl h
+	rr l
+	ld b, h
+	ld c, l
+
+	rept 4
+	srl b
+	rr c
+	endr
+	call .subbc
+
+	srl b
+	rr c
+	call .subbc
+
+	ld a, h
+	pop bc
+	jr .compare
+
+.subbc
+	; subtract bc from hl
+	push bc
+	ld a, b
+	cpl
+	ld b, a
+	ld a, c
+	cpl
+	ld c, a
+	inc bc
+	add hl, bc
+	pop bc
+	ret
+
+.compare
+	ld c, a
+	cp 1024 >> 8 ; 102.4 kg
+	jr c, .lightmon
+
+	ld hl, .WeightsTable
+.lookup
+	ld a, c
+	cp [hl]
+	jr c, .heavymon
+	inc hl
+	inc hl
+	jr .lookup
+
+.heavymon
+	inc hl
+	ld a, b
+	add [hl]
+	ld b, a
+	ret nc
+	ld b, $ff
+	ret
+
+.lightmon
+	ld a, b
+	sub 20
+	ld b, a
+	ret nc
+	ld b, $1
+	ret
+
+.WeightsTable:
+; weight factor, boost
+	db 2048 >> 8, 0
+	db 3072 >> 8, 20
+	db 4096 >> 8, 30
+	db 65280 >> 8, 40
+
+LureBallMultiplier:
+; multiply catch rate by 3 if this is a fishing rod battle
+	ld a, [BattleType]
+	cp BATTLETYPE_FISH
+	ret nz
+
+	ld a, b
+	add a
+	jr c, .max
+
+	add b
+	jr nc, .done
+.max
+	ld a, $ff
+.done
+	ld b, a
+	ret
+
+MoonBallMultiplier:
+; This function is buggy.
+; Intent:  multiply catch rate by 4 if mon evolves with moon stone
+; Reality: no boost
+
+GLOBAL EvosAttacks
+GLOBAL EvosAttacksPointers
+
+	push bc
+	ld a, [TempEnemyMonSpecies]
+	dec a
+	ld c, a
+	ld b, 0
+	ld hl, EvosAttacksPointers
+	add hl, bc
+	add hl, bc
+	ld a, BANK(EvosAttacksPointers)
+	call GetFarHalfword
+	pop bc
+
+	push bc
+	ld a, BANK(EvosAttacks)
+	call GetFarByte
+	cp EVOLVE_ITEM
+	pop bc
+	ret nz
+
+	inc hl
+	inc hl
+	inc hl
+
+; Moon Stone's constant from Pokémon Red is used.
+; No Pokémon evolve with Burn Heal,
+; so Moon Balls always have a catch rate of 1×.
+	push bc
+	ld a, BANK(EvosAttacks)
+	call GetFarByte
+	cp MOON_STONE_RED ; BURN_HEAL
+	pop bc
+	ret nz
+
+	sla b
+	jr c, .max
+	sla b
+	jr nc, .done
+.max
+	ld b, $ff
+.done
+	ret
+
+LoveBallMultiplier:
+; This function is buggy.
+; Intent:  multiply catch rate by 8 if mons are of same species, different sex
+; Reality: multiply catch rate by 8 if mons are of same species, same sex
+
+	; does species match?
+	ld a, [TempEnemyMonSpecies]
+	ld c, a
+	ld a, [TempBattleMonSpecies]
+	cp c
+	ret nz
+
+	; check player mon species
+	push bc
+	ld a, [TempBattleMonSpecies]
+	ld [CurPartySpecies], a
+	xor a ; PARTYMON
+	ld [MonType], a
+	ld a, [CurBattleMon]
+	ld [CurPartyMon], a
+	callba GetGender
+	jr c, .done1 ; no effect on genderless
+
+	ld d, 0 ; male
+	jr nz, .playermale
+	inc d   ; female
+.playermale
+
+	; check wild mon species
+	push de
+	ld a, [TempEnemyMonSpecies]
+	ld [CurPartySpecies], a
+	ld a, WILDMON
+	ld [MonType], a
+	callba GetGender
+	jr c, .done2 ; no effect on genderless
+
+	ld d, 0 ; male
+	jr nz, .wildmale
+	inc d   ; female
+.wildmale
+
+	ld a, d
+	pop de
+	cp d
+	pop bc
+	ret nz ; for the intended effect, this should be "ret z"
+
+	sla b
+	jr c, .max
+	sla b
+	jr c, .max
+	sla b
+	ret nc
+.max
+	ld b, $ff
+	ret
+
+.done2
+	pop de
+
+.done1
+	pop bc
+	ret
+
+FastBallMultiplier:
+; This function is buggy.
+; Intent:  multiply catch rate by 4 if enemy mon is in one of the three
+;          FleeMons tables.
+; Reality: multiply catch rate by 4 if enemy mon is one of the first three in
+;          the first FleeMons table.
+	ld a, [TempEnemyMonSpecies]
+	ld c, a
+	ld hl, FleeMons
+	ld d, 3
+
+.loop
+	ld a, BANK(FleeMons)
+	call GetFarByte
+
+	inc hl
+	cp -1
+	jr z, .next
+	cp c
+	jr nz, .next ; for the intended effect, this should be "jr nz, .loop"
+	sla b
+	jr c, .max
+
+	sla b
+	ret nc
+
+.max
+	ld b, $ff
+	ret
+
+.next
+	dec d
+	jr nz, .loop
+	ret
+
+LevelBallMultiplier:
+; multiply catch rate by 8 if player mon level / 4 > enemy mon level
+; multiply catch rate by 4 if player mon level / 2 > enemy mon level
+; multiply catch rate by 2 if player mon level > enemy mon level
+	ld a, [BattleMonLevel]
+	ld c, a
+	ld a, [EnemyMonLevel]
+	cp c
+	ret nc ; if player is lower level, we're done here
+	sla b
+	jr c, .max
+
+	srl c
+	cp c
+	ret nc ; if player/2 is lower level, we're done here
+	sla b
+	jr c, .max
+
+	srl c
+	cp c
+	ret nc ; if player/4 is lower level, we're done here
+	sla b
+	ret nc
+
+.max
+	ld b, $ff
+	ret
+
+; These two texts were carried over from gen 1.
+; They are not used in gen 2, and are dummied out.
+
+Text_RBY_CatchMarowak: ; 0xedab
+	; It dodged the thrown BALL! This #MON can't be caught!
+	text_jump UnknownText_0x1c5a5a
+	db "@"
+; 0xedb0
+
+Text_RBY_NoShake: ; 0xedb0
+	; You missed the #MON!
+	text_jump UnknownText_0x1c5a90
+	db "@"
+; 0xedb5
+
+Text_NoShake: ; 0xedb5
+	; Oh no! The #MON broke free!
+	text_jump UnknownText_0x1c5aa6
+	db "@"
+; 0xedba
+
+Text_OneShake: ; 0xedba
+	; Aww! It appeared to be caught!
+	text_jump UnknownText_0x1c5ac3
+	db "@"
+; 0xedbf
+
+Text_TwoShakes: ; 0xedbf
+	; Aargh! Almost had it!
+	text_jump UnknownText_0x1c5ae3
+	db "@"
+; 0xedc4
+
+Text_ThreeShakes: ; 0xedc4
+	; Shoot! It was so close too!
+	text_jump UnknownText_0x1c5afa
+	db "@"
+; 0xedc9
+
+Text_GotchaMonWasCaught: ; 0xedc9
+	; Gotcha! @ was caught!@ @
+	text_jump UnknownText_0x1c5b17
+	start_asm
+	call WaitSFX
+	push bc
+	ld de, MUSIC_NONE
+	call PlayMusic
+	call DelayFrame
+	ld de, MUSIC_CAPTURE
+	call PlayMusic
+	pop bc
+	ld hl, TextJump_Waitbutton
+	ret
+; ede6
+
+TextJump_Waitbutton: ; 0xede6
+	; @
+	text_jump Text_Waitbutton_2
+	db "@"
+; 0xedeb
+
+Text_SentToBillsPC: ; 0xedeb
+	; was sent to BILL's PC.
+	text_jump UnknownText_0x1c5b38
+	db "@"
+; 0xedf0
+
+Text_AddedToPokedex: ; 0xedf0
+	; 's data was newly added to the #DEX.@ @
+	text_jump UnknownText_0x1c5b53
+	db "@"
+; 0xedf5
+
+Text_AskNicknameNewlyCaughtMon: ; 0xedf5
+	; Give a nickname to @ ?
+	text_jump UnknownText_0x1c5b7f
+	db "@"
+; 0xedfa
+
+ReturnToBattle_UseBall: ; edfa (3:6dfa)
+	callba _ReturnToBattle_UseBall
+	ret
+
+TownMap: ; ee01
+	callba PokegearMap
+	ret
+; ee08
+
+
+Bicycle: ; ee08
+	callba BikeFunction
+	ret
+; ee0f
+
+
+MoonStone:
+FireStone:
+Thunderstone:
+WaterStone:
+LeafStone:
+SunStone: ; ee0f
+	ld b, PARTYMENUACTION_EVO_STONE
+	call UseItem_SelectMon
+
+	jp c, .DecidedNotToUse
+
+	ld a, MON_ITEM
+	call GetPartyParamLocation
+
+	ld a, [hl]
+	cp EVERSTONE
+	jr z, .NoEffect
+
+	ld a, $1
+	ld [wForceEvolution], a
+	callba EvolvePokemon
+
+	ld a, [wMonTriedToEvolve]
+	and a
+	jr z, .NoEffect
+
+	jp UseDisposableItem
+
+.NoEffect:
+	call WontHaveAnyEffectMessage
+
+.DecidedNotToUse:
+	xor a
+	ld [wItemEffectSucceeded], a
+	ret
+; ee3d
+
+
+HPUp:
+Protein:
+Iron:
+Carbos:
+Calcium: ; ee3d
+	ld b, PARTYMENUACTION_HEALING_ITEM
+	call UseItem_SelectMon
+
+	jp c, RareCandy_StatBooster_ExitMenu
+
+	call RareCandy_StatBooster_GetParameters
+
+	call GetStatExpRelativePointer
+
+	ld a, MON_STAT_EXP
+	call GetPartyParamLocation
+
+	add hl, bc
+	ld a, [hl]
+	cp 100
+	jr nc, NoEffectMessage
+
+	add 10
+	ld [hl], a
+	call UpdateStatsAfterItem
+
+	call GetStatExpRelativePointer
+
+	ld hl, StatStrings
+	add hl, bc
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld de, StringBuffer2
+	ld bc, ITEM_NAME_LENGTH
+	call CopyBytes
+
+	call Play_SFX_FULL_HEAL
+
+	ld hl, Text_StatRose
+	call PrintText
+
+	ld c, HAPPINESS_USEDITEM
+	callba ChangeHappiness
+
+	jp UseDisposableItem
+
+
+NoEffectMessage: ; ee83
+	ld hl, WontHaveAnyEffectText
+	call PrintText
+	jp ClearPalettes
+; ee8c
+
+
+UpdateStatsAfterItem: ; ee8c
+	ld a, MON_MAXHP
+	call GetPartyParamLocation
+	ld d, h
+	ld e, l
+	ld a, MON_STAT_EXP - 1
+	call GetPartyParamLocation
+	ld b, $1
+	predef_jump CalcPkmnStats
+; ee9f
+
+RareCandy_StatBooster_ExitMenu: ; ee9f
+	xor a
+	ld [wItemEffectSucceeded], a
+	jp ClearPalettes
+; eea6
+
+
+Text_StatRose: ; 0xeea6
+	; 's @  rose.
+	text_jump UnknownText_0x1c5b9a
+	db "@"
+; 0xeeab
+
+
+StatStrings: ; eeab
+	dw .health
+	dw .attack
+	dw .defense
+	dw .speed
+	dw .special
+
+.health  db "HEALTH@"
+.attack  db "ATTACK@"
+.defense db "DEFENSE@"
+.speed   db "SPEED@"
+.special db "SPECIAL@"
+; eed9
+
+
+GetStatExpRelativePointer: ; eed9
+	ld a, [CurItem]
+	ld hl, Table_eeeb
+.next
+	cp [hl]
+	inc hl
+	jr z, .got_it
+	inc hl
+	jr .next
+
+.got_it
+	ld a, [hl]
+	ld c, a
+	ld b, 0
+	ret
+; eeeb
+
+Table_eeeb: ; eeeb
+	db HP_UP,    MON_HP_EXP - MON_STAT_EXP
+	db PROTEIN, MON_ATK_EXP - MON_STAT_EXP
+	db IRON,    MON_DEF_EXP - MON_STAT_EXP
+	db CARBOS,  MON_SPD_EXP - MON_STAT_EXP
+	db CALCIUM, MON_SPC_EXP - MON_STAT_EXP
+; eef5
+
+
+RareCandy_StatBooster_GetParameters: ; eef5
+	ld a, [CurPartySpecies]
+	ld [CurSpecies], a
+	ld [wd265], a
+	ld a, MON_LEVEL
+	call GetPartyParamLocation
+	ld a, [hl]
+	ld [CurPartyLevel], a
+	call GetBaseData
+	ld a, [CurPartyMon]
+	ld hl, PartyMonNicknames
+	call GetNick
+	ret
+; 0xef14
+
+
+RareCandy: ; ef14
+	ld b, PARTYMENUACTION_HEALING_ITEM
+	call UseItem_SelectMon
+
+	jp c, RareCandy_StatBooster_ExitMenu
+
+	call RareCandy_StatBooster_GetParameters
+
+	ld a, MON_LEVEL
+	call GetPartyParamLocation
+
+	ld a, [hl]
+	cp MAX_LEVEL
+	jp nc, NoEffectMessage
+
+	inc a
+	ld [hl], a
+	ld [CurPartyLevel], a
+	push de
+	ld d, a
+	callba CalcExpAtLevel
+
+	pop de
+	ld a, MON_EXP
+	call GetPartyParamLocation
+
+	ld a, [hMultiplicand]
+	ld [hli], a
+	ld a, [hMultiplicand + 1]
+	ld [hli], a
+	ld a, [hMultiplicand + 2]
+	ld [hl], a
+
+	ld a, MON_MAXHP
+	call GetPartyParamLocation
+	ld a, [hli]
+	ld b, a
+	ld c, [hl]
+	push bc
+	call UpdateStatsAfterItem
+
+	ld a, MON_MAXHP + 1
+	call GetPartyParamLocation
+
+	pop bc
+	ld a, [hld]
+	sub c
+	ld c, a
+	ld a, [hl]
+	sbc b
+	ld b, a
+	dec hl
+	ld a, [hl]
+	add c
+	ld [hld], a
+	ld a, [hl]
+	adc b
+	ld [hl], a
+	callba LevelUpHappinessMod
+
+	ld a, PARTYMENUTEXT_LEVEL_UP
+	call ItemActionText
+
+	xor a ; PARTYMON
+	ld [MonType], a
+	predef CopyPkmnToTempMon
+
+	hlcoord 9, 0
+	ld b, 10
+	ld c, 9
+	call TextBox
+
+	hlcoord 11, 1
+	ld bc, $0004
+	predef PrintTempMonStats
+
+	call WaitPressAorB_BlinkCursor
+
+	xor a ; PARTYMON
+	ld [MonType], a
+	ld a, [CurPartySpecies]
+	ld [wd265], a
+	predef LearnLevelMoves
+
+	xor a
+	ld [wForceEvolution], a
+	callba EvolvePokemon
+
+	jp UseDisposableItem
+; efad
+
+
+HealPowder: ; efad
+	ld b, PARTYMENUACTION_HEALING_ITEM
+	call UseItem_SelectMon
+
+	jp c, StatusHealer_ExitMenu
+
+	call UseStatusHealer
+
+	cp $0
+	jr nz, .asm_efc9
+	ld c, HAPPINESS_BITTERPOWDER
+	callba ChangeHappiness
+
+	call LooksBitterMessage
+
+	ld a, $0
+
+.asm_efc9
+	jp StatusHealer_Jumptable
+; efcc
+
+
+Antidote:
+BurnHeal:
+IceHeal:
+Awakening:
+ParlyzHeal:
+FullHeal:
+Psncureberry:
+Przcureberry:
+BurntBerry:
+IceBerry:
+MintBerry:
+Miracleberry: ; efcc
+	ld b, PARTYMENUACTION_HEALING_ITEM
+	call UseItem_SelectMon
+	jp c, StatusHealer_ExitMenu
+
+FullyHealStatus: ; efd4
+	call UseStatusHealer
+	jp StatusHealer_Jumptable
+; efda
+
+
+UseStatusHealer: ; efda (3:6fda)
+	call IsMonFainted
+	ld a, $1
+	ret z
+	call GetItemHealingAction
+	ld a, MON_STATUS
+	call GetPartyParamLocation
+	ld a, [hl]
+	and c
+	jr nz, .good
+	call IsItemUsedOnConfusedMon
+	ld a, $1
+	ret nc
+	ld b, PARTYMENUTEXT_HEAL_CONFUSION
+.good
+	xor a
+	ld [hl], a
+	ld a, b
+	ld [PartyMenuActionText], a
+	call HealStatus
+	call Play_SFX_FULL_HEAL
+	call ItemActionTextWaitButton
+	call UseDisposableItem
+	ld a, $0
+	ret
+
+IsItemUsedOnConfusedMon: ; f009 (3:7009)
+	call IsItemUsedOnBattleMon
+	jr nc, .nope
+	ld a, [PlayerSubStatus3]
+	bit SUBSTATUS_CONFUSED, a
+	jr z, .nope
+	ld a, c
+	cp $ff
+	jr nz, .nope
+	scf
+	ret
+
+.nope
+	and a
+	ret
+
+BattlemonRestoreHealth: ; f01e (3:701e)
+	call IsItemUsedOnBattleMon
+	ret nc
+	ld a, MON_HP
+	call GetPartyParamLocation
+	ld a, [hli]
+	ld [BattleMonHP], a
+	ld a, [hld]
+	ld [BattleMonHP + 1], a
+	ret
+
+HealStatus: ; f030 (3:7030)
+	call IsItemUsedOnBattleMon
+	ret nc
+	xor a
+	ld [BattleMonStatus], a
+	ld hl, PlayerSubStatus5
+	res SUBSTATUS_TOXIC, [hl]
+	ld hl, PlayerSubStatus1
+	res SUBSTATUS_NIGHTMARE, [hl]
+	call GetItemHealingAction
+	ld a, c
+	cp %11111111
+	jr nz, .not_full_heal
+	ld hl, PlayerSubStatus3
+	res SUBSTATUS_CONFUSED, [hl]
+.not_full_heal
+	push bc
+	callba CalcPlayerStats
+	pop bc
+	ret
+
+GetItemHealingAction: ; f058 (3:7058)
+	push hl
+	ld a, [CurItem]
+	ld hl, .healingactions
+	ld bc, 3
+.next
+	cp [hl]
+	jr z, .found_it
+	add hl, bc
+	jr .next
+
+.found_it
+	inc hl
+	ld b, [hl]
+	inc hl
+	ld a, [hl]
+	ld c, a
+	cp %11111111
+	pop hl
+	ret
+; f071 (3:7071)
+
+.healingactions ; f071
+; item, party menu action text, status
+	db ANTIDOTE,     PARTYMENUTEXT_HEAL_PSN, 1 << PSN
+	db BURN_HEAL,    PARTYMENUTEXT_HEAL_BRN, 1 << BRN
+	db ICE_HEAL,     PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ
+	db AWAKENING,    PARTYMENUTEXT_HEAL_SLP, SLP
+	db PARLYZ_HEAL,  PARTYMENUTEXT_HEAL_PAR, 1 << PAR
+	db FULL_HEAL,    PARTYMENUTEXT_HEAL_ALL, %11111111
+	db FULL_RESTORE, PARTYMENUTEXT_HEAL_ALL, %11111111
+	db HEAL_POWDER,  PARTYMENUTEXT_HEAL_ALL, %11111111
+	db PSNCUREBERRY, PARTYMENUTEXT_HEAL_PSN, 1 << PSN
+	db PRZCUREBERRY, PARTYMENUTEXT_HEAL_PAR, 1 << PAR
+	db BURNT_BERRY,  PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ
+	db ICE_BERRY,    PARTYMENUTEXT_HEAL_BRN, 1 << BRN
+	db MINT_BERRY,   PARTYMENUTEXT_HEAL_SLP, SLP
+	db MIRACLEBERRY, PARTYMENUTEXT_HEAL_ALL, %11111111
+	db -1, 0, 0
+; f09e
+
+StatusHealer_Jumptable: ; f09e (3:709e)
+	ld hl, .dw
+	rst JumpTable
+	ret
+
+.dw ; f0a3 (3:70a3)
+	dw StatusHealer_ClearPalettes
+	dw StatusHealer_NoEffect
+	dw StatusHealer_ExitMenu
+
+
+RevivalHerb: ; f0a9
+	ld b, PARTYMENUACTION_HEALING_ITEM
+	call UseItem_SelectMon
+	jp c, StatusHealer_ExitMenu
+
+	call RevivePokemon
+	cp 0
+	jr nz, .asm_f0c5
+
+	ld c, HAPPINESS_REVIVALHERB
+	callba ChangeHappiness
+	call LooksBitterMessage
+	ld a, 0
+
+.asm_f0c5
+	jp StatusHealer_Jumptable
+; f0c8
+
+
+Revive:
+MaxRevive: ; f0c8
+	ld b, PARTYMENUACTION_HEALING_ITEM
+	call UseItem_SelectMon
+	jp c, StatusHealer_ExitMenu
+
+	call RevivePokemon
+	jp StatusHealer_Jumptable
+; f0d6
+
+
+RevivePokemon: ; f0d6
+	call IsMonFainted
+	ld a, 1
+	ret nz
+	ld a, [wBattleMode]
+	and a
+	jr z, .skip_to_revive
+
+	ld a, [CurPartyMon]
+	ld c, a
+	ld d, 0
+	ld hl, wBattleParticipantsIncludingFainted
+	ld b, CHECK_FLAG
+	predef FlagPredef
+	ld a, c
+	and a
+	jr z, .skip_to_revive
+
+	ld a, [CurPartyMon]
+	ld c, a
+	ld hl, wBattleParticipantsNotFainted
+	ld b, SET_FLAG
+	predef FlagPredef
+
+.skip_to_revive
+	xor a
+	ld [Danger], a
+	ld a, [CurItem]
+	cp REVIVE
+	jr z, .revive_half_hp
+
+	call ReviveFullHP
+	jr .finish_revive
+
+.revive_half_hp
+	call ReviveHalfHP
+
+.finish_revive
+	call HealHP_SFX_GFX
+	ld a, PARTYMENUTEXT_REVIVE
+	ld [PartyMenuActionText], a
+	call ItemActionTextWaitButton
+	call UseDisposableItem
+	ld a, 0
+	ret
+; f128
+
+
+FullRestore: ; f128
+	ld b, PARTYMENUACTION_HEALING_ITEM
+	call UseItem_SelectMon
+	jp c, StatusHealer_ExitMenu
+
+	call IsMonFainted
+	jp z, StatusHealer_NoEffect
+
+	call IsMonAtFullHealth
+	jr c, .NotAtFullHealth
+
+	jp FullyHealStatus
+
+.NotAtFullHealth:
+	call .FullRestore
+	jp StatusHealer_Jumptable
+; f144
+
+
+.FullRestore: ; f144
+	xor a
+	ld [Danger], a
+	call ReviveFullHP
+	ld a, MON_STATUS
+	call GetPartyParamLocation
+	xor a
+	ld [hli], a
+	ld [hl], a
+	call HealStatus
+	call BattlemonRestoreHealth
+	call HealHP_SFX_GFX
+	ld a, PARTYMENUTEXT_HEAL_HP
+	ld [PartyMenuActionText], a
+	call ItemActionTextWaitButton
+	call UseDisposableItem
+	ld a, 0
+	ret
+; f16a
+
+
+BitterBerry: ; f16a
+	ld hl, PlayerSubStatus3
+	bit SUBSTATUS_CONFUSED, [hl]
+	ld a, 1
+	jr z, .done
+
+	res SUBSTATUS_CONFUSED, [hl]
+	xor a
+	ld [hBattleTurn], a
+	call UseItemText
+
+	ld hl, ConfusedNoMoreText
+	call StdBattleTextBox
+
+	ld a, 0
+
+.done
+	jp StatusHealer_Jumptable
+; f186
+
+
+MaxPotion:
+HyperPotion:
+SuperPotion:
+Potion:
+FreshWater:
+SodaPop:
+Lemonade:
+MoomooMilk:
+Ragecandybar:
+BerryJuice:
+Berry:
+GoldBerry: ; f186
+	call ItemRestoreHP
+	jp StatusHealer_Jumptable
+; f18c
+
+
+Energypowder: ; f18c
+	ld c, HAPPINESS_BITTERPOWDER
+	jr EnergypowderEnergyRootCommon
+; f190
+
+EnergyRoot: ; f190
+	ld c, HAPPINESS_ENERGYROOT
+; f192
+
+EnergypowderEnergyRootCommon: ; f192
+	push bc
+	call ItemRestoreHP
+	pop bc
+	cp 0
+	jr nz, .skip_happiness
+
+	callba ChangeHappiness
+	call LooksBitterMessage
+	ld a, 0
+
+.skip_happiness
+	jp StatusHealer_Jumptable
+; f1a9
+
+
+ItemRestoreHP: ; f1a9 (3:71a9)
+	ld b, PARTYMENUACTION_HEALING_ITEM
+	call UseItem_SelectMon
+	ld a, 2
+	ret c
+
+	call IsMonFainted
+	ld a, 1
+	ret z
+
+	call IsMonAtFullHealth
+	ld a, 1
+	ret nc
+
+	xor a
+	ld [Danger], a
+	call GetHealingItemAmount
+	call RestoreHealth
+	call BattlemonRestoreHealth
+	call HealHP_SFX_GFX
+	ld a, PARTYMENUTEXT_HEAL_HP
+	ld [PartyMenuActionText], a
+	call ItemActionTextWaitButton
+	call UseDisposableItem
+	ld a, 0
+	ret
+
+HealHP_SFX_GFX: ; f1db (3:71db)
+	push de
+	ld de, SFX_POTION
+	call WaitPlaySFX
+	pop de
+	ld a, [CurPartyMon]
+	hlcoord 11, 0
+	ld bc, SCREEN_WIDTH * 2
+	call AddNTimes
+	ld a, $2
+	ld [wWhichHPBar], a
+	predef_jump AnimateHPBar
+
+UseItem_SelectMon: ; f1f9 (3:71f9)
+	call .SelectMon
+	ret c
+
+	ld a, [CurPartySpecies]
+	cp EGG
+	jr nz, .not_egg
+
+	call CantUseOnEggMessage
+	scf
+	ret
+
+.not_egg
+	and a
+	ret
+
+.SelectMon: ; f20b (3:720b)
+	ld a, b
+	ld [PartyMenuActionText], a
+	push hl
+	push de
+	push bc
+	call ClearBGPalettes
+	call ChoosePkmnToUseItemOn
+	pop bc
+	pop de
+	pop hl
+	ret
+
+ChoosePkmnToUseItemOn: ; f21c (3:721c)
+	callba LoadPartyMenuGFX
+	callba InitPartyMenuWithCancel
+	callba InitPartyMenuGFX
+	callba WritePartyMenuTilemap
+	callba PrintPartyMenuText
+	call WaitBGMap
+	call SetPalettes
+	call DelayFrame
+	callba PartyMenuSelect
+	ret
+
+ItemActionText: ; f24a (3:724a)
+	ld [PartyMenuActionText], a
+	ld a, [CurPartySpecies]
+	push af
+	ld a, [CurPartyMon]
+	push af
+	push hl
+	push de
+	push bc
+	callba WritePartyMenuTilemap
+	callba PrintPartyMenuActionText
+	call WaitBGMap
+	call SetPalettes
+	call DelayFrame
+	pop bc
+	pop de
+	pop hl
+	pop af
+	ld [CurPartyMon], a
+	pop af
+	ld [CurPartySpecies], a
+	ret
+
+ItemActionTextWaitButton: ; f279 (3:7279)
+	xor a
+	ld [hBGMapMode], a
+	hlcoord 0, 0
+	ld bc, TileMapEnd - TileMap
+	ld a, " "
+	call ByteFill
+	ld a, [PartyMenuActionText]
+	call ItemActionText
+	ld a, $1
+	ld [hBGMapMode], a
+	ld c, 50
+	call DelayFrames
+	jp WaitPressAorB_BlinkCursor
+
+StatusHealer_NoEffect: ; f299 (3:7299)
+	call WontHaveAnyEffectMessage
+	jr StatusHealer_ClearPalettes
+
+StatusHealer_ExitMenu: ; f29e (3:729e)
+	xor a
+	ld [wItemEffectSucceeded], a
+StatusHealer_ClearPalettes: ; f2a2 (3:72a2)
+	call ClearPalettes
+	ret
+
+IsItemUsedOnBattleMon: ; f2a6 (3:72a6)
+	ld a, [wBattleMode]
+	and a
+	ret z
+	ld a, [CurPartyMon]
+	push hl
+	ld hl, CurBattleMon
+	cp [hl]
+	pop hl
+	jr nz, .nope
+	scf
+	ret
+
+.nope
+	xor a
+	ret
+
+ReviveHalfHP: ; f2ba (3:72ba)
+	call LoadHPFromBuffer1
+	srl d
+	rr e
+	jr ContinueRevive
+
+ReviveFullHP: ; f2c3 (3:72c3)
+	call LoadHPFromBuffer1
+ContinueRevive: ; f2c6 (3:72c6)
+	ld a, MON_HP
+	call GetPartyParamLocation
+	ld [hl], d
+	inc hl
+	ld [hl], e
+	jp LoadCurHPIntoBuffer5
+
+RestoreHealth: ; f2d1 (3:72d1)
+	ld a, MON_HP + 1
+	call GetPartyParamLocation
+	ld a, [hl]
+	add e
+	ld [hld], a
+	ld a, [hl]
+	adc d
+	ld [hl], a
+	jr c, .full_hp
+	call LoadCurHPIntoBuffer5
+	ld a, MON_HP + 1
+	call GetPartyParamLocation
+	ld d, h
+	ld e, l
+	ld a, MON_MAXHP + 1
+	call GetPartyParamLocation
+	ld a, [de]
+	sub [hl]
+	dec de
+	dec hl
+	ld a, [de]
+	sbc [hl]
+	jr c, .finish
+.full_hp
+	call ReviveFullHP
+.finish
+	ret
+
+RemoveHP: ; f2f9 (3:72f9)
+	ld a, MON_HP + 1
+	call GetPartyParamLocation
+	ld a, [hl]
+	sub e
+	ld [hld], a
+	ld a, [hl]
+	sbc d
+	ld [hl], a
+	jr nc, .okay
+	xor a
+	ld [hld], a
+	ld [hl], a
+.okay
+	call LoadCurHPIntoBuffer5
+	ret
+
+IsMonFainted: ; f30d (3:730d)
+	push de
+	call LoadMaxHPToBuffer1
+	call LoadCurHPToBuffer3
+	call LoadHPFromBuffer3
+	ld a, d
+	or e
+	pop de
+	ret
+
+IsMonAtFullHealth: ; f31b (3:731b)
+	call LoadHPFromBuffer3
+	ld h, d
+	ld l, e
+	call LoadHPFromBuffer1
+	ld a, l
+	sub e
+	ld a, h
+	sbc d
+	ret
+
+LoadCurHPIntoBuffer5: ; f328 (3:7328)
+	ld a, MON_HP
+	call GetPartyParamLocation
+	ld a, [hli]
+	ld [Buffer6], a
+	ld a, [hl]
+	ld [Buffer5], a
+	ret
+; f336 (3:7336)
+
+LoadHPIntoBuffer5: ; f336
+	ld a, d
+	ld [Buffer6], a
+	ld a, e
+	ld [Buffer5], a
+	ret
+; f33f
+
+LoadHPFromBuffer5: ; f33f
+	ld a, [Buffer6]
+	ld d, a
+	ld a, [Buffer5]
+	ld e, a
+	ret
+; f348
+
+LoadCurHPToBuffer3: ; f348 (3:7348)
+	ld a, MON_HP
+	call GetPartyParamLocation
+	ld a, [hli]
+	ld [Buffer4], a
+	ld a, [hl]
+	ld [Buffer3], a
+	ret
+
+LoadHPFromBuffer3: ; f356 (3:7356)
+	ld a, [Buffer4]
+	ld d, a
+	ld a, [Buffer3]
+	ld e, a
+	ret
+
+LoadMaxHPToBuffer1: ; f35f (3:735f)
+	push hl
+	ld a, MON_MAXHP
+	call GetPartyParamLocation
+	ld a, [hli]
+	ld [Buffer2], a
+	ld a, [hl]
+	ld [Buffer1], a
+	pop hl
+	ret
+
+LoadHPFromBuffer1: ; f36f (3:736f)
+	ld a, [Buffer2]
+	ld d, a
+	ld a, [Buffer1]
+	ld e, a
+	ret
+
+GetOneFifthMaxHP: ; f378 (3:7378)
+	push bc
+	ld a, MON_MAXHP
+	call GetPartyParamLocation
+	ld a, [hli]
+	ld [hDividend + 0], a
+	ld a, [hl]
+	ld [hDividend + 1], a
+	ld a, 5
+	ld [hDivisor], a
+	ld b, 2
+	call Divide
+	ld a, [hQuotient + 1]
+	ld d, a
+	ld a, [hQuotient + 2]
+	ld e, a
+	pop bc
+	ret
+
+GetHealingItemAmount: ; f395 (3:7395)
+	push hl
+	ld a, [CurItem]
+	ld hl, .Healing
+	ld d, a
+.next
+	ld a, [hli]
+	cp -1
+	jr z, .NotFound
+	cp d
+	jr z, .done
+	inc hl
+	inc hl
+	jr .next
+
+.NotFound:
+	scf
+.done
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	pop hl
+	ret
+; f3af (3:73af)
+
+.Healing: ; f3af
+	dbw FRESH_WATER,   50
+	dbw SODA_POP,      60
+	dbw LEMONADE,      80
+	dbw HYPER_POTION, 200
+	dbw SUPER_POTION,  50
+	dbw POTION,        20
+	dbw MAX_POTION,   999
+	dbw FULL_RESTORE, 999
+	dbw MOOMOO_MILK,  100
+	dbw BERRY,         10
+	dbw GOLD_BERRY,    30
+	dbw ENERGYPOWDER,  50
+	dbw ENERGY_ROOT,  200
+	dbw RAGECANDYBAR,  20
+	dbw BERRY_JUICE,   20
+	dbw -1,             0
+; f3df
+
+Softboiled_MilkDrinkFunction: ; f3df (3:73df)
+; Softboiled/Milk Drink in the field
+	ld a, [wPartyMenuCursor]
+	dec a
+	ld b, a
+	call .SelectMilkDrinkRecipient ; select pokemon
+	jr c, .skip
+	ld a, b
+	ld [CurPartyMon], a
+	call IsMonFainted
+	call GetOneFifthMaxHP
+	call RemoveHP
+	push bc
+	call HealHP_SFX_GFX
+	pop bc
+	call GetOneFifthMaxHP
+	ld a, c
+	ld [CurPartyMon], a
+	call IsMonFainted
+	call RestoreHealth
+	call HealHP_SFX_GFX
+	ld a, PARTYMENUTEXT_HEAL_HP
+	call ItemActionText
+	call JoyWaitAorB
+.skip
+	ld a, b
+	inc a
+	ld [wPartyMenuCursor], a
+	ret
+
+.SelectMilkDrinkRecipient: ; f419 (3:7419)
+.loop
+	push bc
+	ld a, PARTYMENUACTION_HEALING_ITEM
+	ld [PartyMenuActionText], a
+	call ChoosePkmnToUseItemOn
+	pop bc
+	jr c, .set_carry
+	ld a, [wPartyMenuCursor]
+	dec a
+	ld c, a
+	ld a, b
+	cp c
+	jr z, .cant_use ; chose the same mon as user
+	ld a, c
+	ld [CurPartyMon], a
+	call IsMonFainted
+	jr z, .cant_use
+	call IsMonAtFullHealth
+	jr nc, .cant_use
+	xor a
+	ret
+
+.set_carry
+	scf
+	ret
+
+.cant_use
+	push bc
+	ld hl, .Text_CantBeUsed
+	call MenuTextBoxBackup
+	pop bc
+	jr .loop
+; f44a (3:744a)
+
+.Text_CantBeUsed: ; 0xf44a
+	; That can't be used on this #MON.
+	text_jump UnknownText_0x1c5bac
+	db "@"
+; 0xf44f
+
+
+EscapeRope: ; f44f
+	xor a
+	ld [wItemEffectSucceeded], a
+	callba EscapeRopeFunction
+
+	ld a, [wItemEffectSucceeded]
+	cp 1
+	call z, UseDisposableItem
+	ret
+; f462
+
+
+SuperRepel: ; f462
+	ld b, 200
+	jr UseRepel
+; f466
+
+MaxRepel: ; f466
+	ld b, 250
+	jr UseRepel
+; f466
+
+Repel: ; f46a
+	ld b, 100
+; f46c
+
+UseRepel: ; f46c
+	ld a, [wRepelEffect]
+	and a
+	ld hl, TextJump_RepelUsedEarlierIsStillInEffect
+	jp nz, PrintText
+
+	ld a, b
+	ld [wRepelEffect], a
+	jp UseItemText
+
+
+TextJump_RepelUsedEarlierIsStillInEffect: ; 0xf47d
+	; The REPEL used earlier is still in effect.
+	text_jump Text_RepelUsedEarlierIsStillInEffect
+	db "@"
+; 0xf482
+
+
+XAccuracy: ; f482
+	ld hl, PlayerSubStatus4
+	bit SUBSTATUS_X_ACCURACY, [hl]
+	jp nz, WontHaveAnyEffect_NotUsedMessage
+	set SUBSTATUS_X_ACCURACY, [hl]
+	jp UseItemText
+; f48f
+
+
+PokeDoll: ; f48f
+	ld a, [wBattleMode]
+	dec a
+	jr nz, .asm_f4a6
+	inc a
+	ld [wForcedSwitch], a
+	ld a, [wBattleResult]
+	and 3 << 6
+	or $2
+	ld [wBattleResult], a
+	jp UseItemText
+
+.asm_f4a6
+	xor a
+	ld [wItemEffectSucceeded], a
+	ret
+; f4ab
+
+
+GuardSpec: ; f4ab
+	ld hl, PlayerSubStatus4
+	bit SUBSTATUS_MIST, [hl]
+	jp nz, WontHaveAnyEffect_NotUsedMessage
+	set SUBSTATUS_MIST, [hl]
+	jp UseItemText
+; f4b8
+
+
+DireHit: ; f4b8
+	ld hl, PlayerSubStatus4
+	bit SUBSTATUS_FOCUS_ENERGY, [hl]
+	jp nz, WontHaveAnyEffect_NotUsedMessage
+	set SUBSTATUS_FOCUS_ENERGY, [hl]
+	jp UseItemText
+; f4c5
+
+
+XAttack:
+XDefend:
+XSpeed:
+XSpecial: ; f4c5
+	call UseItemText
+
+	ld a, [CurItem]
+	ld hl, .x_item_table
+
+.loop
+	cp [hl]
+	jr z, .got_it
+	inc hl
+	inc hl
+	jr .loop
+
+.got_it
+	inc hl
+	ld b, [hl]
+	xor a
+	ld [hBattleTurn], a
+	ld [AttackMissed], a
+	ld [EffectFailed], a
+	callba CheckIfStatCanBeRaised
+	call WaitSFX
+
+	callba BattleCommand_StatUpMessage
+	callba BattleCommand_StatUpFailText
+
+	ld a, [CurBattleMon]
+	ld [CurPartyMon], a
+	ld c, HAPPINESS_USEDXITEM
+	callba ChangeHappiness
+	ret
+; f504
+
+.x_item_table ; f504
+	db X_ATTACK,  ATTACK
+	db X_DEFEND,  DEFENSE
+	db X_SPEED,   SPEED
+	db X_SPECIAL, SP_ATTACK
+; f50c
+
+
+PokeFlute: ; f50c
+	ld a, [wBattleMode]
+	and a
+	jr nz, .dummy
+.dummy
+
+	xor a
+	ld [wd002], a
+
+	ld b, $ff ^ SLP
+
+	ld hl, PartyMon1Status
+	call .CureSleep
+
+	ld a, [wBattleMode]
+	cp WILD_BATTLE
+	jr z, .skip_otrainer
+	ld hl, OTPartyMon1Status
+	call .CureSleep
+.skip_otrainer
+
+	ld hl, BattleMonStatus
+	ld a, [hl]
+	and b
+	ld [hl], a
+	ld hl, EnemyMonStatus
+	ld a, [hl]
+	and b
+	ld [hl], a
+
+	ld a, [wd002]
+	and a
+	ld hl, .CatchyTune
+	jp z, PrintText
+	ld hl, .PlayedTheFlute
+	call PrintText
+
+	ld a, [Danger]
+	and $80
+	jr nz, .dummy2
+.dummy2
+	ld hl, .AllSleepingMonWokeUp
+	jp PrintText
+
+
+.CureSleep:
+	ld de, PARTYMON_STRUCT_LENGTH
+	ld c, PARTY_LENGTH
+
+.loop
+	ld a, [hl]
+	push af
+	and SLP
+	jr z, .not_asleep
+	ld a, 1
+	ld [wd002], a
+.not_asleep
+	pop af
+	and b
+	ld [hl], a
+	add hl, de
+	dec c
+	jr nz, .loop
+	ret
+; f56c
+
+
+.CatchyTune: ; 0xf56c
+	; Played the # FLUTE. Now, that's a catchy tune!
+	text_jump UnknownText_0x1c5bf9
+	db "@"
+; 0xf571
+
+.AllSleepingMonWokeUp: ; 0xf571
+	; All sleeping #MON woke up.
+	text_jump UnknownText_0x1c5c28
+	db "@"
+; 0xf576
+
+.PlayedTheFlute: ; 0xf576
+	; played the # FLUTE.@ @
+	text_jump UnknownText_0x1c5c44
+	start_asm
+	ld a, [wBattleMode]
+	and a
+	jr nz, .battle
+
+	push de
+	ld de, SFX_POKEFLUTE
+	call WaitPlaySFX
+	call WaitSFX
+	pop de
+
+.battle
+	jp PokeFluteTerminatorCharacter
+; f58f
+
+
+BlueCard: ; f58f
+	ld hl, .bluecardtext
+	jp MenuTextBoxWaitButton
+
+.bluecardtext
+	text_jump UnknownText_0x1c5c5e
+	db "@"
+; f59a
+
+
+CoinCase: ; f59a
+	ld hl, .coincasetext
+	jp MenuTextBoxWaitButton
+
+.coincasetext
+	text_jump UnknownText_0x1c5c7b
+	db "@"
+; f5a5
+
+
+OldRod: ; f5a5
+	ld e, $0
+	jr UseRod
+; f5a9
+
+GoodRod: ; f5a9
+	ld e, $1
+	jr UseRod
+; f5ad
+
+SuperRod: ; f5ad
+	ld e, $2
+	jr UseRod
+; f5b1
+
+UseRod: ; f5b1
+	callba FishFunction
+	ret
+; f5b8
+
+
+Itemfinder: ; f5b8
+	callba ItemFinder
+	ret
+; f5bf
+
+
+MaxElixer:
+PPUp:
+Ether:
+MaxEther:
+Elixer:
+Mysteryberry: ; f5bf
+	ld a, [CurItem]
+	ld [wd002], a
+
+.loop
+	; Party Screen opens to choose on which Pkmn to use the Item
+	ld b, PARTYMENUACTION_HEALING_ITEM
+	call UseItem_SelectMon
+	jp c, PPRestoreItem_Cancel
+
+.loop2
+	ld a, [wd002]
+	cp MAX_ELIXER
+	jp z, Elixer_RestorePPofAllMoves
+	cp ELIXER
+	jp z, Elixer_RestorePPofAllMoves
+
+	ld hl, TextJump_RaiseThePPOfWhichMove
+	ld a, [wd002]
+	cp PP_UP
+	jr z, .ppup
+	ld hl, TextJump_RestoreThePPOfWhichMove
+
+.ppup
+	call PrintText
+
+	ld a, [CurMoveNum]
+	push af
+	xor a
+	ld [CurMoveNum], a
+	ld a, $2
+	ld [wMoveSelectionMenuType], a
+	callba MoveSelectionScreen
+	pop bc
+
+	ld a, b
+	ld [CurMoveNum], a
+	jr nz, .loop
+	ld hl, PartyMon1Moves
+	ld bc, PARTYMON_STRUCT_LENGTH
+	call GetMthMoveOfNthPartymon
+
+	push hl
+	ld a, [hl]
+	ld [wd265], a
+	call GetMoveName
+	call CopyName1
+	pop hl
+
+	ld a, [wd002]
+	cp PP_UP
+	jp nz, Not_PP_Up
+
+	ld a, [hl]
+	cp SKETCH
+	jr z, .CantUsePPUpOnSketch
+
+	ld bc, $0015
+	add hl, bc
+	ld a, [hl]
+	cp 3 << 6 ; have 3 PP Ups already been used?
+	jr c, .do_ppup
+
+.CantUsePPUpOnSketch:
+.pp_is_maxed_out
+	ld hl, TextJump_PPIsMaxedOut
+	call PrintText
+	jr .loop2
+
+.do_ppup
+	ld a, [hl]
+	add 1 << 6 ; increase PP Up count by 1
+	ld [hl], a
+	ld a, $1
+	ld [wd265], a
+	call ApplyPPUp
+	call Play_SFX_FULL_HEAL
+
+	ld hl, TextJump_PPsIncreased
+	call PrintText
+
+FinishPPRestore: ; f64c
+	call ClearPalettes
+	jp UseDisposableItem
+; f652
+
+BattleRestorePP: ; f652
+	ld a, [wBattleMode]
+	and a
+	jr z, .not_in_battle
+	ld a, [CurPartyMon]
+	ld b, a
+	ld a, [CurBattleMon]
+	cp b
+	jr nz, .not_in_battle
+	ld a, [PlayerSubStatus5]
+	bit SUBSTATUS_TRANSFORMED, a
+	jr nz, .not_in_battle
+	call .UpdateBattleMonPP
+
+.not_in_battle
+	call Play_SFX_FULL_HEAL
+	ld hl, UnknownText_0xf739
+	call PrintText
+	jr FinishPPRestore
+
+.UpdateBattleMonPP:
+	ld a, [CurPartyMon]
+	ld hl, PartyMon1Moves
+	ld bc, PARTYMON_STRUCT_LENGTH
+	call AddNTimes
+	ld de, BattleMonMoves
+	ld b, NUM_MOVES
+.loop
+	ld a, [de]
+	and a
+	jr z, .done
+	cp [hl]
+	jr nz, .next
+	push hl
+	push de
+	push bc
+	rept NUM_MOVES + 2 ; BattleMonPP - BattleMonMoves
+	inc de
+	endr
+	ld bc, MON_PP - MON_MOVES
+	add hl, bc
+	ld a, [hl]
+	ld [de], a
+	pop bc
+	pop de
+	pop hl
+
+.next
+	inc hl
+	inc de
+	dec b
+	jr nz, .loop
+
+.done
+	ret
+; f6a7
+
+Not_PP_Up: ; f6a7
+	call RestorePP
+	jr nz, BattleRestorePP
+	jp PPRestoreItem_NoEffect
+; f6af
+
+Elixer_RestorePPofAllMoves: ; f6af
+	xor a
+	ld hl, wMenuCursorY
+	ld [hli], a
+	ld [hl], a
+	ld b, NUM_MOVES
+.moveLoop
+	push bc
+	ld hl, PartyMon1Moves
+	ld bc, PARTYMON_STRUCT_LENGTH
+	call GetMthMoveOfNthPartymon
+	ld a, [hl]
+	and a
+	jr z, .next
+
+	call RestorePP
+	jr z, .next
+	ld hl, wMenuCursorX
+	inc [hl]
+
+.next
+	ld hl, wMenuCursorY
+	inc [hl]
+	pop bc
+	dec b
+	jr nz, .moveLoop
+	ld a, [wMenuCursorX]
+	and a
+	jp nz, BattleRestorePP
+
+PPRestoreItem_NoEffect: ; f6dd
+	call WontHaveAnyEffectMessage
+
+PPRestoreItem_Cancel: ; f6e0
+	call ClearPalettes
+	xor a
+	ld [wItemEffectSucceeded], a
+	ret
+; f6e8
+
+RestorePP: ; f6e8
+	xor a ; PARTYMON
+	ld [MonType], a
+	call GetMaxPPOfMove
+	ld hl, PartyMon1PP
+	ld bc, PARTYMON_STRUCT_LENGTH
+	call GetMthMoveOfNthPartymon
+	ld a, [wd265]
+	ld b, a
+	ld a, [hl]
+	and (1 << 6) - 1
+	cp b
+	jr nc, .dont_restore
+
+	ld a, [wd002]
+	cp MAX_ELIXER
+	jr z, .restore_all
+	cp MAX_ETHER
+	jr z, .restore_all
+
+	ld c, 5
+	cp MYSTERYBERRY
+	jr z, .restore_some
+
+	ld c, 10
+
+.restore_some
+	ld a, [hl]
+	and (1 << 6) - 1
+	add c
+	cp b
+	jr nc, .restore_all
+	ld b, a
+
+.restore_all
+	ld a, [hl]
+	and 3 << 6
+	or b
+	ld [hl], a
+	ret
+
+.dont_restore
+	xor a
+	ret
+; f725
+
+TextJump_RaiseThePPOfWhichMove: ; 0xf725
+	; Raise the PP of which move?
+	text_jump Text_RaiseThePPOfWhichMove
+	db "@"
+; 0xf72a
+
+TextJump_RestoreThePPOfWhichMove: ; 0xf72a
+	; Restore the PP of which move?
+	text_jump Text_RestoreThePPOfWhichMove
+	db "@"
+; 0xf72f
+
+TextJump_PPIsMaxedOut: ; 0xf72f
+	; 's PP is maxed out.
+	text_jump Text_PPIsMaxedOut
+	db "@"
+; 0xf734
+
+TextJump_PPsIncreased: ; 0xf734
+	; 's PP increased.
+	text_jump Text_PPsIncreased
+	db "@"
+; 0xf739
+
+UnknownText_0xf739: ; 0xf739
+	; PP was restored.
+	text_jump UnknownText_0x1c5cf1
+	db "@"
+; 0xf73e
+
+
+Squirtbottle: ; f73e
+	callba _Squirtbottle
+	ret
+; f745
+
+
+CardKey: ; f745
+	callba _CardKey
+	ret
+; f74c
+
+
+BasementKey: ; f74c
+	callba _BasementKey
+	ret
+; f753
+
+
+SacredAsh: ; f753
+	callba _SacredAsh
+	ld a, [wItemEffectSucceeded]
+	cp $1
+	ret nz
+	call UseDisposableItem
+	ret
+; f763
+
+
+NormalBox: ; f763
+	ld c, DECOFLAG_SILVER_TROPHY_DOLL
+	jr OpenBox
+; f767
+
+GorgeousBox: ; f767
+	ld c, DECOFLAG_GOLD_TROPHY_DOLL
+OpenBox: ; f769
+	callba SetSpecificDecorationFlag
+
+	ld hl, .text
+	call PrintText
+
+	jp UseDisposableItem
+; f778
+
+.text ; 0xf778
+	; There was a trophy inside!
+	text_jump UnknownText_0x1c5d03
+	db "@"
+; 0xf77d
+
+Brightpowder:
+Item19:
+LuckyPunch:
+MetalPowder:
+Nugget:
+Item2D:
+Item32:
+ExpShare:
+SilverLeaf:
+RedScale:
+Secretpotion:
+SSTicket:
+MysteryEgg:
+ClearBell:
+SilverWing:
+QuickClaw:
+GoldLeaf:
+SoftSand:
+SharpBeak:
+PoisonBarb:
+KingsRock:
+RedApricorn:
+Tinymushroom:
+BigMushroom:
+Silverpowder:
+BluApricorn:
+Item5A:
+AmuletCoin:
+YlwApricorn:
+GrnApricorn:
+CleanseTag:
+MysticWater:
+Twistedspoon:
+WhtApricorn:
+Blackbelt:
+BlkApricorn:
+Item64:
+PnkApricorn:
+Blackglasses:
+Slowpoketail:
+PinkBow:
+Stick:
+SmokeBall:
+Nevermeltice:
+Magnet:
+Pearl:
+BigPearl:
+Everstone:
+SpellTag:
+GsBall:
+MiracleSeed:
+ThickClub:
+FocusBand:
+Item78:
+HardStone:
+LuckyEgg:
+MachinePart:
+EggTicket:
+LostItem:
+Stardust:
+StarPiece:
+Pass:
+Item87:
+Item88:
+Item89:
+Charcoal:
+ScopeLens:
+Item8D:
+Item8E:
+MetalCoat:
+DragonFang:
+Item91:
+Leftovers:
+Item93:
+Item94:
+Item95:
+DragonScale:
+BerserkGene:
+Item99:
+Item9A:
+Item9B:
+FlowerMail:
+ItemA2:
+LightBall:
+PolkadotBow:
+ItemAB:
+UpGrade:
+ItemB0:
+RainbowWing:
+ItemB3:
+TeruSama: ; f77d
+	jp IsntTheTimeMessage
+; f780
+
+
+Play_SFX_FULL_HEAL: ; f780
+	push de
+	ld de, SFX_FULL_HEAL
+	call WaitPlaySFX
+	pop de
+	ret
+; f789
+
+UseItemText: ; f789
+	ld hl, UsedItemText
+	call PrintText
+	call Play_SFX_FULL_HEAL
+	call WaitPressAorB_BlinkCursor
+UseDisposableItem: ; f795
+	ld hl, NumItems
+	ld a, 1
+	ld [wItemQuantityChangeBuffer], a
+	jp TossItem
+; f7a0
+
+UseBallInTrainerBattle: ; f7a0
+	call ReturnToBattle_UseBall
+	ld de, ANIM_THROW_POKE_BALL
+	ld a, e
+	ld [FXAnimID], a
+	ld a, d
+	ld [FXAnimID + 1], a
+	xor a
+	ld [wBattleAnimParam], a
+	ld [hBattleTurn], a
+	ld [wNumHits], a
+	predef PlayBattleAnim
+	ld hl, BlockedTheBallText
+	call PrintText
+	ld hl, DontBeAThiefText
+	call PrintText
+	jr UseDisposableItem
+; f7ca
+
+WontHaveAnyEffect_NotUsedMessage: ; f7ca
+	ld hl, WontHaveAnyEffectText
+	call PrintText
+
+	; Item wasn't used.
+	ld a, $2
+	ld [wItemEffectSucceeded], a
+	ret
+; f7d6
+
+LooksBitterMessage: ; f7d6
+	ld hl, LooksBitterText
+	jp PrintText
+; f7dc
+
+Ball_BoxIsFullMessage: ; f7dc
+	ld hl, Ball_BoxIsFullText
+	call PrintText
+
+	; Item wasn't used.
+	ld a, $2
+	ld [wItemEffectSucceeded], a
+	ret
+; f7e8
+
+CantUseOnEggMessage: ; f7e8
+	ld hl, CantUseOnEggText
+	jr CantUseItemMessage
+
+IsntTheTimeMessage: ; f7ed
+	ld hl, IsntTheTimeText
+	jr CantUseItemMessage
+
+WontHaveAnyEffectMessage: ; f7f2
+	ld hl, WontHaveAnyEffectText
+	jr CantUseItemMessage
+
+BelongsToSomeoneElseMessage: ; f7f7
+	ld hl, BelongsToSomeoneElseText
+	jr CantUseItemMessage
+
+CyclingIsntAllowedMessage: ; f7fc
+	ld hl, CyclingIsntAllowedText
+	jr CantUseItemMessage
+
+CantGetOnYourBikeMessage: ; f801
+	ld hl, CantGetOnYourBikeText
+
+CantUseItemMessage: ; f804
+; Item couldn't be used.
+	xor a
+	ld [wItemEffectSucceeded], a
+	jp PrintText
+; f80b
+
+LooksBitterText: ; 0xf80b
+	; It looks bitter…
+	text_jump UnknownText_0x1c5d3e
+	db "@"
+; 0xf810
+
+CantUseOnEggText: ; 0xf810
+	; That can't be used on an EGG.
+	text_jump UnknownText_0x1c5d50
+	db "@"
+; 0xf815
+
+IsntTheTimeText: ; 0xf815
+	; OAK:  ! This isn't the time to use that!
+	text_jump UnknownText_0x1c5d6e
+	db "@"
+; 0xf81a
+
+BelongsToSomeoneElseText: ; 0xf81a
+	; That belongs to someone else!
+	text_jump UnknownText_0x1c5d97
+	db "@"
+; 0xf81f
+
+WontHaveAnyEffectText: ; 0xf81f
+	; It won't have any effect.
+	text_jump UnknownText_0x1c5db6
+	db "@"
+; 0xf824
+
+BlockedTheBallText: ; 0xf824
+	; The trainer blocked the BALL!
+	text_jump UnknownText_0x1c5dd0
+	db "@"
+; 0xf829
+
+DontBeAThiefText: ; 0xf829
+	; Don't be a thief!
+	text_jump UnknownText_0x1c5def
+	db "@"
+; 0xf82e
+
+CyclingIsntAllowedText: ; 0xf82e
+	; Cycling isn't allowed here.
+	text_jump UnknownText_0x1c5e01
+	db "@"
+; 0xf833
+
+CantGetOnYourBikeText: ; 0xf833
+	; Can't get on your @  now.
+	text_jump UnknownText_0x1c5e1d
+	db "@"
+; 0xf838
+
+Ball_BoxIsFullText: ; 0xf838
+	; The #MON BOX is full. That can't be used now.
+	text_jump UnknownText_0x1c5e3a
+	db "@"
+; 0xf83d
+
+UsedItemText: ; 0xf83d
+	; used the@ .
+	text_jump UnknownText_0x1c5e68
+	db "@"
+; 0xf842
+
+GotOnTheItemText: ; 0xf842
+	; got on the@ .
+	text_jump UnknownText_0x1c5e7b
+	db "@"
+; 0xf847
+
+GotOffTheItemText: ; 0xf847
+	; got off@ the @ .
+	text_jump UnknownText_0x1c5e90
+	db "@"
+; 0xf84c
+
+
+ApplyPPUp: ; f84c
+	ld a, MON_MOVES
+	call GetPartyParamLocation
+	push hl
+	ld de, Buffer1
+	predef FillPP
+	pop hl
+	ld bc, MON_PP - MON_MOVES
+	add hl, bc
+	ld de, Buffer1
+	ld b, 0
+.loop
+	inc b
+	ld a, b
+	cp NUM_MOVES + 1
+	ret z
+	ld a, [wd265]
+	dec a
+	jr nz, .use
+	ld a, [wMenuCursorY]
+	inc a
+	cp b
+	jr nz, .skip
+
+.use
+	ld a, [hl]
+	and 3 << 6
+	ld a, [de] ; wasted cycle
+	call nz, ComputeMaxPP
+
+.skip
+	inc hl
+	inc de
+	jr .loop
+; f881
+
+
+
+ComputeMaxPP: ; f881
+	push bc
+	; Divide the base PP by 5.
+	ld a, [de]
+	ld [hDividend + 3], a
+	xor a
+	ld [hDividend], a
+	ld [hDividend + 1], a
+	ld [hDividend + 2], a
+	ld a, 5
+	ld [hDivisor], a
+	ld b, 4
+	call Divide
+	; Get the number of PP, which are bits 6 and 7 of the PP value stored in RAM.
+	ld a, [hl]
+	ld b, a
+	swap a
+	and $f
+	srl a
+	srl a
+	ld c, a
+	; If this value is 0, we are done
+	and a
+	jr z, .NoPPUp
+
+.loop
+	; Normally, a move with 40 PP would have 64 PP with three PP Ups.
+	; Since this would overflow into bit 6, we prevent that from happening
+	; by decreasing the extra amount of PP each PP Up provides, resulting
+	; in a maximum of 61.
+	ld a, [hQuotient + 2]
+	cp $8
+	jr c, .okay
+	ld a, $7
+
+.okay
+	add b
+	ld b, a
+	ld a, [wd265]
+	dec a
+	jr z, .NoPPUp
+	dec c
+	jr nz, .loop
+
+.NoPPUp:
+	ld [hl], b
+	pop bc
+	ret
+; f8b9
+
+RestoreAllPP: ; f8b9
+	ld a, MON_PP
+	call GetPartyParamLocation
+	push hl
+	ld a, MON_MOVES
+	call GetPartyParamLocation
+	pop de
+	xor a ; PARTYMON
+	ld [wMenuCursorY], a
+	ld [MonType], a
+	ld c, NUM_MOVES
+.loop
+	ld a, [hli]
+	and a
+	ret z
+	push hl
+	push de
+	push bc
+	call GetMaxPPOfMove
+	pop bc
+	pop de
+	ld a, [de]
+	and 3 << 6
+	ld b, a
+	ld a, [wd265]
+	add b
+	ld [de], a
+	inc de
+	ld hl, wMenuCursorY
+	inc [hl]
+	pop hl
+	dec c
+	jr nz, .loop
+	ret
+; f8ec
+
+
+GetMaxPPOfMove: ; f8ec
+	ld a, [StringBuffer1 + 0]
+	push af
+	ld a, [StringBuffer1 + 1]
+	push af
+
+	ld a, [MonType]
+	and a
+
+	ld hl, PartyMon1Moves
+	ld bc, PARTYMON_STRUCT_LENGTH
+	jr z, .got_partymon ; PARTYMON
+
+	ld hl, OTPartyMon1Moves
+	dec a
+	jr z, .got_partymon ; OTPARTYMON
+
+	ld hl, TempMonMoves
+	dec a
+	jr z, .got_nonpartymon ; BOXMON
+
+	ld hl, TempMonMoves ; Wasted cycles
+	dec a
+	jr z, .got_nonpartymon ; TEMPMON
+
+	ld hl, BattleMonMoves ; WILDMON
+
+.got_nonpartymon ; BOXMON, TEMPMON, WILDMON
+	call GetMthMoveOfCurrentMon
+	jr .gotdatmove
+
+.got_partymon ; PARTYMON, OTPARTYMON
+	call GetMthMoveOfNthPartymon
+
+.gotdatmove
+	ld a, [hl]
+	dec a
+
+	push hl
+	ld hl, Moves + MOVE_PP
+	ld bc, MOVE_LENGTH
+	call AddNTimes
+	ld a, BANK(Moves)
+	call GetFarByte
+	ld b, a
+	ld de, StringBuffer1
+	ld [de], a
+	pop hl
+
+	push bc
+	ld bc, MON_PP - MON_MOVES
+	ld a, [MonType]
+	cp WILDMON
+	jr nz, .notwild
+	ld bc, EnemyMonPP - EnemyMonMoves
+.notwild
+	add hl, bc
+	ld a, [hl]
+	and 3 << 6
+	pop bc
+
+	or b
+	ld hl, StringBuffer1 + 1
+	ld [hl], a
+	xor a
+	ld [wd265], a
+	ld a, b ; this gets lost anyway
+	call ComputeMaxPP
+	ld a, [hl]
+	and (1 << 6) - 1
+	ld [wd265], a
+
+	pop af
+	ld [StringBuffer1 + 1], a
+	pop af
+	ld [StringBuffer1 + 0], a
+	ret
+; f963
+
+GetMthMoveOfNthPartymon: ; f963
+	ld a, [CurPartyMon]
+	call AddNTimes
+
+GetMthMoveOfCurrentMon: ; f969
+	ld a, [wMenuCursorY]
+	ld c, a
+	ld b, 0
+	add hl, bc
+	ret
+; f971
+
+INCLUDE "engine/pokeball_wobble.asm"
--- a/engine/landmarks.asm
+++ b/engine/landmarks.asm
@@ -47,7 +47,7 @@
 ; 0x1ca8c3
 
 
-INCLUDE "data/landmarks.asm"
+INCLUDE "data/maps/landmarks.asm"
 
 
 RegionCheck: ; 0x1caea1
--- a/engine/mon_icons.asm
+++ b/engine/mon_icons.asm
@@ -466,7 +466,7 @@
 ; 8eac4
 
 
-INCLUDE "data/mon_menu_icons.asm"
+INCLUDE "data/pokemon/menu_icons.asm"
 
 INCLUDE "gfx/icon_pointers.asm"
 
--- a/engine/overworld.asm
+++ b/engine/overworld.asm
@@ -721,6 +721,6 @@
 
 INCLUDE "data/sprite_mons.asm"
 
-INCLUDE "data/outdoor_sprites.asm"
+INCLUDE "data/maps/outdoor_sprites.asm"
 
 INCLUDE "gfx/sprite_headers.asm"
--- /dev/null
+++ b/engine/pokeball_wobble.asm
@@ -1,0 +1,88 @@
+GetPokeBallWobble: ; f971 (3:7971)
+; Returns whether a Poke Ball will wobble in the catch animation.
+; Whether a Pokemon is caught is determined beforehand.
+
+	push de
+
+	ld a, [rSVBK]
+	ld d, a
+	push de
+
+	ld a, 1 ; BANK(Buffer2)
+	ld [rSVBK], a
+
+	ld a, [Buffer2]
+	inc a
+	ld [Buffer2], a
+
+; Wobble up to 3 times.
+	cp 3 + 1
+	jr z, .finished
+
+	ld a, [wWildMon]
+	and a
+	ld c, 0 ; next
+	jr nz, .done
+
+	ld hl, .WobbleProbabilities
+	ld a, [Buffer1]
+	ld b, a
+.loop
+	ld a, [hli]
+	cp b
+	jr nc, .checkwobble
+	inc hl
+	jr .loop
+
+.checkwobble
+	ld b, [hl]
+	call Random
+	cp b
+	ld c, 0 ; next
+	jr c, .done
+	ld c, 2 ; escaped
+	jr .done
+
+.finished
+	ld a, [wWildMon]
+	and a
+	ld c, 1 ; caught
+	jr nz, .done
+	ld c, 2 ; escaped
+
+.done
+	pop de
+	ld e, a
+	ld a, d
+	ld [rSVBK], a
+	ld a, e
+	pop de
+	ret
+
+.WobbleProbabilities: ; f9ba
+; catch rate, chance of wobbling / 255
+; nLeft/255 = (nRight/255) ** 4
+	db   1,  63
+	db   2,  75
+	db   3,  84
+	db   4,  90
+	db   5,  95
+	db   7, 103
+	db  10, 113
+	db  15, 126
+	db  20, 134
+	db  30, 149
+	db  40, 160
+	db  50, 169
+	db  60, 177
+	db  80, 191
+	db 100, 201
+	db 120, 211
+	db 140, 220
+	db 160, 227
+	db 180, 234
+	db 200, 240
+	db 220, 246
+	db 240, 251
+	db 254, 253
+	db 255, 255
--- a/engine/pokedex.asm
+++ b/engine/pokedex.asm
@@ -1709,9 +1709,9 @@
 	ret
 
 
-INCLUDE "data/pokedex/order_alpha.asm"
+INCLUDE "data/pokemon/dex_order_alpha.asm"
 
-INCLUDE "data/pokedex/order_new.asm"
+INCLUDE "data/pokemon/dex_order_new.asm"
 
 
 Pokedex_DisplayModeDescription: ; 40e5b
--- /dev/null
+++ b/engine/read_trainer_attributes.asm
@@ -1,0 +1,64 @@
+GetTrainerClassName: ; 3952d
+	ld hl, RivalName
+	ld a, c
+	cp RIVAL1
+	jr z, .rival
+
+	ld [CurSpecies], a
+	ld a, TRAINER_NAME
+	ld [wNamedObjectTypeBuffer], a
+	call GetName
+	ld de, StringBuffer1
+	ret
+
+.rival
+	ld de, StringBuffer1
+	push de
+	ld bc, NAME_LENGTH
+	call CopyBytes
+	pop de
+	ret
+
+GetOTName: ; 39550
+	ld hl, OTPlayerName
+	ld a, [wLinkMode]
+	and a
+	jr nz, .ok
+
+	ld hl, RivalName
+	ld a, c
+	cp RIVAL1
+	jr z, .ok
+
+	ld [CurSpecies], a
+	ld a, TRAINER_NAME
+	ld [wNamedObjectTypeBuffer], a
+	call GetName
+	ld hl, StringBuffer1
+
+.ok
+	ld bc, TRAINER_CLASS_NAME_LENGTH
+	ld de, OTClassName
+	push de
+	call CopyBytes
+	pop de
+	ret
+
+GetTrainerAttributes: ; 3957b
+	ld a, [TrainerClass]
+	ld c, a
+	call GetOTName
+	ld a, [TrainerClass]
+	dec a
+	ld hl, TrainerClassAttributes + TRNATTR_ITEM1
+	ld bc, NUM_TRAINER_ATTRIBUTES
+	call AddNTimes
+	ld de, wEnemyTrainerItem1
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	ld a, [hl]
+	ld [wEnemyTrainerBaseReward], a
+	ret
--- /dev/null
+++ b/engine/read_trainer_party.asm
@@ -1,0 +1,398 @@
+
+ReadTrainerParty: ; 39771
+	ld a, [InBattleTowerBattle]
+	bit 0, a
+	ret nz
+
+	ld a, [wLinkMode]
+	and a
+	ret nz
+
+	ld hl, OTPartyCount
+	xor a
+	ld [hli], a
+	dec a
+	ld [hl], a
+
+	ld hl, OTPartyMons
+	ld bc, OTPartyMonsEnd - OTPartyMons
+	xor a
+	call ByteFill
+
+	ld a, [OtherTrainerClass]
+	cp CAL
+	jr nz, .not_cal2
+	ld a, [OtherTrainerID]
+	cp CAL2
+	jr z, .cal2
+	ld a, [OtherTrainerClass]
+.not_cal2
+
+	dec a
+	ld c, a
+	ld b, 0
+	ld hl, TrainerGroups
+	add hl, bc
+	add hl, bc
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+
+	ld a, [OtherTrainerID]
+	ld b, a
+.skip_trainer
+	dec b
+	jr z, .got_trainer
+.loop
+	ld a, [hli]
+	cp $ff
+	jr nz, .loop
+	jr .skip_trainer
+.got_trainer
+
+.skip_name
+	ld a, [hli]
+	cp "@"
+	jr nz, .skip_name
+
+	ld a, [hli]
+	ld c, a
+	ld b, 0
+	ld d, h
+	ld e, l
+	ld hl, TrainerTypes
+	add hl, bc
+	add hl, bc
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld bc, .done
+	push bc
+	jp hl
+
+.done
+	jp ComputeTrainerReward
+
+.cal2
+	ld a, BANK(sMysteryGiftTrainer)
+	call GetSRAMBank
+	ld de, sMysteryGiftTrainer
+	call TrainerType2
+	call CloseSRAM
+	jr .done
+; 397e3
+
+TrainerTypes: ; 397e3
+	dw TrainerType1 ; level, species
+	dw TrainerType2 ; level, species, moves
+	dw TrainerType3 ; level, species, item
+	dw TrainerType4 ; level, species, item, moves
+; 397eb
+
+TrainerType1: ; 397eb
+; normal (level, species)
+	ld h, d
+	ld l, e
+.loop
+	ld a, [hli]
+	cp $ff
+	ret z
+
+	ld [CurPartyLevel], a
+	ld a, [hli]
+	ld [CurPartySpecies], a
+	ld a, OTPARTYMON
+	ld [MonType], a
+	push hl
+	predef TryAddMonToParty
+	pop hl
+	jr .loop
+; 39806
+
+TrainerType2: ; 39806
+; moves
+	ld h, d
+	ld l, e
+.loop
+	ld a, [hli]
+	cp $ff
+	ret z
+
+	ld [CurPartyLevel], a
+	ld a, [hli]
+	ld [CurPartySpecies], a
+	ld a, OTPARTYMON
+	ld [MonType], a
+
+	push hl
+	predef TryAddMonToParty
+	ld a, [OTPartyCount]
+	dec a
+	ld hl, OTPartyMon1Moves
+	ld bc, PARTYMON_STRUCT_LENGTH
+	call AddNTimes
+	ld d, h
+	ld e, l
+	pop hl
+
+	ld b, NUM_MOVES
+.copy_moves
+	ld a, [hli]
+	ld [de], a
+	inc de
+	dec b
+	jr nz, .copy_moves
+
+	push hl
+
+	ld a, [OTPartyCount]
+	dec a
+	ld hl, OTPartyMon1Species
+	ld bc, PARTYMON_STRUCT_LENGTH
+	call AddNTimes
+	ld d, h
+	ld e, l
+	ld hl, MON_PP
+	add hl, de
+	push hl
+	ld hl, MON_MOVES
+	add hl, de
+	pop de
+
+	ld b, NUM_MOVES
+.copy_pp
+	ld a, [hli]
+	and a
+	jr z, .copied_pp
+
+	push hl
+	push bc
+	dec a
+	ld hl, Moves + MOVE_PP
+	ld bc, MOVE_LENGTH
+	call AddNTimes
+	ld a, BANK(Moves)
+	call GetFarByte
+	pop bc
+	pop hl
+
+	ld [de], a
+	inc de
+	dec b
+	jr nz, .copy_pp
+.copied_pp
+
+	pop hl
+	jr .loop
+; 39871
+
+TrainerType3: ; 39871
+; item
+	ld h, d
+	ld l, e
+.loop
+	ld a, [hli]
+	cp $ff
+	ret z
+
+	ld [CurPartyLevel], a
+	ld a, [hli]
+	ld [CurPartySpecies], a
+	ld a, OTPARTYMON
+	ld [MonType], a
+	push hl
+	predef TryAddMonToParty
+	ld a, [OTPartyCount]
+	dec a
+	ld hl, OTPartyMon1Item
+	ld bc, PARTYMON_STRUCT_LENGTH
+	call AddNTimes
+	ld d, h
+	ld e, l
+	pop hl
+	ld a, [hli]
+	ld [de], a
+	jr .loop
+; 3989d (e:589d)
+
+TrainerType4: ; 3989d
+; item + moves
+	ld h, d
+	ld l, e
+.loop
+	ld a, [hli]
+	cp $ff
+	ret z
+
+	ld [CurPartyLevel], a
+	ld a, [hli]
+	ld [CurPartySpecies], a
+
+	ld a, OTPARTYMON
+	ld [MonType], a
+
+	push hl
+	predef TryAddMonToParty
+	ld a, [OTPartyCount]
+	dec a
+	ld hl, OTPartyMon1Item
+	ld bc, PARTYMON_STRUCT_LENGTH
+	call AddNTimes
+	ld d, h
+	ld e, l
+	pop hl
+
+	ld a, [hli]
+	ld [de], a
+
+	push hl
+	ld a, [OTPartyCount]
+	dec a
+	ld hl, OTPartyMon1Moves
+	ld bc, PARTYMON_STRUCT_LENGTH
+	call AddNTimes
+	ld d, h
+	ld e, l
+	pop hl
+
+	ld b, NUM_MOVES
+.copy_moves
+	ld a, [hli]
+	ld [de], a
+	inc de
+	dec b
+	jr nz, .copy_moves
+
+	push hl
+
+	ld a, [OTPartyCount]
+	dec a
+	ld hl, OTPartyMon1
+	ld bc, PARTYMON_STRUCT_LENGTH
+	call AddNTimes
+	ld d, h
+	ld e, l
+	ld hl, MON_PP
+	add hl, de
+
+	push hl
+	ld hl, MON_MOVES
+	add hl, de
+	pop de
+
+	ld b, NUM_MOVES
+.copy_pp
+	ld a, [hli]
+	and a
+	jr z, .copied_pp
+
+	push hl
+	push bc
+	dec a
+	ld hl, Moves + MOVE_PP
+	ld bc, MOVE_LENGTH
+	call AddNTimes
+	ld a, BANK(Moves)
+	call GetFarByte
+	pop bc
+	pop hl
+
+	ld [de], a
+	inc de
+	dec b
+	jr nz, .copy_pp
+.copied_pp
+
+	pop hl
+	jr .loop
+; 3991b
+
+ComputeTrainerReward: ; 3991b (e:591b)
+	ld hl, hProduct
+	xor a
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld a, [wEnemyTrainerBaseReward]
+	ld [hli], a
+	ld a, [CurPartyLevel]
+	ld [hl], a
+	call Multiply
+	ld hl, wBattleReward
+	xor a
+	ld [hli], a
+	ld a, [hProduct + 2]
+	ld [hli], a
+	ld a, [hProduct + 3]
+	ld [hl], a
+	ret
+
+
+Battle_GetTrainerName:: ; 39939
+	ld a, [InBattleTowerBattle]
+	bit 0, a
+	ld hl, OTPlayerName
+	jp nz, CopyTrainerName
+
+	ld a, [OtherTrainerID]
+	ld b, a
+	ld a, [OtherTrainerClass]
+	ld c, a
+
+GetTrainerName:: ; 3994c
+	ld a, c
+	cp CAL
+	jr nz, .not_cal2
+
+	ld a, BANK(sMysteryGiftTrainerHouseFlag)
+	call GetSRAMBank
+	ld a, [sMysteryGiftTrainerHouseFlag]
+	and a
+	call CloseSRAM
+	jr z, .not_cal2
+
+	ld a, BANK(sMysteryGiftPartnerName)
+	call GetSRAMBank
+	ld hl, sMysteryGiftPartnerName
+	call CopyTrainerName
+	jp CloseSRAM
+
+.not_cal2
+	dec c
+	push bc
+	ld b, 0
+	ld hl, TrainerGroups
+	add hl, bc
+	add hl, bc
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	pop bc
+
+.loop
+	dec b
+	jr z, CopyTrainerName
+
+.skip
+	ld a, [hli]
+	cp $ff
+	jr nz, .skip
+	jr .loop
+
+CopyTrainerName: ; 39984
+	ld de, StringBuffer1
+	push de
+	ld bc, NAME_LENGTH
+	call CopyBytes
+	pop de
+	ret
+; 39990
+
+Function39990: ; 39990
+; This function is useless.
+	ld de, StringBuffer1
+	push de
+	ld bc, NAME_LENGTH
+	pop de
+	ret
+; 39999
--- a/engine/spawn_points.asm
+++ b/engine/spawn_points.asm
@@ -1,5 +1,5 @@
 
-INCLUDE "data/spawn_points.asm"
+INCLUDE "data/maps/spawn_points.asm"
 
 
 LoadSpawnPoint: ; 1531f
--- a/items/item_attributes.asm
+++ /dev/null
@@ -1,521 +1,0 @@
-item_attribute: MACRO
-; price, held effect, parameter, property, pocket, field menu, battle menu
-	dw \1
-	db \2, \3, \4, \5
-	dn \6, \7
-ENDM
-
-ItemAttributes: ; 67c1
-; entries correspond to constants/item_constants.asm
-; MASTER BALL
-	item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; ULTRA BALL
-	item_attribute 1200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; BRIGHTPOWDER
-	item_attribute 10, HELD_BRIGHTPOWDER, 20, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; GREAT BALL
-	item_attribute 600, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; # BALL
-	item_attribute 200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BICYCLE
-	item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; MOON STONE
-	item_attribute 0, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; ANTIDOTE
-	item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; BURN HEAL
-	item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ICE HEAL
-	item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; AWAKENING
-	item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; PARLYZ HEAL
-	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; FULL RESTORE
-	item_attribute 3000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; MAX POTION
-	item_attribute 2500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; HYPER POTION
-	item_attribute 1200, 0, 200, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; SUPER POTION
-	item_attribute 700, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; POTION
-	item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ESCAPE ROPE
-	item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; REPEL
-	item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; MAX ELIXER
-	item_attribute 4500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; FIRE STONE
-	item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; THUNDERSTONE
-	item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; WATER STONE
-	item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; HP UP
-	item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; PROTEIN
-	item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; IRON
-	item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; CARBOS
-	item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; LUCKY PUNCH
-	item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CALCIUM
-	item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; RARE CANDY
-	item_attribute 4800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; X ACCURACY
-	item_attribute 950, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; LEAF STONE
-	item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; METAL POWDER
-	item_attribute 10, HELD_METAL_POWDER, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; NUGGET
-	item_attribute 10000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; # DOLL
-	item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; FULL HEAL
-	item_attribute 600, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; REVIVE
-	item_attribute 1500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; MAX REVIVE
-	item_attribute 4000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GUARD SPEC.
-	item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; SUPER REPEL
-	item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; MAX REPEL
-	item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; DIRE HIT
-	item_attribute 650, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; FRESH WATER
-	item_attribute 200, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; SODA POP
-	item_attribute 300, 0, 60, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; LEMONADE
-	item_attribute 350, 0, 80, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; X ATTACK
-	item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; X DEFEND
-	item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; X SPEED
-	item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; X SPECIAL
-	item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; COIN CASE
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; ITEMFINDER
-	item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; EXP.SHARE
-	item_attribute 3000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; OLD ROD
-	item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; GOOD ROD
-	item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; SILVER LEAF
-	item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SUPER ROD
-	item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; PP UP
-	item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; ETHER
-	item_attribute 1200, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; MAX ETHER
-	item_attribute 2000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ELIXER
-	item_attribute 3000, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; RED SCALE
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SECRETPOTION
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; S.S.TICKET
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MYSTERY EGG
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CLEAR BELL
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SILVER WING
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MOOMOO MILK
-	item_attribute 500, 0, 100, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; QUICK CLAW
-	item_attribute 100, HELD_QUICK_CLAW, 60, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PSNCUREBERRY
-	item_attribute 10, HELD_HEAL_POISON, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GOLD LEAF
-	item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SOFT SAND
-	item_attribute 100, HELD_GROUND_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SHARP BEAK
-	item_attribute 100, HELD_FLYING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PRZCUREBERRY
-	item_attribute 10, HELD_HEAL_PARALYZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; BURNT BERRY
-	item_attribute 10, HELD_HEAL_FREEZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ICE BERRY
-	item_attribute 10, HELD_HEAL_BURN, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; POISON BARB
-	item_attribute 100, HELD_POISON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; KING'S ROCK
-	item_attribute 100, HELD_TRADE_EVOLVE, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BITTER BERRY
-	item_attribute 10, HELD_HEAL_CONFUSION, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_PARTY
-; MINT BERRY
-	item_attribute 10, HELD_HEAL_SLEEP, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; RED APRICORN
-	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TINYMUSHROOM
-	item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BIG MUSHROOM
-	item_attribute 5000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SILVERPOWDER
-	item_attribute 100, HELD_BUG_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLU APRICORN
-	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; AMULET COIN
-	item_attribute 100, HELD_AMULET_COIN, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; YLW APRICORN
-	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; GRN APRICORN
-	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CLEANSE TAG
-	item_attribute 200, HELD_CLEANSE_TAG, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MYSTIC WATER
-	item_attribute 100, HELD_WATER_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TWISTEDSPOON
-	item_attribute 100, HELD_PSYCHIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; WHT APRICORN
-	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLACKBELT
-	item_attribute 100, HELD_FIGHTING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLK APRICORN
-	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PNK APRICORN
-	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLACKGLASSES
-	item_attribute 100, HELD_DARK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SLOWPOKETAIL
-	item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PINK BOW
-	item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; STICK
-	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SMOKE BALL
-	item_attribute 200, HELD_ESCAPE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; NEVERMELTICE
-	item_attribute 100, HELD_ICE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MAGNET
-	item_attribute 100, HELD_ELECTRIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MIRACLEBERRY
-	item_attribute 10, HELD_HEAL_STATUS, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; PEARL
-	item_attribute 1400, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BIG PEARL
-	item_attribute 7500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; EVERSTONE
-	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SPELL TAG
-	item_attribute 100, HELD_GHOST_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; RAGECANDYBAR
-	item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GS BALL
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLUE CARD
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; MIRACLE SEED
-	item_attribute 100, HELD_GRASS_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; THICK CLUB
-	item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; FOCUS BAND
-	item_attribute 200, HELD_FOCUS_BAND, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; ENERGYPOWDER
-	item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ENERGY ROOT
-	item_attribute 800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; HEAL POWDER
-	item_attribute 450, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; REVIVAL HERB
-	item_attribute 2800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; HARD STONE
-	item_attribute 100, HELD_ROCK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LUCKY EGG
-	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CARD KEY
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; MACHINE PART
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; EGG TICKET
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LOST ITEM
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; STARDUST
-	item_attribute 2000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; STAR PIECE
-	item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BASEMENT KEY
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; PASS
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CHARCOAL
-	item_attribute 9800, HELD_FIRE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BERRY JUICE
-	item_attribute 100, HELD_BERRY, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; SCOPE LENS
-	item_attribute 200, HELD_CRITICAL_UP, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; METAL COAT
-	item_attribute 100, HELD_STEEL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; DRAGON FANG
-	item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LEFTOVERS
-	item_attribute 200, HELD_LEFTOVERS, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MYSTERYBERRY
-	item_attribute 10, HELD_RESTORE_PP, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; DRAGON SCALE
-	item_attribute 2100, HELD_DRAGON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BERSERK GENE
-	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SACRED ASH
-	item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; HEAVY BALL
-	item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; FLOWER MAIL
-	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LEVEL BALL
-	item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; LURE BALL
-	item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; FAST BALL
-	item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LIGHT BALL
-	item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; FRIEND BALL
-	item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; MOON BALL
-	item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; LOVE BALL
-	item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; NORMAL BOX
-	item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; GORGEOUS BOX
-	item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; SUN STONE
-	item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; POLKADOT BOW
-	item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; UP-GRADE
-	item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BERRY
-	item_attribute 10, HELD_BERRY, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GOLD BERRY
-	item_attribute 10, HELD_BERRY, 30, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; SQUIRTBOTTLE
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PARK BALL
-	item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; RAINBOW WING
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BRICK PIECE
-	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SURF MAIL
-	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LITEBLUEMAIL
-	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PORTRAITMAIL
-	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LOVELY MAIL
-	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; EON MAIL
-	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MORPH MAIL
-	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLUESKY MAIL
-	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MUSIC MAIL
-	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MIRAGE MAIL
-	item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TM01
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM02
-	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM03
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM04
-	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TM05
-	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM06
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM07
-	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM08
-	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM09
-	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM10
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM11
-	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM12
-	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM13
-	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM14
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM15
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM16
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM17
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM18
-	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM19
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM20
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM21
-	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM22
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM23
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM24
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM25
-	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM26
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM27
-	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM28
-	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TM29
-	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM30
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM31
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM32
-	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM33
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM34
-	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM35
-	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM36
-	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM37
-	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM38
-	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM39
-	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM40
-	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM41
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM42
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM43
-	item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM44
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM45
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM46
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM47
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM48
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM49
-	item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM50
-	item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; HM01
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; HM02
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; HM03
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; HM04
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; HM05
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; HM06
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; HM07
-	item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; ?
-	item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
--- a/items/item_descriptions.asm
+++ /dev/null
@@ -1,1042 +1,0 @@
-PrintItemDescription: ; 0x1c8955
-; Print the description for item [CurSpecies] at de.
-
-	ld a, [CurSpecies]
-	cp TM01
-	jr c, .not_a_tm
-
-	ld [CurItem], a
-	push de
-	callba GetTMHMItemMove
-	pop hl
-	ld a, [wd265]
-	ld [CurSpecies], a
-	predef PrintMoveDesc
-	ret
-
-.not_a_tm
-	push de
-	ld hl, ItemDescriptions
-	ld a, [CurSpecies]
-	dec a
-	ld c, a
-	ld b, 0
-	add hl, bc
-	add hl, bc
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	pop hl
-	jp PlaceString
-; 0x1c8987
-
-
-ItemDescriptions:
-	dw MasterBallDesc
-	dw UltraBallDesc
-	dw BrightpowderDesc
-	dw GreatBallDesc
-	dw PokeBallDesc
-	dw TeruSama1Desc
-	dw BicycleDesc
-	dw MoonStoneDesc
-	dw AntidoteDesc
-	dw BurnHealDesc
-	dw IceHealDesc
-	dw AwakeningDesc
-	dw ParlyzHealDesc
-	dw FullRestoreDesc
-	dw MaxPotionDesc
-	dw HyperPotionDesc
-	dw SuperPotionDesc
-	dw PotionDesc
-	dw EscapeRopeDesc
-	dw RepelDesc
-	dw MaxElixerDesc
-	dw FireStoneDesc
-	dw ThunderStoneDesc
-	dw WaterStoneDesc
-	dw TeruSama2Desc
-	dw HPUpDesc
-	dw ProteinDesc
-	dw IronDesc
-	dw CarbosDesc
-	dw LuckyPunchDesc
-	dw CalciumDesc
-	dw RareCandyDesc
-	dw XAccuracyDesc
-	dw LeafStoneDesc
-	dw MetalPowderDesc
-	dw NuggetDesc
-	dw PokeDollDesc
-	dw FullHealDesc
-	dw ReviveDesc
-	dw MaxReviveDesc
-	dw GuardSpecDesc
-	dw SuperRepelDesc
-	dw MaxRepelDesc
-	dw DireHitDesc
-	dw TeruSama3Desc
-	dw FreshWaterDesc
-	dw SodaPopDesc
-	dw LemonadeDesc
-	dw XAttackDesc
-	dw TeruSama4Desc
-	dw XDefendDesc
-	dw XSpeedDesc
-	dw XSpecialDesc
-	dw CoinCaseDesc
-	dw ItemfinderDesc
-	dw TeruSama5Desc
-	dw ExpShareDesc
-	dw OldRodDesc
-	dw GoodRodDesc
-	dw SilverLeafDesc
-	dw SuperRodDesc
-	dw PPUpDesc
-	dw EtherDesc
-	dw MaxEtherDesc
-	dw ElixerDesc
-	dw RedScaleDesc
-	dw SecretPotionDesc
-	dw SSTicketDesc
-	dw MysteryEggDesc
-	dw ClearBellDesc
-	dw SilverWingDesc
-	dw MoomooMilkDesc
-	dw QuickClawDesc
-	dw PsnCureBerryDesc
-	dw GoldLeafDesc
-	dw SoftSandDesc
-	dw SharpBeakDesc
-	dw PrzCureBerryDesc
-	dw BurntBerryDesc
-	dw IceBerryDesc
-	dw PoisonBarbDesc
-	dw KingsRockDesc
-	dw BitterBerryDesc
-	dw MintBerryDesc
-	dw RedApricornDesc
-	dw TinyMushroomDesc
-	dw BigMushroomDesc
-	dw SilverPowderDesc
-	dw BluApricornDesc
-	dw TeruSama6Desc
-	dw AmuletCoinDesc
-	dw YlwApricornDesc
-	dw GrnApricornDesc
-	dw CleanseTagDesc
-	dw MysticWaterDesc
-	dw TwistedSpoonDesc
-	dw WhtApricornDesc
-	dw BlackbeltDesc
-	dw BlkApricornDesc
-	dw TeruSama7Desc
-	dw PnkApricornDesc
-	dw BlackGlassesDesc
-	dw SlowpokeTailDesc
-	dw PinkBowDesc
-	dw StickDesc
-	dw SmokeBallDesc
-	dw NeverMeltIceDesc
-	dw MagnetDesc
-	dw MiracleBerryDesc
-	dw PearlDesc
-	dw BigPearlDesc
-	dw EverStoneDesc
-	dw SpellTagDesc
-	dw RageCandyBarDesc
-	dw GSBallDesc
-	dw BlueCardDesc
-	dw MiracleSeedDesc
-	dw ThickClubDesc
-	dw FocusBandDesc
-	dw TeruSama8Desc
-	dw EnergyPowderDesc
-	dw EnergyRootDesc
-	dw HealPowderDesc
-	dw RevivalHerbDesc
-	dw HardStoneDesc
-	dw LuckyEggDesc
-	dw CardKeyDesc
-	dw MachinePartDesc
-	dw EggTicketDesc
-	dw LostItemDesc
-	dw StardustDesc
-	dw StarPieceDesc
-	dw BasementKeyDesc
-	dw PassDesc
-	dw TeruSama9Desc
-	dw TeruSama10Desc
-	dw TeruSama11Desc
-	dw CharcoalDesc
-	dw BerryJuiceDesc
-	dw ScopeLensDesc
-	dw TeruSama12Desc
-	dw TeruSama13Desc
-	dw MetalCoatDesc
-	dw DragonFangDesc
-	dw TeruSama14Desc
-	dw LeftoversDesc
-	dw TeruSama15Desc
-	dw TeruSama16Desc
-	dw TeruSama17Desc
-	dw MysteryBerryDesc
-	dw DragonScaleDesc
-	dw BerserkGeneDesc
-	dw TeruSama18Desc
-	dw TeruSama19Desc
-	dw TeruSama20Desc
-	dw SacredAshDesc
-	dw HeavyBallDesc
-	dw FlowerMailDesc
-	dw LevelBallDesc
-	dw LureBallDesc
-	dw FastBallDesc
-	dw TeruSama21Desc
-	dw LightBallDesc
-	dw FriendBallDesc
-	dw MoonBallDesc
-	dw LoveBallDesc
-	dw NormalBoxDesc
-	dw GorgeousBoxDesc
-	dw SunStoneDesc
-	dw PolkadotBowDesc
-	dw TeruSama22Desc
-	dw UpGradeDesc
-	dw BerryDesc
-	dw GoldBerryDesc
-	dw SquirtBottleDesc
-	dw TeruSama23Desc
-	dw ParkBallDesc
-	dw RainbowWingDesc
-	dw TeruSama24Desc
-	dw BrickPieceDesc
-	dw SurfMailDesc
-	dw LiteBlueMailDesc
-	dw PortraitMailDesc
-	dw LovelyMailDesc
-	dw EonMailDesc
-	dw MorphMailDesc
-	dw BlueSkyMailDesc
-	dw MusicMailDesc
-	dw MewMailDesc
-	dw TeruSama25Desc
-	dw TeruSama26Desc
-	dw TeruSama26Desc
-	dw TeruSama26Desc
-	dw TeruSama26Desc
-	dw TeruSama26Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama27Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama28Desc
-	dw TeruSama29Desc
-	dw TeruSama30Desc
-	dw TeruSama31Desc
-	dw TeruSama32Desc
-	dw TeruSama33Desc
-
-MasterBallDesc:
-	db   "The best BALL. It"
-	next "never misses.@"
-
-UltraBallDesc:
-	db   "A BALL with a high"
-	next "rate of success.@"
-
-BrightpowderDesc:
-	db   "Lowers the foe's"
-	next "accuracy. (HOLD)@"
-
-GreatBallDesc:
-	db   "A BALL with a de-"
-	next "cent success rate.@"
-
-PokeBallDesc:
-	db   "An item for catch-"
-	next "ing #MON.@"
-
-TeruSama1Desc:
-	db   "?@"
-
-BicycleDesc:
-	db   "A collapsible bike"
-	next "for fast movement.@"
-
-MoonStoneDesc:
-	db   "Evolves certain"
-	next "kinds of #MON.@"
-
-AntidoteDesc:
-	db   "Cures poisoned"
-	next "#MON.@"
-
-BurnHealDesc:
-	db   "Heals burned"
-	next "#MON.@"
-
-IceHealDesc:
-	db   "Defrosts frozen"
-	next "#MON.@"
-
-AwakeningDesc:
-	db   "Awakens sleeping"
-	next "#MON.@"
-
-ParlyzHealDesc:
-	db   "Heals paralyzed"
-	next "#MON.@"
-
-FullRestoreDesc:
-	db   "Fully restores HP"
-	next "& status.@"
-
-MaxPotionDesc:
-	db   "Fully restores"
-	next "#MON HP.@"
-
-HyperPotionDesc:
-	db   "Restores #MON"
-	next "HP by 200.@"
-
-SuperPotionDesc:
-	db   "Restores #MON"
-	next "HP by 50.@"
-
-PotionDesc:
-	db   "Restores #MON"
-	next "HP by 20.@"
-
-EscapeRopeDesc:
-	db   "Use for escaping"
-	next "from caves, etc.@"
-
-RepelDesc:
-	db   "Repels weak #-"
-	next "MON for 100 steps.@"
-
-MaxElixerDesc:
-	db   "Fully restores the"
-	next "PP of one #MON.@"
-
-FireStoneDesc:
-	db   "Evolves certain"
-	next "kinds of #MON.@"
-
-ThunderStoneDesc:
-	db   "Evolves certain"
-	next "kinds of #MON.@"
-
-WaterStoneDesc:
-	db   "Evolves certain"
-	next "kinds of #MON.@"
-
-TeruSama2Desc:
-	db   "?@"
-
-HPUpDesc:
-	db   "Raises the HP of"
-	next "one #MON.@"
-
-ProteinDesc:
-	db   "Raises ATTACK of"
-	next "one #MON.@"
-
-IronDesc:
-	db   "Raises DEFENSE of"
-	next "one #MON.@"
-
-CarbosDesc:
-	db   "Raises SPEED of"
-	next "one #MON.@"
-
-LuckyPunchDesc:
-	db   "Ups critical hit"
-	next "ratio of CHANSEY.@"
-
-CalciumDesc:
-	db   "Ups SPECIAL stats"
-	next "of one #MON.@"
-
-RareCandyDesc:
-	db   "Raises level of a"
-	next "#MON by one.@"
-
-XAccuracyDesc:
-	db   "Raises accuracy."
-	next "(1 BTL)@"
-
-LeafStoneDesc:
-	db   "Evolves certain"
-	next "kinds of #MON.@"
-
-MetalPowderDesc:
-	db   "Raises DEFENSE of"
-	next "DITTO. (HOLD)@"
-
-NuggetDesc:
-	db   "Made of pure gold."
-	next "Sell high.@"
-
-PokeDollDesc:
-	db   "Use to escape from"
-	next "a wild #MON.@"
-
-FullHealDesc:
-	db   "Eliminates all"
-	next "status problems.@"
-
-ReviveDesc:
-	db   "Restores a fainted"
-	next "#MON to 1/2 HP.@"
-
-MaxReviveDesc:
-	db   "Fully restores a"
-	next "fainted #MON.@"
-
-GuardSpecDesc:
-	db   "Prevents stats"
-	next "reduction. (1 BTL)@"
-
-SuperRepelDesc:
-	db   "Repels weak #-"
-	next "MON for 200 steps.@"
-
-MaxRepelDesc:
-	db   "Repels weak #-"
-	next "MON for 250 steps.@"
-
-DireHitDesc:
-	db   "Ups critical hit"
-	next "ratio. (1 BTL)@"
-
-TeruSama3Desc:
-	db   "?@"
-
-FreshWaterDesc:
-	db   "Restores #MON"
-	next "HP by 50.@"
-
-SodaPopDesc:
-	db   "Restores #MON"
-	next "HP by 60.@"
-
-LemonadeDesc:
-	db   "Restores #MON"
-	next "HP by 80.@"
-
-XAttackDesc:
-	db   "Raises ATTACK."
-	next "(1 BTL)@"
-
-TeruSama4Desc:
-	db   "?@"
-
-XDefendDesc:
-	db   "Raises DEFENSE."
-	next "(1 BTL)@"
-
-XSpeedDesc:
-	db   "Raises SPEED."
-	next "(1 BTL)@"
-
-XSpecialDesc:
-	db   "Raises SPECIAL"
-	next "ATTACK. (1 BTL)@"
-
-CoinCaseDesc:
-	db   "Holds up to 9,999"
-	next "game coins.@"
-
-ItemfinderDesc:
-	db   "Checks for unseen"
-	next "items in the area.@"
-
-TeruSama5Desc:
-	db   "?@"
-
-ExpShareDesc:
-	db   "Shares battle EXP."
-	next "Points. (HOLD)@"
-
-OldRodDesc:
-	db   "Use by water to"
-	next "fish for #MON.@"
-
-GoodRodDesc:
-	db   "A good ROD for"
-	next "catching #MON.@"
-
-SilverLeafDesc:
-	db   "A strange, silver-"
-	next "colored leaf.@"
-
-SuperRodDesc:
-	db   "The best ROD for"
-	next "catching #MON.@"
-
-PPUpDesc:
-	db   "Raises max PP of"
-	next "a selected move.@"
-
-EtherDesc:
-	db   "Restores PP of one"
-	next "move by 10.@"
-
-MaxEtherDesc:
-	db   "Fully restores PP"
-	next "of one move.@"
-
-ElixerDesc:
-	db   "Restores PP of all"
-	next "moves by 10.@"
-
-RedScaleDesc:
-	db   "A scale from the"
-	next "red GYARADOS.@"
-
-SecretPotionDesc:
-	db   "Fully heals any"
-	next "#MON.@"
-
-SSTicketDesc:
-	db   "A ticket for the"
-	next "S.S.AQUA.@"
-
-MysteryEggDesc:
-	db   "An EGG obtained"
-	next "from MR.#MON.@"
-
-ClearBellDesc:
-	db   "Makes a gentle"
-	next "ringing.@"
-
-SilverWingDesc:
-	db   "A strange, silver-"
-	next "colored feather.@"
-
-MoomooMilkDesc:
-	db   "Restores #MON"
-	next "HP by 100.@"
-
-QuickClawDesc:
-	db   "Raises 1st strike"
-	next "ratio. (HOLD)@"
-
-PsnCureBerryDesc:
-	db   "A self-cure for"
-	next "poison. (HOLD)@"
-
-GoldLeafDesc:
-	db   "A strange, gold-"
-	next "colored leaf.@"
-
-SoftSandDesc:
-	db   "Powers up ground-"
-	next "type moves. (HOLD)@"
-
-SharpBeakDesc:
-	db   "Powers up flying-"
-	next "type moves. (HOLD)@"
-
-PrzCureBerryDesc:
-	db   "A self-cure for"
-	next "paralysis. (HOLD)@"
-
-BurntBerryDesc:
-	db   "A self-cure for"
-	next "freezing. (HOLD)@"
-
-IceBerryDesc:
-	db   "A self-heal for a"
-	next "burn. (HOLD)@"
-
-PoisonBarbDesc:
-	db   "Powers up poison-"
-	next "type moves. (HOLD)@"
-
-KingsRockDesc:
-	db   "May make the foe"
-	next "flinch. (HOLD)@"
-
-BitterBerryDesc:
-	db   "A self-cure for"
-	next "confusion. (HOLD)@"
-
-MintBerryDesc:
-	db   "A self-awakening"
-	next "for sleep. (HOLD)@"
-
-RedApricornDesc:
-	db   "A red APRICORN.@"
-
-TinyMushroomDesc:
-	db   "An ordinary mush-"
-	next "room. Sell low.@"
-
-BigMushroomDesc:
-	db   "A rare mushroom."
-	next "Sell high.@"
-
-SilverPowderDesc:
-	db   "Powers up bug-type"
-	next "moves. (HOLD)@"
-
-BluApricornDesc:
-	db   "A blue APRICORN.@"
-
-TeruSama6Desc:
-	db   "?@"
-
-AmuletCoinDesc:
-	db   "Doubles monetary"
-	next "earnings. (HOLD)@"
-
-YlwApricornDesc:
-	db   "A yellow APRICORN.@"
-
-GrnApricornDesc:
-	db   "A green APRICORN.@"
-
-CleanseTagDesc:
-	db   "Helps repel wild"
-	next "#MON. (HOLD)@"
-
-MysticWaterDesc:
-	db   "Powers up water-"
-	next "type moves. (HOLD)@"
-
-TwistedSpoonDesc:
-	db   "Powers up psychic-"
-	next "type moves. (HOLD)@"
-
-WhtApricornDesc:
-	db   "A white APRICORN.@"
-
-BlackbeltDesc:
-	db   "Boosts fighting-"
-	next "type moves. (HOLD)@"
-
-BlkApricornDesc:
-	db   "A black APRICORN."
-	next "@"
-
-TeruSama7Desc:
-	db   "?@"
-
-PnkApricornDesc:
-	db   "A pink APRICORN."
-	next "@"
-
-BlackGlassesDesc:
-	db   "Powers up dark-"
-	next "type moves. (HOLD)@"
-
-SlowpokeTailDesc:
-	db   "Very tasty. Sell"
-	next "high.@"
-
-PinkBowDesc:
-	db   "Powers up normal-"
-	next "type moves. (HOLD)@"
-
-StickDesc:
-	db   "An ordinary stick."
-	next "Sell low.@"
-
-SmokeBallDesc:
-	db   "Escape from wild"
-	next "#MON. (HOLD)@"
-
-NeverMeltIceDesc:
-	db   "Powers up ice-type"
-	next "moves. (HOLD)@"
-
-MagnetDesc:
-	db   "Boosts electric-"
-	next "type moves. (HOLD)@"
-
-MiracleBerryDesc:
-	db   "Cures all status"
-	next "problems. (HOLD)@"
-
-PearlDesc:
-	db   "A beautiful pearl."
-	next "Sell low.@"
-
-BigPearlDesc:
-	db   "A big, beautiful"
-	next "pearl. Sell high.@"
-
-EverStoneDesc:
-	db   "Stops evolution."
-	next "(HOLD)@"
-
-SpellTagDesc:
-	db   "Powers up ghost-"
-	next "type moves. (HOLD)@"
-
-RageCandyBarDesc:
-	db   "Restores #MON"
-	next "HP by 20.@"
-
-GSBallDesc:
-	db   "The mysterious"
-	next "BALL.@"
-
-BlueCardDesc:
-	db   "Card to save"
-	next "points.@"
-
-MiracleSeedDesc:
-	db   "Powers up grass-"
-	next "type moves. (HOLD)@"
-
-ThickClubDesc:
-	db   "A bone of some"
-	next "sort. Sell low.@"
-
-FocusBandDesc:
-	db   "May prevent faint-"
-	next "ing. (HOLD)@"
-
-TeruSama8Desc:
-	db   "?@"
-
-EnergyPowderDesc:
-	db   "Restores #MON"
-	next "HP by 50. Bitter.@"
-
-EnergyRootDesc:
-	db   "Restores #MON"
-	next "HP by 200. Bitter.@"
-
-HealPowderDesc:
-	db   "Cures all status"
-	next "problems. Bitter.@"
-
-RevivalHerbDesc:
-	db   "Revives fainted"
-	next "#MON. Bitter.@"
-
-HardStoneDesc:
-	db   "Powers up rock-"
-	next "type moves. (HOLD)@"
-
-LuckyEggDesc:
-	db   "Earns extra EXP."
-	next "points. (HOLD)@"
-
-CardKeyDesc:
-	db   "Opens shutters in"
-	next "the RADIO TOWER.@"
-
-MachinePartDesc:
-	db   "A machine part for"
-	next "the POWER PLANT.@"
-
-EggTicketDesc:
-	db   "May use at Golden-"
-	next "rod trade corner.@"
-
-LostItemDesc:
-	db   "The # DOLL lost"
-	next "by the COPYCAT.@"
-
-StardustDesc:
-	db   "Pretty, red sand."
-	next "Sell high.@"
-
-StarPieceDesc:
-	db   "A hunk of red gem."
-	next "Sell very high.@"
-
-BasementKeyDesc:
-	db   "Opens doors.@"
-
-PassDesc:
-	db   "A ticket for the"
-	next "MAGNET TRAIN.@"
-
-TeruSama9Desc:
-	db   "?@"
-
-TeruSama10Desc:
-	db   "?@"
-
-TeruSama11Desc:
-	db   "?@"
-
-CharcoalDesc:
-	db   "Powers up fire-"
-	next "type moves. (HOLD)@"
-
-BerryJuiceDesc:
-	db   "Restores #MON"
-	next "HP by 20.@"
-
-ScopeLensDesc:
-	db   "Raises critical"
-	next "hit ratio. (HOLD)@"
-
-TeruSama12Desc:
-	db   "?@"
-
-TeruSama13Desc:
-	db   "?@"
-
-MetalCoatDesc:
-	db   "Powers up steel-"
-	next "type moves. (HOLD)@"
-
-DragonFangDesc:
-	db   "Powers up dragon-"
-	next "type moves. (HOLD)@"
-
-TeruSama14Desc:
-	db   "?@"
-
-LeftoversDesc:
-	db   "Restores HP during"
-	next "battle. (HOLD)@"
-
-TeruSama15Desc:
-	db   "?@"
-
-TeruSama16Desc:
-	db   "?@"
-
-TeruSama17Desc:
-	db   "?@"
-
-MysteryBerryDesc:
-	db   "A self-restore"
-	next "for PP. (HOLD)@"
-
-DragonScaleDesc:
-	db   "A rare dragon-type"
-	next "item.@"
-
-BerserkGeneDesc:
-	db   "Boosts ATTACK but"
-	next "causes confusion.@"
-
-TeruSama18Desc:
-	db   "?@"
-
-TeruSama19Desc:
-	db   "?@"
-
-TeruSama20Desc:
-	db   "?@"
-
-SacredAshDesc:
-	db   "Fully revives all"
-	next "fainted #MON.@"
-
-HeavyBallDesc:
-	db   "A BALL for catch-"
-	next "ing heavy #MON.@"
-
-FlowerMailDesc:
-	db   "Flower-print MAIL."
-	next "(HOLD)@"
-
-LevelBallDesc:
-	db   "A BALL for lower-"
-	next "level #MON.@"
-
-LureBallDesc:
-	db   "A BALL for #MON"
-	next "hooked by a ROD.@"
-
-FastBallDesc:
-	db   "A BALL for catch-"
-	next "ing fast #MON.@"
-
-TeruSama21Desc:
-	db   "?@"
-
-LightBallDesc:
-	db   "An odd, electrical"
-	next "orb. (HOLD)@"
-
-FriendBallDesc:
-	db   "A BALL that makes"
-	next "#MON friendly.@"
-
-MoonBallDesc:
-	db   "A BALL for MOON"
-	next "STONE evolvers.@"
-
-LoveBallDesc:
-	db   "For catching the"
-	next "opposite gender.@"
-
-NormalBoxDesc:
-	db   "Open it and see"
-	next "what's inside.@"
-
-GorgeousBoxDesc:
-	db   "Open it and see"
-	next "what's inside.@"
-
-SunStoneDesc:
-	db   "Evolves certain"
-	next "kinds of #MON.@"
-
-PolkadotBowDesc:
-	db   "Powers up normal-"
-	next "type moves. (HOLD)@"
-
-TeruSama22Desc:
-	db   "?@"
-
-UpGradeDesc:
-	db   "A mysterious box"
-	next "made by SILPH CO.@"
-
-BerryDesc:
-	db   "A self-restore"
-	next "item. (10HP, HOLD)@"
-
-GoldBerryDesc:
-	db   "A self-restore"
-	next "item. (30HP, HOLD)@"
-
-SquirtBottleDesc:
-	db   "A bottle used for"
-	next "watering plants.@"
-
-TeruSama23Desc:
-	db   "?@"
-
-ParkBallDesc:
-	db   "The Bug-Catching"
-	next "Contest BALL.@"
-
-RainbowWingDesc:
-	db   "A mystical feather"
-	next "of rainbow colors.@"
-
-TeruSama24Desc:
-	db   "?@"
-
-BrickPieceDesc:
-	db   "A rare chunk of"
-	next "tile.@"
-
-SurfMailDesc:
-	db   "LAPRAS-print MAIL."
-	next "(HOLD)@"
-
-LiteBlueMailDesc:
-	db   "DRATINI-print"
-	next "MAIL. (HOLD)@"
-
-PortraitMailDesc:
-	db   "MAIL featuring the"
-	next "holder's likeness.@"
-
-LovelyMailDesc:
-	db   "Heart-print MAIL."
-	next "(HOLD)@"
-
-EonMailDesc:
-	db   "EEVEE-print MAIL."
-	next "(HOLD)@"
-
-MorphMailDesc:
-	db   "DITTO-print MAIL."
-	next "(HOLD)@"
-
-BlueSkyMailDesc:
-	db   "Sky-print MAIL."
-	next "(HOLD)@"
-
-MusicMailDesc:
-	db   "NATU-print MAIL."
-	next "(HOLD)@"
-
-MewMailDesc:
-	db   "MEW-print MAIL."
-	next "(HOLD)@"
-
-TeruSama25Desc:
-	db   "?@"
-
-TeruSama26Desc:
-	db   "?@"
-
-TeruSama27Desc:
-	db   "?@"
-
-TeruSama28Desc:
-	db   "?@"
-
-TeruSama29Desc:
-	db   "?@"
-
-TeruSama30Desc:
-	db   "?@"
-
-TeruSama31Desc:
-	db   "?@"
-
-TeruSama32Desc:
-	db   "?@"
-
-TeruSama33Desc:
-	db   "?@"
--- a/items/item_effects.asm
+++ /dev/null
@@ -1,3313 +1,0 @@
-_DoItemEffect:: ; e722
-	ld a, [CurItem]
-	ld [wd265], a
-	call GetItemName
-	call CopyName1
-	ld a, 1
-	ld [wItemEffectSucceeded], a
-	ld a, [CurItem]
-	dec a
-	ld hl, ItemEffects
-	rst JumpTable
-	ret
-; e73c
-
-
-ItemEffects: ; e73c
-	dw MasterBall
-	dw UltraBall
-	dw Brightpowder
-	dw GreatBall
-	dw PokeBall
-	dw TownMap
-	dw Bicycle
-	dw MoonStone
-	dw Antidote
-	dw BurnHeal
-	dw IceHeal
-	dw Awakening
-	dw ParlyzHeal
-	dw FullRestore
-	dw MaxPotion
-	dw HyperPotion
-	dw SuperPotion
-	dw Potion
-	dw EscapeRope
-	dw Repel
-	dw MaxElixer
-	dw FireStone
-	dw Thunderstone
-	dw WaterStone
-	dw Item19
-	dw HPUp
-	dw Protein
-	dw Iron
-	dw Carbos
-	dw LuckyPunch
-	dw Calcium
-	dw RareCandy
-	dw XAccuracy
-	dw LeafStone
-	dw MetalPowder
-	dw Nugget
-	dw PokeDoll
-	dw FullHeal
-	dw Revive
-	dw MaxRevive
-	dw GuardSpec
-	dw SuperRepel
-	dw MaxRepel
-	dw DireHit
-	dw Item2D
-	dw FreshWater
-	dw SodaPop
-	dw Lemonade
-	dw XAttack
-	dw Item32
-	dw XDefend
-	dw XSpeed
-	dw XSpecial
-	dw CoinCase
-	dw Itemfinder
-	dw PokeFlute
-	dw ExpShare
-	dw OldRod
-	dw GoodRod
-	dw SilverLeaf
-	dw SuperRod
-	dw PPUp
-	dw Ether
-	dw MaxEther
-	dw Elixer
-	dw RedScale
-	dw Secretpotion
-	dw SSTicket
-	dw MysteryEgg
-	dw ClearBell
-	dw SilverWing
-	dw MoomooMilk
-	dw QuickClaw
-	dw Psncureberry
-	dw GoldLeaf
-	dw SoftSand
-	dw SharpBeak
-	dw Przcureberry
-	dw BurntBerry
-	dw IceBerry
-	dw PoisonBarb
-	dw KingsRock
-	dw BitterBerry
-	dw MintBerry
-	dw RedApricorn
-	dw Tinymushroom
-	dw BigMushroom
-	dw Silverpowder
-	dw BluApricorn
-	dw Item5A
-	dw AmuletCoin
-	dw YlwApricorn
-	dw GrnApricorn
-	dw CleanseTag
-	dw MysticWater
-	dw Twistedspoon
-	dw WhtApricorn
-	dw Blackbelt
-	dw BlkApricorn
-	dw Item64
-	dw PnkApricorn
-	dw Blackglasses
-	dw Slowpoketail
-	dw PinkBow
-	dw Stick
-	dw SmokeBall
-	dw Nevermeltice
-	dw Magnet
-	dw Miracleberry
-	dw Pearl
-	dw BigPearl
-	dw Everstone
-	dw SpellTag
-	dw Ragecandybar
-	dw GsBall
-	dw BlueCard
-	dw MiracleSeed
-	dw ThickClub
-	dw FocusBand
-	dw Item78
-	dw Energypowder
-	dw EnergyRoot
-	dw HealPowder
-	dw RevivalHerb
-	dw HardStone
-	dw LuckyEgg
-	dw CardKey
-	dw MachinePart
-	dw EggTicket
-	dw LostItem
-	dw Stardust
-	dw StarPiece
-	dw BasementKey
-	dw Pass
-	dw Item87
-	dw Item88
-	dw Item89
-	dw Charcoal
-	dw BerryJuice
-	dw ScopeLens
-	dw Item8D
-	dw Item8E
-	dw MetalCoat
-	dw DragonFang
-	dw Item91
-	dw Leftovers
-	dw Item93
-	dw Item94
-	dw Item95
-	dw Mysteryberry
-	dw DragonScale
-	dw BerserkGene
-	dw Item99
-	dw Item9A
-	dw Item9B
-	dw SacredAsh
-	dw HeavyBall
-	dw FlowerMail
-	dw LevelBall
-	dw LureBall
-	dw FastBall
-	dw ItemA2
-	dw LightBall
-	dw FriendBall
-	dw MoonBall
-	dw LoveBall
-	dw NormalBox
-	dw GorgeousBox
-	dw SunStone
-	dw PolkadotBow
-	dw ItemAB
-	dw UpGrade
-	dw Berry
-	dw GoldBerry
-	dw Squirtbottle
-	dw ItemB0
-	dw ParkBall
-	dw RainbowWing
-	dw ItemB3
-; e8a2
-
-
-MasterBall:
-UltraBall:
-GreatBall:
-PokeBall:
-HeavyBall:
-LevelBall:
-LureBall:
-FastBall:
-FriendBall:
-MoonBall:
-LoveBall:
-ParkBall: ; e8a2
-	ld a, [wBattleMode]
-	dec a
-	jp nz, UseBallInTrainerBattle
-
-	ld a, [PartyCount]
-	cp PARTY_LENGTH
-	jr nz, .room_in_party
-
-	ld a, BANK(sBoxCount)
-	call GetSRAMBank
-	ld a, [sBoxCount]
-	cp MONS_PER_BOX
-	call CloseSRAM
-	jp z, Ball_BoxIsFullMessage
-
-.room_in_party
-	xor a
-	ld [wWildMon], a
-	ld a, [CurItem]
-	cp PARK_BALL
-	call nz, ReturnToBattle_UseBall
-
-	ld hl, Options
-	res NO_TEXT_SCROLL, [hl]
-	ld hl, UsedItemText
-	call PrintText
-
-	ld a, [EnemyMonCatchRate]
-	ld b, a
-	ld a, [BattleType]
-	cp BATTLETYPE_TUTORIAL
-	jp z, .catch_without_fail
-	ld a, [CurItem]
-	cp MASTER_BALL
-	jp z, .catch_without_fail
-	ld a, [CurItem]
-	ld c, a
-	ld hl, BallMultiplierFunctionTable
-
-.get_multiplier_loop
-	ld a, [hli]
-	cp $ff
-	jr z, .skip_or_return_from_ball_fn
-	cp c
-	jr z, .call_ball_function
-	inc hl
-	inc hl
-	jr .get_multiplier_loop
-
-.call_ball_function
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld de, .skip_or_return_from_ball_fn
-	push de
-	jp hl
-
-.skip_or_return_from_ball_fn
-	ld a, [CurItem]
-	cp LEVEL_BALL
-	ld a, b
-	jp z, .skip_hp_calc
-
-	ld a, b
-	ld [hMultiplicand + 2], a
-
-	ld hl, EnemyMonHP
-	ld b, [hl]
-	inc hl
-	ld c, [hl]
-	inc hl
-	ld d, [hl]
-	inc hl
-	ld e, [hl]
-	sla c
-	rl b
-
-	ld h, d
-	ld l, e
-	add hl, de
-	add hl, de
-	ld d, h
-	ld e, l
-	ld a, d
-	and a
-	jr z, .okay_1
-
-	srl d
-	rr e
-	srl d
-	rr e
-	srl b
-	rr c
-	srl b
-	rr c
-
-	ld a, c
-	and a
-	jr nz, .okay_1
-	ld c, $1
-.okay_1
-	ld b, e
-
-	push bc
-	ld a, b
-	sub c
-	ld [hMultiplier], a
-	xor a
-	ld [hDividend + 0], a
-	ld [hMultiplicand + 0], a
-	ld [hMultiplicand + 1], a
-	call Multiply
-	pop bc
-
-	ld a, b
-	ld [hDivisor], a
-	ld b, $4
-	call Divide
-
-	ld a, [hQuotient + 2]
-	and a
-	jr nz, .statuscheck
-	ld a, 1
-.statuscheck
-; This routine is buggy. It was intended that SLP and FRZ provide a higher
-; catch rate than BRN/PSN/PAR, which in turn provide a higher catch rate than
-; no status effect at all. But instead, it makes BRN/PSN/PAR provide no
-; benefit.
-; Uncomment the line below to fix this.
-	ld b, a
-	ld a, [EnemyMonStatus]
-	and 1 << FRZ | SLP
-	ld c, 10
-	jr nz, .addstatus
-	; ld a, [EnemyMonStatus]
-	and a
-	ld c, 5
-	jr nz, .addstatus
-	ld c, 0
-.addstatus
-	ld a, b
-	add c
-	jr nc, .max_1
-	ld a, $ff
-.max_1
-
-	ld d, a
-	push de
-
-	; BUG: callba overwrites a,
-	; and GetItemHeldEffect takes b anyway.
-
-	; This is probably the reason
-	; the HELD_CATCH_CHANCE effect
-	; is never used.
-
-	; Uncomment the line below to fix.
-
-	ld a, [BattleMonItem]
-;	ld b, a
-	callba GetItemHeldEffect
-	ld a, b
-	cp HELD_CATCH_CHANCE
-
-	pop de
-	ld a, d
-
-	jr nz, .skip_hp_calc
-	add c
-	jr nc, .skip_hp_calc
-	ld a, $ff
-.skip_hp_calc
-
-	ld b, a
-	ld [Buffer1], a
-	call Random
-
-	cp b
-	ld a, 0
-	jr z, .catch_without_fail
-	jr nc, .fail_to_catch
-
-.catch_without_fail
-	ld a, [EnemyMonSpecies]
-
-.fail_to_catch
-	ld [wWildMon], a
-	ld c, 20
-	call DelayFrames
-
-	ld a, [CurItem]
-	cp POKE_BALL + 1 ; Assumes Master/Ultra/Great come before
-	jr c, .not_kurt_ball
-	ld a, POKE_BALL
-.not_kurt_ball
-	ld [wBattleAnimParam], a
-
-	ld de, ANIM_THROW_POKE_BALL
-	ld a, e
-	ld [FXAnimID], a
-	ld a, d
-	ld [FXAnimID + 1], a
-	xor a
-	ld [hBattleTurn], a
-	ld [Buffer2], a
-	ld [wNumHits], a
-	predef PlayBattleAnim
-
-	ld a, [wWildMon]
-	and a
-	jr nz, .caught
-	ld a, [Buffer2]
-	cp $1
-	ld hl, Text_NoShake
-	jp z, .shake_and_break_free
-	cp $2
-	ld hl, Text_OneShake
-	jp z, .shake_and_break_free
-	cp $3
-	ld hl, Text_TwoShakes
-	jp z, .shake_and_break_free
-	cp $4
-	ld hl, Text_ThreeShakes
-	jp z, .shake_and_break_free
-.caught
-
-	ld hl, EnemyMonStatus
-	ld a, [hli]
-	push af
-	inc hl
-	ld a, [hli]
-	push af
-	ld a, [hl]
-	push af
-	push hl
-	ld hl, EnemyMonItem
-	ld a, [hl]
-	push af
-	push hl
-	ld hl, EnemySubStatus5
-	ld a, [hl]
-	push af
-	set SUBSTATUS_TRANSFORMED, [hl]
-	bit SUBSTATUS_TRANSFORMED, a
-	jr nz, .ditto
-	jr .not_ditto
-
-.ditto
-	ld a, DITTO
-	ld [TempEnemyMonSpecies], a
-	jr .load_data
-
-.not_ditto
-	set SUBSTATUS_TRANSFORMED, [hl]
-	ld hl, wEnemyBackupDVs
-	ld a, [EnemyMonDVs]
-	ld [hli], a
-	ld a, [EnemyMonDVs + 1]
-	ld [hl], a
-
-.load_data
-	ld a, [TempEnemyMonSpecies]
-	ld [CurPartySpecies], a
-	ld a, [EnemyMonLevel]
-	ld [CurPartyLevel], a
-	callba LoadEnemyMon
-
-	pop af
-	ld [EnemySubStatus5], a
-
-	pop hl
-	pop af
-	ld [hl], a
-	pop hl
-	pop af
-	ld [hld], a
-	pop af
-	ld [hld], a
-	dec hl
-	pop af
-	ld [hl], a
-
-	ld hl, EnemySubStatus5
-	bit SUBSTATUS_TRANSFORMED, [hl]
-	jr nz, .Transformed
-	ld hl, wWildMonMoves
-	ld de, EnemyMonMoves
-	ld bc, NUM_MOVES
-	call CopyBytes
-
-	ld hl, wWildMonPP
-	ld de, EnemyMonPP
-	ld bc, NUM_MOVES
-	call CopyBytes
-.Transformed:
-
-	ld a, [EnemyMonSpecies]
-	ld [wWildMon], a
-	ld [CurPartySpecies], a
-	ld [wd265], a
-	ld a, [BattleType]
-	cp BATTLETYPE_TUTORIAL
-	jp z, .FinishTutorial
-
-	callba TrainerRankings_WildMonsCaught
-
-	ld hl, Text_GotchaMonWasCaught
-	call PrintText
-
-	call ClearSprites
-
-	ld a, [wd265]
-	dec a
-	call CheckCaughtMon
-
-	ld a, c
-	push af
-	ld a, [wd265]
-	dec a
-	call SetSeenAndCaughtMon
-	pop af
-	and a
-	jr nz, .skip_pokedex
-
-	call CheckReceivedDex
-	jr z, .skip_pokedex
-
-	ld hl, Text_AddedToPokedex
-	call PrintText
-
-	call ClearSprites
-
-	ld a, [EnemyMonSpecies]
-	ld [wd265], a
-	predef NewPokedexEntry
-
-.skip_pokedex
-	ld a, [BattleType]
-	cp BATTLETYPE_CONTEST
-	jp z, .catch_bug_contest_mon
-	cp BATTLETYPE_CELEBI
-	jr nz, .not_celebi
-	ld hl, wBattleResult
-	set 6, [hl]
-.not_celebi
-
-	ld a, [PartyCount]
-	cp PARTY_LENGTH
-	jr z, .SendToPC
-
-	xor a ; PARTYMON
-	ld [MonType], a
-	call ClearSprites
-
-	predef TryAddMonToParty
-
-	callba SetCaughtData
-
-	ld a, [CurItem]
-	cp FRIEND_BALL
-	jr nz, .SkipPartyMonFriendBall
-
-	ld a, [PartyCount]
-	dec a
-	ld hl, PartyMon1Happiness
-	ld bc, PARTYMON_STRUCT_LENGTH
-	call AddNTimes
-
-	ld a, FRIEND_BALL_HAPPINESS
-	ld [hl], a
-.SkipPartyMonFriendBall:
-
-	ld hl, Text_AskNicknameNewlyCaughtMon
-	call PrintText
-
-	ld a, [CurPartySpecies]
-	ld [wd265], a
-	call GetPokemonName
-
-	call YesNoBox
-	jp c, .return_from_capture
-
-	ld a, [PartyCount]
-	dec a
-	ld [CurPartyMon], a
-	ld hl, PartyMonNicknames
-	ld bc, PKMN_NAME_LENGTH
-	call AddNTimes
-
-	ld d, h
-	ld e, l
-	push de
-	xor a ; PARTYMON
-	ld [MonType], a
-	ld b, 0
-	callba NamingScreen
-
-	call RotateThreePalettesRight
-
-	call LoadStandardFont
-
-	pop hl
-	ld de, StringBuffer1
-	call InitName
-
-	jp .return_from_capture
-
-.SendToPC:
-	call ClearSprites
-
-	predef SentPkmnIntoBox
-
-	callba SetBoxMonCaughtData
-
-	ld a, BANK(sBoxCount)
-	call GetSRAMBank
-
-	ld a, [sBoxCount]
-	cp MONS_PER_BOX
-	jr nz, .BoxNotFullYet
-	ld hl, wBattleResult
-	set 7, [hl]
-.BoxNotFullYet:
-	ld a, [CurItem]
-	cp FRIEND_BALL
-	jr nz, .SkipBoxMonFriendBall
-	; The captured mon is now first in the box
-	ld a, FRIEND_BALL_HAPPINESS
-	ld [sBoxMon1Happiness], a
-.SkipBoxMonFriendBall:
-	call CloseSRAM
-
-	ld hl, Text_AskNicknameNewlyCaughtMon
-	call PrintText
-
-	ld a, [CurPartySpecies]
-	ld [wd265], a
-	call GetPokemonName
-
-	call YesNoBox
-	jr c, .SkipBoxMonNickname
-
-	xor a
-	ld [CurPartyMon], a
-	ld a, BOXMON
-	ld [MonType], a
-	ld de, wMonOrItemNameBuffer
-	ld b, $0
-	callba NamingScreen
-
-	ld a, BANK(sBoxMonNicknames)
-	call GetSRAMBank
-
-	ld hl, wMonOrItemNameBuffer
-	ld de, sBoxMonNicknames
-	ld bc, PKMN_NAME_LENGTH
-	call CopyBytes
-
-	ld hl, sBoxMonNicknames
-	ld de, StringBuffer1
-	call InitName
-
-	call CloseSRAM
-
-.SkipBoxMonNickname:
-	ld a, BANK(sBoxMonNicknames)
-	call GetSRAMBank
-
-	ld hl, sBoxMonNicknames
-	ld de, wMonOrItemNameBuffer
-	ld bc, PKMN_NAME_LENGTH
-	call CopyBytes
-
-	call CloseSRAM
-
-	ld hl, Text_SentToBillsPC
-	call PrintText
-
-	call RotateThreePalettesRight
-	call LoadStandardFont
-	jr .return_from_capture
-
-.catch_bug_contest_mon
-	callba BugContest_SetCaughtContestMon
-	jr .return_from_capture
-
-.FinishTutorial:
-	ld hl, Text_GotchaMonWasCaught
-
-.shake_and_break_free
-	call PrintText
-	call ClearSprites
-
-.return_from_capture
-	ld a, [BattleType]
-	cp BATTLETYPE_TUTORIAL
-	ret z
-	cp BATTLETYPE_DEBUG
-	ret z
-	cp BATTLETYPE_CONTEST
-	jr z, .used_park_ball
-
-	ld a, [wWildMon]
-	and a
-	jr z, .toss
-
-	call ClearBGPalettes
-	call ClearTileMap
-
-.toss
-	ld hl, NumItems
-	inc a
-	ld [wItemQuantityChangeBuffer], a
-	jp TossItem
-
-.used_park_ball
-	ld hl, wParkBallsRemaining
-	dec [hl]
-	ret
-; ec0a
-
-
-BallMultiplierFunctionTable:
-; table of routines that increase or decrease the catch rate based on
-; which ball is used in a certain situation.
-	dbw ULTRA_BALL,  UltraBallMultiplier
-	dbw GREAT_BALL,  GreatBallMultiplier
-	dbw SAFARI_BALL, SafariBallMultiplier ; Safari Ball, leftover from RBY
-	dbw HEAVY_BALL,  HeavyBallMultiplier
-	dbw LEVEL_BALL,  LevelBallMultiplier
-	dbw LURE_BALL,   LureBallMultiplier
-	dbw FAST_BALL,   FastBallMultiplier
-	dbw MOON_BALL,   MoonBallMultiplier
-	dbw LOVE_BALL,   LoveBallMultiplier
-	dbw PARK_BALL,   ParkBallMultiplier
-	db $ff
-
-UltraBallMultiplier:
-; multiply catch rate by 2
-	sla b
-	ret nc
-	ld b, $ff
-	ret
-
-SafariBallMultiplier:
-GreatBallMultiplier:
-ParkBallMultiplier:
-; multiply catch rate by 1.5
-	ld a, b
-	srl a
-	add b
-	ld b, a
-	ret nc
-	ld b, $ff
-	ret
-
-GetPokedexEntryBank:
-	push hl
-	push de
-	ld a, [EnemyMonSpecies]
-	rlca
-	rlca
-	and 3
-	ld hl, .PokedexEntryBanks
-	ld d, 0
-	ld e, a
-	add hl, de
-	ld a, [hl]
-	pop de
-	pop hl
-	ret
-
-.PokedexEntryBanks:
-
-GLOBAL PokedexEntries1
-GLOBAL PokedexEntries2
-GLOBAL PokedexEntries3
-GLOBAL PokedexEntries4
-
-	db BANK(PokedexEntries1)
-	db BANK(PokedexEntries2)
-	db BANK(PokedexEntries3)
-	db BANK(PokedexEntries4)
-
-HeavyBallMultiplier:
-; subtract 20 from catch rate if weight < 102.4 kg
-; else add 0 to catch rate if weight < 204.8 kg
-; else add 20 to catch rate if weight < 307.2 kg
-; else add 30 to catch rate if weight < 409.6 kg
-; else add 40 to catch rate (never happens)
-	ld a, [EnemyMonSpecies]
-	ld hl, PokedexDataPointerTable
-	dec a
-	ld e, a
-	ld d, 0
-	add hl, de
-	add hl, de
-	ld a, BANK(PokedexDataPointerTable)
-	call GetFarHalfword
-
-.SkipText:
-	call GetPokedexEntryBank
-	call GetFarByte
-	inc hl
-	cp "@"
-	jr nz, .SkipText
-
-	call GetPokedexEntryBank
-	push bc
-	inc hl
-	inc hl
-	call GetFarHalfword
-
-	srl h
-	rr l
-	ld b, h
-	ld c, l
-
-	rept 4
-	srl b
-	rr c
-	endr
-	call .subbc
-
-	srl b
-	rr c
-	call .subbc
-
-	ld a, h
-	pop bc
-	jr .compare
-
-.subbc
-	; subtract bc from hl
-	push bc
-	ld a, b
-	cpl
-	ld b, a
-	ld a, c
-	cpl
-	ld c, a
-	inc bc
-	add hl, bc
-	pop bc
-	ret
-
-.compare
-	ld c, a
-	cp 1024 >> 8 ; 102.4 kg
-	jr c, .lightmon
-
-	ld hl, .WeightsTable
-.lookup
-	ld a, c
-	cp [hl]
-	jr c, .heavymon
-	inc hl
-	inc hl
-	jr .lookup
-
-.heavymon
-	inc hl
-	ld a, b
-	add [hl]
-	ld b, a
-	ret nc
-	ld b, $ff
-	ret
-
-.lightmon
-	ld a, b
-	sub 20
-	ld b, a
-	ret nc
-	ld b, $1
-	ret
-
-.WeightsTable:
-; weight factor, boost
-	db 2048 >> 8, 0
-	db 3072 >> 8, 20
-	db 4096 >> 8, 30
-	db 65280 >> 8, 40
-
-LureBallMultiplier:
-; multiply catch rate by 3 if this is a fishing rod battle
-	ld a, [BattleType]
-	cp BATTLETYPE_FISH
-	ret nz
-
-	ld a, b
-	add a
-	jr c, .max
-
-	add b
-	jr nc, .done
-.max
-	ld a, $ff
-.done
-	ld b, a
-	ret
-
-MoonBallMultiplier:
-; This function is buggy.
-; Intent:  multiply catch rate by 4 if mon evolves with moon stone
-; Reality: no boost
-
-GLOBAL EvosAttacks
-GLOBAL EvosAttacksPointers
-
-	push bc
-	ld a, [TempEnemyMonSpecies]
-	dec a
-	ld c, a
-	ld b, 0
-	ld hl, EvosAttacksPointers
-	add hl, bc
-	add hl, bc
-	ld a, BANK(EvosAttacksPointers)
-	call GetFarHalfword
-	pop bc
-
-	push bc
-	ld a, BANK(EvosAttacks)
-	call GetFarByte
-	cp EVOLVE_ITEM
-	pop bc
-	ret nz
-
-	inc hl
-	inc hl
-	inc hl
-
-; Moon Stone's constant from Pokémon Red is used.
-; No Pokémon evolve with Burn Heal,
-; so Moon Balls always have a catch rate of 1×.
-	push bc
-	ld a, BANK(EvosAttacks)
-	call GetFarByte
-	cp MOON_STONE_RED ; BURN_HEAL
-	pop bc
-	ret nz
-
-	sla b
-	jr c, .max
-	sla b
-	jr nc, .done
-.max
-	ld b, $ff
-.done
-	ret
-
-LoveBallMultiplier:
-; This function is buggy.
-; Intent:  multiply catch rate by 8 if mons are of same species, different sex
-; Reality: multiply catch rate by 8 if mons are of same species, same sex
-
-	; does species match?
-	ld a, [TempEnemyMonSpecies]
-	ld c, a
-	ld a, [TempBattleMonSpecies]
-	cp c
-	ret nz
-
-	; check player mon species
-	push bc
-	ld a, [TempBattleMonSpecies]
-	ld [CurPartySpecies], a
-	xor a ; PARTYMON
-	ld [MonType], a
-	ld a, [CurBattleMon]
-	ld [CurPartyMon], a
-	callba GetGender
-	jr c, .done1 ; no effect on genderless
-
-	ld d, 0 ; male
-	jr nz, .playermale
-	inc d   ; female
-.playermale
-
-	; check wild mon species
-	push de
-	ld a, [TempEnemyMonSpecies]
-	ld [CurPartySpecies], a
-	ld a, WILDMON
-	ld [MonType], a
-	callba GetGender
-	jr c, .done2 ; no effect on genderless
-
-	ld d, 0 ; male
-	jr nz, .wildmale
-	inc d   ; female
-.wildmale
-
-	ld a, d
-	pop de
-	cp d
-	pop bc
-	ret nz ; for the intended effect, this should be "ret z"
-
-	sla b
-	jr c, .max
-	sla b
-	jr c, .max
-	sla b
-	ret nc
-.max
-	ld b, $ff
-	ret
-
-.done2
-	pop de
-
-.done1
-	pop bc
-	ret
-
-FastBallMultiplier:
-; This function is buggy.
-; Intent:  multiply catch rate by 4 if enemy mon is in one of the three
-;          FleeMons tables.
-; Reality: multiply catch rate by 4 if enemy mon is one of the first three in
-;          the first FleeMons table.
-	ld a, [TempEnemyMonSpecies]
-	ld c, a
-	ld hl, FleeMons
-	ld d, 3
-
-.loop
-	ld a, BANK(FleeMons)
-	call GetFarByte
-
-	inc hl
-	cp -1
-	jr z, .next
-	cp c
-	jr nz, .next ; for the intended effect, this should be "jr nz, .loop"
-	sla b
-	jr c, .max
-
-	sla b
-	ret nc
-
-.max
-	ld b, $ff
-	ret
-
-.next
-	dec d
-	jr nz, .loop
-	ret
-
-LevelBallMultiplier:
-; multiply catch rate by 8 if player mon level / 4 > enemy mon level
-; multiply catch rate by 4 if player mon level / 2 > enemy mon level
-; multiply catch rate by 2 if player mon level > enemy mon level
-	ld a, [BattleMonLevel]
-	ld c, a
-	ld a, [EnemyMonLevel]
-	cp c
-	ret nc ; if player is lower level, we're done here
-	sla b
-	jr c, .max
-
-	srl c
-	cp c
-	ret nc ; if player/2 is lower level, we're done here
-	sla b
-	jr c, .max
-
-	srl c
-	cp c
-	ret nc ; if player/4 is lower level, we're done here
-	sla b
-	ret nc
-
-.max
-	ld b, $ff
-	ret
-
-; These two texts were carried over from gen 1.
-; They are not used in gen 2, and are dummied out.
-
-Text_RBY_CatchMarowak: ; 0xedab
-	; It dodged the thrown BALL! This #MON can't be caught!
-	text_jump UnknownText_0x1c5a5a
-	db "@"
-; 0xedb0
-
-Text_RBY_NoShake: ; 0xedb0
-	; You missed the #MON!
-	text_jump UnknownText_0x1c5a90
-	db "@"
-; 0xedb5
-
-Text_NoShake: ; 0xedb5
-	; Oh no! The #MON broke free!
-	text_jump UnknownText_0x1c5aa6
-	db "@"
-; 0xedba
-
-Text_OneShake: ; 0xedba
-	; Aww! It appeared to be caught!
-	text_jump UnknownText_0x1c5ac3
-	db "@"
-; 0xedbf
-
-Text_TwoShakes: ; 0xedbf
-	; Aargh! Almost had it!
-	text_jump UnknownText_0x1c5ae3
-	db "@"
-; 0xedc4
-
-Text_ThreeShakes: ; 0xedc4
-	; Shoot! It was so close too!
-	text_jump UnknownText_0x1c5afa
-	db "@"
-; 0xedc9
-
-Text_GotchaMonWasCaught: ; 0xedc9
-	; Gotcha! @ was caught!@ @
-	text_jump UnknownText_0x1c5b17
-	start_asm
-	call WaitSFX
-	push bc
-	ld de, MUSIC_NONE
-	call PlayMusic
-	call DelayFrame
-	ld de, MUSIC_CAPTURE
-	call PlayMusic
-	pop bc
-	ld hl, TextJump_Waitbutton
-	ret
-; ede6
-
-TextJump_Waitbutton: ; 0xede6
-	; @
-	text_jump Text_Waitbutton_2
-	db "@"
-; 0xedeb
-
-Text_SentToBillsPC: ; 0xedeb
-	; was sent to BILL's PC.
-	text_jump UnknownText_0x1c5b38
-	db "@"
-; 0xedf0
-
-Text_AddedToPokedex: ; 0xedf0
-	; 's data was newly added to the #DEX.@ @
-	text_jump UnknownText_0x1c5b53
-	db "@"
-; 0xedf5
-
-Text_AskNicknameNewlyCaughtMon: ; 0xedf5
-	; Give a nickname to @ ?
-	text_jump UnknownText_0x1c5b7f
-	db "@"
-; 0xedfa
-
-ReturnToBattle_UseBall: ; edfa (3:6dfa)
-	callba _ReturnToBattle_UseBall
-	ret
-
-TownMap: ; ee01
-	callba PokegearMap
-	ret
-; ee08
-
-
-Bicycle: ; ee08
-	callba BikeFunction
-	ret
-; ee0f
-
-
-MoonStone:
-FireStone:
-Thunderstone:
-WaterStone:
-LeafStone:
-SunStone: ; ee0f
-	ld b, PARTYMENUACTION_EVO_STONE
-	call UseItem_SelectMon
-
-	jp c, .DecidedNotToUse
-
-	ld a, MON_ITEM
-	call GetPartyParamLocation
-
-	ld a, [hl]
-	cp EVERSTONE
-	jr z, .NoEffect
-
-	ld a, $1
-	ld [wForceEvolution], a
-	callba EvolvePokemon
-
-	ld a, [wMonTriedToEvolve]
-	and a
-	jr z, .NoEffect
-
-	jp UseDisposableItem
-
-.NoEffect:
-	call WontHaveAnyEffectMessage
-
-.DecidedNotToUse:
-	xor a
-	ld [wItemEffectSucceeded], a
-	ret
-; ee3d
-
-
-HPUp:
-Protein:
-Iron:
-Carbos:
-Calcium: ; ee3d
-	ld b, PARTYMENUACTION_HEALING_ITEM
-	call UseItem_SelectMon
-
-	jp c, RareCandy_StatBooster_ExitMenu
-
-	call RareCandy_StatBooster_GetParameters
-
-	call GetStatExpRelativePointer
-
-	ld a, MON_STAT_EXP
-	call GetPartyParamLocation
-
-	add hl, bc
-	ld a, [hl]
-	cp 100
-	jr nc, NoEffectMessage
-
-	add 10
-	ld [hl], a
-	call UpdateStatsAfterItem
-
-	call GetStatExpRelativePointer
-
-	ld hl, StatStrings
-	add hl, bc
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld de, StringBuffer2
-	ld bc, ITEM_NAME_LENGTH
-	call CopyBytes
-
-	call Play_SFX_FULL_HEAL
-
-	ld hl, Text_StatRose
-	call PrintText
-
-	ld c, HAPPINESS_USEDITEM
-	callba ChangeHappiness
-
-	jp UseDisposableItem
-
-
-NoEffectMessage: ; ee83
-	ld hl, WontHaveAnyEffectText
-	call PrintText
-	jp ClearPalettes
-; ee8c
-
-
-UpdateStatsAfterItem: ; ee8c
-	ld a, MON_MAXHP
-	call GetPartyParamLocation
-	ld d, h
-	ld e, l
-	ld a, MON_STAT_EXP - 1
-	call GetPartyParamLocation
-	ld b, $1
-	predef_jump CalcPkmnStats
-; ee9f
-
-RareCandy_StatBooster_ExitMenu: ; ee9f
-	xor a
-	ld [wItemEffectSucceeded], a
-	jp ClearPalettes
-; eea6
-
-
-Text_StatRose: ; 0xeea6
-	; 's @  rose.
-	text_jump UnknownText_0x1c5b9a
-	db "@"
-; 0xeeab
-
-
-StatStrings: ; eeab
-	dw .health
-	dw .attack
-	dw .defense
-	dw .speed
-	dw .special
-
-.health  db "HEALTH@"
-.attack  db "ATTACK@"
-.defense db "DEFENSE@"
-.speed   db "SPEED@"
-.special db "SPECIAL@"
-; eed9
-
-
-GetStatExpRelativePointer: ; eed9
-	ld a, [CurItem]
-	ld hl, Table_eeeb
-.next
-	cp [hl]
-	inc hl
-	jr z, .got_it
-	inc hl
-	jr .next
-
-.got_it
-	ld a, [hl]
-	ld c, a
-	ld b, 0
-	ret
-; eeeb
-
-Table_eeeb: ; eeeb
-	db HP_UP,    MON_HP_EXP - MON_STAT_EXP
-	db PROTEIN, MON_ATK_EXP - MON_STAT_EXP
-	db IRON,    MON_DEF_EXP - MON_STAT_EXP
-	db CARBOS,  MON_SPD_EXP - MON_STAT_EXP
-	db CALCIUM, MON_SPC_EXP - MON_STAT_EXP
-; eef5
-
-
-RareCandy_StatBooster_GetParameters: ; eef5
-	ld a, [CurPartySpecies]
-	ld [CurSpecies], a
-	ld [wd265], a
-	ld a, MON_LEVEL
-	call GetPartyParamLocation
-	ld a, [hl]
-	ld [CurPartyLevel], a
-	call GetBaseData
-	ld a, [CurPartyMon]
-	ld hl, PartyMonNicknames
-	call GetNick
-	ret
-; 0xef14
-
-
-RareCandy: ; ef14
-	ld b, PARTYMENUACTION_HEALING_ITEM
-	call UseItem_SelectMon
-
-	jp c, RareCandy_StatBooster_ExitMenu
-
-	call RareCandy_StatBooster_GetParameters
-
-	ld a, MON_LEVEL
-	call GetPartyParamLocation
-
-	ld a, [hl]
-	cp MAX_LEVEL
-	jp nc, NoEffectMessage
-
-	inc a
-	ld [hl], a
-	ld [CurPartyLevel], a
-	push de
-	ld d, a
-	callba CalcExpAtLevel
-
-	pop de
-	ld a, MON_EXP
-	call GetPartyParamLocation
-
-	ld a, [hMultiplicand]
-	ld [hli], a
-	ld a, [hMultiplicand + 1]
-	ld [hli], a
-	ld a, [hMultiplicand + 2]
-	ld [hl], a
-
-	ld a, MON_MAXHP
-	call GetPartyParamLocation
-	ld a, [hli]
-	ld b, a
-	ld c, [hl]
-	push bc
-	call UpdateStatsAfterItem
-
-	ld a, MON_MAXHP + 1
-	call GetPartyParamLocation
-
-	pop bc
-	ld a, [hld]
-	sub c
-	ld c, a
-	ld a, [hl]
-	sbc b
-	ld b, a
-	dec hl
-	ld a, [hl]
-	add c
-	ld [hld], a
-	ld a, [hl]
-	adc b
-	ld [hl], a
-	callba LevelUpHappinessMod
-
-	ld a, PARTYMENUTEXT_LEVEL_UP
-	call ItemActionText
-
-	xor a ; PARTYMON
-	ld [MonType], a
-	predef CopyPkmnToTempMon
-
-	hlcoord 9, 0
-	ld b, 10
-	ld c, 9
-	call TextBox
-
-	hlcoord 11, 1
-	ld bc, $0004
-	predef PrintTempMonStats
-
-	call WaitPressAorB_BlinkCursor
-
-	xor a ; PARTYMON
-	ld [MonType], a
-	ld a, [CurPartySpecies]
-	ld [wd265], a
-	predef LearnLevelMoves
-
-	xor a
-	ld [wForceEvolution], a
-	callba EvolvePokemon
-
-	jp UseDisposableItem
-; efad
-
-
-HealPowder: ; efad
-	ld b, PARTYMENUACTION_HEALING_ITEM
-	call UseItem_SelectMon
-
-	jp c, StatusHealer_ExitMenu
-
-	call UseStatusHealer
-
-	cp $0
-	jr nz, .asm_efc9
-	ld c, HAPPINESS_BITTERPOWDER
-	callba ChangeHappiness
-
-	call LooksBitterMessage
-
-	ld a, $0
-
-.asm_efc9
-	jp StatusHealer_Jumptable
-; efcc
-
-
-Antidote:
-BurnHeal:
-IceHeal:
-Awakening:
-ParlyzHeal:
-FullHeal:
-Psncureberry:
-Przcureberry:
-BurntBerry:
-IceBerry:
-MintBerry:
-Miracleberry: ; efcc
-	ld b, PARTYMENUACTION_HEALING_ITEM
-	call UseItem_SelectMon
-	jp c, StatusHealer_ExitMenu
-
-FullyHealStatus: ; efd4
-	call UseStatusHealer
-	jp StatusHealer_Jumptable
-; efda
-
-
-UseStatusHealer: ; efda (3:6fda)
-	call IsMonFainted
-	ld a, $1
-	ret z
-	call GetItemHealingAction
-	ld a, MON_STATUS
-	call GetPartyParamLocation
-	ld a, [hl]
-	and c
-	jr nz, .good
-	call IsItemUsedOnConfusedMon
-	ld a, $1
-	ret nc
-	ld b, PARTYMENUTEXT_HEAL_CONFUSION
-.good
-	xor a
-	ld [hl], a
-	ld a, b
-	ld [PartyMenuActionText], a
-	call HealStatus
-	call Play_SFX_FULL_HEAL
-	call ItemActionTextWaitButton
-	call UseDisposableItem
-	ld a, $0
-	ret
-
-IsItemUsedOnConfusedMon: ; f009 (3:7009)
-	call IsItemUsedOnBattleMon
-	jr nc, .nope
-	ld a, [PlayerSubStatus3]
-	bit SUBSTATUS_CONFUSED, a
-	jr z, .nope
-	ld a, c
-	cp $ff
-	jr nz, .nope
-	scf
-	ret
-
-.nope
-	and a
-	ret
-
-BattlemonRestoreHealth: ; f01e (3:701e)
-	call IsItemUsedOnBattleMon
-	ret nc
-	ld a, MON_HP
-	call GetPartyParamLocation
-	ld a, [hli]
-	ld [BattleMonHP], a
-	ld a, [hld]
-	ld [BattleMonHP + 1], a
-	ret
-
-HealStatus: ; f030 (3:7030)
-	call IsItemUsedOnBattleMon
-	ret nc
-	xor a
-	ld [BattleMonStatus], a
-	ld hl, PlayerSubStatus5
-	res SUBSTATUS_TOXIC, [hl]
-	ld hl, PlayerSubStatus1
-	res SUBSTATUS_NIGHTMARE, [hl]
-	call GetItemHealingAction
-	ld a, c
-	cp %11111111
-	jr nz, .not_full_heal
-	ld hl, PlayerSubStatus3
-	res SUBSTATUS_CONFUSED, [hl]
-.not_full_heal
-	push bc
-	callba CalcPlayerStats
-	pop bc
-	ret
-
-GetItemHealingAction: ; f058 (3:7058)
-	push hl
-	ld a, [CurItem]
-	ld hl, .healingactions
-	ld bc, 3
-.next
-	cp [hl]
-	jr z, .found_it
-	add hl, bc
-	jr .next
-
-.found_it
-	inc hl
-	ld b, [hl]
-	inc hl
-	ld a, [hl]
-	ld c, a
-	cp %11111111
-	pop hl
-	ret
-; f071 (3:7071)
-
-.healingactions ; f071
-; item, party menu action text, status
-	db ANTIDOTE,     PARTYMENUTEXT_HEAL_PSN, 1 << PSN
-	db BURN_HEAL,    PARTYMENUTEXT_HEAL_BRN, 1 << BRN
-	db ICE_HEAL,     PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ
-	db AWAKENING,    PARTYMENUTEXT_HEAL_SLP, SLP
-	db PARLYZ_HEAL,  PARTYMENUTEXT_HEAL_PAR, 1 << PAR
-	db FULL_HEAL,    PARTYMENUTEXT_HEAL_ALL, %11111111
-	db FULL_RESTORE, PARTYMENUTEXT_HEAL_ALL, %11111111
-	db HEAL_POWDER,  PARTYMENUTEXT_HEAL_ALL, %11111111
-	db PSNCUREBERRY, PARTYMENUTEXT_HEAL_PSN, 1 << PSN
-	db PRZCUREBERRY, PARTYMENUTEXT_HEAL_PAR, 1 << PAR
-	db BURNT_BERRY,  PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ
-	db ICE_BERRY,    PARTYMENUTEXT_HEAL_BRN, 1 << BRN
-	db MINT_BERRY,   PARTYMENUTEXT_HEAL_SLP, SLP
-	db MIRACLEBERRY, PARTYMENUTEXT_HEAL_ALL, %11111111
-	db -1, 0, 0
-; f09e
-
-StatusHealer_Jumptable: ; f09e (3:709e)
-	ld hl, .dw
-	rst JumpTable
-	ret
-
-.dw ; f0a3 (3:70a3)
-	dw StatusHealer_ClearPalettes
-	dw StatusHealer_NoEffect
-	dw StatusHealer_ExitMenu
-
-
-RevivalHerb: ; f0a9
-	ld b, PARTYMENUACTION_HEALING_ITEM
-	call UseItem_SelectMon
-	jp c, StatusHealer_ExitMenu
-
-	call RevivePokemon
-	cp 0
-	jr nz, .asm_f0c5
-
-	ld c, HAPPINESS_REVIVALHERB
-	callba ChangeHappiness
-	call LooksBitterMessage
-	ld a, 0
-
-.asm_f0c5
-	jp StatusHealer_Jumptable
-; f0c8
-
-
-Revive:
-MaxRevive: ; f0c8
-	ld b, PARTYMENUACTION_HEALING_ITEM
-	call UseItem_SelectMon
-	jp c, StatusHealer_ExitMenu
-
-	call RevivePokemon
-	jp StatusHealer_Jumptable
-; f0d6
-
-
-RevivePokemon: ; f0d6
-	call IsMonFainted
-	ld a, 1
-	ret nz
-	ld a, [wBattleMode]
-	and a
-	jr z, .skip_to_revive
-
-	ld a, [CurPartyMon]
-	ld c, a
-	ld d, 0
-	ld hl, wBattleParticipantsIncludingFainted
-	ld b, CHECK_FLAG
-	predef FlagPredef
-	ld a, c
-	and a
-	jr z, .skip_to_revive
-
-	ld a, [CurPartyMon]
-	ld c, a
-	ld hl, wBattleParticipantsNotFainted
-	ld b, SET_FLAG
-	predef FlagPredef
-
-.skip_to_revive
-	xor a
-	ld [Danger], a
-	ld a, [CurItem]
-	cp REVIVE
-	jr z, .revive_half_hp
-
-	call ReviveFullHP
-	jr .finish_revive
-
-.revive_half_hp
-	call ReviveHalfHP
-
-.finish_revive
-	call HealHP_SFX_GFX
-	ld a, PARTYMENUTEXT_REVIVE
-	ld [PartyMenuActionText], a
-	call ItemActionTextWaitButton
-	call UseDisposableItem
-	ld a, 0
-	ret
-; f128
-
-
-FullRestore: ; f128
-	ld b, PARTYMENUACTION_HEALING_ITEM
-	call UseItem_SelectMon
-	jp c, StatusHealer_ExitMenu
-
-	call IsMonFainted
-	jp z, StatusHealer_NoEffect
-
-	call IsMonAtFullHealth
-	jr c, .NotAtFullHealth
-
-	jp FullyHealStatus
-
-.NotAtFullHealth:
-	call .FullRestore
-	jp StatusHealer_Jumptable
-; f144
-
-
-.FullRestore: ; f144
-	xor a
-	ld [Danger], a
-	call ReviveFullHP
-	ld a, MON_STATUS
-	call GetPartyParamLocation
-	xor a
-	ld [hli], a
-	ld [hl], a
-	call HealStatus
-	call BattlemonRestoreHealth
-	call HealHP_SFX_GFX
-	ld a, PARTYMENUTEXT_HEAL_HP
-	ld [PartyMenuActionText], a
-	call ItemActionTextWaitButton
-	call UseDisposableItem
-	ld a, 0
-	ret
-; f16a
-
-
-BitterBerry: ; f16a
-	ld hl, PlayerSubStatus3
-	bit SUBSTATUS_CONFUSED, [hl]
-	ld a, 1
-	jr z, .done
-
-	res SUBSTATUS_CONFUSED, [hl]
-	xor a
-	ld [hBattleTurn], a
-	call UseItemText
-
-	ld hl, ConfusedNoMoreText
-	call StdBattleTextBox
-
-	ld a, 0
-
-.done
-	jp StatusHealer_Jumptable
-; f186
-
-
-MaxPotion:
-HyperPotion:
-SuperPotion:
-Potion:
-FreshWater:
-SodaPop:
-Lemonade:
-MoomooMilk:
-Ragecandybar:
-BerryJuice:
-Berry:
-GoldBerry: ; f186
-	call ItemRestoreHP
-	jp StatusHealer_Jumptable
-; f18c
-
-
-Energypowder: ; f18c
-	ld c, HAPPINESS_BITTERPOWDER
-	jr EnergypowderEnergyRootCommon
-; f190
-
-EnergyRoot: ; f190
-	ld c, HAPPINESS_ENERGYROOT
-; f192
-
-EnergypowderEnergyRootCommon: ; f192
-	push bc
-	call ItemRestoreHP
-	pop bc
-	cp 0
-	jr nz, .skip_happiness
-
-	callba ChangeHappiness
-	call LooksBitterMessage
-	ld a, 0
-
-.skip_happiness
-	jp StatusHealer_Jumptable
-; f1a9
-
-
-ItemRestoreHP: ; f1a9 (3:71a9)
-	ld b, PARTYMENUACTION_HEALING_ITEM
-	call UseItem_SelectMon
-	ld a, 2
-	ret c
-
-	call IsMonFainted
-	ld a, 1
-	ret z
-
-	call IsMonAtFullHealth
-	ld a, 1
-	ret nc
-
-	xor a
-	ld [Danger], a
-	call GetHealingItemAmount
-	call RestoreHealth
-	call BattlemonRestoreHealth
-	call HealHP_SFX_GFX
-	ld a, PARTYMENUTEXT_HEAL_HP
-	ld [PartyMenuActionText], a
-	call ItemActionTextWaitButton
-	call UseDisposableItem
-	ld a, 0
-	ret
-
-HealHP_SFX_GFX: ; f1db (3:71db)
-	push de
-	ld de, SFX_POTION
-	call WaitPlaySFX
-	pop de
-	ld a, [CurPartyMon]
-	hlcoord 11, 0
-	ld bc, SCREEN_WIDTH * 2
-	call AddNTimes
-	ld a, $2
-	ld [wWhichHPBar], a
-	predef_jump AnimateHPBar
-
-UseItem_SelectMon: ; f1f9 (3:71f9)
-	call .SelectMon
-	ret c
-
-	ld a, [CurPartySpecies]
-	cp EGG
-	jr nz, .not_egg
-
-	call CantUseOnEggMessage
-	scf
-	ret
-
-.not_egg
-	and a
-	ret
-
-.SelectMon: ; f20b (3:720b)
-	ld a, b
-	ld [PartyMenuActionText], a
-	push hl
-	push de
-	push bc
-	call ClearBGPalettes
-	call ChoosePkmnToUseItemOn
-	pop bc
-	pop de
-	pop hl
-	ret
-
-ChoosePkmnToUseItemOn: ; f21c (3:721c)
-	callba LoadPartyMenuGFX
-	callba InitPartyMenuWithCancel
-	callba InitPartyMenuGFX
-	callba WritePartyMenuTilemap
-	callba PrintPartyMenuText
-	call WaitBGMap
-	call SetPalettes
-	call DelayFrame
-	callba PartyMenuSelect
-	ret
-
-ItemActionText: ; f24a (3:724a)
-	ld [PartyMenuActionText], a
-	ld a, [CurPartySpecies]
-	push af
-	ld a, [CurPartyMon]
-	push af
-	push hl
-	push de
-	push bc
-	callba WritePartyMenuTilemap
-	callba PrintPartyMenuActionText
-	call WaitBGMap
-	call SetPalettes
-	call DelayFrame
-	pop bc
-	pop de
-	pop hl
-	pop af
-	ld [CurPartyMon], a
-	pop af
-	ld [CurPartySpecies], a
-	ret
-
-ItemActionTextWaitButton: ; f279 (3:7279)
-	xor a
-	ld [hBGMapMode], a
-	hlcoord 0, 0
-	ld bc, TileMapEnd - TileMap
-	ld a, " "
-	call ByteFill
-	ld a, [PartyMenuActionText]
-	call ItemActionText
-	ld a, $1
-	ld [hBGMapMode], a
-	ld c, 50
-	call DelayFrames
-	jp WaitPressAorB_BlinkCursor
-
-StatusHealer_NoEffect: ; f299 (3:7299)
-	call WontHaveAnyEffectMessage
-	jr StatusHealer_ClearPalettes
-
-StatusHealer_ExitMenu: ; f29e (3:729e)
-	xor a
-	ld [wItemEffectSucceeded], a
-StatusHealer_ClearPalettes: ; f2a2 (3:72a2)
-	call ClearPalettes
-	ret
-
-IsItemUsedOnBattleMon: ; f2a6 (3:72a6)
-	ld a, [wBattleMode]
-	and a
-	ret z
-	ld a, [CurPartyMon]
-	push hl
-	ld hl, CurBattleMon
-	cp [hl]
-	pop hl
-	jr nz, .nope
-	scf
-	ret
-
-.nope
-	xor a
-	ret
-
-ReviveHalfHP: ; f2ba (3:72ba)
-	call LoadHPFromBuffer1
-	srl d
-	rr e
-	jr ContinueRevive
-
-ReviveFullHP: ; f2c3 (3:72c3)
-	call LoadHPFromBuffer1
-ContinueRevive: ; f2c6 (3:72c6)
-	ld a, MON_HP
-	call GetPartyParamLocation
-	ld [hl], d
-	inc hl
-	ld [hl], e
-	jp LoadCurHPIntoBuffer5
-
-RestoreHealth: ; f2d1 (3:72d1)
-	ld a, MON_HP + 1
-	call GetPartyParamLocation
-	ld a, [hl]
-	add e
-	ld [hld], a
-	ld a, [hl]
-	adc d
-	ld [hl], a
-	jr c, .full_hp
-	call LoadCurHPIntoBuffer5
-	ld a, MON_HP + 1
-	call GetPartyParamLocation
-	ld d, h
-	ld e, l
-	ld a, MON_MAXHP + 1
-	call GetPartyParamLocation
-	ld a, [de]
-	sub [hl]
-	dec de
-	dec hl
-	ld a, [de]
-	sbc [hl]
-	jr c, .finish
-.full_hp
-	call ReviveFullHP
-.finish
-	ret
-
-RemoveHP: ; f2f9 (3:72f9)
-	ld a, MON_HP + 1
-	call GetPartyParamLocation
-	ld a, [hl]
-	sub e
-	ld [hld], a
-	ld a, [hl]
-	sbc d
-	ld [hl], a
-	jr nc, .okay
-	xor a
-	ld [hld], a
-	ld [hl], a
-.okay
-	call LoadCurHPIntoBuffer5
-	ret
-
-IsMonFainted: ; f30d (3:730d)
-	push de
-	call LoadMaxHPToBuffer1
-	call LoadCurHPToBuffer3
-	call LoadHPFromBuffer3
-	ld a, d
-	or e
-	pop de
-	ret
-
-IsMonAtFullHealth: ; f31b (3:731b)
-	call LoadHPFromBuffer3
-	ld h, d
-	ld l, e
-	call LoadHPFromBuffer1
-	ld a, l
-	sub e
-	ld a, h
-	sbc d
-	ret
-
-LoadCurHPIntoBuffer5: ; f328 (3:7328)
-	ld a, MON_HP
-	call GetPartyParamLocation
-	ld a, [hli]
-	ld [Buffer6], a
-	ld a, [hl]
-	ld [Buffer5], a
-	ret
-; f336 (3:7336)
-
-LoadHPIntoBuffer5: ; f336
-	ld a, d
-	ld [Buffer6], a
-	ld a, e
-	ld [Buffer5], a
-	ret
-; f33f
-
-LoadHPFromBuffer5: ; f33f
-	ld a, [Buffer6]
-	ld d, a
-	ld a, [Buffer5]
-	ld e, a
-	ret
-; f348
-
-LoadCurHPToBuffer3: ; f348 (3:7348)
-	ld a, MON_HP
-	call GetPartyParamLocation
-	ld a, [hli]
-	ld [Buffer4], a
-	ld a, [hl]
-	ld [Buffer3], a
-	ret
-
-LoadHPFromBuffer3: ; f356 (3:7356)
-	ld a, [Buffer4]
-	ld d, a
-	ld a, [Buffer3]
-	ld e, a
-	ret
-
-LoadMaxHPToBuffer1: ; f35f (3:735f)
-	push hl
-	ld a, MON_MAXHP
-	call GetPartyParamLocation
-	ld a, [hli]
-	ld [Buffer2], a
-	ld a, [hl]
-	ld [Buffer1], a
-	pop hl
-	ret
-
-LoadHPFromBuffer1: ; f36f (3:736f)
-	ld a, [Buffer2]
-	ld d, a
-	ld a, [Buffer1]
-	ld e, a
-	ret
-
-GetOneFifthMaxHP: ; f378 (3:7378)
-	push bc
-	ld a, MON_MAXHP
-	call GetPartyParamLocation
-	ld a, [hli]
-	ld [hDividend + 0], a
-	ld a, [hl]
-	ld [hDividend + 1], a
-	ld a, 5
-	ld [hDivisor], a
-	ld b, 2
-	call Divide
-	ld a, [hQuotient + 1]
-	ld d, a
-	ld a, [hQuotient + 2]
-	ld e, a
-	pop bc
-	ret
-
-GetHealingItemAmount: ; f395 (3:7395)
-	push hl
-	ld a, [CurItem]
-	ld hl, .Healing
-	ld d, a
-.next
-	ld a, [hli]
-	cp -1
-	jr z, .NotFound
-	cp d
-	jr z, .done
-	inc hl
-	inc hl
-	jr .next
-
-.NotFound:
-	scf
-.done
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	pop hl
-	ret
-; f3af (3:73af)
-
-.Healing: ; f3af
-	dbw FRESH_WATER,   50
-	dbw SODA_POP,      60
-	dbw LEMONADE,      80
-	dbw HYPER_POTION, 200
-	dbw SUPER_POTION,  50
-	dbw POTION,        20
-	dbw MAX_POTION,   999
-	dbw FULL_RESTORE, 999
-	dbw MOOMOO_MILK,  100
-	dbw BERRY,         10
-	dbw GOLD_BERRY,    30
-	dbw ENERGYPOWDER,  50
-	dbw ENERGY_ROOT,  200
-	dbw RAGECANDYBAR,  20
-	dbw BERRY_JUICE,   20
-	dbw -1,             0
-; f3df
-
-Softboiled_MilkDrinkFunction: ; f3df (3:73df)
-; Softboiled/Milk Drink in the field
-	ld a, [wPartyMenuCursor]
-	dec a
-	ld b, a
-	call .SelectMilkDrinkRecipient ; select pokemon
-	jr c, .skip
-	ld a, b
-	ld [CurPartyMon], a
-	call IsMonFainted
-	call GetOneFifthMaxHP
-	call RemoveHP
-	push bc
-	call HealHP_SFX_GFX
-	pop bc
-	call GetOneFifthMaxHP
-	ld a, c
-	ld [CurPartyMon], a
-	call IsMonFainted
-	call RestoreHealth
-	call HealHP_SFX_GFX
-	ld a, PARTYMENUTEXT_HEAL_HP
-	call ItemActionText
-	call JoyWaitAorB
-.skip
-	ld a, b
-	inc a
-	ld [wPartyMenuCursor], a
-	ret
-
-.SelectMilkDrinkRecipient: ; f419 (3:7419)
-.loop
-	push bc
-	ld a, PARTYMENUACTION_HEALING_ITEM
-	ld [PartyMenuActionText], a
-	call ChoosePkmnToUseItemOn
-	pop bc
-	jr c, .set_carry
-	ld a, [wPartyMenuCursor]
-	dec a
-	ld c, a
-	ld a, b
-	cp c
-	jr z, .cant_use ; chose the same mon as user
-	ld a, c
-	ld [CurPartyMon], a
-	call IsMonFainted
-	jr z, .cant_use
-	call IsMonAtFullHealth
-	jr nc, .cant_use
-	xor a
-	ret
-
-.set_carry
-	scf
-	ret
-
-.cant_use
-	push bc
-	ld hl, .Text_CantBeUsed
-	call MenuTextBoxBackup
-	pop bc
-	jr .loop
-; f44a (3:744a)
-
-.Text_CantBeUsed: ; 0xf44a
-	; That can't be used on this #MON.
-	text_jump UnknownText_0x1c5bac
-	db "@"
-; 0xf44f
-
-
-EscapeRope: ; f44f
-	xor a
-	ld [wItemEffectSucceeded], a
-	callba EscapeRopeFunction
-
-	ld a, [wItemEffectSucceeded]
-	cp 1
-	call z, UseDisposableItem
-	ret
-; f462
-
-
-SuperRepel: ; f462
-	ld b, 200
-	jr UseRepel
-; f466
-
-MaxRepel: ; f466
-	ld b, 250
-	jr UseRepel
-; f466
-
-Repel: ; f46a
-	ld b, 100
-; f46c
-
-UseRepel: ; f46c
-	ld a, [wRepelEffect]
-	and a
-	ld hl, TextJump_RepelUsedEarlierIsStillInEffect
-	jp nz, PrintText
-
-	ld a, b
-	ld [wRepelEffect], a
-	jp UseItemText
-
-
-TextJump_RepelUsedEarlierIsStillInEffect: ; 0xf47d
-	; The REPEL used earlier is still in effect.
-	text_jump Text_RepelUsedEarlierIsStillInEffect
-	db "@"
-; 0xf482
-
-
-XAccuracy: ; f482
-	ld hl, PlayerSubStatus4
-	bit SUBSTATUS_X_ACCURACY, [hl]
-	jp nz, WontHaveAnyEffect_NotUsedMessage
-	set SUBSTATUS_X_ACCURACY, [hl]
-	jp UseItemText
-; f48f
-
-
-PokeDoll: ; f48f
-	ld a, [wBattleMode]
-	dec a
-	jr nz, .asm_f4a6
-	inc a
-	ld [wForcedSwitch], a
-	ld a, [wBattleResult]
-	and 3 << 6
-	or $2
-	ld [wBattleResult], a
-	jp UseItemText
-
-.asm_f4a6
-	xor a
-	ld [wItemEffectSucceeded], a
-	ret
-; f4ab
-
-
-GuardSpec: ; f4ab
-	ld hl, PlayerSubStatus4
-	bit SUBSTATUS_MIST, [hl]
-	jp nz, WontHaveAnyEffect_NotUsedMessage
-	set SUBSTATUS_MIST, [hl]
-	jp UseItemText
-; f4b8
-
-
-DireHit: ; f4b8
-	ld hl, PlayerSubStatus4
-	bit SUBSTATUS_FOCUS_ENERGY, [hl]
-	jp nz, WontHaveAnyEffect_NotUsedMessage
-	set SUBSTATUS_FOCUS_ENERGY, [hl]
-	jp UseItemText
-; f4c5
-
-
-XAttack:
-XDefend:
-XSpeed:
-XSpecial: ; f4c5
-	call UseItemText
-
-	ld a, [CurItem]
-	ld hl, .x_item_table
-
-.loop
-	cp [hl]
-	jr z, .got_it
-	inc hl
-	inc hl
-	jr .loop
-
-.got_it
-	inc hl
-	ld b, [hl]
-	xor a
-	ld [hBattleTurn], a
-	ld [AttackMissed], a
-	ld [EffectFailed], a
-	callba CheckIfStatCanBeRaised
-	call WaitSFX
-
-	callba BattleCommand_StatUpMessage
-	callba BattleCommand_StatUpFailText
-
-	ld a, [CurBattleMon]
-	ld [CurPartyMon], a
-	ld c, HAPPINESS_USEDXITEM
-	callba ChangeHappiness
-	ret
-; f504
-
-.x_item_table ; f504
-	db X_ATTACK,  ATTACK
-	db X_DEFEND,  DEFENSE
-	db X_SPEED,   SPEED
-	db X_SPECIAL, SP_ATTACK
-; f50c
-
-
-PokeFlute: ; f50c
-	ld a, [wBattleMode]
-	and a
-	jr nz, .dummy
-.dummy
-
-	xor a
-	ld [wd002], a
-
-	ld b, $ff ^ SLP
-
-	ld hl, PartyMon1Status
-	call .CureSleep
-
-	ld a, [wBattleMode]
-	cp WILD_BATTLE
-	jr z, .skip_otrainer
-	ld hl, OTPartyMon1Status
-	call .CureSleep
-.skip_otrainer
-
-	ld hl, BattleMonStatus
-	ld a, [hl]
-	and b
-	ld [hl], a
-	ld hl, EnemyMonStatus
-	ld a, [hl]
-	and b
-	ld [hl], a
-
-	ld a, [wd002]
-	and a
-	ld hl, .CatchyTune
-	jp z, PrintText
-	ld hl, .PlayedTheFlute
-	call PrintText
-
-	ld a, [Danger]
-	and $80
-	jr nz, .dummy2
-.dummy2
-	ld hl, .AllSleepingMonWokeUp
-	jp PrintText
-
-
-.CureSleep:
-	ld de, PARTYMON_STRUCT_LENGTH
-	ld c, PARTY_LENGTH
-
-.loop
-	ld a, [hl]
-	push af
-	and SLP
-	jr z, .not_asleep
-	ld a, 1
-	ld [wd002], a
-.not_asleep
-	pop af
-	and b
-	ld [hl], a
-	add hl, de
-	dec c
-	jr nz, .loop
-	ret
-; f56c
-
-
-.CatchyTune: ; 0xf56c
-	; Played the # FLUTE. Now, that's a catchy tune!
-	text_jump UnknownText_0x1c5bf9
-	db "@"
-; 0xf571
-
-.AllSleepingMonWokeUp: ; 0xf571
-	; All sleeping #MON woke up.
-	text_jump UnknownText_0x1c5c28
-	db "@"
-; 0xf576
-
-.PlayedTheFlute: ; 0xf576
-	; played the # FLUTE.@ @
-	text_jump UnknownText_0x1c5c44
-	start_asm
-	ld a, [wBattleMode]
-	and a
-	jr nz, .battle
-
-	push de
-	ld de, SFX_POKEFLUTE
-	call WaitPlaySFX
-	call WaitSFX
-	pop de
-
-.battle
-	jp PokeFluteTerminatorCharacter
-; f58f
-
-
-BlueCard: ; f58f
-	ld hl, .bluecardtext
-	jp MenuTextBoxWaitButton
-
-.bluecardtext
-	text_jump UnknownText_0x1c5c5e
-	db "@"
-; f59a
-
-
-CoinCase: ; f59a
-	ld hl, .coincasetext
-	jp MenuTextBoxWaitButton
-
-.coincasetext
-	text_jump UnknownText_0x1c5c7b
-	db "@"
-; f5a5
-
-
-OldRod: ; f5a5
-	ld e, $0
-	jr UseRod
-; f5a9
-
-GoodRod: ; f5a9
-	ld e, $1
-	jr UseRod
-; f5ad
-
-SuperRod: ; f5ad
-	ld e, $2
-	jr UseRod
-; f5b1
-
-UseRod: ; f5b1
-	callba FishFunction
-	ret
-; f5b8
-
-
-Itemfinder: ; f5b8
-	callba ItemFinder
-	ret
-; f5bf
-
-
-MaxElixer:
-PPUp:
-Ether:
-MaxEther:
-Elixer:
-Mysteryberry: ; f5bf
-	ld a, [CurItem]
-	ld [wd002], a
-
-.loop
-	; Party Screen opens to choose on which Pkmn to use the Item
-	ld b, PARTYMENUACTION_HEALING_ITEM
-	call UseItem_SelectMon
-	jp c, PPRestoreItem_Cancel
-
-.loop2
-	ld a, [wd002]
-	cp MAX_ELIXER
-	jp z, Elixer_RestorePPofAllMoves
-	cp ELIXER
-	jp z, Elixer_RestorePPofAllMoves
-
-	ld hl, TextJump_RaiseThePPOfWhichMove
-	ld a, [wd002]
-	cp PP_UP
-	jr z, .ppup
-	ld hl, TextJump_RestoreThePPOfWhichMove
-
-.ppup
-	call PrintText
-
-	ld a, [CurMoveNum]
-	push af
-	xor a
-	ld [CurMoveNum], a
-	ld a, $2
-	ld [wMoveSelectionMenuType], a
-	callba MoveSelectionScreen
-	pop bc
-
-	ld a, b
-	ld [CurMoveNum], a
-	jr nz, .loop
-	ld hl, PartyMon1Moves
-	ld bc, PARTYMON_STRUCT_LENGTH
-	call GetMthMoveOfNthPartymon
-
-	push hl
-	ld a, [hl]
-	ld [wd265], a
-	call GetMoveName
-	call CopyName1
-	pop hl
-
-	ld a, [wd002]
-	cp PP_UP
-	jp nz, Not_PP_Up
-
-	ld a, [hl]
-	cp SKETCH
-	jr z, .CantUsePPUpOnSketch
-
-	ld bc, $0015
-	add hl, bc
-	ld a, [hl]
-	cp 3 << 6 ; have 3 PP Ups already been used?
-	jr c, .do_ppup
-
-.CantUsePPUpOnSketch:
-.pp_is_maxed_out
-	ld hl, TextJump_PPIsMaxedOut
-	call PrintText
-	jr .loop2
-
-.do_ppup
-	ld a, [hl]
-	add 1 << 6 ; increase PP Up count by 1
-	ld [hl], a
-	ld a, $1
-	ld [wd265], a
-	call ApplyPPUp
-	call Play_SFX_FULL_HEAL
-
-	ld hl, TextJump_PPsIncreased
-	call PrintText
-
-FinishPPRestore: ; f64c
-	call ClearPalettes
-	jp UseDisposableItem
-; f652
-
-BattleRestorePP: ; f652
-	ld a, [wBattleMode]
-	and a
-	jr z, .not_in_battle
-	ld a, [CurPartyMon]
-	ld b, a
-	ld a, [CurBattleMon]
-	cp b
-	jr nz, .not_in_battle
-	ld a, [PlayerSubStatus5]
-	bit SUBSTATUS_TRANSFORMED, a
-	jr nz, .not_in_battle
-	call .UpdateBattleMonPP
-
-.not_in_battle
-	call Play_SFX_FULL_HEAL
-	ld hl, UnknownText_0xf739
-	call PrintText
-	jr FinishPPRestore
-
-.UpdateBattleMonPP:
-	ld a, [CurPartyMon]
-	ld hl, PartyMon1Moves
-	ld bc, PARTYMON_STRUCT_LENGTH
-	call AddNTimes
-	ld de, BattleMonMoves
-	ld b, NUM_MOVES
-.loop
-	ld a, [de]
-	and a
-	jr z, .done
-	cp [hl]
-	jr nz, .next
-	push hl
-	push de
-	push bc
-	rept NUM_MOVES + 2 ; BattleMonPP - BattleMonMoves
-	inc de
-	endr
-	ld bc, MON_PP - MON_MOVES
-	add hl, bc
-	ld a, [hl]
-	ld [de], a
-	pop bc
-	pop de
-	pop hl
-
-.next
-	inc hl
-	inc de
-	dec b
-	jr nz, .loop
-
-.done
-	ret
-; f6a7
-
-Not_PP_Up: ; f6a7
-	call RestorePP
-	jr nz, BattleRestorePP
-	jp PPRestoreItem_NoEffect
-; f6af
-
-Elixer_RestorePPofAllMoves: ; f6af
-	xor a
-	ld hl, wMenuCursorY
-	ld [hli], a
-	ld [hl], a
-	ld b, NUM_MOVES
-.moveLoop
-	push bc
-	ld hl, PartyMon1Moves
-	ld bc, PARTYMON_STRUCT_LENGTH
-	call GetMthMoveOfNthPartymon
-	ld a, [hl]
-	and a
-	jr z, .next
-
-	call RestorePP
-	jr z, .next
-	ld hl, wMenuCursorX
-	inc [hl]
-
-.next
-	ld hl, wMenuCursorY
-	inc [hl]
-	pop bc
-	dec b
-	jr nz, .moveLoop
-	ld a, [wMenuCursorX]
-	and a
-	jp nz, BattleRestorePP
-
-PPRestoreItem_NoEffect: ; f6dd
-	call WontHaveAnyEffectMessage
-
-PPRestoreItem_Cancel: ; f6e0
-	call ClearPalettes
-	xor a
-	ld [wItemEffectSucceeded], a
-	ret
-; f6e8
-
-RestorePP: ; f6e8
-	xor a ; PARTYMON
-	ld [MonType], a
-	call GetMaxPPOfMove
-	ld hl, PartyMon1PP
-	ld bc, PARTYMON_STRUCT_LENGTH
-	call GetMthMoveOfNthPartymon
-	ld a, [wd265]
-	ld b, a
-	ld a, [hl]
-	and (1 << 6) - 1
-	cp b
-	jr nc, .dont_restore
-
-	ld a, [wd002]
-	cp MAX_ELIXER
-	jr z, .restore_all
-	cp MAX_ETHER
-	jr z, .restore_all
-
-	ld c, 5
-	cp MYSTERYBERRY
-	jr z, .restore_some
-
-	ld c, 10
-
-.restore_some
-	ld a, [hl]
-	and (1 << 6) - 1
-	add c
-	cp b
-	jr nc, .restore_all
-	ld b, a
-
-.restore_all
-	ld a, [hl]
-	and 3 << 6
-	or b
-	ld [hl], a
-	ret
-
-.dont_restore
-	xor a
-	ret
-; f725
-
-TextJump_RaiseThePPOfWhichMove: ; 0xf725
-	; Raise the PP of which move?
-	text_jump Text_RaiseThePPOfWhichMove
-	db "@"
-; 0xf72a
-
-TextJump_RestoreThePPOfWhichMove: ; 0xf72a
-	; Restore the PP of which move?
-	text_jump Text_RestoreThePPOfWhichMove
-	db "@"
-; 0xf72f
-
-TextJump_PPIsMaxedOut: ; 0xf72f
-	; 's PP is maxed out.
-	text_jump Text_PPIsMaxedOut
-	db "@"
-; 0xf734
-
-TextJump_PPsIncreased: ; 0xf734
-	; 's PP increased.
-	text_jump Text_PPsIncreased
-	db "@"
-; 0xf739
-
-UnknownText_0xf739: ; 0xf739
-	; PP was restored.
-	text_jump UnknownText_0x1c5cf1
-	db "@"
-; 0xf73e
-
-
-Squirtbottle: ; f73e
-	callba _Squirtbottle
-	ret
-; f745
-
-
-CardKey: ; f745
-	callba _CardKey
-	ret
-; f74c
-
-
-BasementKey: ; f74c
-	callba _BasementKey
-	ret
-; f753
-
-
-SacredAsh: ; f753
-	callba _SacredAsh
-	ld a, [wItemEffectSucceeded]
-	cp $1
-	ret nz
-	call UseDisposableItem
-	ret
-; f763
-
-
-NormalBox: ; f763
-	ld c, DECOFLAG_SILVER_TROPHY_DOLL
-	jr OpenBox
-; f767
-
-GorgeousBox: ; f767
-	ld c, DECOFLAG_GOLD_TROPHY_DOLL
-OpenBox: ; f769
-	callba SetSpecificDecorationFlag
-
-	ld hl, .text
-	call PrintText
-
-	jp UseDisposableItem
-; f778
-
-.text ; 0xf778
-	; There was a trophy inside!
-	text_jump UnknownText_0x1c5d03
-	db "@"
-; 0xf77d
-
-Brightpowder:
-Item19:
-LuckyPunch:
-MetalPowder:
-Nugget:
-Item2D:
-Item32:
-ExpShare:
-SilverLeaf:
-RedScale:
-Secretpotion:
-SSTicket:
-MysteryEgg:
-ClearBell:
-SilverWing:
-QuickClaw:
-GoldLeaf:
-SoftSand:
-SharpBeak:
-PoisonBarb:
-KingsRock:
-RedApricorn:
-Tinymushroom:
-BigMushroom:
-Silverpowder:
-BluApricorn:
-Item5A:
-AmuletCoin:
-YlwApricorn:
-GrnApricorn:
-CleanseTag:
-MysticWater:
-Twistedspoon:
-WhtApricorn:
-Blackbelt:
-BlkApricorn:
-Item64:
-PnkApricorn:
-Blackglasses:
-Slowpoketail:
-PinkBow:
-Stick:
-SmokeBall:
-Nevermeltice:
-Magnet:
-Pearl:
-BigPearl:
-Everstone:
-SpellTag:
-GsBall:
-MiracleSeed:
-ThickClub:
-FocusBand:
-Item78:
-HardStone:
-LuckyEgg:
-MachinePart:
-EggTicket:
-LostItem:
-Stardust:
-StarPiece:
-Pass:
-Item87:
-Item88:
-Item89:
-Charcoal:
-ScopeLens:
-Item8D:
-Item8E:
-MetalCoat:
-DragonFang:
-Item91:
-Leftovers:
-Item93:
-Item94:
-Item95:
-DragonScale:
-BerserkGene:
-Item99:
-Item9A:
-Item9B:
-FlowerMail:
-ItemA2:
-LightBall:
-PolkadotBow:
-ItemAB:
-UpGrade:
-ItemB0:
-RainbowWing:
-ItemB3:
-TeruSama: ; f77d
-	jp IsntTheTimeMessage
-; f780
-
-
-Play_SFX_FULL_HEAL: ; f780
-	push de
-	ld de, SFX_FULL_HEAL
-	call WaitPlaySFX
-	pop de
-	ret
-; f789
-
-UseItemText: ; f789
-	ld hl, UsedItemText
-	call PrintText
-	call Play_SFX_FULL_HEAL
-	call WaitPressAorB_BlinkCursor
-UseDisposableItem: ; f795
-	ld hl, NumItems
-	ld a, 1
-	ld [wItemQuantityChangeBuffer], a
-	jp TossItem
-; f7a0
-
-UseBallInTrainerBattle: ; f7a0
-	call ReturnToBattle_UseBall
-	ld de, ANIM_THROW_POKE_BALL
-	ld a, e
-	ld [FXAnimID], a
-	ld a, d
-	ld [FXAnimID + 1], a
-	xor a
-	ld [wBattleAnimParam], a
-	ld [hBattleTurn], a
-	ld [wNumHits], a
-	predef PlayBattleAnim
-	ld hl, BlockedTheBallText
-	call PrintText
-	ld hl, DontBeAThiefText
-	call PrintText
-	jr UseDisposableItem
-; f7ca
-
-WontHaveAnyEffect_NotUsedMessage: ; f7ca
-	ld hl, WontHaveAnyEffectText
-	call PrintText
-
-	; Item wasn't used.
-	ld a, $2
-	ld [wItemEffectSucceeded], a
-	ret
-; f7d6
-
-LooksBitterMessage: ; f7d6
-	ld hl, LooksBitterText
-	jp PrintText
-; f7dc
-
-Ball_BoxIsFullMessage: ; f7dc
-	ld hl, Ball_BoxIsFullText
-	call PrintText
-
-	; Item wasn't used.
-	ld a, $2
-	ld [wItemEffectSucceeded], a
-	ret
-; f7e8
-
-CantUseOnEggMessage: ; f7e8
-	ld hl, CantUseOnEggText
-	jr CantUseItemMessage
-
-IsntTheTimeMessage: ; f7ed
-	ld hl, IsntTheTimeText
-	jr CantUseItemMessage
-
-WontHaveAnyEffectMessage: ; f7f2
-	ld hl, WontHaveAnyEffectText
-	jr CantUseItemMessage
-
-BelongsToSomeoneElseMessage: ; f7f7
-	ld hl, BelongsToSomeoneElseText
-	jr CantUseItemMessage
-
-CyclingIsntAllowedMessage: ; f7fc
-	ld hl, CyclingIsntAllowedText
-	jr CantUseItemMessage
-
-CantGetOnYourBikeMessage: ; f801
-	ld hl, CantGetOnYourBikeText
-
-CantUseItemMessage: ; f804
-; Item couldn't be used.
-	xor a
-	ld [wItemEffectSucceeded], a
-	jp PrintText
-; f80b
-
-LooksBitterText: ; 0xf80b
-	; It looks bitter…
-	text_jump UnknownText_0x1c5d3e
-	db "@"
-; 0xf810
-
-CantUseOnEggText: ; 0xf810
-	; That can't be used on an EGG.
-	text_jump UnknownText_0x1c5d50
-	db "@"
-; 0xf815
-
-IsntTheTimeText: ; 0xf815
-	; OAK:  ! This isn't the time to use that!
-	text_jump UnknownText_0x1c5d6e
-	db "@"
-; 0xf81a
-
-BelongsToSomeoneElseText: ; 0xf81a
-	; That belongs to someone else!
-	text_jump UnknownText_0x1c5d97
-	db "@"
-; 0xf81f
-
-WontHaveAnyEffectText: ; 0xf81f
-	; It won't have any effect.
-	text_jump UnknownText_0x1c5db6
-	db "@"
-; 0xf824
-
-BlockedTheBallText: ; 0xf824
-	; The trainer blocked the BALL!
-	text_jump UnknownText_0x1c5dd0
-	db "@"
-; 0xf829
-
-DontBeAThiefText: ; 0xf829
-	; Don't be a thief!
-	text_jump UnknownText_0x1c5def
-	db "@"
-; 0xf82e
-
-CyclingIsntAllowedText: ; 0xf82e
-	; Cycling isn't allowed here.
-	text_jump UnknownText_0x1c5e01
-	db "@"
-; 0xf833
-
-CantGetOnYourBikeText: ; 0xf833
-	; Can't get on your @  now.
-	text_jump UnknownText_0x1c5e1d
-	db "@"
-; 0xf838
-
-Ball_BoxIsFullText: ; 0xf838
-	; The #MON BOX is full. That can't be used now.
-	text_jump UnknownText_0x1c5e3a
-	db "@"
-; 0xf83d
-
-UsedItemText: ; 0xf83d
-	; used the@ .
-	text_jump UnknownText_0x1c5e68
-	db "@"
-; 0xf842
-
-GotOnTheItemText: ; 0xf842
-	; got on the@ .
-	text_jump UnknownText_0x1c5e7b
-	db "@"
-; 0xf847
-
-GotOffTheItemText: ; 0xf847
-	; got off@ the @ .
-	text_jump UnknownText_0x1c5e90
-	db "@"
-; 0xf84c
-
-
-ApplyPPUp: ; f84c
-	ld a, MON_MOVES
-	call GetPartyParamLocation
-	push hl
-	ld de, Buffer1
-	predef FillPP
-	pop hl
-	ld bc, MON_PP - MON_MOVES
-	add hl, bc
-	ld de, Buffer1
-	ld b, 0
-.loop
-	inc b
-	ld a, b
-	cp NUM_MOVES + 1
-	ret z
-	ld a, [wd265]
-	dec a
-	jr nz, .use
-	ld a, [wMenuCursorY]
-	inc a
-	cp b
-	jr nz, .skip
-
-.use
-	ld a, [hl]
-	and 3 << 6
-	ld a, [de] ; wasted cycle
-	call nz, ComputeMaxPP
-
-.skip
-	inc hl
-	inc de
-	jr .loop
-; f881
-
-
-
-ComputeMaxPP: ; f881
-	push bc
-	; Divide the base PP by 5.
-	ld a, [de]
-	ld [hDividend + 3], a
-	xor a
-	ld [hDividend], a
-	ld [hDividend + 1], a
-	ld [hDividend + 2], a
-	ld a, 5
-	ld [hDivisor], a
-	ld b, 4
-	call Divide
-	; Get the number of PP, which are bits 6 and 7 of the PP value stored in RAM.
-	ld a, [hl]
-	ld b, a
-	swap a
-	and $f
-	srl a
-	srl a
-	ld c, a
-	; If this value is 0, we are done
-	and a
-	jr z, .NoPPUp
-
-.loop
-	; Normally, a move with 40 PP would have 64 PP with three PP Ups.
-	; Since this would overflow into bit 6, we prevent that from happening
-	; by decreasing the extra amount of PP each PP Up provides, resulting
-	; in a maximum of 61.
-	ld a, [hQuotient + 2]
-	cp $8
-	jr c, .okay
-	ld a, $7
-
-.okay
-	add b
-	ld b, a
-	ld a, [wd265]
-	dec a
-	jr z, .NoPPUp
-	dec c
-	jr nz, .loop
-
-.NoPPUp:
-	ld [hl], b
-	pop bc
-	ret
-; f8b9
-
-RestoreAllPP: ; f8b9
-	ld a, MON_PP
-	call GetPartyParamLocation
-	push hl
-	ld a, MON_MOVES
-	call GetPartyParamLocation
-	pop de
-	xor a ; PARTYMON
-	ld [wMenuCursorY], a
-	ld [MonType], a
-	ld c, NUM_MOVES
-.loop
-	ld a, [hli]
-	and a
-	ret z
-	push hl
-	push de
-	push bc
-	call GetMaxPPOfMove
-	pop bc
-	pop de
-	ld a, [de]
-	and 3 << 6
-	ld b, a
-	ld a, [wd265]
-	add b
-	ld [de], a
-	inc de
-	ld hl, wMenuCursorY
-	inc [hl]
-	pop hl
-	dec c
-	jr nz, .loop
-	ret
-; f8ec
-
-
-GetMaxPPOfMove: ; f8ec
-	ld a, [StringBuffer1 + 0]
-	push af
-	ld a, [StringBuffer1 + 1]
-	push af
-
-	ld a, [MonType]
-	and a
-
-	ld hl, PartyMon1Moves
-	ld bc, PARTYMON_STRUCT_LENGTH
-	jr z, .got_partymon ; PARTYMON
-
-	ld hl, OTPartyMon1Moves
-	dec a
-	jr z, .got_partymon ; OTPARTYMON
-
-	ld hl, TempMonMoves
-	dec a
-	jr z, .got_nonpartymon ; BOXMON
-
-	ld hl, TempMonMoves ; Wasted cycles
-	dec a
-	jr z, .got_nonpartymon ; TEMPMON
-
-	ld hl, BattleMonMoves ; WILDMON
-
-.got_nonpartymon ; BOXMON, TEMPMON, WILDMON
-	call GetMthMoveOfCurrentMon
-	jr .gotdatmove
-
-.got_partymon ; PARTYMON, OTPARTYMON
-	call GetMthMoveOfNthPartymon
-
-.gotdatmove
-	ld a, [hl]
-	dec a
-
-	push hl
-	ld hl, Moves + MOVE_PP
-	ld bc, MOVE_LENGTH
-	call AddNTimes
-	ld a, BANK(Moves)
-	call GetFarByte
-	ld b, a
-	ld de, StringBuffer1
-	ld [de], a
-	pop hl
-
-	push bc
-	ld bc, MON_PP - MON_MOVES
-	ld a, [MonType]
-	cp WILDMON
-	jr nz, .notwild
-	ld bc, EnemyMonPP - EnemyMonMoves
-.notwild
-	add hl, bc
-	ld a, [hl]
-	and 3 << 6
-	pop bc
-
-	or b
-	ld hl, StringBuffer1 + 1
-	ld [hl], a
-	xor a
-	ld [wd265], a
-	ld a, b ; this gets lost anyway
-	call ComputeMaxPP
-	ld a, [hl]
-	and (1 << 6) - 1
-	ld [wd265], a
-
-	pop af
-	ld [StringBuffer1 + 1], a
-	pop af
-	ld [StringBuffer1 + 0], a
-	ret
-; f963
-
-GetMthMoveOfNthPartymon: ; f963
-	ld a, [CurPartyMon]
-	call AddNTimes
-
-GetMthMoveOfCurrentMon: ; f969
-	ld a, [wMenuCursorY]
-	ld c, a
-	ld b, 0
-	add hl, bc
-	ret
-; f971
-
-INCLUDE "items/pokeball_wobble.asm"
--- a/items/item_names.asm
+++ /dev/null
@@ -1,257 +1,0 @@
-ItemNames::
-	db "MASTER BALL@"
-	db "ULTRA BALL@"
-	db "BRIGHTPOWDER@"
-	db "GREAT BALL@"
-	db "# BALL@"
-	db "TERU-SAMA@"
-	db "BICYCLE@"
-	db "MOON STONE@"
-	db "ANTIDOTE@"
-	db "BURN HEAL@"
-	db "ICE HEAL@"
-	db "AWAKENING@"
-	db "PARLYZ HEAL@"
-	db "FULL RESTORE@"
-	db "MAX POTION@"
-	db "HYPER POTION@"
-	db "SUPER POTION@"
-	db "POTION@"
-	db "ESCAPE ROPE@"
-	db "REPEL@"
-	db "MAX ELIXER@"
-	db "FIRE STONE@"
-	db "THUNDERSTONE@"
-	db "WATER STONE@"
-	db "TERU-SAMA@"
-	db "HP UP@"
-	db "PROTEIN@"
-	db "IRON@"
-	db "CARBOS@"
-	db "LUCKY PUNCH@"
-	db "CALCIUM@"
-	db "RARE CANDY@"
-	db "X ACCURACY@"
-	db "LEAF STONE@"
-	db "METAL POWDER@"
-	db "NUGGET@"
-	db "# DOLL@"
-	db "FULL HEAL@"
-	db "REVIVE@"
-	db "MAX REVIVE@"
-	db "GUARD SPEC.@"
-	db "SUPER REPEL@"
-	db "MAX REPEL@"
-	db "DIRE HIT@"
-	db "TERU-SAMA@"
-	db "FRESH WATER@"
-	db "SODA POP@"
-	db "LEMONADE@"
-	db "X ATTACK@"
-	db "TERU-SAMA@"
-	db "X DEFEND@"
-	db "X SPEED@"
-	db "X SPECIAL@"
-	db "COIN CASE@"
-	db "ITEMFINDER@"
-	db "TERU-SAMA@"
-	db "EXP.SHARE@"
-	db "OLD ROD@"
-	db "GOOD ROD@"
-	db "SILVER LEAF@"
-	db "SUPER ROD@"
-	db "PP UP@"
-	db "ETHER@"
-	db "MAX ETHER@"
-	db "ELIXER@"
-	db "RED SCALE@"
-	db "SECRETPOTION@"
-	db "S.S.TICKET@"
-	db "MYSTERY EGG@"
-	db "CLEAR BELL@"
-	db "SILVER WING@"
-	db "MOOMOO MILK@"
-	db "QUICK CLAW@"
-	db "PSNCUREBERRY@"
-	db "GOLD LEAF@"
-	db "SOFT SAND@"
-	db "SHARP BEAK@"
-	db "PRZCUREBERRY@"
-	db "BURNT BERRY@"
-	db "ICE BERRY@"
-	db "POISON BARB@"
-	db "KING'S ROCK@"
-	db "BITTER BERRY@"
-	db "MINT BERRY@"
-	db "RED APRICORN@"
-	db "TINYMUSHROOM@"
-	db "BIG MUSHROOM@"
-	db "SILVERPOWDER@"
-	db "BLU APRICORN@"
-	db "TERU-SAMA@"
-	db "AMULET COIN@"
-	db "YLW APRICORN@"
-	db "GRN APRICORN@"
-	db "CLEANSE TAG@"
-	db "MYSTIC WATER@"
-	db "TWISTEDSPOON@"
-	db "WHT APRICORN@"
-	db "BLACKBELT@"
-	db "BLK APRICORN@"
-	db "TERU-SAMA@"
-	db "PNK APRICORN@"
-	db "BLACKGLASSES@"
-	db "SLOWPOKETAIL@"
-	db "PINK BOW@"
-	db "STICK@"
-	db "SMOKE BALL@"
-	db "NEVERMELTICE@"
-	db "MAGNET@"
-	db "MIRACLEBERRY@"
-	db "PEARL@"
-	db "BIG PEARL@"
-	db "EVERSTONE@"
-	db "SPELL TAG@"
-	db "RAGECANDYBAR@"
-	db "GS BALL@"
-	db "BLUE CARD@"
-	db "MIRACLE SEED@"
-	db "THICK CLUB@"
-	db "FOCUS BAND@"
-	db "TERU-SAMA@"
-	db "ENERGYPOWDER@"
-	db "ENERGY ROOT@"
-	db "HEAL POWDER@"
-	db "REVIVAL HERB@"
-	db "HARD STONE@"
-	db "LUCKY EGG@"
-	db "CARD KEY@"
-	db "MACHINE PART@"
-	db "EGG TICKET@"
-	db "LOST ITEM@"
-	db "STARDUST@"
-	db "STAR PIECE@"
-	db "BASEMENT KEY@"
-	db "PASS@"
-	db "TERU-SAMA@"
-	db "TERU-SAMA@"
-	db "TERU-SAMA@"
-	db "CHARCOAL@"
-	db "BERRY JUICE@"
-	db "SCOPE LENS@"
-	db "TERU-SAMA@"
-	db "TERU-SAMA@"
-	db "METAL COAT@"
-	db "DRAGON FANG@"
-	db "TERU-SAMA@"
-	db "LEFTOVERS@"
-	db "TERU-SAMA@"
-	db "TERU-SAMA@"
-	db "TERU-SAMA@"
-	db "MYSTERYBERRY@"
-	db "DRAGON SCALE@"
-	db "BERSERK GENE@"
-	db "TERU-SAMA@"
-	db "TERU-SAMA@"
-	db "TERU-SAMA@"
-	db "SACRED ASH@"
-	db "HEAVY BALL@"
-	db "FLOWER MAIL@"
-	db "LEVEL BALL@"
-	db "LURE BALL@"
-	db "FAST BALL@"
-	db "TERU-SAMA@"
-	db "LIGHT BALL@"
-	db "FRIEND BALL@"
-	db "MOON BALL@"
-	db "LOVE BALL@"
-	db "NORMAL BOX@"
-	db "GORGEOUS BOX@"
-	db "SUN STONE@"
-	db "POLKADOT BOW@"
-	db "TERU-SAMA@"
-	db "UP-GRADE@"
-	db "BERRY@"
-	db "GOLD BERRY@"
-	db "SQUIRTBOTTLE@"
-	db "TERU-SAMA@"
-	db "PARK BALL@"
-	db "RAINBOW WING@"
-	db "TERU-SAMA@"
-	db "BRICK PIECE@"
-	db "SURF MAIL@"
-	db "LITEBLUEMAIL@"
-	db "PORTRAITMAIL@"
-	db "LOVELY MAIL@"
-	db "EON MAIL@"
-	db "MORPH MAIL@"
-	db "BLUESKY MAIL@"
-	db "MUSIC MAIL@"
-	db "MIRAGE MAIL@"
-	db "TERU-SAMA@"
-	db "TM01@"
-	db "TM02@"
-	db "TM03@"
-	db "TM04@"
-	db "TERU-SAMA@"
-	db "TM05@"
-	db "TM06@"
-	db "TM07@"
-	db "TM08@"
-	db "TM09@"
-	db "TM10@"
-	db "TM11@"
-	db "TM12@"
-	db "TM13@"
-	db "TM14@"
-	db "TM15@"
-	db "TM16@"
-	db "TM17@"
-	db "TM18@"
-	db "TM19@"
-	db "TM20@"
-	db "TM21@"
-	db "TM22@"
-	db "TM23@"
-	db "TM24@"
-	db "TM25@"
-	db "TM26@"
-	db "TM27@"
-	db "TM28@"
-	db "TERU-SAMA@"
-	db "TM29@"
-	db "TM30@"
-	db "TM31@"
-	db "TM32@"
-	db "TM33@"
-	db "TM34@"
-	db "TM35@"
-	db "TM36@"
-	db "TM37@"
-	db "TM38@"
-	db "TM39@"
-	db "TM40@"
-	db "TM41@"
-	db "TM42@"
-	db "TM43@"
-	db "TM44@"
-	db "TM45@"
-	db "TM46@"
-	db "TM47@"
-	db "TM48@"
-	db "TM49@"
-	db "TM50@"
-	db "HM01@"
-	db "HM02@"
-	db "HM03@"
-	db "HM04@"
-	db "HM05@"
-	db "HM06@"
-	db "HM07@"
-	db "TERU-SAMA@"
-	db "TERU-SAMA@"
-	db "TERU-SAMA@"
-	db "TERU-SAMA@"
-	db "TERU-SAMA@"
-	db "TERU-SAMA@"
-	db "?@"
--- a/items/marts.asm
+++ /dev/null
@@ -1,442 +1,0 @@
-Marts: ; 160a9
-	dw MartCherrygrove
-	dw MartCherrygroveDex
-	dw MartViolet
-	dw MartAzalea
-	dw MartCianwood
-	dw MartGoldenrod2F1
-	dw MartGoldenrod2F2
-	dw MartGoldenrod3F
-	dw MartGoldenrod4F
-	dw MartGoldenrod5F1
-	dw MartGoldenrod5F2
-	dw MartGoldenrod5F3
-	dw MartGoldenrod5F4
-	dw MartOlivine
-	dw MartEcruteak
-	dw MartMahogany1
-	dw MartMahogany2
-	dw MartBlackthorn
-	dw MartViridian
-	dw MartPewter
-	dw MartCerulean
-	dw MartLavender
-	dw MartVermilion
-	dw MartCeladon2F1
-	dw MartCeladon2F2
-	dw MartCeladon3F
-	dw MartCeladon4F
-	dw MartCeladon5F1
-	dw MartCeladon5F2
-	dw MartFuchsia
-	dw MartSaffron
-	dw MartMtMoon
-	dw MartIndigoPlateau
-	dw MartUnderground
-MartsEnd
-; 160ed
-
-
-MartCherrygrove: ; 160ed
-	db 4 ; # items
-	db POTION
-	db ANTIDOTE
-	db PARLYZ_HEAL
-	db AWAKENING
-	db $ff
-; 160f3
-
-MartCherrygroveDex: ; 160f3
-	db 5 ; # items
-	db POKE_BALL
-	db POTION
-	db ANTIDOTE
-	db PARLYZ_HEAL
-	db AWAKENING
-	db $ff
-; 160fa
-
-MartViolet: ; 160fa
-	db 10 ; # items
-	db POKE_BALL
-	db POTION
-	db ESCAPE_ROPE
-	db ANTIDOTE
-	db PARLYZ_HEAL
-	db AWAKENING
-	db X_DEFEND
-	db X_ATTACK
-	db X_SPEED
-	db FLOWER_MAIL
-	db $ff
-; 16106
-
-MartAzalea: ; 16106
-	db 9 ; # items
-	db CHARCOAL
-	db POKE_BALL
-	db POTION
-	db SUPER_POTION
-	db ESCAPE_ROPE
-	db REPEL
-	db ANTIDOTE
-	db PARLYZ_HEAL
-	db FLOWER_MAIL
-	db $ff
-; 16111
-
-MartCianwood: ; 16111
-	db 5 ; # items
-	db POTION
-	db SUPER_POTION
-	db HYPER_POTION
-	db FULL_HEAL
-	db REVIVE
-	db $ff
-; 16118
-
-MartGoldenrod2F1: ; 16118
-	db 7 ; # items
-	db POTION
-	db SUPER_POTION
-	db ANTIDOTE
-	db PARLYZ_HEAL
-	db AWAKENING
-	db BURN_HEAL
-	db ICE_HEAL
-	db $ff
-; 16121
-
-MartGoldenrod2F2: ; 16121
-	db 8 ; # items
-	db POKE_BALL
-	db GREAT_BALL
-	db ESCAPE_ROPE
-	db REPEL
-	db REVIVE
-	db FULL_HEAL
-	db POKE_DOLL
-	db FLOWER_MAIL
-	db $ff
-; 1612b
-
-MartGoldenrod3F: ; 1612b
-	db 7 ; # items
-	db X_SPEED
-	db X_SPECIAL
-	db X_DEFEND
-	db X_ATTACK
-	db DIRE_HIT
-	db GUARD_SPEC
-	db X_ACCURACY
-	db $ff
-; 16134
-
-MartGoldenrod4F: ; 16134
-	db 5 ; # items
-	db PROTEIN
-	db IRON
-	db CARBOS
-	db CALCIUM
-	db HP_UP
-	db $ff
-; 1613b
-
-MartGoldenrod5F1: ; 1613b
-	db 3 ; # items
-	db TM_THUNDERPUNCH
-	db TM_FIRE_PUNCH
-	db TM_ICE_PUNCH
-	db $ff
-; 16140
-
-MartGoldenrod5F2: ; 16140
-	db 4 ; # items
-	db TM_THUNDERPUNCH
-	db TM_FIRE_PUNCH
-	db TM_ICE_PUNCH
-	db TM_HEADBUTT
-	db $ff
-; 16146
-
-MartGoldenrod5F3: ; 16146
-	db 4 ; # items
-	db TM_THUNDERPUNCH
-	db TM_FIRE_PUNCH
-	db TM_ICE_PUNCH
-	db TM_ROCK_SMASH
-	db $ff
-; 1614c
-
-MartGoldenrod5F4: ; 1614c
-	db 5 ; # items
-	db TM_THUNDERPUNCH
-	db TM_FIRE_PUNCH
-	db TM_ICE_PUNCH
-	db TM_HEADBUTT
-	db TM_ROCK_SMASH
-	db $ff
-; 16153
-
-MartOlivine: ; 16153
-	db 9 ; # items
-	db GREAT_BALL
-	db SUPER_POTION
-	db HYPER_POTION
-	db ANTIDOTE
-	db PARLYZ_HEAL
-	db AWAKENING
-	db ICE_HEAL
-	db SUPER_REPEL
-	db SURF_MAIL
-	db $ff
-; 1615e
-
-MartEcruteak: ; 1615e
-	db 10 ; # items
-	db POKE_BALL
-	db GREAT_BALL
-	db POTION
-	db SUPER_POTION
-	db ANTIDOTE
-	db PARLYZ_HEAL
-	db AWAKENING
-	db BURN_HEAL
-	db ICE_HEAL
-	db REVIVE
-	db $ff
-; 1616a
-
-MartMahogany1: ; 1616a
-	db 4 ; # items
-	db TINYMUSHROOM
-	db SLOWPOKETAIL
-	db POKE_BALL
-	db POTION
-	db $ff
-; 16170
-
-MartMahogany2: ; 16170
-	db 9 ; # items
-	db RAGECANDYBAR
-	db GREAT_BALL
-	db SUPER_POTION
-	db HYPER_POTION
-	db ANTIDOTE
-	db PARLYZ_HEAL
-	db SUPER_REPEL
-	db REVIVE
-	db FLOWER_MAIL
-	db $ff
-; 1617b
-
-MartBlackthorn: ; 1617b
-	db 9 ; # items
-	db GREAT_BALL
-	db ULTRA_BALL
-	db HYPER_POTION
-	db MAX_POTION
-	db FULL_HEAL
-	db REVIVE
-	db MAX_REPEL
-	db X_DEFEND
-	db X_ATTACK
-	db $ff
-; 16186
-
-MartViridian: ; 16186
-	db 9 ; # items
-	db ULTRA_BALL
-	db HYPER_POTION
-	db FULL_HEAL
-	db REVIVE
-	db ANTIDOTE
-	db PARLYZ_HEAL
-	db AWAKENING
-	db BURN_HEAL
-	db FLOWER_MAIL
-	db $ff
-; 16191
-
-MartPewter: ; 16191
-	db 7 ; # items
-	db GREAT_BALL
-	db SUPER_POTION
-	db SUPER_REPEL
-	db ANTIDOTE
-	db PARLYZ_HEAL
-	db AWAKENING
-	db BURN_HEAL
-	db $ff
-; 1619a
-
-MartCerulean: ; 1619a
-	db 9 ; # items
-	db GREAT_BALL
-	db ULTRA_BALL
-	db SUPER_POTION
-	db SUPER_REPEL
-	db FULL_HEAL
-	db X_DEFEND
-	db X_ATTACK
-	db DIRE_HIT
-	db SURF_MAIL
-	db $ff
-; 161a5
-
-MartLavender: ; 161a5
-	db 8 ; # items
-	db GREAT_BALL
-	db POTION
-	db SUPER_POTION
-	db MAX_REPEL
-	db ANTIDOTE
-	db PARLYZ_HEAL
-	db AWAKENING
-	db BURN_HEAL
-	db $ff
-; 161af
-
-MartVermilion: ; 161af
-	db 8 ; # items
-	db ULTRA_BALL
-	db SUPER_POTION
-	db HYPER_POTION
-	db REVIVE
-	db PARLYZ_HEAL
-	db AWAKENING
-	db BURN_HEAL
-	db LITEBLUEMAIL
-	db $ff
-; 161b9
-
-MartCeladon2F1: ; 161b9
-	db 7 ; # items
-	db POTION
-	db SUPER_POTION
-	db HYPER_POTION
-	db MAX_POTION
-	db REVIVE
-	db SUPER_REPEL
-	db MAX_REPEL
-	db $ff
-; 161c2
-
-MartCeladon2F2: ; 161c2
-	db 10 ; # items
-	db POKE_BALL
-	db GREAT_BALL
-	db ULTRA_BALL
-	db ESCAPE_ROPE
-	db FULL_HEAL
-	db ANTIDOTE
-	db BURN_HEAL
-	db ICE_HEAL
-	db AWAKENING
-	db PARLYZ_HEAL
-	db $ff
-; 161ce
-
-MartCeladon3F: ; 161ce
-	db 5 ; # items
-	db TM_HIDDEN_POWER
-	db TM_SUNNY_DAY
-	db TM_PROTECT
-	db TM_RAIN_DANCE
-	db TM_SANDSTORM
-	db $ff
-; 161d5
-
-MartCeladon4F: ; 161d5
-	db 3 ; # items
-	db POKE_DOLL
-	db LOVELY_MAIL
-	db SURF_MAIL
-	db $ff
-; 161da
-
-MartCeladon5F1: ; 161da
-	db 5 ; # items
-	db HP_UP
-	db PROTEIN
-	db IRON
-	db CARBOS
-	db CALCIUM
-	db $ff
-; 161e1
-
-MartCeladon5F2: ; 161e1
-	db 7 ; # items
-	db X_ACCURACY
-	db GUARD_SPEC
-	db DIRE_HIT
-	db X_ATTACK
-	db X_DEFEND
-	db X_SPEED
-	db X_SPECIAL
-	db $ff
-; 161ea
-
-MartFuchsia: ; 161ea
-	db 7 ; # items
-	db GREAT_BALL
-	db ULTRA_BALL
-	db SUPER_POTION
-	db HYPER_POTION
-	db FULL_HEAL
-	db MAX_REPEL
-	db FLOWER_MAIL
-	db $ff
-; 161f3
-
-MartSaffron: ; 161f3
-	db 8 ; # items
-	db GREAT_BALL
-	db ULTRA_BALL
-	db HYPER_POTION
-	db MAX_POTION
-	db FULL_HEAL
-	db X_ATTACK
-	db X_DEFEND
-	db FLOWER_MAIL
-	db $ff
-; 161fd
-
-MartMtMoon: ; 161fd
-	db 6 ; # items
-	db POKE_DOLL
-	db FRESH_WATER
-	db SODA_POP
-	db LEMONADE
-	db REPEL
-	db PORTRAITMAIL
-	db $ff
-; 16205
-
-MartIndigoPlateau: ; 16205
-	db 7 ; # items
-	db ULTRA_BALL
-	db MAX_REPEL
-	db HYPER_POTION
-	db MAX_POTION
-	db FULL_RESTORE
-	db REVIVE
-	db FULL_HEAL
-	db $ff
-; 1620e
-
-MartUnderground: ; 1620e
-	db 4 ; # items
-	db ENERGYPOWDER
-	db ENERGY_ROOT
-	db HEAL_POWDER
-	db REVIVAL_HERB
-	db $ff
-; 16214
-
-DefaultMart: ; 16214
-	db 2 ; # items
-	db POKE_BALL
-	db POTION
-	db $ff
-; 16218
--- a/items/pokeball_wobble.asm
+++ /dev/null
@@ -1,88 +1,0 @@
-GetPokeBallWobble: ; f971 (3:7971)
-; Returns whether a Poke Ball will wobble in the catch animation.
-; Whether a Pokemon is caught is determined beforehand.
-
-	push de
-
-	ld a, [rSVBK]
-	ld d, a
-	push de
-
-	ld a, 1 ; BANK(Buffer2)
-	ld [rSVBK], a
-
-	ld a, [Buffer2]
-	inc a
-	ld [Buffer2], a
-
-; Wobble up to 3 times.
-	cp 3 + 1
-	jr z, .finished
-
-	ld a, [wWildMon]
-	and a
-	ld c, 0 ; next
-	jr nz, .done
-
-	ld hl, .WobbleProbabilities
-	ld a, [Buffer1]
-	ld b, a
-.loop
-	ld a, [hli]
-	cp b
-	jr nc, .checkwobble
-	inc hl
-	jr .loop
-
-.checkwobble
-	ld b, [hl]
-	call Random
-	cp b
-	ld c, 0 ; next
-	jr c, .done
-	ld c, 2 ; escaped
-	jr .done
-
-.finished
-	ld a, [wWildMon]
-	and a
-	ld c, 1 ; caught
-	jr nz, .done
-	ld c, 2 ; escaped
-
-.done
-	pop de
-	ld e, a
-	ld a, d
-	ld [rSVBK], a
-	ld a, e
-	pop de
-	ret
-
-.WobbleProbabilities: ; f9ba
-; catch rate, chance of wobbling / 255
-; nLeft/255 = (nRight/255) ** 4
-	db   1,  63
-	db   2,  75
-	db   3,  84
-	db   4,  90
-	db   5,  95
-	db   7, 103
-	db  10, 113
-	db  15, 126
-	db  20, 134
-	db  30, 149
-	db  40, 160
-	db  50, 169
-	db  60, 177
-	db  80, 191
-	db 100, 201
-	db 120, 211
-	db 140, 220
-	db 160, 227
-	db 180, 234
-	db 200, 240
-	db 220, 246
-	db 240, 251
-	db 254, 253
-	db 255, 255
--- a/macros.asm
+++ b/macros.asm
@@ -6,7 +6,7 @@
 INCLUDE "macros/code.asm"
 INCLUDE "macros/coords.asm"
 INCLUDE "macros/color.asm"
-INCLUDE "macros/basestats.asm"
+INCLUDE "macros/base_stats.asm"
 INCLUDE "macros/tilesets.asm"
 
 INCLUDE "macros/scripts/audio.asm"
--- /dev/null
+++ b/macros/base_stats.asm
@@ -1,0 +1,67 @@
+; Used in data/pokemon/base_stats/*.asm
+
+define: macro
+if !def(\1)
+\1 equs \2
+endc
+endm
+
+const_value = 0
+
+add_tm: MACRO
+if !def(TM01)
+TM01 = const_value
+	enum_start 1
+endc
+	define _\@_1, "TM_\1"
+	const _\@_1
+	enum \1_TMNUM
+ENDM
+
+add_hm: MACRO
+if !def(HM01)
+HM01 = const_value
+endc
+	define _\@_1, "HM_\1"
+	const _\@_1
+	enum \1_TMNUM
+ENDM
+
+add_mt: MACRO
+	enum \1_TMNUM
+ENDM
+
+; N TMs/HMs need (N+7)/8 bytes for their bit flags.
+; The rgbasm integers tms1, tms2, tms3 each hold 3 bytes, or 24 bits.
+tmhm: MACRO
+tms1 = 0
+tms2 = 0
+tms3 = 0
+rept _NARG
+	if def(\1_TMNUM)
+	if \1_TMNUM < 24 + 1
+tms1 = tms1 | (1 << ((\1_TMNUM) - 1))
+	elif \1_TMNUM < 48 + 1
+tms2 = tms2 | (1 << ((\1_TMNUM) - 1 - 24))
+	else
+tms3 = tms3 | (1 << ((\1_TMNUM) - 1 - 48))
+	endc
+	else
+		fail "\1 is not a TM, HM, or move tutor move"
+	endc
+	shift
+endr
+
+rept 3
+	db tms1 & $ff
+tms1 = tms1 >> 8
+endr
+rept 3
+	db tms2 & $ff
+tms2 = tms2 >> 8
+endr
+rept 2
+	db tms3 & $ff
+tms3 = tms3 >> 8
+endr
+ENDM
--- a/macros/basestats.asm
+++ /dev/null
@@ -1,67 +1,0 @@
-; Used in data/base_stats/*.asm
-
-define: macro
-if !def(\1)
-\1 equs \2
-endc
-endm
-
-const_value = 0
-
-add_tm: MACRO
-if !def(TM01)
-TM01 = const_value
-	enum_start 1
-endc
-	define _\@_1, "TM_\1"
-	const _\@_1
-	enum \1_TMNUM
-ENDM
-
-add_hm: MACRO
-if !def(HM01)
-HM01 = const_value
-endc
-	define _\@_1, "HM_\1"
-	const _\@_1
-	enum \1_TMNUM
-ENDM
-
-add_mt: MACRO
-	enum \1_TMNUM
-ENDM
-
-; N TMs/HMs need (N+7)/8 bytes for their bit flags.
-; The rgbasm integers tms1, tms2, tms3 each hold 3 bytes, or 24 bits.
-tmhm: MACRO
-tms1 = 0
-tms2 = 0
-tms3 = 0
-rept _NARG
-	if def(\1_TMNUM)
-	if \1_TMNUM < 24 + 1
-tms1 = tms1 | (1 << ((\1_TMNUM) - 1))
-	elif \1_TMNUM < 48 + 1
-tms2 = tms2 | (1 << ((\1_TMNUM) - 1 - 24))
-	else
-tms3 = tms3 | (1 << ((\1_TMNUM) - 1 - 48))
-	endc
-	else
-		fail "\1 is not a TM, HM, or move tutor move"
-	endc
-	shift
-endr
-
-rept 3
-	db tms1 & $ff
-tms1 = tms1 >> 8
-endr
-rept 3
-	db tms2 & $ff
-tms2 = tms2 >> 8
-endr
-rept 2
-	db tms3 & $ff
-tms3 = tms3 >> 8
-endr
-ENDM
--- a/main.asm
+++ b/main.asm
@@ -236,7 +236,7 @@
 	db -1 ; end
 
 INCLUDE "engine/math.asm"
-INCLUDE "items/item_attributes.asm"
+INCLUDE "data/items/item_attributes.asm"
 INCLUDE "engine/npc_movement.asm"
 INCLUDE "event/happiness_egg.asm"
 INCLUDE "event/special.asm"
@@ -353,7 +353,7 @@
 	text_jump UnknownText_0x1c10c0
 	db "@"
 
-INCLUDE "items/item_effects.asm"
+INCLUDE "engine/item_effects.asm"
 
 KnowsMove: ; f9ea
 	ld a, MON_MOVES
@@ -608,7 +608,7 @@
 INCLUDE "engine/pokecenter_pc.asm"
 INCLUDE "engine/mart.asm"
 INCLUDE "engine/money.asm"
-INCLUDE "items/marts.asm"
+INCLUDE "data/items/marts.asm"
 INCLUDE "event/mom.asm"
 INCLUDE "event/daycare.asm"
 INCLUDE "event/photo.asm"
@@ -1028,7 +1028,7 @@
 	callab ChangeHappiness
 	ret
 
-INCLUDE "trainers/dvs.asm"
+INCLUDE "data/trainers/trainer_dvs.asm"
 
 _ReturnToBattle_UseBall: ; 2715c
 	call ClearBGPalettes
@@ -1613,11 +1613,11 @@
 
 INCLUDE "battle/ai/items.asm"
 INCLUDE "battle/ai/scoring.asm"
-INCLUDE "trainers/read_attributes.asm"
-INCLUDE "trainers/attributes.asm"
-INCLUDE "trainers/read_party.asm"
-INCLUDE "trainers/trainer_pointers.asm"
-INCLUDE "trainers/trainers.asm"
+INCLUDE "engine/read_trainer_attributes.asm"
+INCLUDE "data/trainers/trainer_attributes.asm"
+INCLUDE "engine/read_trainer_party.asm"
+INCLUDE "data/trainers/party_pointers.asm"
+INCLUDE "data/trainers/parties.asm"
 
 
 SECTION "Battle Core", ROMX
@@ -1638,7 +1638,7 @@
 INCLUDE "engine/fruit_trees.asm"
 INCLUDE "battle/ai/move.asm"
 INCLUDE "engine/pokedex_2.asm"
-INCLUDE "data/pokedex/entry_pointers.asm"
+INCLUDE "data/pokemon/dex_entry_pointers.asm"
 INCLUDE "engine/mail.asm"
 
 
@@ -2062,7 +2062,7 @@
 	ld c, $0
 	ret
 
-INCLUDE "data/map_triggers.asm"
+INCLUDE "data/maps/map_triggers.asm"
 
 _LoadMapPart:: ; 4d15b
 	ld hl, wMisc
@@ -3108,7 +3108,7 @@
 	ld a, [hl]
 	ret
 
-INCLUDE "trainers/gendered_trainers.asm"
+INCLUDE "data/trainers/gendered_trainers.asm"
 
 INCLUDE "battle/sliding_intro.asm"
 
@@ -4284,9 +4284,9 @@
 
 INCLUDE "engine/move_mon_wo_mail.asm"
 
-INCLUDE "data/base_stats.asm"
+INCLUDE "data/pokemon/base_stats.asm"
 
-INCLUDE "data/pokemon_names.asm"
+INCLUDE "data/pokemon/pokemon_names.asm"
 
 Unknown_53d84: ; unreferenced
 	db $1a, $15
@@ -5194,8 +5194,8 @@
 
 SECTION "bank72", ROMX
 
-INCLUDE "items/item_names.asm"
-INCLUDE "items/item_descriptions.asm"
+INCLUDE "data/items/item_names.asm"
+INCLUDE "data/items/item_descriptions.asm"
 INCLUDE "battle/move_names.asm"
 INCLUDE "engine/landmarks.asm"
 
--- a/tilesets/roofs.asm
+++ b/tilesets/roofs.asm
@@ -17,7 +17,7 @@
 ; 1c021
 
 
-INCLUDE "data/mapgroup_roofs.asm"
+INCLUDE "data/maps/mapgroup_roofs.asm"
 
 
 Roofs: ; 1c03c
--- a/trainers/attributes.asm
+++ /dev/null
@@ -1,406 +1,0 @@
-TrainerClassAttributes: ; 3959c
-; entries correspond to trainer classes (see constants/trainer_constants.asm)
-
-; Falkner
-	db 0, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Whitney
-	db 0, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Bugsy
-	db 0, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Morty
-	db 0, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Pryce
-	db HYPER_POTION, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Jasmine
-	db HYPER_POTION, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Chuck
-	db FULL_HEAL, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Clair
-	db FULL_HEAL, HYPER_POTION ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Rival1
-	db 0, 0 ; items
-	db 15 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Pokemon Prof
-	db 0, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_AGGRESSIVE + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Will
-	db MAX_POTION, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Cal
-	db 0, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Bruno
-	db MAX_POTION, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Karen
-	db FULL_HEAL, MAX_POTION ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Koga
-	db FULL_HEAL, FULL_RESTORE ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Champion
-	db FULL_HEAL, FULL_RESTORE ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Brock
-	db HYPER_POTION, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Misty
-	db FULL_HEAL, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Lt Surge
-	db HYPER_POTION, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Scientist
-	db 0, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Erika
-	db HYPER_POTION, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Youngster
-	db 0, 0 ; items
-	db 4 ; base reward
-	dw AI_BASIC + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Schoolboy
-	db 0, 0 ; items
-	db 8 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
-	dw CONTEXT_USE + SWITCH_OFTEN
-
-; Bird Keeper
-	db 0, 0 ; items
-	db 6 ; base reward
-	dw AI_BASIC + AI_TYPES + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Lass
-	db 0, 0 ; items
-	db 6 ; base reward
-	dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
-	dw CONTEXT_USE + SWITCH_OFTEN
-
-; Janine
-	db DIRE_HIT, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Cooltrainerm
-	db 0, 0 ; items
-	db 12 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Cooltrainerf
-	db 0, 0 ; items
-	db 12 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Beauty
-	db 0, 0 ; items
-	db 22 ; base reward
-	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Pokemaniac
-	db 0, 0 ; items
-	db 15 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_AGGRESSIVE + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Gruntm
-	db 0, 0 ; items
-	db 10 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Gentleman
-	db 0, 0 ; items
-	db 18 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_AGGRESSIVE + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Skier
-	db 0, 0 ; items
-	db 18 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Teacher
-	db 0, 0 ; items
-	db 18 ; base reward
-	dw AI_BASIC + AI_OPPORTUNIST + AI_AGGRESSIVE + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Sabrina
-	db HYPER_POTION, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Bug Catcher
-	db 0, 0 ; items
-	db 4 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Fisher
-	db 0, 0 ; items
-	db 10 ; base reward
-	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
-	dw CONTEXT_USE + SWITCH_OFTEN
-
-; Swimmerm
-	db 0, 0 ; items
-	db 2 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OFFENSIVE + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Swimmerf
-	db 0, 0 ; items
-	db 5 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Sailor
-	db 0, 0 ; items
-	db 10 ; base reward
-	dw AI_BASIC + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Super Nerd
-	db 0, 0 ; items
-	db 8 ; base reward
-	dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Rival2
-	db 0, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Guitarist
-	db 0, 0 ; items
-	db 8 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Hiker
-	db 0, 0 ; items
-	db 8 ; base reward
-	dw AI_BASIC + AI_OFFENSIVE + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Biker
-	db 0, 0 ; items
-	db 8 ; base reward
-	dw AI_BASIC + AI_TYPES + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Blaine
-	db MAX_POTION, FULL_HEAL ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Burglar
-	db 0, 0 ; items
-	db 22 ; base reward
-	dw AI_BASIC + AI_OFFENSIVE + AI_CAUTIOUS + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Firebreather
-	db 0, 0 ; items
-	db 12 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Juggler
-	db 0, 0 ; items
-	db 10 ; base reward
-	dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Blackbelt T
-	db 0, 0 ; items
-	db 6 ; base reward
-	dw AI_BASIC + AI_OFFENSIVE + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Executivem
-	db 0, 0 ; items
-	db 18 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Psychic T
-	db 0, 0 ; items
-	db 8 ; base reward
-	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Picnicker
-	db 0, 0 ; items
-	db 5 ; base reward
-	dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Camper
-	db 0, 0 ; items
-	db 5 ; base reward
-	dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Executivef
-	db 0, 0 ; items
-	db 18 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Sage
-	db 0, 0 ; items
-	db 8 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Medium
-	db 0, 0 ; items
-	db 10 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Boarder
-	db 0, 0 ; items
-	db 18 ; base reward
-	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Pokefanm
-	db 0, 0 ; items
-	db 20 ; base reward
-	dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Kimono Girl
-	db 0, 0 ; items
-	db 18 ; base reward
-	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Twins
-	db 0, 0 ; items
-	db 5 ; base reward
-	dw NO_AI
-	dw CONTEXT_USE + SWITCH_OFTEN
-
-; Pokefanf
-	db 0, 0 ; items
-	db 20 ; base reward
-	dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Red
-	db FULL_RESTORE, FULL_RESTORE ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Blue
-	db FULL_RESTORE, FULL_RESTORE ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Officer
-	db 0, 0 ; items
-	db 10 ; base reward
-	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Gruntf
-	db 0, 0 ; items
-	db 10 ; base reward
-	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Mysticalman
-	db 0, 0 ; items
-	db 25 ; base reward
-	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
-	dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; 39771
--- a/trainers/dvs.asm
+++ /dev/null
@@ -1,93 +1,0 @@
-GetTrainerDVs: ; 270c4
-; Return the DVs of OtherTrainerClass in bc
-
-	push hl
-	ld a, [OtherTrainerClass]
-	dec a
-	ld c, a
-	ld b, 0
-
-	ld hl, TrainerClassDVs
-	add hl, bc
-	add hl, bc
-
-	ld a, [hli]
-	ld b, a
-	ld c, [hl]
-
-	pop hl
-	ret
-; 270d6
-
-TrainerClassDVs: ; 270d6
-; entries correspond to trainer classes (see constants/trainer_constants.asm)
-	;  Atk  Spd
-	;  Def  Spc
-	db $9A, $77 ; falkner
-	db $88, $88 ; bugsy
-	db $98, $88 ; whitney
-	db $98, $88 ; morty
-	db $98, $88 ; pryce
-	db $98, $88 ; jasmine
-	db $98, $88 ; chuck
-	db $7C, $DD ; clair
-	db $DD, $DD ; rival1
-	db $98, $88 ; pokemon prof
-	db $DC, $DD ; will
-	db $DC, $DD ; cal
-	db $DC, $DD ; bruno
-	db $7F, $DF ; karen
-	db $DC, $DD ; koga
-	db $DC, $DD ; champion
-	db $98, $88 ; brock
-	db $78, $88 ; misty
-	db $98, $88 ; lt surge
-	db $98, $88 ; scientist
-	db $78, $88 ; erika
-	db $98, $88 ; youngster
-	db $98, $88 ; schoolboy
-	db $98, $88 ; bird keeper
-	db $58, $88 ; lass
-	db $98, $88 ; janine
-	db $D8, $C8 ; cooltrainerm
-	db $7C, $C8 ; cooltrainerf
-	db $69, $C8 ; beauty
-	db $98, $88 ; pokemaniac
-	db $D8, $A8 ; gruntm
-	db $98, $88 ; gentleman
-	db $98, $88 ; skier
-	db $68, $88 ; teacher
-	db $7D, $87 ; sabrina
-	db $98, $88 ; bug catcher
-	db $98, $88 ; fisher
-	db $98, $88 ; swimmerm
-	db $78, $88 ; swimmerf
-	db $98, $88 ; sailor
-	db $98, $88 ; super nerd
-	db $98, $88 ; rival2
-	db $98, $88 ; guitarist
-	db $A8, $88 ; hiker
-	db $98, $88 ; biker
-	db $98, $88 ; blaine
-	db $98, $88 ; burglar
-	db $98, $88 ; firebreather
-	db $98, $88 ; juggler
-	db $98, $88 ; blackbelt
-	db $D8, $A8 ; executivem
-	db $98, $88 ; psychic
-	db $6A, $A8 ; picnicker
-	db $98, $88 ; camper
-	db $7E, $A8 ; executivef
-	db $98, $88 ; sage
-	db $78, $88 ; medium
-	db $98, $88 ; boarder
-	db $98, $88 ; pokefanm
-	db $68, $8A ; kimono girl
-	db $68, $A8 ; twins
-	db $6D, $88 ; pokefanf
-	db $FD, $DE ; red
-	db $9D, $DD ; blue
-	db $98, $88 ; officer
-	db $7E, $A8 ; gruntf
-	db $98, $88 ; mysticalman
-; 2715c
--- a/trainers/encounter_music.asm
+++ /dev/null
@@ -1,75 +1,0 @@
-; What music plays when a trainer notices you
-
-TrainerEncounterMusic::
-; entries correspond to trainer classes (see constants/trainer_constants.asm)
-    db MUSIC_HIKER_ENCOUNTER       ; none
-    db MUSIC_YOUNGSTER_ENCOUNTER   ; falkner
-    db MUSIC_LASS_ENCOUNTER        ; whitney
-    db MUSIC_YOUNGSTER_ENCOUNTER   ; bugsy
-    db MUSIC_OFFICER_ENCOUNTER     ; morty
-    db MUSIC_OFFICER_ENCOUNTER     ; pryce
-    db MUSIC_LASS_ENCOUNTER        ; jasmine
-    db MUSIC_OFFICER_ENCOUNTER     ; chuck
-    db MUSIC_BEAUTY_ENCOUNTER      ; clair
-    db MUSIC_RIVAL_ENCOUNTER       ; rival1
-    db MUSIC_HIKER_ENCOUNTER       ; pokemon_prof
-    db MUSIC_HIKER_ENCOUNTER       ; will
-    db MUSIC_HIKER_ENCOUNTER       ; cal
-    db MUSIC_OFFICER_ENCOUNTER     ; bruno
-    db MUSIC_HIKER_ENCOUNTER       ; karen
-    db MUSIC_HIKER_ENCOUNTER       ; koga
-    db MUSIC_OFFICER_ENCOUNTER     ; champion
-    db MUSIC_YOUNGSTER_ENCOUNTER   ; brock
-    db MUSIC_LASS_ENCOUNTER        ; misty
-    db MUSIC_OFFICER_ENCOUNTER     ; lt_surge
-    db MUSIC_ROCKET_ENCOUNTER      ; scientist
-    db MUSIC_OFFICER_ENCOUNTER     ; erika
-    db MUSIC_YOUNGSTER_ENCOUNTER   ; youngster
-    db MUSIC_YOUNGSTER_ENCOUNTER   ; schoolboy
-    db MUSIC_YOUNGSTER_ENCOUNTER   ; bird_keeper
-    db MUSIC_LASS_ENCOUNTER        ; lass
-    db MUSIC_LASS_ENCOUNTER        ; janine
-    db MUSIC_HIKER_ENCOUNTER       ; cooltrainerm
-    db MUSIC_BEAUTY_ENCOUNTER      ; cooltrainerf
-    db MUSIC_BEAUTY_ENCOUNTER      ; beauty
-    db MUSIC_POKEMANIAC_ENCOUNTER  ; pokemaniac
-    db MUSIC_ROCKET_ENCOUNTER      ; gruntm
-    db MUSIC_HIKER_ENCOUNTER       ; gentleman
-    db MUSIC_BEAUTY_ENCOUNTER      ; skier
-    db MUSIC_BEAUTY_ENCOUNTER      ; teacher
-    db MUSIC_BEAUTY_ENCOUNTER      ; sabrina
-    db MUSIC_YOUNGSTER_ENCOUNTER   ; bug_catcher
-    db MUSIC_HIKER_ENCOUNTER       ; fisher
-    db MUSIC_HIKER_ENCOUNTER       ; swimmerm
-    db MUSIC_BEAUTY_ENCOUNTER      ; swimmerf
-    db MUSIC_HIKER_ENCOUNTER       ; sailor
-    db MUSIC_POKEMANIAC_ENCOUNTER  ; super_nerd
-    db MUSIC_RIVAL_ENCOUNTER       ; rival2
-    db MUSIC_HIKER_ENCOUNTER       ; guitarist
-    db MUSIC_HIKER_ENCOUNTER       ; hiker
-    db MUSIC_HIKER_ENCOUNTER       ; biker
-    db MUSIC_OFFICER_ENCOUNTER     ; blaine
-    db MUSIC_POKEMANIAC_ENCOUNTER  ; burglar
-    db MUSIC_HIKER_ENCOUNTER       ; firebreather
-    db MUSIC_POKEMANIAC_ENCOUNTER  ; juggler
-    db MUSIC_HIKER_ENCOUNTER       ; blackbelt_t
-    db MUSIC_ROCKET_ENCOUNTER      ; executivem
-    db MUSIC_YOUNGSTER_ENCOUNTER   ; psychic_t
-    db MUSIC_LASS_ENCOUNTER        ; picnicker
-    db MUSIC_YOUNGSTER_ENCOUNTER   ; camper
-    db MUSIC_ROCKET_ENCOUNTER      ; executivef
-    db MUSIC_SAGE_ENCOUNTER        ; sage
-    db MUSIC_SAGE_ENCOUNTER        ; medium
-    db MUSIC_HIKER_ENCOUNTER       ; boarder
-    db MUSIC_HIKER_ENCOUNTER       ; pokefanm
-    db MUSIC_KIMONO_ENCOUNTER      ; kimono_girl
-    db MUSIC_LASS_ENCOUNTER        ; twins
-    db MUSIC_BEAUTY_ENCOUNTER      ; pokefanf
-    db MUSIC_HIKER_ENCOUNTER       ; red
-    db MUSIC_RIVAL_ENCOUNTER       ; blue
-    db MUSIC_HIKER_ENCOUNTER       ; officer
-    db MUSIC_ROCKET_ENCOUNTER      ; gruntf
-    db MUSIC_HIKER_ENCOUNTER       ; mysticalman
-    db MUSIC_HIKER_ENCOUNTER
-    db MUSIC_HIKER_ENCOUNTER
-    db MUSIC_HIKER_ENCOUNTER
--- a/trainers/gendered_trainers.asm
+++ /dev/null
@@ -1,40 +1,0 @@
-MaleTrainers: ; 4e95d
-	db BURGLAR
-	db YOUNGSTER
-	db SCHOOLBOY
-	db BIRD_KEEPER
-	db POKEMANIAC
-	db GENTLEMAN
-	db BUG_CATCHER
-	db FISHER
-	db SWIMMERM
-	db SAILOR
-	db SUPER_NERD
-	db GUITARIST
-	db HIKER
-	db FIREBREATHER
-	db BLACKBELT_T
-	db PSYCHIC_T
-	db CAMPER
-	db COOLTRAINERM
-	db BOARDER
-	db JUGGLER
-	db POKEFANM
-	db OFFICER
-	db SAGE
-	db BIKER
-	db SCIENTIST
-MaleTrainersEnd
-
-FemaleTrainers: ; 4e976
-	db MEDIUM
-	db LASS
-	db BEAUTY
-	db SKIER
-	db TEACHER
-	db SWIMMERF
-	db PICNICKER
-	db KIMONO_GIRL
-	db POKEFANF
-	db COOLTRAINERF
-FemaleTrainersEnd
--- a/trainers/read_attributes.asm
+++ /dev/null
@@ -1,64 +1,0 @@
-GetTrainerClassName: ; 3952d
-	ld hl, RivalName
-	ld a, c
-	cp RIVAL1
-	jr z, .rival
-
-	ld [CurSpecies], a
-	ld a, TRAINER_NAME
-	ld [wNamedObjectTypeBuffer], a
-	call GetName
-	ld de, StringBuffer1
-	ret
-
-.rival
-	ld de, StringBuffer1
-	push de
-	ld bc, NAME_LENGTH
-	call CopyBytes
-	pop de
-	ret
-
-GetOTName: ; 39550
-	ld hl, OTPlayerName
-	ld a, [wLinkMode]
-	and a
-	jr nz, .ok
-
-	ld hl, RivalName
-	ld a, c
-	cp RIVAL1
-	jr z, .ok
-
-	ld [CurSpecies], a
-	ld a, TRAINER_NAME
-	ld [wNamedObjectTypeBuffer], a
-	call GetName
-	ld hl, StringBuffer1
-
-.ok
-	ld bc, TRAINER_CLASS_NAME_LENGTH
-	ld de, OTClassName
-	push de
-	call CopyBytes
-	pop de
-	ret
-
-GetTrainerAttributes: ; 3957b
-	ld a, [TrainerClass]
-	ld c, a
-	call GetOTName
-	ld a, [TrainerClass]
-	dec a
-	ld hl, TrainerClassAttributes + TRNATTR_ITEM1
-	ld bc, NUM_TRAINER_ATTRIBUTES
-	call AddNTimes
-	ld de, wEnemyTrainerItem1
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	ld a, [hl]
-	ld [wEnemyTrainerBaseReward], a
-	ret
--- a/trainers/read_party.asm
+++ /dev/null
@@ -1,398 +1,0 @@
-
-ReadTrainerParty: ; 39771
-	ld a, [InBattleTowerBattle]
-	bit 0, a
-	ret nz
-
-	ld a, [wLinkMode]
-	and a
-	ret nz
-
-	ld hl, OTPartyCount
-	xor a
-	ld [hli], a
-	dec a
-	ld [hl], a
-
-	ld hl, OTPartyMons
-	ld bc, OTPartyMonsEnd - OTPartyMons
-	xor a
-	call ByteFill
-
-	ld a, [OtherTrainerClass]
-	cp CAL
-	jr nz, .not_cal2
-	ld a, [OtherTrainerID]
-	cp CAL2
-	jr z, .cal2
-	ld a, [OtherTrainerClass]
-.not_cal2
-
-	dec a
-	ld c, a
-	ld b, 0
-	ld hl, TrainerGroups
-	add hl, bc
-	add hl, bc
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-
-	ld a, [OtherTrainerID]
-	ld b, a
-.skip_trainer
-	dec b
-	jr z, .got_trainer
-.loop
-	ld a, [hli]
-	cp $ff
-	jr nz, .loop
-	jr .skip_trainer
-.got_trainer
-
-.skip_name
-	ld a, [hli]
-	cp "@"
-	jr nz, .skip_name
-
-	ld a, [hli]
-	ld c, a
-	ld b, 0
-	ld d, h
-	ld e, l
-	ld hl, TrainerTypes
-	add hl, bc
-	add hl, bc
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld bc, .done
-	push bc
-	jp hl
-
-.done
-	jp ComputeTrainerReward
-
-.cal2
-	ld a, BANK(sMysteryGiftTrainer)
-	call GetSRAMBank
-	ld de, sMysteryGiftTrainer
-	call TrainerType2
-	call CloseSRAM
-	jr .done
-; 397e3
-
-TrainerTypes: ; 397e3
-	dw TrainerType1 ; level, species
-	dw TrainerType2 ; level, species, moves
-	dw TrainerType3 ; level, species, item
-	dw TrainerType4 ; level, species, item, moves
-; 397eb
-
-TrainerType1: ; 397eb
-; normal (level, species)
-	ld h, d
-	ld l, e
-.loop
-	ld a, [hli]
-	cp $ff
-	ret z
-
-	ld [CurPartyLevel], a
-	ld a, [hli]
-	ld [CurPartySpecies], a
-	ld a, OTPARTYMON
-	ld [MonType], a
-	push hl
-	predef TryAddMonToParty
-	pop hl
-	jr .loop
-; 39806
-
-TrainerType2: ; 39806
-; moves
-	ld h, d
-	ld l, e
-.loop
-	ld a, [hli]
-	cp $ff
-	ret z
-
-	ld [CurPartyLevel], a
-	ld a, [hli]
-	ld [CurPartySpecies], a
-	ld a, OTPARTYMON
-	ld [MonType], a
-
-	push hl
-	predef TryAddMonToParty
-	ld a, [OTPartyCount]
-	dec a
-	ld hl, OTPartyMon1Moves
-	ld bc, PARTYMON_STRUCT_LENGTH
-	call AddNTimes
-	ld d, h
-	ld e, l
-	pop hl
-
-	ld b, NUM_MOVES
-.copy_moves
-	ld a, [hli]
-	ld [de], a
-	inc de
-	dec b
-	jr nz, .copy_moves
-
-	push hl
-
-	ld a, [OTPartyCount]
-	dec a
-	ld hl, OTPartyMon1Species
-	ld bc, PARTYMON_STRUCT_LENGTH
-	call AddNTimes
-	ld d, h
-	ld e, l
-	ld hl, MON_PP
-	add hl, de
-	push hl
-	ld hl, MON_MOVES
-	add hl, de
-	pop de
-
-	ld b, NUM_MOVES
-.copy_pp
-	ld a, [hli]
-	and a
-	jr z, .copied_pp
-
-	push hl
-	push bc
-	dec a
-	ld hl, Moves + MOVE_PP
-	ld bc, MOVE_LENGTH
-	call AddNTimes
-	ld a, BANK(Moves)
-	call GetFarByte
-	pop bc
-	pop hl
-
-	ld [de], a
-	inc de
-	dec b
-	jr nz, .copy_pp
-.copied_pp
-
-	pop hl
-	jr .loop
-; 39871
-
-TrainerType3: ; 39871
-; item
-	ld h, d
-	ld l, e
-.loop
-	ld a, [hli]
-	cp $ff
-	ret z
-
-	ld [CurPartyLevel], a
-	ld a, [hli]
-	ld [CurPartySpecies], a
-	ld a, OTPARTYMON
-	ld [MonType], a
-	push hl
-	predef TryAddMonToParty
-	ld a, [OTPartyCount]
-	dec a
-	ld hl, OTPartyMon1Item
-	ld bc, PARTYMON_STRUCT_LENGTH
-	call AddNTimes
-	ld d, h
-	ld e, l
-	pop hl
-	ld a, [hli]
-	ld [de], a
-	jr .loop
-; 3989d (e:589d)
-
-TrainerType4: ; 3989d
-; item + moves
-	ld h, d
-	ld l, e
-.loop
-	ld a, [hli]
-	cp $ff
-	ret z
-
-	ld [CurPartyLevel], a
-	ld a, [hli]
-	ld [CurPartySpecies], a
-
-	ld a, OTPARTYMON
-	ld [MonType], a
-
-	push hl
-	predef TryAddMonToParty
-	ld a, [OTPartyCount]
-	dec a
-	ld hl, OTPartyMon1Item
-	ld bc, PARTYMON_STRUCT_LENGTH
-	call AddNTimes
-	ld d, h
-	ld e, l
-	pop hl
-
-	ld a, [hli]
-	ld [de], a
-
-	push hl
-	ld a, [OTPartyCount]
-	dec a
-	ld hl, OTPartyMon1Moves
-	ld bc, PARTYMON_STRUCT_LENGTH
-	call AddNTimes
-	ld d, h
-	ld e, l
-	pop hl
-
-	ld b, NUM_MOVES
-.copy_moves
-	ld a, [hli]
-	ld [de], a
-	inc de
-	dec b
-	jr nz, .copy_moves
-
-	push hl
-
-	ld a, [OTPartyCount]
-	dec a
-	ld hl, OTPartyMon1
-	ld bc, PARTYMON_STRUCT_LENGTH
-	call AddNTimes
-	ld d, h
-	ld e, l
-	ld hl, MON_PP
-	add hl, de
-
-	push hl
-	ld hl, MON_MOVES
-	add hl, de
-	pop de
-
-	ld b, NUM_MOVES
-.copy_pp
-	ld a, [hli]
-	and a
-	jr z, .copied_pp
-
-	push hl
-	push bc
-	dec a
-	ld hl, Moves + MOVE_PP
-	ld bc, MOVE_LENGTH
-	call AddNTimes
-	ld a, BANK(Moves)
-	call GetFarByte
-	pop bc
-	pop hl
-
-	ld [de], a
-	inc de
-	dec b
-	jr nz, .copy_pp
-.copied_pp
-
-	pop hl
-	jr .loop
-; 3991b
-
-ComputeTrainerReward: ; 3991b (e:591b)
-	ld hl, hProduct
-	xor a
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld a, [wEnemyTrainerBaseReward]
-	ld [hli], a
-	ld a, [CurPartyLevel]
-	ld [hl], a
-	call Multiply
-	ld hl, wBattleReward
-	xor a
-	ld [hli], a
-	ld a, [hProduct + 2]
-	ld [hli], a
-	ld a, [hProduct + 3]
-	ld [hl], a
-	ret
-
-
-Battle_GetTrainerName:: ; 39939
-	ld a, [InBattleTowerBattle]
-	bit 0, a
-	ld hl, OTPlayerName
-	jp nz, CopyTrainerName
-
-	ld a, [OtherTrainerID]
-	ld b, a
-	ld a, [OtherTrainerClass]
-	ld c, a
-
-GetTrainerName:: ; 3994c
-	ld a, c
-	cp CAL
-	jr nz, .not_cal2
-
-	ld a, BANK(sMysteryGiftTrainerHouseFlag)
-	call GetSRAMBank
-	ld a, [sMysteryGiftTrainerHouseFlag]
-	and a
-	call CloseSRAM
-	jr z, .not_cal2
-
-	ld a, BANK(sMysteryGiftPartnerName)
-	call GetSRAMBank
-	ld hl, sMysteryGiftPartnerName
-	call CopyTrainerName
-	jp CloseSRAM
-
-.not_cal2
-	dec c
-	push bc
-	ld b, 0
-	ld hl, TrainerGroups
-	add hl, bc
-	add hl, bc
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	pop bc
-
-.loop
-	dec b
-	jr z, CopyTrainerName
-
-.skip
-	ld a, [hli]
-	cp $ff
-	jr nz, .skip
-	jr .loop
-
-CopyTrainerName: ; 39984
-	ld de, StringBuffer1
-	push de
-	ld bc, NAME_LENGTH
-	call CopyBytes
-	pop de
-	ret
-; 39990
-
-Function39990: ; 39990
-; This function is useless.
-	ld de, StringBuffer1
-	push de
-	ld bc, NAME_LENGTH
-	pop de
-	ret
-; 39999
--- a/trainers/trainer_pointers.asm
+++ /dev/null
@@ -1,70 +1,0 @@
-; Each trainer class has its own group. See trainers.asm.
-
-TrainerGroups: ; 0x39999
-	dw FalknerGroup
-	dw WhitneyGroup
-	dw BugsyGroup
-	dw MortyGroup
-	dw PryceGroup
-	dw JasmineGroup
-	dw ChuckGroup
-	dw ClairGroup
-	dw Rival1Group
-	dw PokemonProfGroup
-	dw WillGroup
-	dw PKMNTrainerGroup
-	dw BrunoGroup
-	dw KarenGroup
-	dw KogaGroup
-	dw ChampionGroup
-	dw BrockGroup
-	dw MistyGroup
-	dw LtSurgeGroup
-	dw ScientistGroup
-	dw ErikaGroup
-	dw YoungsterGroup
-	dw SchoolboyGroup
-	dw BirdKeeperGroup
-	dw LassGroup
-	dw JanineGroup
-	dw CooltrainerMGroup
-	dw CooltrainerFGroup
-	dw BeautyGroup
-	dw PokemaniacGroup
-	dw GruntMGroup
-	dw GentlemanGroup
-	dw SkierGroup
-	dw TeacherGroup
-	dw SabrinaGroup
-	dw BugCatcherGroup
-	dw FisherGroup
-	dw SwimmerMGroup
-	dw SwimmerFGroup
-	dw SailorGroup
-	dw SuperNerdGroup
-	dw Rival2Group
-	dw GuitaristGroup
-	dw HikerGroup
-	dw BikerGroup
-	dw BlaineGroup
-	dw BurglarGroup
-	dw FirebreatherGroup
-	dw JugglerGroup
-	dw BlackbeltGroup
-	dw ExecutiveMGroup
-	dw PsychicGroup
-	dw PicnickerGroup
-	dw CamperGroup
-	dw ExecutiveFGroup
-	dw SageGroup
-	dw MediumGroup
-	dw BoarderGroup
-	dw PokefanMGroup
-	dw KimonoGirlGroup
-	dw TwinsGroup
-	dw PokefanFGroup
-	dw RedGroup
-	dw BlueGroup
-	dw OfficerGroup
-	dw GruntFGroup
-	dw MysticalmanGroup
--- a/trainers/trainers.asm
+++ /dev/null
@@ -1,8829 +1,0 @@
-Trainers:
-
-; All trainers follow a basic structure:
-	; Name
-		; String in format "TEXT@"
-	; Type
-		; TRAINERTYPE_NORMAL:     level, species
-		; TRAINERTYPE_MOVES:      level, species, moves
-		; TRAINERTYPE_ITEM:       level, species, item
-		; TRAINERTYPE_ITEM_MOVES: level, species, item, moves
-	; Party
-		; Up to six monsters following the data type
-	; $ff
-
-
-FalknerGroup:
-; ================================
-; ================
-
-	; FALKNER (1)
-	db "FALKNER@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 7, PIDGEY
-		db TACKLE
-		db MUD_SLAP
-		db 0
-		db 0
-
-	db 9, PIDGEOTTO
-		db TACKLE
-		db MUD_SLAP
-		db GUST
-		db 0
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-WhitneyGroup:
-; ================================
-; ================
-
-	; WHITNEY (1)
-	db "WHITNEY@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 18, CLEFAIRY
-		db DOUBLESLAP
-		db MIMIC
-		db ENCORE
-		db METRONOME
-
-	db 20, MILTANK
-		db ROLLOUT
-		db ATTRACT
-		db STOMP
-		db MILK_DRINK
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-BugsyGroup:
-; ================================
-; ================
-
-	; BUGSY (1)
-	db "BUGSY@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 14, METAPOD
-		db TACKLE
-		db STRING_SHOT
-		db HARDEN
-		db 0
-
-	db 14, KAKUNA
-		db POISON_STING
-		db STRING_SHOT
-		db HARDEN
-		db 0
-
-	db 16, SCYTHER
-		db QUICK_ATTACK
-		db LEER
-		db FURY_CUTTER
-		db 0
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-MortyGroup:
-; ================================
-; ================
-
-	; MORTY (1)
-	db "MORTY@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 21, GASTLY
-		db LICK
-		db SPITE
-		db MEAN_LOOK
-		db CURSE
-
-	db 21, HAUNTER
-		db HYPNOSIS
-		db MIMIC
-		db CURSE
-		db NIGHT_SHADE
-
-	db 25, GENGAR
-		db HYPNOSIS
-		db SHADOW_BALL
-		db MEAN_LOOK
-		db DREAM_EATER
-
-	db 23, HAUNTER
-		db SPITE
-		db MEAN_LOOK
-		db MIMIC
-		db NIGHT_SHADE
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-PryceGroup:
-; ================================
-; ================
-
-	; PRYCE (1)
-	db "PRYCE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 27, SEEL
-		db HEADBUTT
-		db ICY_WIND
-		db AURORA_BEAM
-		db REST
-
-	db 29, DEWGONG
-		db HEADBUTT
-		db ICY_WIND
-		db AURORA_BEAM
-		db REST
-
-	db 31, PILOSWINE
-		db ICY_WIND
-		db FURY_ATTACK
-		db MIST
-		db BLIZZARD
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-JasmineGroup:
-; ================================
-; ================
-
-	; JASMINE (1)
-	db "JASMINE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 30, MAGNEMITE
-		db THUNDERBOLT
-		db SUPERSONIC
-		db SONICBOOM
-		db THUNDER_WAVE
-
-	db 30, MAGNEMITE
-		db THUNDERBOLT
-		db SUPERSONIC
-		db SONICBOOM
-		db THUNDER_WAVE
-
-	db 35, STEELIX
-		db SCREECH
-		db SUNNY_DAY
-		db ROCK_THROW
-		db IRON_TAIL
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-ChuckGroup:
-; ================================
-; ================
-
-	; CHUCK (1)
-	db "CHUCK@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 27, PRIMEAPE
-		db LEER
-		db RAGE
-		db KARATE_CHOP
-		db FURY_SWIPES
-
-	db 30, POLIWRATH
-		db HYPNOSIS
-		db MIND_READER
-		db SURF
-		db DYNAMICPUNCH
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-ClairGroup:
-; ================================
-; ================
-
-	; CLAIR (1)
-	db "CLAIR@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 37, DRAGONAIR
-		db THUNDER_WAVE
-		db SURF
-		db SLAM
-		db DRAGONBREATH
-
-	db 37, DRAGONAIR
-		db THUNDER_WAVE
-		db THUNDERBOLT
-		db SLAM
-		db DRAGONBREATH
-
-	db 37, DRAGONAIR
-		db THUNDER_WAVE
-		db ICE_BEAM
-		db SLAM
-		db DRAGONBREATH
-
-	db 40, KINGDRA
-		db SMOKESCREEN
-		db SURF
-		db HYPER_BEAM
-		db DRAGONBREATH
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-Rival1Group:
-; ================================
-; ================
-
-	; RIVAL1 (1)
-	db "?@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 5, CHIKORITA
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL1 (2)
-	db "?@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 5, CYNDAQUIL
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL1 (3)
-	db "?@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 5, TOTODILE
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL1 (4)
-	db "?@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 12, GASTLY
-	db 14, ZUBAT
-	db 16, BAYLEEF
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL1 (5)
-	db "?@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 12, GASTLY
-	db 14, ZUBAT
-	db 16, QUILAVA
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL1 (6)
-	db "?@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 12, GASTLY
-	db 14, ZUBAT
-	db 16, CROCONAW
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL1 (7)
-	db "?@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 20, HAUNTER
-		db LICK
-		db SPITE
-		db MEAN_LOOK
-		db CURSE
-
-	db 18, MAGNEMITE
-		db TACKLE
-		db THUNDERSHOCK
-		db SUPERSONIC
-		db SONICBOOM
-
-	db 20, ZUBAT
-		db LEECH_LIFE
-		db SUPERSONIC
-		db BITE
-		db CONFUSE_RAY
-
-	db 22, BAYLEEF
-		db GROWL
-		db REFLECT
-		db RAZOR_LEAF
-		db POISONPOWDER
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL1 (8)
-	db "?@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 20, HAUNTER
-		db LICK
-		db SPITE
-		db MEAN_LOOK
-		db CURSE
-
-	db 18, MAGNEMITE
-		db TACKLE
-		db THUNDERSHOCK
-		db SUPERSONIC
-		db SONICBOOM
-
-	db 20, ZUBAT
-		db LEECH_LIFE
-		db SUPERSONIC
-		db BITE
-		db CONFUSE_RAY
-
-	db 22, QUILAVA
-		db LEER
-		db SMOKESCREEN
-		db EMBER
-		db QUICK_ATTACK
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL1 (9)
-	db "?@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 20, HAUNTER
-		db LICK
-		db SPITE
-		db MEAN_LOOK
-		db CURSE
-
-	db 18, MAGNEMITE
-		db TACKLE
-		db THUNDERSHOCK
-		db SUPERSONIC
-		db SONICBOOM
-
-	db 20, ZUBAT
-		db LEECH_LIFE
-		db SUPERSONIC
-		db BITE
-		db CONFUSE_RAY
-
-	db 22, CROCONAW
-		db LEER
-		db RAGE
-		db WATER_GUN
-		db BITE
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL1 (10)
-	db "?@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 30, GOLBAT
-		db LEECH_LIFE
-		db BITE
-		db CONFUSE_RAY
-		db WING_ATTACK
-
-	db 28, MAGNEMITE
-		db TACKLE
-		db THUNDERSHOCK
-		db SONICBOOM
-		db THUNDER_WAVE
-
-	db 30, HAUNTER
-		db LICK
-		db MEAN_LOOK
-		db CURSE
-		db SHADOW_BALL
-
-	db 32, SNEASEL
-		db LEER
-		db QUICK_ATTACK
-		db SCREECH
-		db FAINT_ATTACK
-
-	db 32, MEGANIUM
-		db REFLECT
-		db RAZOR_LEAF
-		db POISONPOWDER
-		db BODY_SLAM
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL1 (11)
-	db "?@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 30, GOLBAT
-		db LEECH_LIFE
-		db BITE
-		db CONFUSE_RAY
-		db WING_ATTACK
-
-	db 28, MAGNEMITE
-		db TACKLE
-		db THUNDERSHOCK
-		db SONICBOOM
-		db THUNDER_WAVE
-
-	db 30, HAUNTER
-		db LICK
-		db MEAN_LOOK
-		db CURSE
-		db SHADOW_BALL
-
-	db 32, SNEASEL
-		db LEER
-		db QUICK_ATTACK
-		db SCREECH
-		db FAINT_ATTACK
-
-	db 32, QUILAVA
-		db SMOKESCREEN
-		db EMBER
-		db QUICK_ATTACK
-		db FLAME_WHEEL
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL1 (12)
-	db "?@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 30, GOLBAT
-		db LEECH_LIFE
-		db BITE
-		db CONFUSE_RAY
-		db WING_ATTACK
-
-	db 28, MAGNEMITE
-		db TACKLE
-		db THUNDERSHOCK
-		db SONICBOOM
-		db THUNDER_WAVE
-
-	db 30, HAUNTER
-		db LICK
-		db MEAN_LOOK
-		db CURSE
-		db SHADOW_BALL
-
-	db 32, SNEASEL
-		db LEER
-		db QUICK_ATTACK
-		db SCREECH
-		db FAINT_ATTACK
-
-	db 32, FERALIGATR
-		db RAGE
-		db WATER_GUN
-		db BITE
-		db SCARY_FACE
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL1 (13)
-	db "?@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 34, SNEASEL
-		db QUICK_ATTACK
-		db SCREECH
-		db FAINT_ATTACK
-		db FURY_CUTTER
-
-	db 36, GOLBAT
-		db LEECH_LIFE
-		db BITE
-		db CONFUSE_RAY
-		db WING_ATTACK
-
-	db 35, MAGNETON
-		db THUNDERSHOCK
-		db SONICBOOM
-		db THUNDER_WAVE
-		db SWIFT
-
-	db 35, HAUNTER
-		db MEAN_LOOK
-		db CURSE
-		db SHADOW_BALL
-		db CONFUSE_RAY
-
-	db 35, KADABRA
-		db DISABLE
-		db PSYBEAM
-		db RECOVER
-		db FUTURE_SIGHT
-
-	db 38, MEGANIUM
-		db REFLECT
-		db RAZOR_LEAF
-		db POISONPOWDER
-		db BODY_SLAM
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL1 (14)
-	db "?@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 34, SNEASEL
-		db QUICK_ATTACK
-		db SCREECH
-		db FAINT_ATTACK
-		db FURY_CUTTER
-
-	db 36, GOLBAT
-		db LEECH_LIFE
-		db BITE
-		db CONFUSE_RAY
-		db WING_ATTACK
-
-	db 35, MAGNETON
-		db THUNDERSHOCK
-		db SONICBOOM
-		db THUNDER_WAVE
-		db SWIFT
-
-	db 35, HAUNTER
-		db MEAN_LOOK
-		db CURSE
-		db SHADOW_BALL
-		db CONFUSE_RAY
-
-	db 35, KADABRA
-		db DISABLE
-		db PSYBEAM
-		db RECOVER
-		db FUTURE_SIGHT
-
-	db 38, TYPHLOSION
-		db SMOKESCREEN
-		db EMBER
-		db QUICK_ATTACK
-		db FLAME_WHEEL
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL1 (15)
-	db "?@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 34, SNEASEL
-		db QUICK_ATTACK
-		db SCREECH
-		db FAINT_ATTACK
-		db FURY_CUTTER
-
-	db 36, GOLBAT
-		db LEECH_LIFE
-		db BITE
-		db CONFUSE_RAY
-		db WING_ATTACK
-
-	db 34, MAGNETON
-		db THUNDERSHOCK
-		db SONICBOOM
-		db THUNDER_WAVE
-		db SWIFT
-
-	db 35, HAUNTER
-		db MEAN_LOOK
-		db CURSE
-		db SHADOW_BALL
-		db CONFUSE_RAY
-
-	db 35, KADABRA
-		db DISABLE
-		db PSYBEAM
-		db RECOVER
-		db FUTURE_SIGHT
-
-	db 38, FERALIGATR
-		db RAGE
-		db WATER_GUN
-		db SCARY_FACE
-		db SLASH
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-PokemonProfGroup:
-; ================================
-; ================
-; ================================
-
-
-WillGroup:
-; ================================
-; ================
-
-	; WILL (1)
-	db "WILL@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 40, XATU
-		db QUICK_ATTACK
-		db FUTURE_SIGHT
-		db CONFUSE_RAY
-		db PSYCHIC_M
-
-	db 41, JYNX
-		db DOUBLESLAP
-		db LOVELY_KISS
-		db ICE_PUNCH
-		db PSYCHIC_M
-
-	db 41, EXEGGUTOR
-		db REFLECT
-		db LEECH_SEED
-		db EGG_BOMB
-		db PSYCHIC_M
-
-	db 41, SLOWBRO
-		db CURSE
-		db AMNESIA
-		db BODY_SLAM
-		db PSYCHIC_M
-
-	db 42, XATU
-		db QUICK_ATTACK
-		db FUTURE_SIGHT
-		db CONFUSE_RAY
-		db PSYCHIC_M
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-PKMNTrainerGroup:
-; ================================
-; ================
-
-	; CAL (1)
-	db "CAL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 10, CHIKORITA
-	db 10, CYNDAQUIL
-	db 10, TOTODILE
-
-	db $ff ; end
-
-; ================
-
-	; CAL (2)
-	db "CAL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, BAYLEEF
-	db 30, QUILAVA
-	db 30, CROCONAW
-
-	db $ff ; end
-
-; ================
-
-	; CAL (3)
-	db "CAL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 50, MEGANIUM
-	db 50, TYPHLOSION
-	db 50, FERALIGATR
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-BrunoGroup:
-; ================================
-; ================
-
-	; BRUNO (1)
-	db "BRUNO@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 42, HITMONTOP
-		db PURSUIT
-		db QUICK_ATTACK
-		db DIG
-		db DETECT
-
-	db 42, HITMONLEE
-		db SWAGGER
-		db DOUBLE_KICK
-		db HI_JUMP_KICK
-		db FORESIGHT
-
-	db 42, HITMONCHAN
-		db THUNDERPUNCH
-		db ICE_PUNCH
-		db FIRE_PUNCH
-		db MACH_PUNCH
-
-	db 43, ONIX
-		db BIND
-		db EARTHQUAKE
-		db SANDSTORM
-		db ROCK_SLIDE
-
-	db 46, MACHAMP
-		db ROCK_SLIDE
-		db FORESIGHT
-		db VITAL_THROW
-		db CROSS_CHOP
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-KarenGroup:
-; ================================
-; ================
-
-	; KAREN (1)
-	db "KAREN@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 42, UMBREON
-		db SAND_ATTACK
-		db CONFUSE_RAY
-		db FAINT_ATTACK
-		db MEAN_LOOK
-
-	db 42, VILEPLUME
-		db STUN_SPORE
-		db ACID
-		db MOONLIGHT
-		db PETAL_DANCE
-
-	db 45, GENGAR
-		db LICK
-		db SPITE
-		db CURSE
-		db DESTINY_BOND
-
-	db 44, MURKROW
-		db QUICK_ATTACK
-		db WHIRLWIND
-		db PURSUIT
-		db FAINT_ATTACK
-
-	db 47, HOUNDOOM
-		db ROAR
-		db PURSUIT
-		db FLAMETHROWER
-		db CRUNCH
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-KogaGroup:
-; ================================
-; ================
-
-	; KOGA (1)
-	db "KOGA@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 40, ARIADOS
-		db DOUBLE_TEAM
-		db SPIDER_WEB
-		db BATON_PASS
-		db GIGA_DRAIN
-
-	db 41, VENOMOTH
-		db SUPERSONIC
-		db GUST
-		db PSYCHIC_M
-		db TOXIC
-
-	db 43, FORRETRESS
-		db PROTECT
-		db SWIFT
-		db EXPLOSION
-		db SPIKES
-
-	db 42, MUK
-		db MINIMIZE
-		db ACID_ARMOR
-		db SLUDGE_BOMB
-		db TOXIC
-
-	db 44, CROBAT
-		db DOUBLE_TEAM
-		db QUICK_ATTACK
-		db WING_ATTACK
-		db TOXIC
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-ChampionGroup:
-; ================================
-; ================
-
-	; CHAMPION (1)
-	db "LANCE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 44, GYARADOS
-		db FLAIL
-		db RAIN_DANCE
-		db SURF
-		db HYPER_BEAM
-
-	db 47, DRAGONITE
-		db THUNDER_WAVE
-		db TWISTER
-		db THUNDER
-		db HYPER_BEAM
-
-	db 47, DRAGONITE
-		db THUNDER_WAVE
-		db TWISTER
-		db BLIZZARD
-		db HYPER_BEAM
-
-	db 46, AERODACTYL
-		db WING_ATTACK
-		db ANCIENTPOWER
-		db ROCK_SLIDE
-		db HYPER_BEAM
-
-	db 46, CHARIZARD
-		db FLAMETHROWER
-		db WING_ATTACK
-		db SLASH
-		db HYPER_BEAM
-
-	db 50, DRAGONITE
-		db FIRE_BLAST
-		db SAFEGUARD
-		db OUTRAGE
-		db HYPER_BEAM
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-BrockGroup:
-; ================================
-; ================
-
-	; BROCK (1)
-	db "BROCK@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 41, GRAVELER
-		db DEFENSE_CURL
-		db ROCK_SLIDE
-		db ROLLOUT
-		db EARTHQUAKE
-
-	db 41, RHYHORN
-		db FURY_ATTACK
-		db SCARY_FACE
-		db EARTHQUAKE
-		db HORN_DRILL
-
-	db 42, OMASTAR
-		db BITE
-		db SURF
-		db PROTECT
-		db SPIKE_CANNON
-
-	db 44, ONIX
-		db BIND
-		db ROCK_SLIDE
-		db BIDE
-		db SANDSTORM
-
-	db 42, KABUTOPS
-		db SLASH
-		db SURF
-		db ENDURE
-		db GIGA_DRAIN
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-MistyGroup:
-; ================================
-; ================
-
-	; MISTY (1)
-	db "MISTY@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 42, GOLDUCK
-		db SURF
-		db DISABLE
-		db PSYCH_UP
-		db PSYCHIC_M
-
-	db 42, QUAGSIRE
-		db SURF
-		db AMNESIA
-		db EARTHQUAKE
-		db RAIN_DANCE
-
-	db 44, LAPRAS
-		db SURF
-		db PERISH_SONG
-		db BLIZZARD
-		db RAIN_DANCE
-
-	db 47, STARMIE
-		db SURF
-		db CONFUSE_RAY
-		db RECOVER
-		db ICE_BEAM
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-LtSurgeGroup:
-; ================================
-; ================
-
-	; LT_SURGE (1)
-	db "LT.SURGE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 44, RAICHU
-		db THUNDER_WAVE
-		db QUICK_ATTACK
-		db THUNDERBOLT
-		db THUNDER
-
-	db 40, ELECTRODE
-		db SCREECH
-		db DOUBLE_TEAM
-		db SWIFT
-		db EXPLOSION
-
-	db 40, MAGNETON
-		db LOCK_ON
-		db DOUBLE_TEAM
-		db SWIFT
-		db ZAP_CANNON
-
-	db 40, ELECTRODE
-		db SCREECH
-		db DOUBLE_TEAM
-		db SWIFT
-		db EXPLOSION
-
-	db 46, ELECTABUZZ
-		db QUICK_ATTACK
-		db THUNDERPUNCH
-		db LIGHT_SCREEN
-		db THUNDER
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-ScientistGroup:
-; ================================
-; ================
-
-	; SCIENTIST (1)
-	db "ROSS@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 22, KOFFING
-	db 22, KOFFING
-
-	db $ff ; end
-
-; ================
-
-	; SCIENTIST (2)
-	db "MITCH@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 24, DITTO
-
-	db $ff ; end
-
-; ================
-
-	; SCIENTIST (3)
-	db "JED@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 20, MAGNEMITE
-	db 20, MAGNEMITE
-	db 20, MAGNEMITE
-
-	db $ff ; end
-
-; ================
-
-	; SCIENTIST (4)
-	db "MARC@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 27, MAGNEMITE
-	db 27, MAGNEMITE
-	db 27, MAGNEMITE
-
-	db $ff ; end
-
-; ================
-
-	; SCIENTIST (5)
-	db "RICH@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 30, PORYGON
-		db CONVERSION
-		db CONVERSION2
-		db RECOVER
-		db TRI_ATTACK
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-ErikaGroup:
-; ================================
-; ================
-
-	; ERIKA (1)
-	db "ERIKA@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 42, TANGELA
-		db VINE_WHIP
-		db BIND
-		db GIGA_DRAIN
-		db SLEEP_POWDER
-
-	db 41, JUMPLUFF
-		db MEGA_DRAIN
-		db LEECH_SEED
-		db COTTON_SPORE
-		db GIGA_DRAIN
-
-	db 46, VICTREEBEL
-		db SUNNY_DAY
-		db SYNTHESIS
-		db ACID
-		db RAZOR_LEAF
-
-	db 46, BELLOSSOM
-		db SUNNY_DAY
-		db SYNTHESIS
-		db PETAL_DANCE
-		db SOLARBEAM
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-YoungsterGroup:
-; ================================
-; ================
-
-	; YOUNGSTER (1)
-	db "JOEY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 4, RATTATA
-
-	db $ff ; end
-
-; ================
-
-	; YOUNGSTER (2)
-	db "MIKEY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 2, PIDGEY
-	db 4, RATTATA
-
-	db $ff ; end
-
-; ================
-
-	; YOUNGSTER (3)
-	db "ALBERT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 6, RATTATA
-	db 8, ZUBAT
-
-	db $ff ; end
-
-; ================
-
-	; YOUNGSTER (4)
-	db "GORDON@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 10, WOOPER
-
-	db $ff ; end
-
-; ================
-
-	; YOUNGSTER (5)
-	db "SAMUEL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 7, RATTATA
-	db 10, SANDSHREW
-	db 8, SPEAROW
-	db 8, SPEAROW
-
-	db $ff ; end
-
-; ================
-
-	; YOUNGSTER (6)
-	db "IAN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 10, MANKEY
-	db 12, DIGLETT
-
-	db $ff ; end
-
-; ================
-
-	; YOUNGSTER (7)
-	db "JOEY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, RATTATA
-
-	db $ff ; end
-
-; ================
-
-	; YOUNGSTER (8)
-	db "JOEY@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 21, RATICATE
-		db TAIL_WHIP
-		db QUICK_ATTACK
-		db HYPER_FANG
-		db SCARY_FACE
-
-	db $ff ; end
-
-; ================
-
-	; YOUNGSTER (9)
-	db "WARREN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 35, FEAROW
-
-	db $ff ; end
-
-; ================
-
-	; YOUNGSTER (10)
-	db "JIMMY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 33, RATICATE
-	db 33, ARBOK
-
-	db $ff ; end
-
-; ================
-
-	; YOUNGSTER (11)
-	db "OWEN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 35, GROWLITHE
-
-	db $ff ; end
-
-; ================
-
-	; YOUNGSTER (12)
-	db "JASON@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 33, SANDSLASH
-	db 33, CROBAT
-
-	db $ff ; end
-
-; ================
-
-	; YOUNGSTER (13)
-	db "JOEY@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 30, RATICATE
-		db TAIL_WHIP
-		db QUICK_ATTACK
-		db HYPER_FANG
-		db PURSUIT
-
-	db $ff ; end
-
-; ================
-
-	; YOUNGSTER (14)
-	db "JOEY@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 37, RATICATE
-		db HYPER_BEAM
-		db QUICK_ATTACK
-		db HYPER_FANG
-		db PURSUIT
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-SchoolboyGroup:
-; ================================
-; ================
-
-	; SCHOOLBOY (1)
-	db "JACK@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 12, ODDISH
-	db 15, VOLTORB
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (2)
-	db "KIPP@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 27, VOLTORB
-	db 27, MAGNEMITE
-	db 31, VOLTORB
-	db 31, MAGNETON
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (3)
-	db "ALAN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 16, TANGELA
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (4)
-	db "JOHNNY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 29, BELLSPROUT
-	db 31, WEEPINBELL
-	db 33, VICTREEBEL
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (5)
-	db "DANNY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 31, JYNX
-	db 31, ELECTABUZZ
-	db 31, MAGMAR
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (6)
-	db "TOMMY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, XATU
-	db 34, ALAKAZAM
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (7)
-	db "DUDLEY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 35, ODDISH
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (8)
-	db "JOE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 33, TANGELA
-	db 33, VAPOREON
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (9)
-	db "BILLY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 27, PARAS
-	db 27, PARAS
-	db 27, POLIWHIRL
-	db 35, DITTO
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (10)
-	db "CHAD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 19, MR__MIME
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (11)
-	db "NATE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, LEDIAN
-	db 32, EXEGGUTOR
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (12)
-	db "RICKY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, AIPOM
-	db 32, DITTO
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (13)
-	db "JACK@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 14, ODDISH
-	db 17, VOLTORB
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (14)
-	db "JACK@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 28, GLOOM
-	db 31, ELECTRODE
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (15)
-	db "ALAN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, TANGELA
-	db 17, YANMA
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (16)
-	db "ALAN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 20, NATU
-	db 22, TANGELA
-	db 20, QUAGSIRE
-	db 25, YANMA
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (17)
-	db "CHAD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 19, MR__MIME
-	db 19, MAGNEMITE
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (18)
-	db "CHAD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 27, MR__MIME
-	db 31, MAGNETON
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (19)
-	db "JACK@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, GLOOM
-	db 33, GROWLITHE
-	db 33, ELECTRODE
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (20)
-	db "JACK@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 35, ELECTRODE
-		db SCREECH
-		db SONICBOOM
-		db ROLLOUT
-		db LIGHT_SCREEN
-
-	db 35, GROWLITHE
-		db SUNNY_DAY
-		db LEER
-		db TAKE_DOWN
-		db FLAME_WHEEL
-
-	db 37, VILEPLUME
-		db SOLARBEAM
-		db SLEEP_POWDER
-		db ACID
-		db MOONLIGHT
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (21)
-	db "ALAN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 27, NATU
-	db 27, TANGELA
-	db 30, QUAGSIRE
-	db 30, YANMA
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (22)
-	db "ALAN@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 35, XATU
-		db PECK
-		db NIGHT_SHADE
-		db SWIFT
-		db FUTURE_SIGHT
-
-	db 32, TANGELA
-		db POISONPOWDER
-		db VINE_WHIP
-		db BIND
-		db MEGA_DRAIN
-
-	db 32, YANMA
-		db QUICK_ATTACK
-		db DOUBLE_TEAM
-		db SONICBOOM
-		db SUPERSONIC
-
-	db 35, QUAGSIRE
-		db TAIL_WHIP
-		db SLAM
-		db AMNESIA
-		db EARTHQUAKE
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (23)
-	db "CHAD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, MR__MIME
-	db 34, MAGNETON
-
-	db $ff ; end
-
-; ================
-
-	; SCHOOLBOY (24)
-	db "CHAD@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 34, MR__MIME
-		db PSYCHIC_M
-		db LIGHT_SCREEN
-		db REFLECT
-		db ENCORE
-
-	db 38, MAGNETON
-		db ZAP_CANNON
-		db THUNDER_WAVE
-		db LOCK_ON
-		db SWIFT
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-BirdKeeperGroup:
-; ================================
-; ================
-
-	; BIRD_KEEPER (1)
-	db "ROD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 7, PIDGEY
-	db 7, PIDGEY
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (2)
-	db "ABE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 9, SPEAROW
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (3)
-	db "BRYAN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 12, PIDGEY
-	db 14, PIDGEOTTO
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (4)
-	db "THEO@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, PIDGEY
-	db 15, PIDGEY
-	db 19, PIDGEY
-	db 15, PIDGEY
-	db 15, PIDGEY
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (5)
-	db "TOBY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, DODUO
-	db 16, DODUO
-	db 17, DODUO
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (6)
-	db "DENIS@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 18, SPEAROW
-	db 20, FEAROW
-	db 18, SPEAROW
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (7)
-	db "VANCE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 25, PIDGEOTTO
-	db 25, PIDGEOTTO
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (8)
-	db "HANK@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 12, PIDGEY
-	db 34, PIDGEOT
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (9)
-	db "ROY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 29, FEAROW
-	db 35, FEAROW
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (10)
-	db "BORIS@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, DODUO
-	db 28, DODUO
-	db 32, DODRIO
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (11)
-	db "BOB@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, NOCTOWL
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (12)
-	db "JOSE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 36, FARFETCH_D
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (13)
-	db "PETER@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 6, PIDGEY
-	db 6, PIDGEY
-	db 8, SPEAROW
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (14)
-	db "JOSE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, FARFETCH_D
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (15)
-	db "PERRY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, FARFETCH_D
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (16)
-	db "BRET@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, PIDGEOTTO
-	db 32, FEAROW
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (17)
-	db "JOSE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 40, FARFETCH_D
-		db FURY_ATTACK
-		db DETECT
-		db FLY
-		db SLASH
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (18)
-	db "VANCE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, PIDGEOTTO
-	db 32, PIDGEOTTO
-
-	db $ff ; end
-
-; ================
-
-	; BIRD_KEEPER (19)
-	db "VANCE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 38, PIDGEOT
-		db TOXIC
-		db QUICK_ATTACK
-		db WHIRLWIND
-		db FLY
-
-	db 38, PIDGEOT
-		db SWIFT
-		db DETECT
-		db STEEL_WING
-		db FLY
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-LassGroup:
-; ================================
-; ================
-
-	; LASS (1)
-	db "CARRIE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 18, SNUBBULL
-		db SCARY_FACE
-		db CHARM
-		db BITE
-		db LICK
-
-	db $ff ; end
-
-; ================
-
-	; LASS (2)
-	db "BRIDGET@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, JIGGLYPUFF
-	db 15, JIGGLYPUFF
-	db 15, JIGGLYPUFF
-
-	db $ff ; end
-
-; ================
-
-	; LASS (3)
-	db "ALICE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, GLOOM
-	db 34, ARBOK
-	db 30, GLOOM
-
-	db $ff ; end
-
-; ================
-
-	; LASS (4)
-	db "KRISE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 12, ODDISH
-	db 15, CUBONE
-
-	db $ff ; end
-
-; ================
-
-	; LASS (5)
-	db "CONNIE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 21, MARILL
-
-	db $ff ; end
-
-; ================
-
-	; LASS (6)
-	db "LINDA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, BULBASAUR
-	db 32, IVYSAUR
-	db 34, VENUSAUR
-
-	db $ff ; end
-
-; ================
-
-	; LASS (7)
-	db "LAURA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 28, GLOOM
-	db 31, PIDGEOTTO
-	db 31, BELLOSSOM
-
-	db $ff ; end
-
-; ================
-
-	; LASS (8)
-	db "SHANNON@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 29, PARAS
-	db 29, PARAS
-	db 32, PARASECT
-
-	db $ff ; end
-
-; ================
-
-	; LASS (9)
-	db "MICHELLE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, SKIPLOOM
-	db 33, HOPPIP
-	db 34, JUMPLUFF
-
-	db $ff ; end
-
-; ================
-
-	; LASS (10)
-	db "DANA@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 18, FLAAFFY
-		db TACKLE
-		db GROWL
-		db THUNDERSHOCK
-		db THUNDER_WAVE
-
-	db 18, PSYDUCK
-		db SCRATCH
-		db TAIL_WHIP
-		db DISABLE
-		db CONFUSION
-
-	db $ff ; end
-
-; ================
-
-	; LASS (11)
-	db "ELLEN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, WIGGLYTUFF
-	db 34, GRANBULL
-
-	db $ff ; end
-
-; ================
-
-	; LASS (12)
-	db "CONNIE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 21, MARILL
-
-	db $ff ; end
-
-; ================
-
-	; LASS (13)
-	db "CONNIE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 21, MARILL
-
-	db $ff ; end
-
-; ================
-
-	; LASS (14)
-	db "DANA@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 21, FLAAFFY
-		db TACKLE
-		db GROWL
-		db THUNDERSHOCK
-		db THUNDER_WAVE
-
-	db 21, PSYDUCK
-		db SCRATCH
-		db TAIL_WHIP
-		db DISABLE
-		db CONFUSION
-
-	db $ff ; end
-
-; ================
-
-	; LASS (15)
-	db "DANA@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 29, PSYDUCK
-		db SCRATCH
-		db DISABLE
-		db CONFUSION
-		db SCREECH
-
-	db 29, AMPHAROS
-		db TACKLE
-		db THUNDERSHOCK
-		db THUNDER_WAVE
-		db COTTON_SPORE
-
-	db $ff ; end
-
-; ================
-
-	; LASS (16)
-	db "DANA@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 32, PSYDUCK
-		db SCRATCH
-		db DISABLE
-		db CONFUSION
-		db SCREECH
-
-	db 32, AMPHAROS
-		db TACKLE
-		db THUNDERPUNCH
-		db THUNDER_WAVE
-		db COTTON_SPORE
-
-	db $ff ; end
-
-; ================
-
-	; LASS (17)
-	db "DANA@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 36, AMPHAROS
-		db SWIFT
-		db THUNDERPUNCH
-		db THUNDER_WAVE
-		db COTTON_SPORE
-
-	db 36, GOLDUCK
-		db DISABLE
-		db SURF
-		db PSYCHIC_M
-		db SCREECH
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-JanineGroup:
-; ================================
-; ================
-
-	; JANINE (1)
-	db "JANINE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 36, CROBAT
-		db SCREECH
-		db SUPERSONIC
-		db CONFUSE_RAY
-		db WING_ATTACK
-
-	db 36, WEEZING
-		db SMOG
-		db SLUDGE_BOMB
-		db TOXIC
-		db EXPLOSION
-
-	db 36, WEEZING
-		db SMOG
-		db SLUDGE_BOMB
-		db TOXIC
-		db EXPLOSION
-
-	db 33, ARIADOS
-		db SCARY_FACE
-		db GIGA_DRAIN
-		db STRING_SHOT
-		db NIGHT_SHADE
-
-	db 39, VENOMOTH
-		db FORESIGHT
-		db DOUBLE_TEAM
-		db GUST
-		db PSYCHIC_M
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-CooltrainerMGroup:
-; ================================
-; ================
-
-	; COOLTRAINERM (1)
-	db "NICK@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 26, CHARMANDER
-		db EMBER
-		db SMOKESCREEN
-		db RAGE
-		db SCARY_FACE
-
-	db 26, SQUIRTLE
-		db WITHDRAW
-		db WATER_GUN
-		db BITE
-		db CURSE
-
-	db 26, BULBASAUR
-		db LEECH_SEED
-		db POISONPOWDER
-		db SLEEP_POWDER
-		db RAZOR_LEAF
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (2)
-	db "AARON@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 24, IVYSAUR
-	db 24, CHARMELEON
-	db 24, WARTORTLE
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (3)
-	db "PAUL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, DRATINI
-	db 34, DRATINI
-	db 34, DRATINI
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (4)
-	db "CODY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, HORSEA
-	db 36, SEADRA
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (5)
-	db "MIKE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 37, DRAGONAIR
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (6)
-	db "GAVEN@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 35, VICTREEBEL
-		db WRAP
-		db TOXIC
-		db ACID
-		db RAZOR_LEAF
-
-	db 35, KINGLER
-		db BUBBLEBEAM
-		db STOMP
-		db GUILLOTINE
-		db PROTECT
-
-	db 35, FLAREON
-		db SAND_ATTACK
-		db QUICK_ATTACK
-		db BITE
-		db FIRE_SPIN
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (7)
-	db "GAVEN@"
-	db TRAINERTYPE_ITEM_MOVES
-
-	; party
-
-	db 39, VICTREEBEL, NO_ITEM
-		db GIGA_DRAIN
-		db TOXIC
-		db SLUDGE_BOMB
-		db RAZOR_LEAF
-
-	db 39, KINGLER, KINGS_ROCK
-		db SURF
-		db STOMP
-		db GUILLOTINE
-		db BLIZZARD
-
-	db 39, FLAREON, NO_ITEM
-		db FLAMETHROWER
-		db QUICK_ATTACK
-		db BITE
-		db FIRE_SPIN
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (8)
-	db "RYAN@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 25, PIDGEOT
-		db SAND_ATTACK
-		db QUICK_ATTACK
-		db WHIRLWIND
-		db WING_ATTACK
-
-	db 27, ELECTABUZZ
-		db THUNDERPUNCH
-		db LIGHT_SCREEN
-		db SWIFT
-		db SCREECH
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (9)
-	db "JAKE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 33, PARASECT
-		db LEECH_LIFE
-		db SPORE
-		db SLASH
-		db SWORDS_DANCE
-
-	db 35, GOLDUCK
-		db CONFUSION
-		db SCREECH
-		db PSYCH_UP
-		db FURY_SWIPES
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (10)
-	db "GAVEN@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 32, VICTREEBEL
-		db WRAP
-		db TOXIC
-		db ACID
-		db RAZOR_LEAF
-
-	db 32, KINGLER
-		db BUBBLEBEAM
-		db STOMP
-		db GUILLOTINE
-		db PROTECT
-
-	db 32, FLAREON
-		db SAND_ATTACK
-		db QUICK_ATTACK
-		db BITE
-		db FIRE_SPIN
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (11)
-	db "BLAKE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 33, MAGNETON
-		db THUNDERBOLT
-		db SUPERSONIC
-		db SWIFT
-		db SCREECH
-
-	db 31, QUAGSIRE
-		db WATER_GUN
-		db SLAM
-		db AMNESIA
-		db EARTHQUAKE
-
-	db 31, EXEGGCUTE
-		db LEECH_SEED
-		db CONFUSION
-		db SLEEP_POWDER
-		db SOLARBEAM
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (12)
-	db "BRIAN@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 35, SANDSLASH
-		db SAND_ATTACK
-		db POISON_STING
-		db SLASH
-		db SWIFT
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (13)
-	db "ERICK@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 10, BULBASAUR
-	db 10, CHARMANDER
-	db 10, SQUIRTLE
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (14)
-	db "ANDY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 10, BULBASAUR
-	db 10, CHARMANDER
-	db 10, SQUIRTLE
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (15)
-	db "TYLER@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 10, BULBASAUR
-	db 10, CHARMANDER
-	db 10, SQUIRTLE
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (16)
-	db "SEAN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 35, FLAREON
-	db 35, TANGELA
-	db 35, TAUROS
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (17)
-	db "KEVIN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 38, RHYHORN
-	db 35, CHARMELEON
-	db 35, WARTORTLE
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (18)
-	db "STEVE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 14, BULBASAUR
-	db 14, CHARMANDER
-	db 14, SQUIRTLE
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (19)
-	db "ALLEN@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 27, CHARMELEON
-		db EMBER
-		db SMOKESCREEN
-		db RAGE
-		db SCARY_FACE
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERM (20)
-	db "DARIN@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 37, DRAGONAIR
-		db WRAP
-		db SURF
-		db DRAGON_RAGE
-		db SLAM
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-CooltrainerFGroup:
-; ================================
-; ================
-
-	; COOLTRAINERF (1)
-	db "GWEN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 26, EEVEE
-	db 22, FLAREON
-	db 22, VAPOREON
-	db 22, JOLTEON
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (2)
-	db "LOIS@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 25, SKIPLOOM
-		db SYNTHESIS
-		db POISONPOWDER
-		db MEGA_DRAIN
-		db LEECH_SEED
-
-	db 25, NINETALES
-		db EMBER
-		db QUICK_ATTACK
-		db CONFUSE_RAY
-		db SAFEGUARD
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (3)
-	db "FRAN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 37, SEADRA
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (4)
-	db "LOLA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, DRATINI
-	db 36, DRAGONAIR
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (5)
-	db "KATE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 26, SHELLDER
-	db 28, CLOYSTER
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (6)
-	db "IRENE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 22, GOLDEEN
-	db 24, SEAKING
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (7)
-	db "KELLY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 27, MARILL
-	db 24, WARTORTLE
-	db 24, WARTORTLE
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (8)
-	db "JOYCE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 36, PIKACHU
-		db QUICK_ATTACK
-		db DOUBLE_TEAM
-		db THUNDERBOLT
-		db THUNDER
-
-	db 32, BLASTOISE
-		db BITE
-		db CURSE
-		db SURF
-		db RAIN_DANCE
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (9)
-	db "BETH@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 36, RAPIDASH
-		db STOMP
-		db FIRE_SPIN
-		db FURY_ATTACK
-		db AGILITY
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (10)
-	db "REENA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 31, STARMIE
-	db 33, NIDOQUEEN
-	db 31, STARMIE
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (11)
-	db "MEGAN@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 32, BULBASAUR
-		db GROWL
-		db LEECH_SEED
-		db POISONPOWDER
-		db RAZOR_LEAF
-
-	db 32, IVYSAUR
-		db GROWL
-		db LEECH_SEED
-		db POISONPOWDER
-		db RAZOR_LEAF
-
-	db 32, VENUSAUR
-		db BODY_SLAM
-		db SLEEP_POWDER
-		db RAZOR_LEAF
-		db SWEET_SCENT
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (12)
-	db "BETH@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 39, RAPIDASH
-		db STOMP
-		db FIRE_SPIN
-		db FURY_ATTACK
-		db AGILITY
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (13)
-	db "CAROL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 35, ELECTRODE
-	db 35, STARMIE
-	db 35, NINETALES
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (14)
-	db "QUINN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 38, IVYSAUR
-	db 38, STARMIE
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (15)
-	db "EMMA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 28, POLIWHIRL
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (16)
-	db "CYBIL@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 25, BUTTERFREE
-		db CONFUSION
-		db SLEEP_POWDER
-		db WHIRLWIND
-		db GUST
-
-	db 25, BELLOSSOM
-		db ABSORB
-		db STUN_SPORE
-		db ACID
-		db SOLARBEAM
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (17)
-	db "JENN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 24, STARYU
-	db 26, STARMIE
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (18)
-	db "BETH@"
-	db TRAINERTYPE_ITEM_MOVES
-
-	; party
-
-	db 43, RAPIDASH, FOCUS_BAND
-		db STOMP
-		db FIRE_SPIN
-		db FURY_ATTACK
-		db FIRE_BLAST
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (19)
-	db "REENA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, STARMIE
-	db 36, NIDOQUEEN
-	db 34, STARMIE
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (20)
-	db "REENA@"
-	db TRAINERTYPE_ITEM_MOVES
-
-	; party
-
-	db 38, STARMIE, NO_ITEM
-		db DOUBLE_TEAM
-		db PSYCHIC_M
-		db WATERFALL
-		db CONFUSE_RAY
-
-	db 40, NIDOQUEEN, PINK_BOW
-		db EARTHQUAKE
-		db DOUBLE_KICK
-		db TOXIC
-		db BODY_SLAM
-
-	db 38, STARMIE, NO_ITEM
-		db BLIZZARD
-		db PSYCHIC_M
-		db WATERFALL
-		db RECOVER
-
-	db $ff ; end
-
-; ================
-
-	; COOLTRAINERF (21)
-	db "CARA@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 33, HORSEA
-		db SMOKESCREEN
-		db LEER
-		db WHIRLPOOL
-		db TWISTER
-
-	db 33, HORSEA
-		db SMOKESCREEN
-		db LEER
-		db WHIRLPOOL
-		db TWISTER
-
-	db 35, SEADRA
-		db SWIFT
-		db LEER
-		db WATERFALL
-		db TWISTER
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-BeautyGroup:
-; ================================
-; ================
-
-	; BEAUTY (1)
-	db "VICTORIA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 9, SENTRET
-	db 13, SENTRET
-	db 17, SENTRET
-
-	db $ff ; end
-
-; ================
-
-	; BEAUTY (2)
-	db "SAMANTHA@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 16, MEOWTH
-		db SCRATCH
-		db GROWL
-		db BITE
-		db PAY_DAY
-
-	db 16, MEOWTH
-		db SCRATCH
-		db GROWL
-		db BITE
-		db SLASH
-
-	db $ff ; end
-
-; ================
-
-	; BEAUTY (3)
-	db "JULIE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, SENTRET
-
-	db $ff ; end
-
-; ================
-
-	; BEAUTY (4)
-	db "JACLYN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, SENTRET
-
-	db $ff ; end
-
-; ================
-
-	; BEAUTY (5)
-	db "BRENDA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 16, FURRET
-
-	db $ff ; end
-
-; ================
-
-	; BEAUTY (6)
-	db "CASSIE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 28, VILEPLUME
-	db 34, BUTTERFREE
-
-	db $ff ; end
-
-; ================
-
-	; BEAUTY (7)
-	db "CAROLINE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, MARILL
-	db 32, SEEL
-	db 30, MARILL
-
-	db $ff ; end
-
-; ================
-
-	; BEAUTY (8)
-	db "CARLENE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, SENTRET
-
-	db $ff ; end
-
-; ================
-
-	; BEAUTY (9)
-	db "JESSICA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, SENTRET
-
-	db $ff ; end
-
-; ================
-
-	; BEAUTY (10)
-	db "RACHAEL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, SENTRET
-
-	db $ff ; end
-
-; ================
-
-	; BEAUTY (11)
-	db "ANGELICA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, SENTRET
-
-	db $ff ; end
-
-; ================
-
-	; BEAUTY (12)
-	db "KENDRA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, SENTRET
-
-	db $ff ; end
-
-; ================
-
-	; BEAUTY (13)
-	db "VERONICA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, SENTRET
-
-	db $ff ; end
-
-; ================
-
-	; BEAUTY (14)
-	db "JULIA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, PARAS
-	db 32, EXEGGCUTE
-	db 35, PARASECT
-
-	db $ff ; end
-
-; ================
-
-	; BEAUTY (15)
-	db "THERESA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, SENTRET
-
-	db $ff ; end
-
-; ================
-
-	; BEAUTY (16)
-	db "VALERIE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 17, HOPPIP
-		db SYNTHESIS
-		db TAIL_WHIP
-		db TACKLE
-		db POISONPOWDER
-
-	db 17, SKIPLOOM
-		db SYNTHESIS
-		db TAIL_WHIP
-		db TACKLE
-		db STUN_SPORE
-
-	db $ff ; end
-
-; ================
-
-	; BEAUTY (17)
-	db "OLIVIA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 19, CORSOLA
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-PokemaniacGroup:
-; ================================
-; ================
-
-	; POKEMANIAC (1)
-	db "LARRY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 10, SLOWPOKE
-
-	db $ff ; end
-
-; ================
-
-	; POKEMANIAC (2)
-	db "ANDREW@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 24, MAROWAK
-	db 24, MAROWAK
-
-	db $ff ; end
-
-; ================
-
-	; POKEMANIAC (3)
-	db "CALVIN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 26, KANGASKHAN
-
-	db $ff ; end
-
-; ================
-
-	; POKEMANIAC (4)
-	db "SHANE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 16, NIDORINA
-	db 16, NIDORINO
-
-	db $ff ; end
-
-; ================
-
-	; POKEMANIAC (5)
-	db "BEN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 19, SLOWBRO
-
-	db $ff ; end
-
-; ================
-
-	; POKEMANIAC (6)
-	db "BRENT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 19, LICKITUNG
-
-	db $ff ; end
-
-; ================
-
-	; POKEMANIAC (7)
-	db "RON@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 19, NIDOKING
-
-	db $ff ; end
-
-; ================
-
-	; POKEMANIAC (8)
-	db "ETHAN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 31, RHYHORN
-	db 31, RHYDON
-
-	db $ff ; end
-
-; ================
-
-	; POKEMANIAC (9)
-	db "BRENT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 25, KANGASKHAN
-
-	db $ff ; end
-
-; ================
-
-	; POKEMANIAC (10)
-	db "BRENT@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 36, PORYGON
-		db RECOVER
-		db PSYCHIC_M
-		db CONVERSION2
-		db TRI_ATTACK
-
-	db $ff ; end
-
-; ================
-
-	; POKEMANIAC (11)
-	db "ISSAC@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 12, LICKITUNG
-		db LICK
-		db SUPERSONIC
-		db CUT
-		db 0
-
-	db $ff ; end
-
-; ================
-
-	; POKEMANIAC (12)
-	db "DONALD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 10, SLOWPOKE
-	db 10, SLOWPOKE
-
-	db $ff ; end
-
-; ================
-
-	; POKEMANIAC (13)
-	db "ZACH@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 27, RHYHORN
-
-	db $ff ; end
-
-; ================
-
-	; POKEMANIAC (14)
-	db "BRENT@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 41, CHANSEY
-		db ROLLOUT
-		db ATTRACT
-		db EGG_BOMB
-		db SOFTBOILED
-
-	db $ff ; end
-
-; ================
-
-	; POKEMANIAC (15)
-	db "MILLER@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, NIDOKING
-	db 17, NIDOQUEEN
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-GruntMGroup:
-; ================================
-; ================
-
-	; GRUNTM (1)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 14, KOFFING
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (2)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 7, RATTATA
-	db 9, ZUBAT
-	db 9, ZUBAT
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (3)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 24, RATICATE
-	db 24, RATICATE
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (4)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 23, GRIMER
-	db 23, GRIMER
-	db 25, MUK
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (5)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 21, RATTATA
-	db 21, RATTATA
-	db 23, RATTATA
-	db 23, RATTATA
-	db 23, RATTATA
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (6)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 26, ZUBAT
-	db 26, ZUBAT
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (7)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 23, KOFFING
-	db 23, GRIMER
-	db 23, ZUBAT
-	db 23, RATTATA
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (8)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 26, WEEZING
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (9)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 24, RATICATE
-	db 26, KOFFING
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (10)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 22, ZUBAT
-	db 24, GOLBAT
-	db 22, GRIMER
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (11)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 23, MUK
-	db 23, KOFFING
-	db 25, RATTATA
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (12)
-	db "EXECUTIVE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 33, HOUNDOUR
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (13)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 27, RATTATA
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (14)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 24, RATICATE
-	db 24, GOLBAT
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (15)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 26, GRIMER
-	db 23, WEEZING
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (16)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 16, RATTATA
-	db 16, RATTATA
-	db 16, RATTATA
-	db 16, RATTATA
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (17)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 18, GOLBAT
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (18)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, RATTATA
-	db 17, ZUBAT
-	db 17, RATTATA
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (19)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 18, VENONAT
-	db 18, VENONAT
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (20)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, DROWZEE
-	db 19, ZUBAT
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (21)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 16, ZUBAT
-	db 17, GRIMER
-	db 18, RATTATA
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (22)
-	db "EXECUTIVE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 36, GOLBAT
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (23)
-	db "EXECUTIVE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, KOFFING
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (24)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 25, KOFFING
-	db 25, KOFFING
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (25)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 24, KOFFING
-	db 24, MUK
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (26)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, RATTATA
-	db 15, RATTATA
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (27)
-	db "EXECUTIVE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 22, ZUBAT
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (28)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 19, RATICATE
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (29)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 9, RATTATA
-	db 9, RATTATA
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (30)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 25, GOLBAT
-	db 25, GOLBAT
-	db 30, ARBOK
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTM (31)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, GOLBAT
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-GentlemanGroup:
-; ================================
-; ================
-
-	; GENTLEMAN (1)
-	db "PRESTON@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 18, GROWLITHE
-	db 18, GROWLITHE
-
-	db $ff ; end
-
-; ================
-
-	; GENTLEMAN (2)
-	db "EDWARD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 33, PERSIAN
-
-	db $ff ; end
-
-; ================
-
-	; GENTLEMAN (3)
-	db "GREGORY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 37, PIKACHU
-	db 33, FLAAFFY
-
-	db $ff ; end
-
-; ================
-
-	; GENTLEMAN (4)
-	db "VIRGIL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 20, PONYTA
-
-	db $ff ; end
-
-; ================
-
-	; GENTLEMAN (5)
-	db "ALFRED@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 20, NOCTOWL
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-SkierGroup:
-; ================================
-; ================
-
-	; SKIER (1)
-	db "ROXANNE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 28, JYNX
-
-	db $ff ; end
-
-; ================
-
-	; SKIER (2)
-	db "CLARISSA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 28, DEWGONG
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-TeacherGroup:
-; ================================
-; ================
-
-	; TEACHER (1)
-	db "COLETTE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 36, CLEFAIRY
-
-	db $ff ; end
-
-; ================
-
-	; TEACHER (2)
-	db "HILLARY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, AIPOM
-	db 36, CUBONE
-
-	db $ff ; end
-
-; ================
-
-	; TEACHER (3)
-	db "SHIRLEY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 35, JIGGLYPUFF
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-SabrinaGroup:
-; ================================
-; ================
-
-	; SABRINA (1)
-	db "SABRINA@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 46, ESPEON
-		db SAND_ATTACK
-		db QUICK_ATTACK
-		db SWIFT
-		db PSYCHIC_M
-
-	db 46, MR__MIME
-		db BARRIER
-		db REFLECT
-		db BATON_PASS
-		db PSYCHIC_M
-
-	db 48, ALAKAZAM
-		db RECOVER
-		db FUTURE_SIGHT
-		db PSYCHIC_M
-		db REFLECT
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-BugCatcherGroup:
-; ================================
-; ================
-
-	; BUG_CATCHER (1)
-	db "DON@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 3, CATERPIE
-	db 3, CATERPIE
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (2)
-	db "ROB@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, BEEDRILL
-	db 32, BUTTERFREE
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (3)
-	db "ED@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, BEEDRILL
-	db 30, BEEDRILL
-	db 30, BEEDRILL
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (4)
-	db "WADE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 2, CATERPIE
-	db 2, CATERPIE
-	db 3, WEEDLE
-	db 2, CATERPIE
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (5)
-	db "BENNY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 7, WEEDLE
-	db 9, KAKUNA
-	db 12, BEEDRILL
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (6)
-	db "AL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 12, CATERPIE
-	db 12, WEEDLE
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (7)
-	db "JOSH@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 13, PARAS
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (8)
-	db "ARNIE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, VENONAT
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (9)
-	db "KEN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, ARIADOS
-	db 32, PINSIR
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (10)
-	db "WADE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 9, METAPOD
-	db 9, METAPOD
-	db 10, KAKUNA
-	db 9, METAPOD
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (11)
-	db "WADE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 14, BUTTERFREE
-	db 14, BUTTERFREE
-	db 15, BEEDRILL
-	db 14, BUTTERFREE
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (12)
-	db "DOUG@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, ARIADOS
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (13)
-	db "ARNIE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 19, VENONAT
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (14)
-	db "ARNIE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 28, VENOMOTH
-		db DISABLE
-		db SUPERSONIC
-		db CONFUSION
-		db LEECH_LIFE
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (15)
-	db "WADE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 24, BUTTERFREE
-		db CONFUSION
-		db POISONPOWDER
-		db SUPERSONIC
-		db WHIRLWIND
-
-	db 24, BUTTERFREE
-		db CONFUSION
-		db STUN_SPORE
-		db SUPERSONIC
-		db WHIRLWIND
-
-	db 25, BEEDRILL
-		db FURY_ATTACK
-		db FOCUS_ENERGY
-		db TWINEEDLE
-		db RAGE
-
-	db 24, BUTTERFREE
-		db CONFUSION
-		db SLEEP_POWDER
-		db SUPERSONIC
-		db WHIRLWIND
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (16)
-	db "WADE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 30, BUTTERFREE
-		db CONFUSION
-		db POISONPOWDER
-		db SUPERSONIC
-		db GUST
-
-	db 30, BUTTERFREE
-		db CONFUSION
-		db STUN_SPORE
-		db SUPERSONIC
-		db GUST
-
-	db 32, BEEDRILL
-		db FURY_ATTACK
-		db PURSUIT
-		db TWINEEDLE
-		db DOUBLE_TEAM
-
-	db 34, BUTTERFREE
-		db PSYBEAM
-		db SLEEP_POWDER
-		db GUST
-		db WHIRLWIND
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (17)
-	db "ARNIE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 36, VENOMOTH
-		db GUST
-		db SUPERSONIC
-		db PSYBEAM
-		db LEECH_LIFE
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (18)
-	db "ARNIE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 40, VENOMOTH
-		db GUST
-		db SUPERSONIC
-		db PSYCHIC_M
-		db TOXIC
-
-	db $ff ; end
-
-; ================
-
-	; BUG_CATCHER (19)
-	db "WAYNE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 8, LEDYBA
-	db 10, PARAS
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-FisherGroup:
-; ================================
-; ================
-
-	; FISHER (1)
-	db "JUSTIN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 5, MAGIKARP
-	db 5, MAGIKARP
-	db 15, MAGIKARP
-	db 5, MAGIKARP
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (2)
-	db "RALPH@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 10, GOLDEEN
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (3)
-	db "ARNOLD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, TENTACRUEL
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (4)
-	db "KYLE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 28, SEAKING
-	db 31, POLIWHIRL
-	db 31, SEAKING
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (5)
-	db "HENRY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 8, POLIWAG
-	db 8, POLIWAG
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (6)
-	db "MARVIN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 10, MAGIKARP
-	db 10, GYARADOS
-	db 15, MAGIKARP
-	db 15, GYARADOS
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (7)
-	db "TULLY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 18, QWILFISH
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (8)
-	db "ANDRE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 27, GYARADOS
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (9)
-	db "RAYMOND@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 22, MAGIKARP
-	db 22, MAGIKARP
-	db 22, MAGIKARP
-	db 22, MAGIKARP
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (10)
-	db "WILTON@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 23, GOLDEEN
-	db 23, GOLDEEN
-	db 25, SEAKING
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (11)
-	db "EDGAR@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 25, REMORAID
-		db LOCK_ON
-		db PSYBEAM
-		db AURORA_BEAM
-		db BUBBLEBEAM
-
-	db 25, REMORAID
-		db LOCK_ON
-		db PSYBEAM
-		db AURORA_BEAM
-		db BUBBLEBEAM
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (12)
-	db "JONAH@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 25, SHELLDER
-	db 29, OCTILLERY
-	db 25, REMORAID
-	db 29, CLOYSTER
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (13)
-	db "MARTIN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, REMORAID
-	db 32, REMORAID
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (14)
-	db "STEPHEN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 25, MAGIKARP
-	db 25, MAGIKARP
-	db 31, QWILFISH
-	db 31, TENTACRUEL
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (15)
-	db "BARNEY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, GYARADOS
-	db 30, GYARADOS
-	db 30, GYARADOS
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (16)
-	db "RALPH@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, GOLDEEN
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (17)
-	db "RALPH@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, QWILFISH
-	db 19, GOLDEEN
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (18)
-	db "TULLY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 23, QWILFISH
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (19)
-	db "TULLY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, GOLDEEN
-	db 32, GOLDEEN
-	db 32, QWILFISH
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (20)
-	db "WILTON@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 29, GOLDEEN
-	db 29, GOLDEEN
-	db 32, SEAKING
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (21)
-	db "SCOTT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, QWILFISH
-	db 30, QWILFISH
-	db 34, SEAKING
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (22)
-	db "WILTON@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 34, SEAKING
-		db SUPERSONIC
-		db WATERFALL
-		db FLAIL
-		db FURY_ATTACK
-
-	db 34, SEAKING
-		db SUPERSONIC
-		db WATERFALL
-		db FLAIL
-		db FURY_ATTACK
-
-	db 38, REMORAID
-		db PSYBEAM
-		db AURORA_BEAM
-		db BUBBLEBEAM
-		db HYPER_BEAM
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (23)
-	db "RALPH@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, QWILFISH
-	db 32, GOLDEEN
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (24)
-	db "RALPH@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 35, QWILFISH
-		db TOXIC
-		db MINIMIZE
-		db SURF
-		db PIN_MISSILE
-
-	db 39, SEAKING
-		db ENDURE
-		db FLAIL
-		db FURY_ATTACK
-		db WATERFALL
-
-	db $ff ; end
-
-; ================
-
-	; FISHER (25)
-	db "TULLY@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 34, SEAKING
-		db SUPERSONIC
-		db RAIN_DANCE
-		db WATERFALL
-		db FURY_ATTACK
-
-	db 34, SEAKING
-		db SUPERSONIC
-		db RAIN_DANCE
-		db WATERFALL
-		db FURY_ATTACK
-
-	db 37, QWILFISH
-		db ROLLOUT
-		db SURF
-		db PIN_MISSILE
-		db TAKE_DOWN
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-SwimmerMGroup:
-; ================================
-; ================
-
-	; SWIMMERM (1)
-	db "HAROLD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, REMORAID
-	db 30, SEADRA
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (2)
-	db "SIMON@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 20, TENTACOOL
-	db 20, TENTACOOL
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (3)
-	db "RANDALL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 18, SHELLDER
-	db 20, WARTORTLE
-	db 18, SHELLDER
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (4)
-	db "CHARLIE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 21, SHELLDER
-	db 19, TENTACOOL
-	db 19, TENTACRUEL
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (5)
-	db "GEORGE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 16, TENTACOOL
-	db 17, TENTACOOL
-	db 16, TENTACOOL
-	db 19, STARYU
-	db 17, TENTACOOL
-	db 19, REMORAID
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (6)
-	db "BERKE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 23, QWILFISH
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (7)
-	db "KIRK@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 20, GYARADOS
-	db 20, GYARADOS
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (8)
-	db "MATHEW@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 23, KRABBY
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (9)
-	db "HAL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 24, SEEL
-	db 25, DEWGONG
-	db 24, SEEL
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (10)
-	db "PATON@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 26, PILOSWINE
-	db 26, PILOSWINE
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (11)
-	db "DARYL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 24, SHELLDER
-	db 25, CLOYSTER
-	db 24, SHELLDER
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (12)
-	db "WALTER@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, HORSEA
-	db 15, HORSEA
-	db 20, SEADRA
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (13)
-	db "TONY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 13, STARYU
-	db 18, STARMIE
-	db 16, HORSEA
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (14)
-	db "JEROME@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 26, SEADRA
-	db 28, TENTACOOL
-	db 30, TENTACRUEL
-	db 28, GOLDEEN
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (15)
-	db "TUCKER@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, SHELLDER
-	db 34, CLOYSTER
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (16)
-	db "RICK@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 13, STARYU
-	db 18, STARMIE
-	db 16, HORSEA
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (17)
-	db "CAMERON@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, MARILL
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (18)
-	db "SETH@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 29, QUAGSIRE
-	db 29, OCTILLERY
-	db 32, QUAGSIRE
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (19)
-	db "JAMES@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 13, STARYU
-	db 18, STARMIE
-	db 16, HORSEA
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (20)
-	db "LEWIS@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 13, STARYU
-	db 18, STARMIE
-	db 16, HORSEA
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERM (21)
-	db "PARKER@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, HORSEA
-	db 32, HORSEA
-	db 35, SEADRA
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-SwimmerFGroup:
-; ================================
-; ================
-
-	; SWIMMERF (1)
-	db "ELAINE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 21, STARYU
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (2)
-	db "PAULA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 19, STARYU
-	db 19, SHELLDER
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (3)
-	db "KAYLEE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 18, GOLDEEN
-	db 20, GOLDEEN
-	db 20, SEAKING
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (4)
-	db "SUSIE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 20, PSYDUCK
-		db SCRATCH
-		db TAIL_WHIP
-		db DISABLE
-		db CONFUSION
-
-	db 22, GOLDEEN
-		db PECK
-		db TAIL_WHIP
-		db SUPERSONIC
-		db HORN_ATTACK
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (5)
-	db "DENISE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 22, SEEL
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (6)
-	db "KARA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 20, STARYU
-	db 20, STARMIE
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (7)
-	db "WENDY@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 21, HORSEA
-		db BUBBLE
-		db SMOKESCREEN
-		db LEER
-		db WATER_GUN
-
-	db 21, HORSEA
-		db DRAGON_RAGE
-		db SMOKESCREEN
-		db LEER
-		db WATER_GUN
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (8)
-	db "LISA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 28, JYNX
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (9)
-	db "JILL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 28, DEWGONG
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (10)
-	db "MARY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 20, SEAKING
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (11)
-	db "KATIE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 33, DEWGONG
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (12)
-	db "DAWN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, SEAKING
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (13)
-	db "TARA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 20, SEAKING
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (14)
-	db "NICOLE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 29, MARILL
-	db 29, MARILL
-	db 32, LAPRAS
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (15)
-	db "LORI@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, STARMIE
-	db 32, STARMIE
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (16)
-	db "JODY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 20, SEAKING
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (17)
-	db "NIKKI@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 28, SEEL
-	db 28, SEEL
-	db 28, SEEL
-	db 28, DEWGONG
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (18)
-	db "DIANA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 37, GOLDUCK
-
-	db $ff ; end
-
-; ================
-
-	; SWIMMERF (19)
-	db "BRIANA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 35, SEAKING
-	db 35, SEAKING
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-SailorGroup:
-; ================================
-; ================
-
-	; SAILOR (1)
-	db "EUGENE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, POLIWHIRL
-	db 17, RATICATE
-	db 19, KRABBY
-
-	db $ff ; end
-
-; ================
-
-	; SAILOR (2)
-	db "HUEY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 18, POLIWAG
-	db 18, POLIWHIRL
-
-	db $ff ; end
-
-; ================
-
-	; SAILOR (3)
-	db "TERRELL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 20, POLIWHIRL
-
-	db $ff ; end
-
-; ================
-
-	; SAILOR (4)
-	db "KENT@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 18, KRABBY
-		db BUBBLE
-		db LEER
-		db VICEGRIP
-		db HARDEN
-
-	db 20, KRABBY
-		db BUBBLEBEAM
-		db LEER
-		db VICEGRIP
-		db HARDEN
-
-	db $ff ; end
-
-; ================
-
-	; SAILOR (5)
-	db "ERNEST@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 18, MACHOP
-	db 18, MACHOP
-	db 18, POLIWHIRL
-
-	db $ff ; end
-
-; ================
-
-	; SAILOR (6)
-	db "JEFF@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, RATICATE
-	db 32, RATICATE
-
-	db $ff ; end
-
-; ================
-
-	; SAILOR (7)
-	db "GARRETT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, KINGLER
-
-	db $ff ; end
-
-; ================
-
-	; SAILOR (8)
-	db "KENNETH@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 28, MACHOP
-	db 28, MACHOP
-	db 28, POLIWRATH
-	db 28, MACHOP
-
-	db $ff ; end
-
-; ================
-
-	; SAILOR (9)
-	db "STANLY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 31, MACHOP
-	db 33, MACHOKE
-	db 26, PSYDUCK
-
-	db $ff ; end
-
-; ================
-
-	; SAILOR (10)
-	db "HARRY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 19, WOOPER
-
-	db $ff ; end
-
-; ================
-
-	; SAILOR (11)
-	db "HUEY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 28, POLIWHIRL
-	db 28, POLIWHIRL
-
-	db $ff ; end
-
-; ================
-
-	; SAILOR (12)
-	db "HUEY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, POLIWHIRL
-	db 34, POLIWRATH
-
-	db $ff ; end
-
-; ================
-
-	; SAILOR (13)
-	db "HUEY@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 38, POLITOED
-		db WHIRLPOOL
-		db RAIN_DANCE
-		db BODY_SLAM
-		db PERISH_SONG
-
-	db 38, POLIWRATH
-		db SURF
-		db STRENGTH
-		db ICE_PUNCH
-		db SUBMISSION
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-SuperNerdGroup:
-; ================================
-; ================
-
-	; SUPER_NERD (1)
-	db "STAN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 20, GRIMER
-
-	db $ff ; end
-
-; ================
-
-	; SUPER_NERD (2)
-	db "ERIC@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 11, GRIMER
-	db 11, GRIMER
-
-	db $ff ; end
-
-; ================
-
-	; SUPER_NERD (3)
-	db "GREGG@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 20, MAGNEMITE
-	db 20, MAGNEMITE
-	db 20, MAGNEMITE
-
-	db $ff ; end
-
-; ================
-
-	; SUPER_NERD (4)
-	db "JAY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 22, KOFFING
-	db 22, KOFFING
-
-	db $ff ; end
-
-; ================
-
-	; SUPER_NERD (5)
-	db "DAVE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 24, DITTO
-
-	db $ff ; end
-
-; ================
-
-	; SUPER_NERD (6)
-	db "SAM@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, GRIMER
-	db 34, MUK
-
-	db $ff ; end
-
-; ================
-
-	; SUPER_NERD (7)
-	db "TOM@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, MAGNEMITE
-	db 32, MAGNEMITE
-	db 32, MAGNEMITE
-
-	db $ff ; end
-
-; ================
-
-	; SUPER_NERD (8)
-	db "PAT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 36, PORYGON
-
-	db $ff ; end
-
-; ================
-
-	; SUPER_NERD (9)
-	db "SHAWN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 31, MAGNEMITE
-	db 33, MUK
-	db 31, MAGNEMITE
-
-	db $ff ; end
-
-; ================
-
-	; SUPER_NERD (10)
-	db "TERU@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 7, MAGNEMITE
-	db 11, VOLTORB
-	db 7, MAGNEMITE
-	db 9, MAGNEMITE
-
-	db $ff ; end
-
-; ================
-
-	; SUPER_NERD (11)
-	db "RUSS@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 27, MAGNEMITE
-	db 27, MAGNEMITE
-	db 27, MAGNEMITE
-
-	db $ff ; end
-
-; ================
-
-	; SUPER_NERD (12)
-	db "NORTON@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 30, PORYGON
-		db CONVERSION
-		db CONVERSION2
-		db RECOVER
-		db TRI_ATTACK
-
-	db $ff ; end
-
-; ================
-
-	; SUPER_NERD (13)
-	db "HUGH@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 39, SEADRA
-		db SMOKESCREEN
-		db TWISTER
-		db SURF
-		db WATERFALL
-
-	db $ff ; end
-
-; ================
-
-	; SUPER_NERD (14)
-	db "MARKUS@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 19, SLOWPOKE
-		db CURSE
-		db WATER_GUN
-		db GROWL
-		db STRENGTH
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-Rival2Group:
-; ================================
-; ================
-
-	; RIVAL2 (1)
-	db "?@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 41, SNEASEL
-		db QUICK_ATTACK
-		db SCREECH
-		db FAINT_ATTACK
-		db FURY_CUTTER
-
-	db 42, GOLBAT
-		db LEECH_LIFE
-		db BITE
-		db CONFUSE_RAY
-		db WING_ATTACK
-
-	db 41, MAGNETON
-		db THUNDERSHOCK
-		db SONICBOOM
-		db THUNDER_WAVE
-		db SWIFT
-
-	db 43, GENGAR
-		db MEAN_LOOK
-		db CURSE
-		db SHADOW_BALL
-		db CONFUSE_RAY
-
-	db 43, ALAKAZAM
-		db DISABLE
-		db RECOVER
-		db FUTURE_SIGHT
-		db PSYCHIC_M
-
-	db 45, MEGANIUM
-		db RAZOR_LEAF
-		db POISONPOWDER
-		db BODY_SLAM
-		db LIGHT_SCREEN
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL2 (2)
-	db "?@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 41, SNEASEL
-		db QUICK_ATTACK
-		db SCREECH
-		db FAINT_ATTACK
-		db FURY_CUTTER
-
-	db 42, GOLBAT
-		db LEECH_LIFE
-		db BITE
-		db CONFUSE_RAY
-		db WING_ATTACK
-
-	db 41, MAGNETON
-		db THUNDERSHOCK
-		db SONICBOOM
-		db THUNDER_WAVE
-		db SWIFT
-
-	db 43, GENGAR
-		db MEAN_LOOK
-		db CURSE
-		db SHADOW_BALL
-		db CONFUSE_RAY
-
-	db 43, ALAKAZAM
-		db DISABLE
-		db RECOVER
-		db FUTURE_SIGHT
-		db PSYCHIC_M
-
-	db 45, TYPHLOSION
-		db SMOKESCREEN
-		db QUICK_ATTACK
-		db FLAME_WHEEL
-		db SWIFT
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL2 (3)
-	db "?@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 41, SNEASEL
-		db QUICK_ATTACK
-		db SCREECH
-		db FAINT_ATTACK
-		db FURY_CUTTER
-
-	db 42, GOLBAT
-		db LEECH_LIFE
-		db BITE
-		db CONFUSE_RAY
-		db WING_ATTACK
-
-	db 41, MAGNETON
-		db THUNDERSHOCK
-		db SONICBOOM
-		db THUNDER_WAVE
-		db SWIFT
-
-	db 43, GENGAR
-		db MEAN_LOOK
-		db CURSE
-		db SHADOW_BALL
-		db CONFUSE_RAY
-
-	db 43, ALAKAZAM
-		db DISABLE
-		db RECOVER
-		db FUTURE_SIGHT
-		db PSYCHIC_M
-
-	db 45, FERALIGATR
-		db RAGE
-		db WATER_GUN
-		db SCARY_FACE
-		db SLASH
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL2 (4)
-	db "?@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 45, SNEASEL
-		db QUICK_ATTACK
-		db SCREECH
-		db FAINT_ATTACK
-		db FURY_CUTTER
-
-	db 48, CROBAT
-		db TOXIC
-		db BITE
-		db CONFUSE_RAY
-		db WING_ATTACK
-
-	db 45, MAGNETON
-		db THUNDER
-		db SONICBOOM
-		db THUNDER_WAVE
-		db SWIFT
-
-	db 46, GENGAR
-		db MEAN_LOOK
-		db CURSE
-		db SHADOW_BALL
-		db CONFUSE_RAY
-
-	db 46, ALAKAZAM
-		db RECOVER
-		db FUTURE_SIGHT
-		db PSYCHIC_M
-		db REFLECT
-
-	db 50, MEGANIUM
-		db GIGA_DRAIN
-		db BODY_SLAM
-		db LIGHT_SCREEN
-		db SAFEGUARD
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL2 (5)
-	db "?@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 45, SNEASEL
-		db QUICK_ATTACK
-		db SCREECH
-		db FAINT_ATTACK
-		db FURY_CUTTER
-
-	db 48, CROBAT
-		db TOXIC
-		db BITE
-		db CONFUSE_RAY
-		db WING_ATTACK
-
-	db 45, MAGNETON
-		db THUNDER
-		db SONICBOOM
-		db THUNDER_WAVE
-		db SWIFT
-
-	db 46, GENGAR
-		db MEAN_LOOK
-		db CURSE
-		db SHADOW_BALL
-		db CONFUSE_RAY
-
-	db 46, ALAKAZAM
-		db RECOVER
-		db FUTURE_SIGHT
-		db PSYCHIC_M
-		db REFLECT
-
-	db 50, TYPHLOSION
-		db SMOKESCREEN
-		db QUICK_ATTACK
-		db FIRE_BLAST
-		db SWIFT
-
-	db $ff ; end
-
-; ================
-
-	; RIVAL2 (6)
-	db "?@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 45, SNEASEL
-		db QUICK_ATTACK
-		db SCREECH
-		db FAINT_ATTACK
-		db FURY_CUTTER
-
-	db 48, CROBAT
-		db TOXIC
-		db BITE
-		db CONFUSE_RAY
-		db WING_ATTACK
-
-	db 45, MAGNETON
-		db THUNDER
-		db SONICBOOM
-		db THUNDER_WAVE
-		db SWIFT
-
-	db 46, GENGAR
-		db MEAN_LOOK
-		db CURSE
-		db SHADOW_BALL
-		db CONFUSE_RAY
-
-	db 46, ALAKAZAM
-		db RECOVER
-		db FUTURE_SIGHT
-		db PSYCHIC_M
-		db REFLECT
-
-	db 50, FERALIGATR
-		db SURF
-		db RAIN_DANCE
-		db SLASH
-		db SCREECH
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-GuitaristGroup:
-; ================================
-; ================
-
-	; GUITARIST (1)
-	db "CLYDE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, ELECTABUZZ
-
-	db $ff ; end
-
-; ================
-
-	; GUITARIST (2)
-	db "VINCENT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 27, MAGNEMITE
-	db 33, VOLTORB
-	db 32, MAGNEMITE
-	db 32, MAGNEMITE
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-HikerGroup:
-; ================================
-; ================
-
-	; HIKER (1)
-	db "ANTHONY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 16, GEODUDE
-	db 18, MACHAMP
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (2)
-	db "RUSSELL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 4, GEODUDE
-	db 6, GEODUDE
-	db 8, GEODUDE
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (3)
-	db "PHILLIP@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 23, GEODUDE
-	db 23, GEODUDE
-	db 23, GRAVELER
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (4)
-	db "LEONARD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 23, GEODUDE
-	db 25, MACHOP
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (5)
-	db "ANTHONY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 11, GEODUDE
-	db 11, MACHOP
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (6)
-	db "BENJAMIN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 14, DIGLETT
-	db 14, GEODUDE
-	db 16, DUGTRIO
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (7)
-	db "ERIK@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 24, MACHOP
-	db 27, GRAVELER
-	db 27, MACHOP
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (8)
-	db "MICHAEL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 25, GEODUDE
-	db 25, GRAVELER
-	db 25, GOLEM
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (9)
-	db "PARRY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 35, ONIX
-	db 33, SWINUB
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (10)
-	db "TIMOTHY@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 27, DIGLETT
-		db MAGNITUDE
-		db DIG
-		db SAND_ATTACK
-		db SLASH
-
-	db 27, DUGTRIO
-		db MAGNITUDE
-		db DIG
-		db SAND_ATTACK
-		db SLASH
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (11)
-	db "BAILEY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 13, GEODUDE
-	db 13, GEODUDE
-	db 13, GEODUDE
-	db 13, GEODUDE
-	db 13, GEODUDE
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (12)
-	db "ANTHONY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 25, GRAVELER
-	db 27, GRAVELER
-	db 29, MACHOKE
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (13)
-	db "TIM@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 31, GRAVELER
-	db 31, GRAVELER
-	db 31, GRAVELER
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (14)
-	db "NOLAND@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 31, SANDSLASH
-	db 33, GOLEM
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (15)
-	db "SIDNEY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, DUGTRIO
-	db 32, ONIX
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (16)
-	db "KENNY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 27, SANDSLASH
-	db 29, GRAVELER
-	db 31, GOLEM
-	db 29, GRAVELER
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (17)
-	db "JIM@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 35, MACHAMP
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (18)
-	db "DANIEL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 11, ONIX
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (19)
-	db "PARRY@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 35, PILOSWINE
-		db EARTHQUAKE
-		db BLIZZARD
-		db REST
-		db TAKE_DOWN
-
-	db 35, DUGTRIO
-		db MAGNITUDE
-		db DIG
-		db MUD_SLAP
-		db SLASH
-
-	db 38, STEELIX
-		db DIG
-		db IRON_TAIL
-		db SANDSTORM
-		db SLAM
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (20)
-	db "PARRY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 29, ONIX
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (21)
-	db "ANTHONY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, GRAVELER
-	db 30, GRAVELER
-	db 32, MACHOKE
-
-	db $ff ; end
-
-; ================
-
-	; HIKER (22)
-	db "ANTHONY@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 34, GRAVELER
-		db MAGNITUDE
-		db SELFDESTRUCT
-		db DEFENSE_CURL
-		db ROLLOUT
-
-	db 36, GOLEM
-		db MAGNITUDE
-		db SELFDESTRUCT
-		db DEFENSE_CURL
-		db ROLLOUT
-
-	db 34, MACHOKE
-		db KARATE_CHOP
-		db VITAL_THROW
-		db HEADBUTT
-		db DIG
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-BikerGroup:
-; ================================
-; ================
-
-	; BIKER (1)
-	db "BENNY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 20, KOFFING
-	db 20, KOFFING
-	db 20, KOFFING
-
-	db $ff ; end
-
-; ================
-
-	; BIKER (2)
-	db "KAZU@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 20, KOFFING
-	db 20, KOFFING
-	db 20, KOFFING
-
-	db $ff ; end
-
-; ================
-
-	; BIKER (3)
-	db "DWAYNE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 27, KOFFING
-	db 28, KOFFING
-	db 29, KOFFING
-	db 30, KOFFING
-
-	db $ff ; end
-
-; ================
-
-	; BIKER (4)
-	db "HARRIS@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, FLAREON
-
-	db $ff ; end
-
-; ================
-
-	; BIKER (5)
-	db "ZEKE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, KOFFING
-	db 32, KOFFING
-
-	db $ff ; end
-
-; ================
-
-	; BIKER (6)
-	db "CHARLES@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, KOFFING
-	db 30, CHARMELEON
-	db 30, WEEZING
-
-	db $ff ; end
-
-; ================
-
-	; BIKER (7)
-	db "RILEY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, WEEZING
-
-	db $ff ; end
-
-; ================
-
-	; BIKER (8)
-	db "JOEL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, MAGMAR
-	db 32, MAGMAR
-
-	db $ff ; end
-
-; ================
-
-	; BIKER (9)
-	db "GLENN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 28, KOFFING
-	db 30, MAGMAR
-	db 32, WEEZING
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-BlaineGroup:
-; ================================
-; ================
-
-	; BLAINE (1)
-	db "BLAINE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 45, MAGCARGO
-		db CURSE
-		db SMOG
-		db FLAMETHROWER
-		db ROCK_SLIDE
-
-	db 45, MAGMAR
-		db THUNDERPUNCH
-		db FIRE_PUNCH
-		db SUNNY_DAY
-		db CONFUSE_RAY
-
-	db 50, RAPIDASH
-		db QUICK_ATTACK
-		db FIRE_SPIN
-		db FURY_ATTACK
-		db FIRE_BLAST
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-BurglarGroup:
-; ================================
-; ================
-
-	; BURGLAR (1)
-	db "DUNCAN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 23, KOFFING
-	db 25, MAGMAR
-	db 23, KOFFING
-
-	db $ff ; end
-
-; ================
-
-	; BURGLAR (2)
-	db "EDDIE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 26, GROWLITHE
-		db ROAR
-		db EMBER
-		db LEER
-		db TAKE_DOWN
-
-	db 24, KOFFING
-		db TACKLE
-		db SMOG
-		db SLUDGE
-		db SMOKESCREEN
-
-	db $ff ; end
-
-; ================
-
-	; BURGLAR (3)
-	db "COREY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 25, KOFFING
-	db 28, MAGMAR
-	db 25, KOFFING
-	db 30, KOFFING
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-FirebreatherGroup:
-; ================================
-; ================
-
-	; FIREBREATHER (1)
-	db "OTIS@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 29, MAGMAR
-	db 32, WEEZING
-	db 29, MAGMAR
-
-	db $ff ; end
-
-; ================
-
-	; FIREBREATHER (2)
-	db "DICK@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, CHARMELEON
-
-	db $ff ; end
-
-; ================
-
-	; FIREBREATHER (3)
-	db "NED@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, KOFFING
-	db 16, GROWLITHE
-	db 15, KOFFING
-
-	db $ff ; end
-
-; ================
-
-	; FIREBREATHER (4)
-	db "BURT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, KOFFING
-	db 32, SLUGMA
-
-	db $ff ; end
-
-; ================
-
-	; FIREBREATHER (5)
-	db "BILL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 6, KOFFING
-	db 6, KOFFING
-
-	db $ff ; end
-
-; ================
-
-	; FIREBREATHER (6)
-	db "WALT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 11, MAGMAR
-	db 13, MAGMAR
-
-	db $ff ; end
-
-; ================
-
-	; FIREBREATHER (7)
-	db "RAY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 9, VULPIX
-
-	db $ff ; end
-
-; ================
-
-	; FIREBREATHER (8)
-	db "LYLE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 28, KOFFING
-	db 31, FLAREON
-	db 28, KOFFING
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-JugglerGroup:
-; ================================
-; ================
-
-	; JUGGLER (1)
-	db "IRWIN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 2, VOLTORB
-	db 6, VOLTORB
-	db 10, VOLTORB
-	db 14, VOLTORB
-
-	db $ff ; end
-
-; ================
-
-	; JUGGLER (2)
-	db "FRITZ@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 29, MR__MIME
-	db 29, MAGMAR
-	db 29, MACHOKE
-
-	db $ff ; end
-
-; ================
-
-	; JUGGLER (3)
-	db "HORTON@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 33, ELECTRODE
-	db 33, ELECTRODE
-	db 33, ELECTRODE
-	db 33, ELECTRODE
-
-	db $ff ; end
-
-; ================
-
-	; JUGGLER (4)
-	db "IRWIN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 6, VOLTORB
-	db 10, VOLTORB
-	db 14, VOLTORB
-	db 18, VOLTORB
-
-	db $ff ; end
-
-; ================
-
-	; JUGGLER (5)
-	db "IRWIN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 18, VOLTORB
-	db 22, VOLTORB
-	db 26, VOLTORB
-	db 30, ELECTRODE
-
-	db $ff ; end
-
-; ================
-
-	; JUGGLER (6)
-	db "IRWIN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 18, VOLTORB
-	db 22, VOLTORB
-	db 26, VOLTORB
-	db 30, ELECTRODE
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-BlackbeltGroup:
-; ================================
-; ================
-
-	; BLACKBELT_T (1)
-	db "KENJI@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 27, ONIX
-	db 30, HITMONLEE
-	db 27, ONIX
-	db 32, MACHOKE
-
-	db $ff ; end
-
-; ================
-
-	; BLACKBELT_T (2)
-	db "YOSHI@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 27, HITMONLEE
-		db DOUBLE_KICK
-		db MEDITATE
-		db JUMP_KICK
-		db FOCUS_ENERGY
-
-	db $ff ; end
-
-; ================
-
-	; BLACKBELT_T (3)
-	db "KENJI@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 33, ONIX
-		db BIND
-		db ROCK_THROW
-		db TOXIC
-		db DIG
-
-	db 38, MACHAMP
-		db HEADBUTT
-		db SWAGGER
-		db THUNDERPUNCH
-		db VITAL_THROW
-
-	db 33, STEELIX
-		db EARTHQUAKE
-		db ROCK_THROW
-		db IRON_TAIL
-		db SANDSTORM
-
-	db 36, HITMONLEE
-		db DOUBLE_TEAM
-		db HI_JUMP_KICK
-		db MUD_SLAP
-		db SWIFT
-
-	db $ff ; end
-
-; ================
-
-	; BLACKBELT_T (4)
-	db "LAO@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 27, HITMONCHAN
-		db COMET_PUNCH
-		db THUNDERPUNCH
-		db ICE_PUNCH
-		db FIRE_PUNCH
-
-	db $ff ; end
-
-; ================
-
-	; BLACKBELT_T (5)
-	db "NOB@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 25, MACHOP
-		db LEER
-		db FOCUS_ENERGY
-		db KARATE_CHOP
-		db SEISMIC_TOSS
-
-	db 25, MACHOKE
-		db LEER
-		db KARATE_CHOP
-		db SEISMIC_TOSS
-		db ROCK_SLIDE
-
-	db $ff ; end
-
-; ================
-
-	; BLACKBELT_T (6)
-	db "KIYO@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, HITMONLEE
-	db 34, HITMONCHAN
-
-	db $ff ; end
-
-; ================
-
-	; BLACKBELT_T (7)
-	db "LUNG@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 23, MANKEY
-	db 23, MANKEY
-	db 25, PRIMEAPE
-
-	db $ff ; end
-
-; ================
-
-	; BLACKBELT_T (8)
-	db "KENJI@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 28, MACHOKE
-
-	db $ff ; end
-
-; ================
-
-	; BLACKBELT_T (9)
-	db "WAI@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, MACHOKE
-	db 32, MACHOKE
-	db 34, MACHOKE
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-ExecutiveMGroup:
-; ================================
-; ================
-
-	; EXECUTIVEM (1)
-	db "EXECUTIVE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 33, HOUNDOUR
-		db EMBER
-		db ROAR
-		db BITE
-		db FAINT_ATTACK
-
-	db 33, KOFFING
-		db TACKLE
-		db SLUDGE
-		db SMOKESCREEN
-		db HAZE
-
-	db 35, HOUNDOOM
-		db EMBER
-		db SMOG
-		db BITE
-		db FAINT_ATTACK
-
-	db $ff ; end
-
-; ================
-
-	; EXECUTIVEM (2)
-	db "EXECUTIVE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 36, GOLBAT
-		db LEECH_LIFE
-		db BITE
-		db CONFUSE_RAY
-		db WING_ATTACK
-
-	db $ff ; end
-
-; ================
-
-	; EXECUTIVEM (3)
-	db "EXECUTIVE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 30, KOFFING
-		db TACKLE
-		db SELFDESTRUCT
-		db SLUDGE
-		db SMOKESCREEN
-
-	db 30, KOFFING
-		db TACKLE
-		db SELFDESTRUCT
-		db SLUDGE
-		db SMOKESCREEN
-
-	db 30, KOFFING
-		db TACKLE
-		db SELFDESTRUCT
-		db SLUDGE
-		db SMOKESCREEN
-
-	db 32, WEEZING
-		db TACKLE
-		db EXPLOSION
-		db SLUDGE
-		db SMOKESCREEN
-
-	db 30, KOFFING
-		db TACKLE
-		db SELFDESTRUCT
-		db SLUDGE
-		db SMOKESCREEN
-
-	db 30, KOFFING
-		db TACKLE
-		db SMOG
-		db SLUDGE
-		db SMOKESCREEN
-
-	db $ff ; end
-
-; ================
-
-	; EXECUTIVEM (4)
-	db "EXECUTIVE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 22, ZUBAT
-	db 24, RATICATE
-	db 22, KOFFING
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-PsychicGroup:
-; ================================
-; ================
-
-	; PSYCHIC_T (1)
-	db "NATHAN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 26, GIRAFARIG
-
-	db $ff ; end
-
-; ================
-
-	; PSYCHIC_T (2)
-	db "FRANKLIN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 37, KADABRA
-
-	db $ff ; end
-
-; ================
-
-	; PSYCHIC_T (3)
-	db "HERMAN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, EXEGGCUTE
-	db 30, EXEGGCUTE
-	db 30, EXEGGUTOR
-
-	db $ff ; end
-
-; ================
-
-	; PSYCHIC_T (4)
-	db "FIDEL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, XATU
-
-	db $ff ; end
-
-; ================
-
-	; PSYCHIC_T (5)
-	db "GREG@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 17, DROWZEE
-		db HYPNOSIS
-		db DISABLE
-		db DREAM_EATER
-		db 0
-
-	db $ff ; end
-
-; ================
-
-	; PSYCHIC_T (6)
-	db "NORMAN@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 17, SLOWPOKE
-		db TACKLE
-		db GROWL
-		db WATER_GUN
-		db 0
-
-	db 20, SLOWPOKE
-		db CURSE
-		db BODY_SLAM
-		db WATER_GUN
-		db CONFUSION
-
-	db $ff ; end
-
-; ================
-
-	; PSYCHIC_T (7)
-	db "MARK@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 13, ABRA
-		db TELEPORT
-		db FLASH
-		db 0
-		db 0
-
-	db 13, ABRA
-		db TELEPORT
-		db FLASH
-		db 0
-		db 0
-
-	db 15, KADABRA
-		db TELEPORT
-		db KINESIS
-		db CONFUSION
-		db 0
-
-	db $ff ; end
-
-; ================
-
-	; PSYCHIC_T (8)
-	db "PHIL@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 24, NATU
-		db LEER
-		db NIGHT_SHADE
-		db FUTURE_SIGHT
-		db CONFUSE_RAY
-
-	db 26, KADABRA
-		db DISABLE
-		db PSYBEAM
-		db RECOVER
-		db FUTURE_SIGHT
-
-	db $ff ; end
-
-; ================
-
-	; PSYCHIC_T (9)
-	db "RICHARD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 36, ESPEON
-
-	db $ff ; end
-
-; ================
-
-	; PSYCHIC_T (10)
-	db "GILBERT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, STARMIE
-	db 30, EXEGGCUTE
-	db 34, GIRAFARIG
-
-	db $ff ; end
-
-; ================
-
-	; PSYCHIC_T (11)
-	db "JARED@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, MR__MIME
-	db 32, EXEGGCUTE
-	db 35, EXEGGCUTE
-
-	db $ff ; end
-
-; ================
-
-	; PSYCHIC_T (12)
-	db "RODNEY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 29, DROWZEE
-	db 33, HYPNO
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-PicnickerGroup:
-; ================================
-; ================
-
-	; PICNICKER (1)
-	db "LIZ@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 9, NIDORAN_F
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (2)
-	db "GINA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 9, HOPPIP
-	db 9, HOPPIP
-	db 12, BULBASAUR
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (3)
-	db "BROOKE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 16, PIKACHU
-		db THUNDERSHOCK
-		db GROWL
-		db QUICK_ATTACK
-		db DOUBLE_TEAM
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (4)
-	db "KIM@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, VULPIX
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (5)
-	db "CINDY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 36, NIDOQUEEN
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (6)
-	db "HOPE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, FLAAFFY
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (7)
-	db "SHARON@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 31, FURRET
-	db 33, RAPIDASH
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (8)
-	db "DEBRA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 33, SEAKING
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (9)
-	db "GINA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 14, HOPPIP
-	db 14, HOPPIP
-	db 17, IVYSAUR
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (10)
-	db "ERIN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 16, PONYTA
-	db 16, PONYTA
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (11)
-	db "LIZ@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, WEEPINBELL
-	db 15, NIDORINA
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (12)
-	db "LIZ@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 19, WEEPINBELL
-	db 19, NIDORINO
-	db 21, NIDOQUEEN
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (13)
-	db "HEIDI@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, SKIPLOOM
-	db 32, SKIPLOOM
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (14)
-	db "EDNA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, NIDORINA
-	db 34, RAICHU
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (15)
-	db "GINA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 26, SKIPLOOM
-	db 26, SKIPLOOM
-	db 29, IVYSAUR
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (16)
-	db "TIFFANY@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 31, CLEFAIRY
-		db ENCORE
-		db SING
-		db DOUBLESLAP
-		db MINIMIZE
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (17)
-	db "TIFFANY@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 37, CLEFAIRY
-		db ENCORE
-		db DOUBLESLAP
-		db MINIMIZE
-		db METRONOME
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (18)
-	db "ERIN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, PONYTA
-	db 32, PONYTA
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (19)
-	db "TANYA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 37, EXEGGUTOR
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (20)
-	db "TIFFANY@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 20, CLEFAIRY
-		db ENCORE
-		db SING
-		db DOUBLESLAP
-		db MINIMIZE
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (21)
-	db "ERIN@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 36, PONYTA
-		db DOUBLE_TEAM
-		db STOMP
-		db FIRE_SPIN
-		db SUNNY_DAY
-
-	db 34, RAICHU
-		db SWIFT
-		db MUD_SLAP
-		db QUICK_ATTACK
-		db THUNDERBOLT
-
-	db 36, PONYTA
-		db DOUBLE_TEAM
-		db STOMP
-		db FIRE_SPIN
-		db SUNNY_DAY
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (22)
-	db "LIZ@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 24, WEEPINBELL
-	db 26, NIDORINO
-	db 26, NIDOQUEEN
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (23)
-	db "LIZ@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 30, WEEPINBELL
-		db SLEEP_POWDER
-		db POISONPOWDER
-		db STUN_SPORE
-		db SLUDGE_BOMB
-
-	db 32, NIDOKING
-		db EARTHQUAKE
-		db DOUBLE_KICK
-		db POISON_STING
-		db IRON_TAIL
-
-	db 32, NIDOQUEEN
-		db EARTHQUAKE
-		db DOUBLE_KICK
-		db TAIL_WHIP
-		db BODY_SLAM
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (24)
-	db "GINA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, SKIPLOOM
-	db 30, SKIPLOOM
-	db 32, IVYSAUR
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (25)
-	db "GINA@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 33, JUMPLUFF
-		db STUN_SPORE
-		db SUNNY_DAY
-		db LEECH_SEED
-		db COTTON_SPORE
-
-	db 33, JUMPLUFF
-		db SUNNY_DAY
-		db SLEEP_POWDER
-		db LEECH_SEED
-		db COTTON_SPORE
-
-	db 38, VENUSAUR
-		db SOLARBEAM
-		db RAZOR_LEAF
-		db HEADBUTT
-		db MUD_SLAP
-
-	db $ff ; end
-
-; ================
-
-	; PICNICKER (26)
-	db "TIFFANY@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 43, CLEFAIRY
-		db METRONOME
-		db ENCORE
-		db MOONLIGHT
-		db MINIMIZE
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-CamperGroup:
-; ================================
-; ================
-
-	; CAMPER (1)
-	db "ROLAND@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 9, NIDORAN_M
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (2)
-	db "TODD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 14, PSYDUCK
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (3)
-	db "IVAN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 10, DIGLETT
-	db 10, ZUBAT
-	db 14, DIGLETT
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (4)
-	db "ELLIOT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 13, SANDSHREW
-	db 15, MARILL
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (5)
-	db "BARRY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 36, NIDOKING
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (6)
-	db "LLOYD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, NIDOKING
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (7)
-	db "DEAN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 33, GOLDUCK
-	db 31, SANDSLASH
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (8)
-	db "SID@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, DUGTRIO
-	db 29, PRIMEAPE
-	db 29, POLIWRATH
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (9)
-	db "HARVEY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, NIDORINO
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (10)
-	db "DALE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 15, NIDORINO
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (11)
-	db "TED@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, MANKEY
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (12)
-	db "TODD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, GEODUDE
-	db 17, GEODUDE
-	db 23, PSYDUCK
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (13)
-	db "TODD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 23, GEODUDE
-	db 23, GEODUDE
-	db 26, PSYDUCK
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (14)
-	db "THOMAS@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 33, GRAVELER
-	db 36, GRAVELER
-	db 40, GOLBAT
-	db 42, GOLDUCK
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (15)
-	db "LEROY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 33, GRAVELER
-	db 36, GRAVELER
-	db 40, GOLBAT
-	db 42, GOLDUCK
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (16)
-	db "DAVID@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 33, GRAVELER
-	db 36, GRAVELER
-	db 40, GOLBAT
-	db 42, GOLDUCK
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (17)
-	db "JOHN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 33, GRAVELER
-	db 36, GRAVELER
-	db 40, GOLBAT
-	db 42, GOLDUCK
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (18)
-	db "JERRY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 37, SANDSLASH
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (19)
-	db "SPENCER@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, SANDSHREW
-	db 17, SANDSLASH
-	db 19, ZUBAT
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (20)
-	db "TODD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, GRAVELER
-	db 30, GRAVELER
-	db 30, SLUGMA
-	db 32, PSYDUCK
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (21)
-	db "TODD@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 33, GRAVELER
-		db SELFDESTRUCT
-		db ROCK_THROW
-		db HARDEN
-		db MAGNITUDE
-
-	db 33, GRAVELER
-		db SELFDESTRUCT
-		db ROCK_THROW
-		db HARDEN
-		db MAGNITUDE
-
-	db 36, MAGCARGO
-		db ROCK_THROW
-		db HARDEN
-		db AMNESIA
-		db FLAMETHROWER
-
-	db 34, GOLDUCK
-		db DISABLE
-		db PSYCHIC_M
-		db SURF
-		db PSYCH_UP
-
-	db $ff ; end
-
-; ================
-
-	; CAMPER (22)
-	db "QUENTIN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 30, FEAROW
-	db 30, PRIMEAPE
-	db 30, TAUROS
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-ExecutiveFGroup:
-; ================================
-; ================
-
-	; EXECUTIVEF (1)
-	db "EXECUTIVE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 32, ARBOK
-		db WRAP
-		db POISON_STING
-		db BITE
-		db GLARE
-
-	db 32, VILEPLUME
-		db ABSORB
-		db SWEET_SCENT
-		db SLEEP_POWDER
-		db ACID
-
-	db 32, MURKROW
-		db PECK
-		db PURSUIT
-		db HAZE
-		db NIGHT_SHADE
-
-	db $ff ; end
-
-; ================
-
-	; EXECUTIVEF (2)
-	db "EXECUTIVE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 23, ARBOK
-		db WRAP
-		db LEER
-		db POISON_STING
-		db BITE
-
-	db 23, GLOOM
-		db ABSORB
-		db SWEET_SCENT
-		db SLEEP_POWDER
-		db ACID
-
-	db 25, MURKROW
-		db PECK
-		db PURSUIT
-		db HAZE
-		db 0
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-SageGroup:
-; ================================
-; ================
-
-	; SAGE (1)
-	db "CHOW@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 3, BELLSPROUT
-	db 3, BELLSPROUT
-	db 3, BELLSPROUT
-
-	db $ff ; end
-
-; ================
-
-	; SAGE (2)
-	db "NICO@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 3, BELLSPROUT
-	db 3, BELLSPROUT
-	db 3, BELLSPROUT
-
-	db $ff ; end
-
-; ================
-
-	; SAGE (3)
-	db "JIN@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 6, BELLSPROUT
-
-	db $ff ; end
-
-; ================
-
-	; SAGE (4)
-	db "TROY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 7, BELLSPROUT
-	db 7, HOOTHOOT
-
-	db $ff ; end
-
-; ================
-
-	; SAGE (5)
-	db "JEFFREY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 22, HAUNTER
-
-	db $ff ; end
-
-; ================
-
-	; SAGE (6)
-	db "PING@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 16, GASTLY
-	db 16, GASTLY
-	db 16, GASTLY
-	db 16, GASTLY
-	db 16, GASTLY
-
-	db $ff ; end
-
-; ================
-
-	; SAGE (7)
-	db "EDMOND@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 3, BELLSPROUT
-	db 3, BELLSPROUT
-	db 3, BELLSPROUT
-
-	db $ff ; end
-
-; ================
-
-	; SAGE (8)
-	db "NEAL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 6, BELLSPROUT
-
-	db $ff ; end
-
-; ================
-
-	; SAGE (9)
-	db "LI@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 7, BELLSPROUT
-	db 7, BELLSPROUT
-	db 10, HOOTHOOT
-
-	db $ff ; end
-
-; ================
-
-	; SAGE (10)
-	db "GAKU@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, NOCTOWL
-	db 32, FLAREON
-
-	db $ff ; end
-
-; ================
-
-	; SAGE (11)
-	db "MASA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, NOCTOWL
-	db 32, JOLTEON
-
-	db $ff ; end
-
-; ================
-
-	; SAGE (12)
-	db "KOJI@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 32, NOCTOWL
-	db 32, VAPOREON
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-MediumGroup:
-; ================================
-; ================
-
-	; MEDIUM (1)
-	db "MARTHA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 18, GASTLY
-	db 20, HAUNTER
-	db 20, GASTLY
-
-	db $ff ; end
-
-; ================
-
-	; MEDIUM (2)
-	db "GRACE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 20, HAUNTER
-	db 20, HAUNTER
-
-	db $ff ; end
-
-; ================
-
-	; MEDIUM (3)
-	db "BETHANY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 25, HAUNTER
-
-	db $ff ; end
-
-; ================
-
-	; MEDIUM (4)
-	db "MARGRET@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 25, HAUNTER
-
-	db $ff ; end
-
-; ================
-
-	; MEDIUM (5)
-	db "ETHEL@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 25, HAUNTER
-
-	db $ff ; end
-
-; ================
-
-	; MEDIUM (6)
-	db "REBECCA@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 35, DROWZEE
-	db 35, HYPNO
-
-	db $ff ; end
-
-; ================
-
-	; MEDIUM (7)
-	db "DORIS@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 34, SLOWPOKE
-	db 36, SLOWBRO
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-BoarderGroup:
-; ================================
-; ================
-
-	; BOARDER (1)
-	db "RONALD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 24, SEEL
-	db 25, DEWGONG
-	db 24, SEEL
-
-	db $ff ; end
-
-; ================
-
-	; BOARDER (2)
-	db "BRAD@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 26, SWINUB
-	db 26, SWINUB
-
-	db $ff ; end
-
-; ================
-
-	; BOARDER (3)
-	db "DOUGLAS@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 24, SHELLDER
-	db 25, CLOYSTER
-	db 24, SHELLDER
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-PokefanMGroup:
-; ================================
-; ================
-
-	; POKEFANM (1)
-	db "WILLIAM@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 14, RAICHU, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANM (2)
-	db "DEREK@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 17, PIKACHU, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANM (3)
-	db "ROBERT@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 33, QUAGSIRE, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANM (4)
-	db "JOSHUA@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 23, PIKACHU, BERRY
-	db 23, PIKACHU, BERRY
-	db 23, PIKACHU, BERRY
-	db 23, PIKACHU, BERRY
-	db 23, PIKACHU, BERRY
-	db 23, PIKACHU, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANM (5)
-	db "CARTER@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 29, BULBASAUR, BERRY
-	db 29, CHARMANDER, BERRY
-	db 29, SQUIRTLE, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANM (6)
-	db "TREVOR@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 33, PSYDUCK, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANM (7)
-	db "BRANDON@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 13, SNUBBULL, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANM (8)
-	db "JEREMY@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 28, MEOWTH, BERRY
-	db 28, MEOWTH, BERRY
-	db 28, MEOWTH, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANM (9)
-	db "COLIN@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 32, DELIBIRD, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANM (10)
-	db "DEREK@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 19, PIKACHU, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANM (11)
-	db "DEREK@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 36, PIKACHU, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANM (12)
-	db "ALEX@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 29, NIDOKING, BERRY
-	db 29, SLOWKING, BERRY
-	db 29, SEAKING, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANM (13)
-	db "REX@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 35, PHANPY, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANM (14)
-	db "ALLAN@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 35, TEDDIURSA, BERRY
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-KimonoGirlGroup:
-; ================================
-; ================
-
-	; KIMONO_GIRL (1)
-	db "NAOKO@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 20, SKIPLOOM
-	db 20, VULPIX
-	db 18, SKIPLOOM
-
-	db $ff ; end
-
-; ================
-
-	; KIMONO_GIRL (2)
-	db "NAOKO@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, FLAREON
-
-	db $ff ; end
-
-; ================
-
-	; KIMONO_GIRL (3)
-	db "SAYO@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, ESPEON
-
-	db $ff ; end
-
-; ================
-
-	; KIMONO_GIRL (4)
-	db "ZUKI@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, UMBREON
-
-	db $ff ; end
-
-; ================
-
-	; KIMONO_GIRL (5)
-	db "KUNI@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, VAPOREON
-
-	db $ff ; end
-
-; ================
-
-	; KIMONO_GIRL (6)
-	db "MIKI@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, JOLTEON
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-TwinsGroup:
-; ================================
-; ================
-
-	; TWINS (1)
-	db "AMY & MAY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 10, SPINARAK
-	db 10, LEDYBA
-
-	db $ff ; end
-
-; ================
-
-	; TWINS (2)
-	db "ANN & ANNE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 16, CLEFAIRY
-		db GROWL
-		db ENCORE
-		db DOUBLESLAP
-		db METRONOME
-
-	db 16, JIGGLYPUFF
-		db SING
-		db DEFENSE_CURL
-		db POUND
-		db DISABLE
-
-	db $ff ; end
-
-; ================
-
-	; TWINS (3)
-	db "ANN & ANNE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 16, JIGGLYPUFF
-		db SING
-		db DEFENSE_CURL
-		db POUND
-		db DISABLE
-
-	db 16, CLEFAIRY
-		db GROWL
-		db ENCORE
-		db DOUBLESLAP
-		db METRONOME
-
-	db $ff ; end
-
-; ================
-
-	; TWINS (4)
-	db "AMY & MAY@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 10, LEDYBA
-	db 10, SPINARAK
-
-	db $ff ; end
-
-; ================
-
-	; TWINS (5)
-	db "JO & ZOE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 35, VICTREEBEL
-	db 35, VILEPLUME
-
-	db $ff ; end
-
-; ================
-
-	; TWINS (6)
-	db "JO & ZOE@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 35, VILEPLUME
-	db 35, VICTREEBEL
-
-	db $ff ; end
-
-; ================
-
-	; TWINS (7)
-	db "MEG & PEG@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 31, TEDDIURSA
-	db 31, PHANPY
-
-	db $ff ; end
-
-; ================
-
-	; TWINS (8)
-	db "MEG & PEG@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 31, PHANPY
-	db 31, TEDDIURSA
-
-	db $ff ; end
-
-; ================
-
-	; TWINS (9)
-	db "LEA & PIA@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 35, DRATINI
-		db THUNDER_WAVE
-		db TWISTER
-		db FLAMETHROWER
-		db HEADBUTT
-
-	db 35, DRATINI
-		db THUNDER_WAVE
-		db TWISTER
-		db ICE_BEAM
-		db HEADBUTT
-
-	db $ff ; end
-
-; ================
-
-	; TWINS (10)
-	db "LEA & PIA@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 38, DRATINI
-		db THUNDER_WAVE
-		db TWISTER
-		db ICE_BEAM
-		db HEADBUTT
-
-	db 38, DRATINI
-		db THUNDER_WAVE
-		db TWISTER
-		db FLAMETHROWER
-		db HEADBUTT
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-PokefanFGroup:
-; ================================
-; ================
-
-	; POKEFANF (1)
-	db "BEVERLY@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 14, SNUBBULL, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANF (2)
-	db "RUTH@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 17, PIKACHU, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANF (3)
-	db "BEVERLY@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 18, SNUBBULL, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANF (4)
-	db "BEVERLY@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 30, GRANBULL, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANF (5)
-	db "GEORGIA@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 23, SENTRET, BERRY
-	db 23, SENTRET, BERRY
-	db 23, SENTRET, BERRY
-	db 28, FURRET, BERRY
-	db 23, SENTRET, BERRY
-
-	db $ff ; end
-
-; ================
-
-	; POKEFANF (6)
-	db "JAIME@"
-	db TRAINERTYPE_ITEM
-
-	; party
-	db 16, MEOWTH, BERRY
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-RedGroup:
-; ================================
-; ================
-
-	; RED (1)
-	db "RED@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 81, PIKACHU
-		db CHARM
-		db QUICK_ATTACK
-		db THUNDERBOLT
-		db THUNDER
-
-	db 73, ESPEON
-		db MUD_SLAP
-		db REFLECT
-		db SWIFT
-		db PSYCHIC_M
-
-	db 75, SNORLAX
-		db AMNESIA
-		db SNORE
-		db REST
-		db BODY_SLAM
-
-	db 77, VENUSAUR
-		db SUNNY_DAY
-		db GIGA_DRAIN
-		db SYNTHESIS
-		db SOLARBEAM
-
-	db 77, CHARIZARD
-		db FLAMETHROWER
-		db WING_ATTACK
-		db SLASH
-		db FIRE_SPIN
-
-	db 77, BLASTOISE
-		db RAIN_DANCE
-		db SURF
-		db BLIZZARD
-		db WHIRLPOOL
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-BlueGroup:
-; ================================
-; ================
-
-	; BLUE (1)
-	db "BLUE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 56, PIDGEOT
-		db QUICK_ATTACK
-		db WHIRLWIND
-		db WING_ATTACK
-		db MIRROR_MOVE
-
-	db 54, ALAKAZAM
-		db DISABLE
-		db RECOVER
-		db PSYCHIC_M
-		db REFLECT
-
-	db 56, RHYDON
-		db FURY_ATTACK
-		db SANDSTORM
-		db ROCK_SLIDE
-		db EARTHQUAKE
-
-	db 58, GYARADOS
-		db TWISTER
-		db HYDRO_PUMP
-		db RAIN_DANCE
-		db HYPER_BEAM
-
-	db 58, EXEGGUTOR
-		db SUNNY_DAY
-		db LEECH_SEED
-		db EGG_BOMB
-		db SOLARBEAM
-
-	db 58, ARCANINE
-		db ROAR
-		db SWIFT
-		db FLAMETHROWER
-		db EXTREMESPEED
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-OfficerGroup:
-; ================================
-; ================
-
-	; OFFICER (1)
-	db "KEITH@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 17, GROWLITHE
-
-	db $ff ; end
-
-; ================
-
-	; OFFICER (2)
-	db "DIRK@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 14, GROWLITHE
-	db 14, GROWLITHE
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-GruntFGroup:
-; ================================
-; ================
-
-	; GRUNTF (1)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 9, ZUBAT
-	db 11, EKANS
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTF (2)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 26, ARBOK
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTF (3)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 25, GLOOM
-	db 25, GLOOM
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTF (4)
-	db "GRUNT@"
-	db TRAINERTYPE_NORMAL
-
-	; party
-	db 21, EKANS
-	db 23, ODDISH
-	db 21, EKANS
-	db 24, GLOOM
-
-	db $ff ; end
-
-; ================
-
-	; GRUNTF (5)
-	db "GRUNT@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 18, EKANS
-		db WRAP
-		db LEER
-		db POISON_STING
-		db BITE
-
-	db 18, GLOOM
-		db ABSORB
-		db SWEET_SCENT
-		db STUN_SPORE
-		db SLEEP_POWDER
-
-	db $ff ; end
-
-; ================
-; ================================
-
-
-MysticalmanGroup:
-; ================================
-; ================
-
-	; MYSTICALMAN (1)
-	db "EUSINE@"
-	db TRAINERTYPE_MOVES
-
-	; party
-
-	db 23, DROWZEE
-		db DREAM_EATER
-		db HYPNOSIS
-		db DISABLE
-		db CONFUSION
-
-	db 23, HAUNTER
-		db LICK
-		db HYPNOSIS
-		db MEAN_LOOK
-		db CURSE
-
-	db 25, ELECTRODE
-		db SCREECH
-		db SONICBOOM
-		db THUNDER
-		db ROLLOUT
-
-	db $ff ; end
-
-; ================
-; ================================
--- a/wram.asm
+++ b/wram.asm
@@ -2095,7 +2095,7 @@
 
 wMoveSelectionMenuType:: db
 
-; corresponds to the data/base_stats/*.asm contents
+; corresponds to the data/pokemon/base_stats/*.asm contents
 CurBaseData:: ; d236
 BaseDexNo:: db ; d236
 BaseStats:: ; d237