shithub: pokered

Download patch

ref: 5dc5feb29cac502907452e6d7503c2fae233c349
parent: 12f80235993293559f25b79d914424ee59d25f8d
author: yenatch <yenatch@gmail.com>
date: Wed Dec 4 20:34:12 EST 2013

split related constants into constants/

--- a/constants.asm
+++ b/constants.asm
@@ -55,1056 +55,23 @@
 ITEMLISTMENU       EQU $03 ; Start menu Item menu / Pokemart sell menu
 SPECIALLISTMENU    EQU $04 ; list of special "items" e.g. floor list in elevators / list of badges
 
-; pokemon name constants
-RHYDON     EQU $01
-KANGASKHAN EQU $02
-NIDORAN_M  EQU $03
-CLEFAIRY   EQU $04
-SPEAROW    EQU $05
-VOLTORB    EQU $06
-NIDOKING   EQU $07
-SLOWBRO    EQU $08
-IVYSAUR    EQU $09
-EXEGGUTOR  EQU $0A
-LICKITUNG  EQU $0B
-EXEGGCUTE  EQU $0C
-GRIMER     EQU $0D
-GENGAR     EQU $0E
-NIDORAN_F  EQU $0F
-NIDOQUEEN  EQU $10
-CUBONE     EQU $11
-RHYHORN    EQU $12
-LAPRAS     EQU $13
-ARCANINE   EQU $14
-MEW        EQU $15
-GYARADOS   EQU $16
-SHELLDER   EQU $17
-TENTACOOL  EQU $18
-GASTLY     EQU $19
-SCYTHER    EQU $1A
-STARYU     EQU $1B
-BLASTOISE  EQU $1C
-PINSIR     EQU $1D
-TANGELA    EQU $1E
-GROWLITHE  EQU $21
-ONIX       EQU $22
-FEAROW     EQU $23
-PIDGEY     EQU $24
-SLOWPOKE   EQU $25
-KADABRA    EQU $26
-GRAVELER   EQU $27
-CHANSEY    EQU $28
-MACHOKE    EQU $29
-MR_MIME    EQU $2A
-HITMONLEE  EQU $2B
-HITMONCHAN EQU $2C
-ARBOK      EQU $2D
-PARASECT   EQU $2E
-PSYDUCK    EQU $2F
-DROWZEE    EQU $30
-GOLEM      EQU $31
-MAGMAR     EQU $33
-ELECTABUZZ EQU $35
-MAGNETON   EQU $36
-KOFFING    EQU $37
-MANKEY     EQU $39
-SEEL       EQU $3A
-DIGLETT    EQU $3B
-TAUROS     EQU $3C
-FARFETCH_D EQU $40
-VENONAT    EQU $41
-DRAGONITE  EQU $42
-DODUO      EQU $46
-POLIWAG    EQU $47
-JYNX       EQU $48
-MOLTRES    EQU $49
-ARTICUNO   EQU $4A
-ZAPDOS     EQU $4B
-DITTO      EQU $4C
-MEOWTH     EQU $4D
-KRABBY     EQU $4E
-VULPIX     EQU $52
-NINETALES  EQU $53
-PIKACHU    EQU $54
-RAICHU     EQU $55
-DRATINI    EQU $58
-DRAGONAIR  EQU $59
-KABUTO     EQU $5A
-KABUTOPS   EQU $5B
-HORSEA     EQU $5C
-SEADRA     EQU $5D
-SANDSHREW  EQU $60
-SANDSLASH  EQU $61
-OMANYTE    EQU $62
-OMASTAR    EQU $63
-JIGGLYPUFF EQU $64
-WIGGLYTUFF EQU $65
-EEVEE      EQU $66
-FLAREON    EQU $67
-JOLTEON    EQU $68
-VAPOREON   EQU $69
-MACHOP     EQU $6A
-ZUBAT      EQU $6B
-EKANS      EQU $6C
-PARAS      EQU $6D
-POLIWHIRL  EQU $6E
-POLIWRATH  EQU $6F
-WEEDLE     EQU $70
-KAKUNA     EQU $71
-BEEDRILL   EQU $72
-DODRIO     EQU $74
-PRIMEAPE   EQU $75
-DUGTRIO    EQU $76
-VENOMOTH   EQU $77
-DEWGONG    EQU $78
-CATERPIE   EQU $7B
-METAPOD    EQU $7C
-BUTTERFREE EQU $7D
-MACHAMP    EQU $7E
-GOLDUCK    EQU $80
-HYPNO      EQU $81
-GOLBAT     EQU $82
-MEWTWO     EQU $83
-SNORLAX    EQU $84
-MAGIKARP   EQU $85
-MUK        EQU $88
-KINGLER    EQU $8A
-CLOYSTER   EQU $8B
-ELECTRODE  EQU $8D
-CLEFABLE   EQU $8E
-WEEZING    EQU $8F
-PERSIAN    EQU $90
-MAROWAK    EQU $91
-HAUNTER    EQU $93
-ABRA       EQU $94
-ALAKAZAM   EQU $95
-PIDGEOTTO  EQU $96
-PIDGEOT    EQU $97
-STARMIE    EQU $98
-BULBASAUR  EQU $99
-VENUSAUR   EQU $9A
-TENTACRUEL EQU $9B
-GOLDEEN    EQU $9D
-SEAKING    EQU $9E
-PONYTA     EQU $A3
-RAPIDASH   EQU $A4
-RATTATA    EQU $A5
-RATICATE   EQU $A6
-NIDORINO   EQU $A7
-NIDORINA   EQU $A8
-GEODUDE    EQU $A9
-PORYGON    EQU $AA
-AERODACTYL EQU $AB
-MAGNEMITE  EQU $AD
-CHARMANDER EQU $B0
-SQUIRTLE   EQU $B1
-CHARMELEON EQU $B2
-WARTORTLE  EQU $B3
-CHARIZARD  EQU $B4
-FOSSIL_KABUTOPS EQU $B6
-FOSSIL_AERODACTYL EQU $B7
-MON_GHOST  EQU $B8
-ODDISH     EQU $B9
-GLOOM      EQU $BA
-VILEPLUME  EQU $BB
-BELLSPROUT EQU $BC
-WEEPINBELL EQU $BD
-VICTREEBEL EQU $BE
 
+INCLUDE "constants/pokemon_constants.asm"
+INCLUDE "constants/trainer_constants.asm"
+INCLUDE "constants/pokedex_constants.asm"
+INCLUDE "constants/item_constants.asm"
 
-; trainer name constants
-; sometimes it's necessary to add $C8 to these values
-YOUNGSTER     EQU $01
-BUG_CATCHER   EQU $02
-LASS          EQU $03
-SAILOR        EQU $04
-JR__TRAINER_M EQU $05
-JR__TRAINER_F EQU $06
-POKEMANIAC    EQU $07
-SUPER_NERD    EQU $08
-HIKER         EQU $09
-BIKER         EQU $0A
-BURGLAR       EQU $0B
-ENGINEER      EQU $0C
-JUGGLER_X     EQU $0D
-FISHER        EQU $0E
-SWIMMER       EQU $0F
-CUE_BALL      EQU $10
-GAMBLER       EQU $11
-BEAUTY        EQU $12
-PSYCHIC_TR    EQU $13
-ROCKER        EQU $14
-JUGGLER       EQU $15
-TAMER         EQU $16
-BIRD_KEEPER   EQU $17
-BLACKBELT     EQU $18
-SONY1         EQU $19
-PROF_OAK      EQU $1A
-CHIEF         EQU $1B
-SCIENTIST     EQU $1C
-GIOVANNI      EQU $1D
-ROCKET        EQU $1E
-COOLTRAINER_M EQU $1F
-COOLTRAINER_F EQU $20
-BRUNO         EQU $21
-BROCK         EQU $22
-MISTY         EQU $23
-LT__SURGE     EQU $24
-ERIKA         EQU $25
-KOGA          EQU $26
-BLAINE        EQU $27
-SABRINA       EQU $28
-GENTLEMAN     EQU $29
-SONY2         EQU $2A
-SONY3         EQU $2B
-LORELEI       EQU $2C
-CHANNELER     EQU $2D
-AGATHA        EQU $2E
-LANCE         EQU $2F
+INCLUDE "constants/move_constants.asm"
+INCLUDE "constants/move_effect_constants.asm"
 
-; pokemon dex numbers
-DEX_BULBASAUR  EQU 1
-DEX_IVYSAUR    EQU 2
-DEX_VENUSAUR   EQU 3
-DEX_CHARMANDER EQU 4
-DEX_CHARMELEON EQU 5
-DEX_CHARIZARD  EQU 6
-DEX_SQUIRTLE   EQU 7
-DEX_WARTORTLE  EQU 8
-DEX_BLASTOISE  EQU 9
-DEX_CATERPIE   EQU 10
-DEX_METAPOD    EQU 11
-DEX_BUTTERFREE EQU 12
-DEX_WEEDLE     EQU 13
-DEX_KAKUNA     EQU 14
-DEX_BEEDRILL   EQU 15
-DEX_PIDGEY     EQU 16
-DEX_PIDGEOTTO  EQU 17
-DEX_PIDGEOT    EQU 18
-DEX_RATTATA    EQU 19
-DEX_RATICATE   EQU 20
-DEX_SPEAROW    EQU 21
-DEX_FEAROW     EQU 22
-DEX_EKANS      EQU 23
-DEX_ARBOK      EQU 24
-DEX_PIKACHU    EQU 25
-DEX_RAICHU     EQU 26
-DEX_SANDSHREW  EQU 27
-DEX_SANDSLASH  EQU 28
-DEX_NIDORAN_F  EQU 29
-DEX_NIDORINA   EQU 30
-DEX_NIDOQUEEN  EQU 31
-DEX_NIDORAN_M  EQU 32
-DEX_NIDORINO   EQU 33
-DEX_NIDOKING   EQU 34
-DEX_CLEFAIRY   EQU 35
-DEX_CLEFABLE   EQU 36
-DEX_VULPIX     EQU 37
-DEX_NINETALES  EQU 38
-DEX_JIGGLYPUFF EQU 39
-DEX_WIGGLYTUFF EQU 40
-DEX_ZUBAT      EQU 41
-DEX_GOLBAT     EQU 42
-DEX_ODDISH     EQU 43
-DEX_GLOOM      EQU 44
-DEX_VILEPLUME  EQU 45
-DEX_PARAS      EQU 46
-DEX_PARASECT   EQU 47
-DEX_VENONAT    EQU 48
-DEX_VENOMOTH   EQU 49
-DEX_DIGLETT    EQU 50
-DEX_DUGTRIO    EQU 51
-DEX_MEOWTH     EQU 52
-DEX_PERSIAN    EQU 53
-DEX_PSYDUCK    EQU 54
-DEX_GOLDUCK    EQU 55
-DEX_MANKEY     EQU 56
-DEX_PRIMEAPE   EQU 57
-DEX_GROWLITHE  EQU 58
-DEX_ARCANINE   EQU 59
-DEX_POLIWAG    EQU 60
-DEX_POLIWHIRL  EQU 61
-DEX_POLIWRATH  EQU 62
-DEX_ABRA       EQU 63
-DEX_KADABRA    EQU 64
-DEX_ALAKAZAM   EQU 65
-DEX_MACHOP     EQU 66
-DEX_MACHOKE    EQU 67
-DEX_MACHAMP    EQU 68
-DEX_BELLSPROUT EQU 69
-DEX_WEEPINBELL EQU 70
-DEX_VICTREEBEL EQU 71
-DEX_TENTACOOL  EQU 72
-DEX_TENTACRUEL EQU 73
-DEX_GEODUDE    EQU 74
-DEX_GRAVELER   EQU 75
-DEX_GOLEM      EQU 76
-DEX_PONYTA     EQU 77
-DEX_RAPIDASH   EQU 78
-DEX_SLOWPOKE   EQU 79
-DEX_SLOWBRO    EQU 80
-DEX_MAGNEMITE  EQU 81
-DEX_MAGNETON   EQU 82
-DEX_FARFETCH_D EQU 83
-DEX_DODUO      EQU 84
-DEX_DODRIO     EQU 85
-DEX_SEEL       EQU 86
-DEX_DEWGONG    EQU 87
-DEX_GRIMER     EQU 88
-DEX_MUK        EQU 89
-DEX_SHELLDER   EQU 90
-DEX_CLOYSTER   EQU 91
-DEX_GASTLY     EQU 92
-DEX_HAUNTER    EQU 93
-DEX_GENGAR     EQU 94
-DEX_ONIX       EQU 95
-DEX_DROWZEE    EQU 96
-DEX_HYPNO      EQU 97
-DEX_KRABBY     EQU 98
-DEX_KINGLER    EQU 99
-DEX_VOLTORB    EQU 100
-DEX_ELECTRODE  EQU 101
-DEX_EXEGGCUTE  EQU 102
-DEX_EXEGGUTOR  EQU 103
-DEX_CUBONE     EQU 104
-DEX_MAROWAK    EQU 105
-DEX_HITMONLEE  EQU 106
-DEX_HITMONCHAN EQU 107
-DEX_LICKITUNG  EQU 108
-DEX_KOFFING    EQU 109
-DEX_WEEZING    EQU 110
-DEX_RHYHORN    EQU 111
-DEX_RHYDON     EQU 112
-DEX_CHANSEY    EQU 113
-DEX_TANGELA    EQU 114
-DEX_KANGASKHAN EQU 115
-DEX_HORSEA     EQU 116
-DEX_SEADRA     EQU 117
-DEX_GOLDEEN    EQU 118
-DEX_SEAKING    EQU 119
-DEX_STARYU     EQU 120
-DEX_STARMIE    EQU 121
-DEX_MR_MIME    EQU 122
-DEX_SCYTHER    EQU 123
-DEX_JYNX       EQU 124
-DEX_ELECTABUZZ EQU 125
-DEX_MAGMAR     EQU 126
-DEX_PINSIR     EQU 127
-DEX_TAUROS     EQU 128
-DEX_MAGIKARP   EQU 129
-DEX_GYARADOS   EQU 130
-DEX_LAPRAS     EQU 131
-DEX_DITTO      EQU 132
-DEX_EEVEE      EQU 133
-DEX_VAPOREON   EQU 134
-DEX_JOLTEON    EQU 135
-DEX_FLAREON    EQU 136
-DEX_PORYGON    EQU 137
-DEX_OMANYTE    EQU 138
-DEX_OMASTAR    EQU 139
-DEX_KABUTO     EQU 140
-DEX_KABUTOPS   EQU 141
-DEX_AERODACTYL EQU 142
-DEX_SNORLAX    EQU 143
-DEX_ARTICUNO   EQU 144
-DEX_ZAPDOS     EQU 145
-DEX_MOLTRES    EQU 146
-DEX_DRATINI    EQU 147
-DEX_DRAGONAIR  EQU 148
-DEX_DRAGONITE  EQU 149
-DEX_MEWTWO     EQU 150
-DEX_MEW        EQU 151
-
-
-; item name constants
-MASTER_BALL   EQU $01
-ULTRA_BALL    EQU $02
-GREAT_BALL    EQU $03
-POKE_BALL     EQU $04
-TOWN_MAP      EQU $05
-BICYCLE       EQU $06
-SURFBOARD     EQU $07 ; buggy?
-SAFARI_BALL   EQU $08
-POKEDEX       EQU $09
-MOON_STONE    EQU $0A
-ANTIDOTE      EQU $0B
-BURN_HEAL     EQU $0C
-ICE_HEAL      EQU $0D
-AWAKENING     EQU $0E
-PARLYZ_HEAL   EQU $0F
-FULL_RESTORE  EQU $10
-MAX_POTION    EQU $11
-HYPER_POTION  EQU $12
-SUPER_POTION  EQU $13
-POTION        EQU $14
-BOULDERBADGE  EQU $15
-CASCADEBADGE  EQU $16
-THUNDERBADGE  EQU $17
-RAINBOWBADGE  EQU $18
-SOULBADGE     EQU $19
-MARSHBADGE    EQU $1A
-VOLCANOBADGE  EQU $1B
-EARTHBADGE    EQU $1C
-ESCAPE_ROPE   EQU $1D
-REPEL         EQU $1E
-OLD_AMBER     EQU $1F
-FIRE_STONE    EQU $20
-THUNDER_STONE EQU $21
-WATER_STONE   EQU $22
-HP_UP         EQU $23
-PROTEIN       EQU $24
-IRON          EQU $25
-CARBOS        EQU $26
-CALCIUM       EQU $27
-RARE_CANDY    EQU $28
-DOME_FOSSIL   EQU $29
-HELIX_FOSSIL  EQU $2A
-SECRET_KEY    EQU $2B
-; XXX ????? EQU $2C
-BIKE_VOUCHER  EQU $2D
-X_ACCURACY    EQU $2E
-LEAF_STONE    EQU $2F
-CARD_KEY      EQU $30
-NUGGET        EQU $31
-;PP_UP         EQU $32
-POKE_DOLL     EQU $33
-FULL_HEAL     EQU $34
-REVIVE        EQU $35
-MAX_REVIVE    EQU $36
-GUARD_SPEC_   EQU $37
-SUPER_REPEL   EQU $38
-MAX_REPEL     EQU $39
-DIRE_HIT      EQU $3A
-COIN          EQU $3B
-FRESH_WATER   EQU $3C
-SODA_POP      EQU $3D
-LEMONADE      EQU $3E
-S_S__TICKET   EQU $3F
-GOLD_TEETH    EQU $40
-X_ATTACK      EQU $41
-X_DEFEND      EQU $42
-X_SPEED       EQU $43
-X_SPECIAL     EQU $44
-COIN_CASE     EQU $45
-OAKS_PARCEL   EQU $46
-ITEMFINDER    EQU $47
-SILPH_SCOPE   EQU $48
-POKE_FLUTE    EQU $49
-LIFT_KEY      EQU $4A
-EXP__ALL      EQU $4B
-OLD_ROD       EQU $4C
-GOOD_ROD      EQU $4D
-SUPER_ROD     EQU $4E
-; XXX todo: compare this to $32
-PP_UP         EQU $4F
-ETHER         EQU $50
-MAX_ETHER     EQU $51
-ELIXER        EQU $52
-MAX_ELIXER    EQU $53
-HM_01         EQU $C4
-HM_02         EQU $C5
-HM_03         EQU $C6
-HM_04         EQU $C7
-HM_05         EQU $C8
-TM_01         EQU $C9
-TM_02         EQU $CA
-TM_03         EQU $CB
-TM_04         EQU $CC
-TM_05         EQU $CD
-TM_06         EQU $CE
-TM_07         EQU $CF
-TM_08         EQU $D0
-TM_09         EQU $D1
-TM_10         EQU $D2
-TM_11         EQU $D3
-TM_12         EQU $D4
-TM_13         EQU $D5
-TM_14         EQU $D6
-TM_15         EQU $D7
-TM_16         EQU $D8
-TM_17         EQU $D9
-TM_18         EQU $DA
-TM_19         EQU $DB
-TM_20         EQU $DC
-TM_21         EQU $DD
-TM_22         EQU $DE
-TM_23         EQU $DF
-TM_24         EQU $E0
-TM_25         EQU $E1
-TM_26         EQU $E2
-TM_27         EQU $E3
-TM_28         EQU $E4
-TM_29         EQU $E5
-TM_30         EQU $E6
-TM_31         EQU $E7
-TM_32         EQU $E8
-TM_33         EQU $E9
-TM_34         EQU $EA
-TM_35         EQU $EB
-TM_36         EQU $EC
-TM_37         EQU $ED
-TM_38         EQU $EE
-TM_39         EQU $EF
-TM_40         EQU $F0
-TM_41         EQU $F1
-TM_42         EQU $F2
-TM_43         EQU $F3
-TM_44         EQU $F4
-TM_45         EQU $F5
-TM_46         EQU $F6
-TM_47         EQU $F7
-TM_48         EQU $F8
-TM_49         EQU $F9
-TM_50         EQU $FA
-
-; tentative move effect constants
-; {stat}_(UP|DOWN)(1|2) means that the move raises the user's (or lowers the target's) corresponding stat modifier by 1 (or 2) stages
-; {status condition}_side_effect means that the move has a side chance of causing that condition
-; {status condition}_effect means that the move causes the status condition every time it hits the target
-NO_ADDITIONAL_EFFECT       EQU $00
-POISON_SIDE_EFFECT1        EQU $02
-DRAIN_HP_EFFECT            EQU $03
-BURN_SIDE_EFFECT1          EQU $04
-FREEZE_SIDE_EFFECT         EQU $05
-PARALYZE_SIDE_EFFECT1      EQU $06
-EXPLODE_EFFECT             EQU $07 ; Explosion, Self Destruct
-DREAM_EATER_EFFECT         EQU $08
-MIRROR_MOVE_EFFECT         EQU $09
-ATTACK_UP1_EFFECT          EQU $0A
-DEFENSE_UP1_EFFECT         EQU $0B
-SPECIAL_UP1_EFFECT         EQU $0D
-EVASION_UP1_EFFECT         EQU $0F
-PAY_DAY_EFFECT             EQU $10
-SWIFT_EFFECT               EQU $11
-ATTACK_DOWN1_EFFECT        EQU $12
-DEFENSE_DOWN1_EFFECT       EQU $13
-SPEED_DOWN1_EFFECT         EQU $14
-ACCURACY_DOWN1_EFFECT      EQU $16
-CONVERSION_EFFECT          EQU $18
-HAZE_EFFECT                EQU $19
-BIDE_EFFECT                EQU $1A
-THRASH_PETAL_DANCE_EFFECT  EQU $1B
-SWITCH_AND_TELEPORT_EFFECT EQU $1C
-TWO_TO_FIVE_ATTACKS_EFFECT EQU $1D
-FLINCH_SIDE_EFFECT1        EQU $1F
-SLEEP_EFFECT               EQU $20
-POISON_SIDE_EFFECT2        EQU $21
-BURN_SIDE_EFFECT2          EQU $22
-PARALYZE_SIDE_EFFECT2      EQU $24
-FLINCH_SIDE_EFFECT2        EQU $25
-OHKO_EFFECT                EQU $26 ; moves like Horn Drill
-CHARGE_EFFECT              EQU $27 ; moves like Solar Beam
-SUPER_FANG_EFFECT          EQU $28
-SPECIAL_DAMAGE_EFFECT      EQU $29 ; Seismic Toss, Night Shade, Sonic Boom, Dragon Rage, Psywave
-TRAPPING_EFFECT            EQU $2A ; moves like Wrap
-FLY_EFFECT                 EQU $2B
-ATTACK_TWICE_EFFECT        EQU $2C
-JUMP_KICK_EFFECT           EQU $2D ; Jump Kick and Hi Jump Kick effect
-MIST_EFFECT                EQU $2E
-FOCUS_ENERGY_EFFECT        EQU $2F
-RECOIL_EFFECT              EQU $30 ; moves like Double Edge
-CONFUSION_EFFECT           EQU $31 ; Confuse Ray, Supersonic (not the move Confusion)
-ATTACK_UP2_EFFECT          EQU $32
-DEFENSE_UP2_EFFECT         EQU $33
-SPEED_UP2_EFFECT           EQU $34
-SPECIAL_UP2_EFFECT         EQU $35
-HEAL_EFFECT                EQU $38 ; Recover, Softboiled, Rest
-TRANSFORM_EFFECT           EQU $39
-DEFENSE_DOWN2_EFFECT       EQU $3B
-LIGHT_SCREEN_EFFECT        EQU $40
-REFLECT_EFFECT             EQU $41
-POISON_EFFECT              EQU $42
-PARALYZE_EFFECT            EQU $43
-ATTACK_DOWN_SIDE_EFFECT    EQU $44
-DEFENSE_DOWN_SIDE_EFFECT   EQU $45
-SPEED_DOWN_SIDE_EFFECT     EQU $46
-SPECIAL_DOWN_SIDE_EFFECT   EQU $47
-CONFUSION_SIDE_EFFECT      EQU $4C
-TWINEEDLE_EFFECT           EQU $4D
-SUBSTITUTE_EFFECT          EQU $4F
-HYPER_BEAM_EFFECT          EQU $50
-RAGE_EFFECT                EQU $51
-MIMIC_EFFECT               EQU $52
-METRONOME_EFFECT           EQU $53
-LEECH_SEED_EFFECT          EQU $54
-SPLASH_EFFECT              EQU $55
-DISABLE_EFFECT             EQU $56
-
 ; fixed damage constants
 SONICBOOM_DAMAGE   EQU 20
 DRAGON_RAGE_DAMAGE EQU 40
 
-; move name constants
-POUND        EQU $01
-KARATE_CHOP  EQU $02
-DOUBLESLAP   EQU $03
-COMET_PUNCH  EQU $04
-MEGA_PUNCH   EQU $05
-PAY_DAY      EQU $06
-FIRE_PUNCH   EQU $07
-ICE_PUNCH    EQU $08
-THUNDERPUNCH EQU $09
-SCRATCH      EQU $0A
-VICEGRIP     EQU $0B
-GUILLOTINE   EQU $0C
-RAZOR_WIND   EQU $0D
-SWORDS_DANCE EQU $0E
-CUT          EQU $0F
-GUST         EQU $10
-WING_ATTACK  EQU $11
-WHIRLWIND    EQU $12
-FLY          EQU $13
-BIND         EQU $14
-SLAM         EQU $15
-VINE_WHIP    EQU $16
-STOMP        EQU $17
-DOUBLE_KICK  EQU $18
-MEGA_KICK    EQU $19
-JUMP_KICK    EQU $1A
-ROLLING_KICK EQU $1B
-SAND_ATTACK  EQU $1C
-HEADBUTT     EQU $1D
-HORN_ATTACK  EQU $1E
-FURY_ATTACK  EQU $1F
-HORN_DRILL   EQU $20
-TACKLE       EQU $21
-BODY_SLAM    EQU $22
-WRAP         EQU $23
-TAKE_DOWN    EQU $24
-THRASH       EQU $25
-DOUBLE_EDGE  EQU $26
-TAIL_WHIP    EQU $27
-POISON_STING EQU $28
-TWINEEDLE    EQU $29
-PIN_MISSILE  EQU $2A
-LEER         EQU $2B
-BITE         EQU $2C
-GROWL        EQU $2D
-ROAR         EQU $2E
-SING         EQU $2F
-SUPERSONIC   EQU $30
-SONICBOOM    EQU $31
-DISABLE      EQU $32
-ACID         EQU $33
-EMBER        EQU $34
-FLAMETHROWER EQU $35
-MIST         EQU $36
-WATER_GUN    EQU $37
-HYDRO_PUMP   EQU $38
-SURF         EQU $39
-ICE_BEAM     EQU $3A
-BLIZZARD     EQU $3B
-PSYBEAM      EQU $3C
-BUBBLEBEAM   EQU $3D
-AURORA_BEAM  EQU $3E
-HYPER_BEAM   EQU $3F
-PECK         EQU $40
-DRILL_PECK   EQU $41
-SUBMISSION   EQU $42
-LOW_KICK     EQU $43
-COUNTER      EQU $44
-SEISMIC_TOSS EQU $45
-STRENGTH     EQU $46
-ABSORB       EQU $47
-MEGA_DRAIN   EQU $48
-LEECH_SEED   EQU $49
-GROWTH       EQU $4A
-RAZOR_LEAF   EQU $4B
-SOLARBEAM    EQU $4C
-POISONPOWDER EQU $4D
-STUN_SPORE   EQU $4E
-SLEEP_POWDER EQU $4F
-PETAL_DANCE  EQU $50
-STRING_SHOT  EQU $51
-DRAGON_RAGE  EQU $52
-FIRE_SPIN    EQU $53
-THUNDERSHOCK EQU $54
-THUNDERBOLT  EQU $55
-THUNDER_WAVE EQU $56
-THUNDER      EQU $57
-ROCK_THROW   EQU $58
-EARTHQUAKE   EQU $59
-FISSURE      EQU $5A
-DIG          EQU $5B
-TOXIC        EQU $5C
-CONFUSION    EQU $5D
-PSYCHIC_M    EQU $5E
-HYPNOSIS     EQU $5F
-MEDITATE     EQU $60
-AGILITY      EQU $61
-QUICK_ATTACK EQU $62
-RAGE         EQU $63
-TELEPORT     EQU $64
-NIGHT_SHADE  EQU $65
-MIMIC        EQU $66
-SCREECH      EQU $67
-DOUBLE_TEAM  EQU $68
-RECOVER      EQU $69
-HARDEN       EQU $6A
-MINIMIZE     EQU $6B
-SMOKESCREEN  EQU $6C
-CONFUSE_RAY  EQU $6D
-WITHDRAW     EQU $6E
-DEFENSE_CURL EQU $6F
-BARRIER      EQU $70
-LIGHT_SCREEN EQU $71
-HAZE         EQU $72
-REFLECT      EQU $73
-FOCUS_ENERGY EQU $74
-BIDE         EQU $75
-METRONOME    EQU $76
-MIRROR_MOVE  EQU $77
-SELFDESTRUCT EQU $78
-EGG_BOMB     EQU $79
-LICK         EQU $7A
-SMOG         EQU $7B
-SLUDGE       EQU $7C
-BONE_CLUB    EQU $7D
-FIRE_BLAST   EQU $7E
-WATERFALL    EQU $7F
-CLAMP        EQU $80
-SWIFT        EQU $81
-SKULL_BASH   EQU $82
-SPIKE_CANNON EQU $83
-CONSTRICT    EQU $84
-AMNESIA      EQU $85
-KINESIS      EQU $86
-SOFTBOILED   EQU $87
-HI_JUMP_KICK EQU $88
-GLARE        EQU $89
-DREAM_EATER  EQU $8A
-POISON_GAS   EQU $8B
-BARRAGE      EQU $8C
-LEECH_LIFE   EQU $8D
-LOVELY_KISS  EQU $8E
-SKY_ATTACK   EQU $8F
-TRANSFORM    EQU $90
-BUBBLE       EQU $91
-DIZZY_PUNCH  EQU $92
-SPORE        EQU $93
-FLASH        EQU $94
-PSYWAVE      EQU $95
-SPLASH       EQU $96
-ACID_ARMOR   EQU $97
-CRABHAMMER   EQU $98
-EXPLOSION    EQU $99
-FURY_SWIPES  EQU $9A
-BONEMERANG   EQU $9B
-REST         EQU $9C
-ROCK_SLIDE   EQU $9D
-HYPER_FANG   EQU $9E
-SHARPEN      EQU $9F
-CONVERSION   EQU $A0
-TRI_ATTACK   EQU $A1
-SUPER_FANG   EQU $A2
-SLASH        EQU $A3
-SUBSTITUTE   EQU $A4
-STRUGGLE     EQU $A5
-; these do double duty as animation identifiers
-SHOWPIC_ANIM EQU $A6 ; redraw monster pic
-XSTATITEM_ANIM EQU $AE ; use X Attack/Defense/Speed/Special
-SLP_ANIM     EQU $BD ; sleeping monster
-CONF_ANIM    EQU $BF ; confused monster
-TOSS_ANIM    EQU $C1 ; toss Poké Ball
-SHAKE_ANIM   EQU $C2 ; shaking Poké Ball when catching monster
-POOF_ANIM    EQU $C3 ; puff of smoke
-BLOCKBALL_ANIM EQU $C4 ; trainer knocks away Poké Ball
-GREATTOSS_ANIM EQU $C5 ; toss Great Ball
-ULTRATOSS_ANIM EQU $C6 ; toss Ultra Ball or Master Ball
-HIDEPIC_ANIM EQU $C8 ; monster disappears
-ROCK_ANIM EQU $C9 ; throw rock
-BAIT_ANIM EQU $CA ; throw bait
+INCLUDE "constants/palette_constants.asm"
+INCLUDE "constants/map_constants.asm"
+INCLUDE "constants/map_dimensions.asm"
 
-; super game boy palettes
-PAL_ROUTE     EQU $00
-PAL_PALLET    EQU $01
-PAL_VIRIDIAN  EQU $02
-PAL_PEWTER    EQU $03
-PAL_CERULEAN  EQU $04
-PAL_LAVENDER  EQU $05
-PAL_VERMILION EQU $06
-PAL_CELADON   EQU $07
-PAL_FUCHSIA   EQU $08
-PAL_CINNABAR  EQU $09
-PAL_INDIGO    EQU $0A
-PAL_SAFFRON   EQU $0B
-PAL_TOWNMAP   EQU $0C
-PAL_LOGO1     EQU $0D
-; XXX
-PAL_LOGO2     EQU $0F
-PAL_MEWMON    EQU $10
-PAL_BLUEMON   EQU $11
-PAL_REDMON    EQU $12
-PAL_CYANMON   EQU $13
-PAL_PURPLEMON EQU $14
-PAL_BROWNMON  EQU $15
-PAL_GREENMON  EQU $16
-PAL_PINKMON   EQU $17
-PAL_YELLOWMON EQU $18
-PAL_GREYMON   EQU $19
-PAL_SLOTS1    EQU $1A
-PAL_SLOTS2    EQU $1B
-PAL_SLOTS3    EQU $1C
-PAL_SLOTS4    EQU $1D
-PAL_BLACK     EQU $1E
-PAL_GREENBAR  EQU $1F
-PAL_YELLOWBAR EQU $20
-PAL_REDBAR    EQU $21
-PAL_BADGE     EQU $22
-PAL_CAVE      EQU $23
-; XXX
-
-; map name constants
-PALLET_TOWN     EQU $00
-VIRIDIAN_CITY   EQU $01
-PEWTER_CITY     EQU $02
-CERULEAN_CITY   EQU $03
-LAVENDER_TOWN   EQU $04
-VERMILION_CITY  EQU $05
-CELADON_CITY    EQU $06
-FUCHSIA_CITY    EQU $07
-CINNABAR_ISLAND EQU $08
-INDIGO_PLATEAU  EQU $09
-SAFFRON_CITY    EQU $0A
-; unused        EQU $0B
-ROUTE_1         EQU $0C
-ROUTE_2         EQU $0D
-ROUTE_3         EQU $0E
-ROUTE_4         EQU $0F
-ROUTE_5         EQU $10
-ROUTE_6         EQU $11
-ROUTE_7         EQU $12
-ROUTE_8         EQU $13
-ROUTE_9         EQU $14
-ROUTE_10        EQU $15
-ROUTE_11        EQU $16
-ROUTE_12        EQU $17
-ROUTE_13        EQU $18
-ROUTE_14        EQU $19
-ROUTE_15        EQU $1A
-ROUTE_16        EQU $1B
-ROUTE_17        EQU $1C
-ROUTE_18        EQU $1D
-ROUTE_19        EQU $1E
-ROUTE_20        EQU $1F
-ROUTE_21        EQU $20
-ROUTE_22        EQU $21
-ROUTE_23        EQU $22
-ROUTE_24        EQU $23
-ROUTE_25        EQU $24
-REDS_HOUSE_1F EQU $25
-REDS_HOUSE_2F EQU $26
-BLUES_HOUSE EQU $27
-OAKS_LAB EQU $28
-VIRIDIAN_POKECENTER EQU $29
-VIRIDIAN_MART EQU $2A
-VIRIDIAN_SCHOOL EQU $2B
-VIRIDIAN_HOUSE EQU $2C
-VIRIDIAN_GYM EQU $2D
-DIGLETTS_CAVE_EXIT EQU $2E
-VIRIDIAN_FOREST_EXIT EQU $2F
-ROUTE_2_HOUSE EQU $30
-ROUTE_2_GATE EQU $31
-VIRIDIAN_FOREST_ENTRANCE EQU $32
-VIRIDIAN_FOREST EQU $33
-MUSEUM_1F EQU $34
-MUSEUM_2F EQU $35
-PEWTER_GYM EQU $36
-PEWTER_HOUSE_1 EQU $37
-PEWTER_MART EQU $38
-PEWTER_HOUSE_2 EQU $39
-PEWTER_POKECENTER EQU $3A
-MT_MOON_1 EQU $3B
-MT_MOON_2 EQU $3C
-MT_MOON_3 EQU $3D
-TRASHED_HOUSE EQU $3E
-CERULEAN_HOUSE EQU $3F
-CERULEAN_POKECENTER EQU $40
-CERULEAN_GYM EQU $41
-BIKE_SHOP EQU $42
-CERULEAN_MART EQU $43
-MT_MOON_POKECENTER EQU $44
-;copy of TRASHED_HOUSE EQU $45
-ROUTE_5_GATE EQU $46
-PATH_ENTRANCE_ROUTE_5 EQU $47
-DAYCAREM EQU $48
-ROUTE_6_GATE EQU $49
-PATH_ENTRANCE_ROUTE_6 EQU $4A
-;copy of PATH_ENTRANCE_ROUTE_6 EQU $4B
-ROUTE_7_GATE EQU $4C
-PATH_ENTRANCE_ROUTE_7 EQU $4D
-;copy of PATH_ENTRANCE_ROUTE_7 EQU $4E
-ROUTE_8_GATE EQU $4F
-PATH_ENTRANCE_ROUTE_8 EQU $50
-ROCK_TUNNEL_POKECENTER EQU $51
-ROCK_TUNNEL_1 EQU $52
-POWER_PLANT EQU $53
-ROUTE_11_GATE_1F EQU $54
-DIGLETTS_CAVE_ENTRANCE EQU $55
-ROUTE_11_GATE_2F EQU $56
-ROUTE_12_GATE EQU $57
-BILLS_HOUSE EQU $58
-VERMILION_POKECENTER EQU $59
-POKEMON_FAN_CLUB EQU $5A
-VERMILION_MART EQU $5B
-VERMILION_GYM EQU $5C
-VERMILION_HOUSE_1 EQU $5D
-VERMILION_DOCK EQU $5E
-SS_ANNE_1 EQU $5F
-SS_ANNE_2 EQU $60
-SS_ANNE_3 EQU $61
-SS_ANNE_4 EQU $62
-SS_ANNE_5 EQU $63
-SS_ANNE_6 EQU $64
-SS_ANNE_7 EQU $65
-SS_ANNE_8 EQU $66
-SS_ANNE_9 EQU $67
-SS_ANNE_10 EQU $68
-;EQU $69
-;EQU $6A
-;EQU $6B
-VICTORY_ROAD_1 EQU $6C
-;EQU $6D
-;EQU $6E
-;EQU $6F
-;EQU $70
-LANCES_ROOM EQU $71
-;EQU $72
-;EQU $73
-;EQU $74
-;EQU $75
-HALL_OF_FAME EQU $76
-UNDERGROUND_PATH_NS EQU $77
-CHAMPIONS_ROOM EQU $78
-UNDERGROUND_PATH_WE EQU $79
-CELADON_MART_1 EQU $7A
-CELADON_MART_2 EQU $7B
-CELADON_MART_3 EQU $7C
-CELADON_MART_4 EQU $7D
-CELADON_MART_ROOF EQU $7E
-CELADON_MART_ELEVATOR EQU $7F
-CELADON_MANSION_1 EQU $80
-CELADON_MANSION_2 EQU $81
-CELADON_MANSION_3 EQU $82
-CELADON_MANSION_4 EQU $83
-CELADON_MANSION_5 EQU $84
-CELADON_POKECENTER EQU $85
-CELADON_GYM EQU $86
-GAME_CORNER EQU $87
-CELADON_MART_5 EQU $88
-CELADONPRIZE_ROOM EQU $89
-CELADON_DINER EQU $8A
-CELADON_HOUSE EQU $8B
-CELADON_HOTEL EQU $8C
-LAVENDER_POKECENTER EQU $8D
-POKEMONTOWER_1 EQU $8E
-POKEMONTOWER_2 EQU $8F
-POKEMONTOWER_3 EQU $90
-POKEMONTOWER_4 EQU $91
-POKEMONTOWER_5 EQU $92
-POKEMONTOWER_6 EQU $93
-POKEMONTOWER_7 EQU $94
-LAVENDER_HOUSE_1 EQU $95
-LAVENDER_MART EQU $96
-LAVENDER_HOUSE_2 EQU $97
-FUCHSIA_MART EQU $98
-FUCHSIA_HOUSE_1 EQU $99
-FUCHSIA_POKECENTER EQU $9A
-FUCHSIA_HOUSE_2 EQU $9B
-SAFARIZONEENTRANCE EQU $9C
-FUCHSIA_GYM EQU $9D
-FUCHSIAMEETINGROOM EQU $9E
-SEAFOAM_ISLANDS_2 EQU $9F
-SEAFOAM_ISLANDS_3 EQU $A0
-SEAFOAM_ISLANDS_4 EQU $A1
-SEAFOAM_ISLANDS_5 EQU $A2
-VERMILION_HOUSE_2 EQU $A3
-FUCHSIA_HOUSE_3 EQU $A4
-MANSION_1 EQU $A5
-CINNABAR_GYM EQU $A6
-CINNABAR_LAB_1 EQU $A7
-CINNABAR_LAB_2 EQU $A8
-CINNABAR_LAB_3 EQU $A9
-CINNABAR_LAB_4 EQU $AA
-CINNABAR_POKECENTER EQU $AB
-CINNABAR_MART EQU $AC
-;copy of CINNABAR_MART EQU $AD
-INDIGO_PLATEAU_LOBBY EQU $AE
-COPYCATS_HOUSE_1F EQU $AF
-COPYCATS_HOUSE_2F EQU $B0
-FIGHTINGDOJO EQU $B1
-SAFFRON_GYM EQU $B2
-SAFFRON_HOUSE_1 EQU $B3
-SAFFRON_MART EQU $B4
-SILPH_CO_1F EQU $B5
-SAFFRON_POKECENTER EQU $B6
-SAFFRON_HOUSE_2 EQU $B7
-ROUTE_15_GATE_1F EQU $B8
-ROUTE_15_GATE_2F EQU $B9
-ROUTE_16_GATE_1F EQU $BA
-ROUTE_16_GATE_2F EQU $BB
-ROUTE_16_HOUSE EQU $BC
-ROUTE_12_HOUSE EQU $BD
-ROUTE_18_GATE_1F EQU $BE
-ROUTE_18_GATE_2F EQU $BF
-SEAFOAM_ISLANDS_1 EQU $C0
-ROUTE_22_GATE EQU $C1
-VICTORY_ROAD_2 EQU $C2
-ROUTE_12_GATE_2F EQU $C3
-VERMILION_HOUSE_3 EQU $C4
-DIGLETTS_CAVE EQU $C5
-VICTORY_ROAD_3 EQU $C6
-ROCKET_HIDEOUT_1 EQU $C7
-ROCKET_HIDEOUT_2 EQU $C8
-ROCKET_HIDEOUT_3 EQU $C9
-ROCKET_HIDEOUT_4 EQU $CA
-ROCKET_HIDEOUT_ELEVATOR EQU $CB
-;EQU $CC
-;EQU $CD
-;EQU $CE
-SILPH_CO_2F EQU $CF
-SILPH_CO_3F EQU $D0
-SILPH_CO_4F EQU $D1
-SILPH_CO_5F EQU $D2
-SILPH_CO_6F EQU $D3
-SILPH_CO_7F EQU $D4
-SILPH_CO_8F EQU $D5
-MANSION_2 EQU $D6
-MANSION_3 EQU $D7
-MANSION_4 EQU $D8
-SAFARI_ZONE_EAST EQU $D9
-SAFARI_ZONE_NORTH EQU $DA
-SAFARI_ZONE_WEST EQU $DB
-SAFARI_ZONE_CENTER EQU $DC
-SAFARI_ZONE_REST_HOUSE_1 EQU $DD
-SAFARI_ZONE_SECRET_HOUSE EQU $DE
-SAFARI_ZONE_REST_HOUSE_2 EQU $DF
-SAFARI_ZONE_REST_HOUSE_3 EQU $E0
-SAFARI_ZONE_REST_HOUSE_4 EQU $E1
-UNKNOWN_DUNGEON_2 EQU $E2
-UNKNOWN_DUNGEON_3 EQU $E3
-UNKNOWN_DUNGEON_1 EQU $E4
-NAME_RATERS_HOUSE EQU $E5
-CERULEAN_HOUSE_3 EQU $E6
-;EQU $E7
-ROCK_TUNNEL_2 EQU $E8
-SILPH_CO_9F EQU $E9
-SILPH_CO_10F EQU $EA
-SILPH_CO_11F EQU $EB
-SILPH_CO_ELEVATOR EQU $EC
-;EQU $ED
-;EQU $EE
-BATTLE_CENTER EQU $EF
-TRADE_CENTER EQU $F0
-;EQU $F1
-;EQU $F2
-;EQU $F3
-;EQU $F4
-LORELEIS_ROOM EQU $F5
-BRUNOS_ROOM EQU $F6
-AGATHAS_ROOM EQU $F7
-BEACH_HOUSE EQU $F8 ; Yellow only
-
 ; Evolution types
 EV_LEVEL	EQU 1
 EV_ITEM 	EQU 2
@@ -1228,895 +195,4 @@
 SPRITE_LYING_OLD_MAN_UNUSED_1    EQU $46
 SPRITE_LYING_OLD_MAN_UNUSED_2    EQU $47
 SPRITE_LYING_OLD_MAN             EQU $48
-
-; Map sizes (y, x)
-
-; PalletTown_h map_id=0
-PALLET_TOWN_HEIGHT EQU $09
-PALLET_TOWN_WIDTH  EQU $0a
-
-; ViridianCity_h map_id=1
-VIRIDIAN_CITY_HEIGHT EQU $12
-VIRIDIAN_CITY_WIDTH  EQU $14
-
-; PewterCity_h map_id=2
-PEWTER_CITY_HEIGHT EQU $12
-PEWTER_CITY_WIDTH  EQU $14
-
-; CeruleanCity_h map_id=3
-CERULEAN_CITY_HEIGHT EQU $12
-CERULEAN_CITY_WIDTH  EQU $14
-
-; LavenderTown_h map_id=4
-LAVENDER_TOWN_HEIGHT EQU $09
-LAVENDER_TOWN_WIDTH  EQU $0a
-
-; VermilionCity_h map_id=5
-VERMILION_CITY_HEIGHT EQU $12
-VERMILION_CITY_WIDTH  EQU $14
-
-; CeladonCity_h map_id=6
-CELADON_CITY_HEIGHT EQU $12
-CELADON_CITY_WIDTH  EQU $19
-
-; FuchsiaCity_h map_id=7
-FUCHSIA_CITY_HEIGHT EQU $12
-FUCHSIA_CITY_WIDTH  EQU $14
-
-; CinnabarIsland_h map_id=8
-CINNABAR_ISLAND_HEIGHT EQU $09
-CINNABAR_ISLAND_WIDTH  EQU $0a
-
-; IndigoPlateau_h map_id=9
-INDIGO_PLATEAU_HEIGHT EQU $09
-INDIGO_PLATEAU_WIDTH  EQU $0a
-
-; SaffronCity_h map_id=10
-SAFFRON_CITY_HEIGHT EQU $12
-SAFFRON_CITY_WIDTH  EQU $14
-
-; Route1_h map_id=12
-ROUTE_1_HEIGHT EQU $12
-ROUTE_1_WIDTH  EQU $0a
-
-; Route2_h map_id=13
-ROUTE_2_HEIGHT EQU $24
-ROUTE_2_WIDTH  EQU $0a
-
-; Route3_h map_id=14
-ROUTE_3_HEIGHT EQU $09
-ROUTE_3_WIDTH  EQU $23
-
-; Route4_h map_id=15
-ROUTE_4_HEIGHT EQU $09
-ROUTE_4_WIDTH  EQU $2d
-
-; Route5_h map_id=16
-ROUTE_5_HEIGHT EQU $12
-ROUTE_5_WIDTH  EQU $0a
-
-; Route6_h map_id=17
-ROUTE_6_HEIGHT EQU $12
-ROUTE_6_WIDTH  EQU $0a
-
-; Route7_h map_id=18
-ROUTE_7_HEIGHT EQU $09
-ROUTE_7_WIDTH  EQU $0a
-
-; Route8_h map_id=19
-ROUTE_8_HEIGHT EQU $09
-ROUTE_8_WIDTH  EQU $1e
-
-; Route9_h map_id=20
-ROUTE_9_HEIGHT EQU $09
-ROUTE_9_WIDTH  EQU $1e
-
-; Route10_h map_id=21
-ROUTE_10_HEIGHT EQU $24
-ROUTE_10_WIDTH  EQU $0a
-
-; Route11_h map_id=22
-ROUTE_11_HEIGHT EQU $09
-ROUTE_11_WIDTH  EQU $1e
-
-; Route12_h map_id=23
-ROUTE_12_HEIGHT EQU $36
-ROUTE_12_WIDTH  EQU $0a
-
-; Route13_h map_id=24
-ROUTE_13_HEIGHT EQU $09
-ROUTE_13_WIDTH  EQU $1e
-
-; Route14_h map_id=25
-ROUTE_14_HEIGHT EQU $1b
-ROUTE_14_WIDTH  EQU $0a
-
-; Route15_h map_id=26
-ROUTE_15_HEIGHT EQU $09
-ROUTE_15_WIDTH  EQU $1e
-
-; Route16_h map_id=27
-ROUTE_16_HEIGHT EQU $09
-ROUTE_16_WIDTH  EQU $14
-
-; Route17_h map_id=28
-ROUTE_17_HEIGHT EQU $48
-ROUTE_17_WIDTH  EQU $0a
-
-; Route18_h map_id=29
-ROUTE_18_HEIGHT EQU $09
-ROUTE_18_WIDTH  EQU $19
-
-; Route19_h map_id=30
-ROUTE_19_HEIGHT EQU $1b
-ROUTE_19_WIDTH  EQU $0a
-
-; Route20_h map_id=31
-ROUTE_20_HEIGHT EQU $09
-ROUTE_20_WIDTH  EQU $32
-
-; Route21_h map_id=32
-ROUTE_21_HEIGHT EQU $2d
-ROUTE_21_WIDTH  EQU $0a
-
-; Route22_h map_id=33
-ROUTE_22_HEIGHT EQU $09
-ROUTE_22_WIDTH  EQU $14
-
-; Route23_h map_id=34
-ROUTE_23_HEIGHT EQU $48
-ROUTE_23_WIDTH  EQU $0a
-
-; Route24_h map_id=35
-ROUTE_24_HEIGHT EQU $12
-ROUTE_24_WIDTH  EQU $0a
-
-; Route25_h map_id=36
-ROUTE_25_HEIGHT EQU $09
-ROUTE_25_WIDTH  EQU $1e
-
-; RedsHouse1F_h map_id=37
-REDS_HOUSE_1F_HEIGHT EQU $04
-REDS_HOUSE_1F_WIDTH  EQU $04
-
-; RedsHouse2F_h map_id=38
-REDS_HOUSE_2F_HEIGHT EQU $04
-REDS_HOUSE_2F_WIDTH  EQU $04
-
-; BluesHouse_h map_id=39
-BLUES_HOUSE_HEIGHT EQU $04
-BLUES_HOUSE_WIDTH  EQU $04
-
-; OaksLab_h map_id=40
-OAKS_LAB_HEIGHT EQU $06
-OAKS_LAB_WIDTH  EQU $05
-
-; ViridianPokeCenter_h map_id=41
-VIRIDIAN_POKECENTER_HEIGHT EQU $04
-VIRIDIAN_POKECENTER_WIDTH  EQU $07
-
-; ViridianMart_h map_id=42
-VIRIDIAN_MART_HEIGHT EQU $04
-VIRIDIAN_MART_WIDTH  EQU $04
-
-; School_h map_id=43
-VIRIDIAN_SCHOOL_HEIGHT EQU $04
-VIRIDIAN_SCHOOL_WIDTH  EQU $04
-
-; ViridianHouse_h map_id=44
-VIRIDIAN_HOUSE_HEIGHT EQU $04
-VIRIDIAN_HOUSE_WIDTH  EQU $04
-
-; ViridianGym_h map_id=45
-VIRIDIAN_GYM_HEIGHT EQU $09
-VIRIDIAN_GYM_WIDTH  EQU $0a
-
-; DiglettsCaveRoute2_h map_id=46
-DIGLETTS_CAVE_EXIT_HEIGHT EQU $04
-DIGLETTS_CAVE_EXIT_WIDTH  EQU $04
-
-; ViridianForestexit_h map_id=47
-VIRIDIAN_FOREST_EXIT_HEIGHT EQU $04
-VIRIDIAN_FOREST_EXIT_WIDTH  EQU $05
-
-; Route2House_h map_id=48
-ROUTE_2_HOUSE_HEIGHT EQU $04
-ROUTE_2_HOUSE_WIDTH  EQU $04
-
-; Route2Gate_h map_id=49
-ROUTE_2_GATE_HEIGHT EQU $04
-ROUTE_2_GATE_WIDTH  EQU $05
-
-; ViridianForestEntrance_h map_id=50
-VIRIDIAN_FOREST_ENTRANCE_HEIGHT EQU $04
-VIRIDIAN_FOREST_ENTRANCE_WIDTH  EQU $05
-
-; ViridianForest_h map_id=51
-VIRIDIAN_FOREST_HEIGHT EQU $18
-VIRIDIAN_FOREST_WIDTH  EQU $11
-
-; MuseumF1_h map_id=52
-MUSEUM_1F_HEIGHT EQU $04
-MUSEUM_1F_WIDTH  EQU $0a
-
-; MuseumF2_h map_id=53
-MUSEUM_2F_HEIGHT EQU $04
-MUSEUM_2F_WIDTH  EQU $07
-
-; PewterGym_h map_id=54
-PEWTER_GYM_HEIGHT EQU $07
-PEWTER_GYM_WIDTH  EQU $05
-
-; PewterHouse1_h map_id=55
-PEWTER_HOUSE_1_HEIGHT EQU $04
-PEWTER_HOUSE_1_WIDTH  EQU $04
-
-; PewterMart_h map_id=56
-PEWTER_MART_HEIGHT EQU $04
-PEWTER_MART_WIDTH  EQU $04
-
-; PewterHouse2_h map_id=57
-PEWTER_HOUSE_2_HEIGHT EQU $04
-PEWTER_HOUSE_2_WIDTH  EQU $04
-
-; PewterPokecenter_h map_id=58
-PEWTER_POKECENTER_HEIGHT EQU $04
-PEWTER_POKECENTER_WIDTH  EQU $07
-
-; MtMoon1_h map_id=59
-MT_MOON_1_HEIGHT EQU $12
-MT_MOON_1_WIDTH  EQU $14
-
-; MtMoon2_h map_id=60
-MT_MOON_2_HEIGHT EQU $0e
-MT_MOON_2_WIDTH  EQU $0e
-
-; MtMoon3_h map_id=61
-MT_MOON_3_HEIGHT EQU $12
-MT_MOON_3_WIDTH  EQU $14
-
-; CeruleanHouseTrashed_h map_id=62
-TRASHED_HOUSE_HEIGHT EQU $04
-TRASHED_HOUSE_WIDTH  EQU $04
-
-; CeruleanHouse_h map_id=63
-CERULEAN_HOUSE_HEIGHT EQU $04
-CERULEAN_HOUSE_WIDTH  EQU $04
-
-; CeruleanPokecenter_h map_id=64
-CERULEAN_POKECENTER_HEIGHT EQU $04
-CERULEAN_POKECENTER_WIDTH  EQU $07
-
-; CeruleanGym_h map_id=65
-CERULEAN_GYM_HEIGHT EQU $07
-CERULEAN_GYM_WIDTH  EQU $05
-
-; BikeShop_h map_id=66
-BIKE_SHOP_HEIGHT EQU $04
-BIKE_SHOP_WIDTH  EQU $04
-
-; CeruleanMart_h map_id=67
-CERULEAN_MART_HEIGHT EQU $04
-CERULEAN_MART_WIDTH  EQU $04
-
-; MtMoonPokecenter_h map_id=68
-MT_MOON_POKECENTER_HEIGHT EQU $04
-MT_MOON_POKECENTER_WIDTH  EQU $07
-
-; Route5Gate_h map_id=70
-ROUTE_5_GATE_HEIGHT EQU $03
-ROUTE_5_GATE_WIDTH  EQU $04
-
-; UndergroundTunnelEntranceRoute5_h map_id=71
-PATH_ENTRANCE_ROUTE_5_HEIGHT EQU $04
-PATH_ENTRANCE_ROUTE_5_WIDTH  EQU $04
-
-; DayCareM_h map_id=72
-DAYCAREM_HEIGHT EQU $04
-DAYCAREM_WIDTH  EQU $04
-
-; Route6Gate_h map_id=73
-ROUTE_6_GATE_HEIGHT EQU $03
-ROUTE_6_GATE_WIDTH  EQU $04
-
-; UndergroundTunnelEntranceRoute6_h map_id=74
-PATH_ENTRANCE_ROUTE_6_HEIGHT EQU $04
-PATH_ENTRANCE_ROUTE_6_WIDTH  EQU $04
-
-; Route7Gate_h map_id=76
-ROUTE_7_GATE_HEIGHT EQU $04
-ROUTE_7_GATE_WIDTH  EQU $03
-
-; UndergroundPathEntranceRoute7_h map_id=77
-PATH_ENTRANCE_ROUTE_7_HEIGHT EQU $04
-PATH_ENTRANCE_ROUTE_7_WIDTH  EQU $04
-
-; Route8Gate_h map_id=79
-ROUTE_8_GATE_HEIGHT EQU $04
-ROUTE_8_GATE_WIDTH  EQU $03
-
-; UndergroundPathEntranceRoute8_h map_id=80
-PATH_ENTRANCE_ROUTE_8_HEIGHT EQU $04
-PATH_ENTRANCE_ROUTE_8_WIDTH  EQU $04
-
-; RockTunnelPokecenter_h map_id=81
-ROCK_TUNNEL_POKECENTER_HEIGHT EQU $04
-ROCK_TUNNEL_POKECENTER_WIDTH  EQU $07
-
-; RockTunnel1_h map_id=82
-ROCK_TUNNEL_1_HEIGHT EQU $12
-ROCK_TUNNEL_1_WIDTH  EQU $14
-
-; PowerPlant_h map_id=83
-POWER_PLANT_HEIGHT EQU $12
-POWER_PLANT_WIDTH  EQU $14
-
-; Route11Gate_h map_id=84
-ROUTE_11_GATE_1F_HEIGHT EQU $05
-ROUTE_11_GATE_1F_WIDTH  EQU $04
-
-; DiglettsCaveEntranceRoute11_h map_id=85
-DIGLETTS_CAVE_ENTRANCE_HEIGHT EQU $04
-DIGLETTS_CAVE_ENTRANCE_WIDTH  EQU $04
-
-; Route11GateUpstairs_h map_id=86
-ROUTE_11_GATE_2F_HEIGHT EQU $04
-ROUTE_11_GATE_2F_WIDTH  EQU $04
-
-; Route12Gate_h map_id=87
-ROUTE_12_GATE_HEIGHT EQU $04
-ROUTE_12_GATE_WIDTH  EQU $05
-
-; BillsHouse_h map_id=88
-BILLS_HOUSE_HEIGHT EQU $04
-BILLS_HOUSE_WIDTH  EQU $04
-
-; VermilionPokecenter_h map_id=89
-VERMILION_POKECENTER_HEIGHT EQU $04
-VERMILION_POKECENTER_WIDTH  EQU $07
-
-; FanClub_h map_id=90
-POKEMON_FAN_CLUB_HEIGHT EQU $04
-POKEMON_FAN_CLUB_WIDTH  EQU $04
-
-; VermilionMart_h map_id=91
-VERMILION_MART_HEIGHT EQU $04
-VERMILION_MART_WIDTH  EQU $04
-
-; VermilionGym_h map_id=92
-VERMILION_GYM_HEIGHT EQU $09
-VERMILION_GYM_WIDTH  EQU $05
-
-; VermilionHouse1_h map_id=93
-VERMILION_HOUSE_1_HEIGHT EQU $04
-VERMILION_HOUSE_1_WIDTH  EQU $04
-
-; VermilionDock_h map_id=94
-VERMILION_DOCK_HEIGHT EQU $06
-VERMILION_DOCK_WIDTH  EQU $0e
-
-; SSAnne1_h map_id=95
-SS_ANNE_1_HEIGHT EQU $09
-SS_ANNE_1_WIDTH  EQU $14
-
-; SSAnne2_h map_id=96
-SS_ANNE_2_HEIGHT EQU $09
-SS_ANNE_2_WIDTH  EQU $14
-
-; SSAnne3_h map_id=97
-SS_ANNE_3_HEIGHT EQU $03
-SS_ANNE_3_WIDTH  EQU $0a
-
-; SSAnne4_h map_id=98
-SS_ANNE_4_HEIGHT EQU $04
-SS_ANNE_4_WIDTH  EQU $0f
-
-; SSAnne5_h map_id=99
-SS_ANNE_5_HEIGHT EQU $07
-SS_ANNE_5_WIDTH  EQU $0a
-
-; SSAnne6_h map_id=100
-SS_ANNE_6_HEIGHT EQU $08
-SS_ANNE_6_WIDTH  EQU $07
-
-; SSAnne7_h map_id=101
-SS_ANNE_7_HEIGHT EQU $04
-SS_ANNE_7_WIDTH  EQU $03
-
-; SSAnne8_h map_id=102
-SS_ANNE_8_HEIGHT EQU $08
-SS_ANNE_8_WIDTH  EQU $0c
-
-; SSAnne9_h map_id=103
-SS_ANNE_9_HEIGHT EQU $08
-SS_ANNE_9_WIDTH  EQU $0c
-
-; SSAnne10_h map_id=104
-SS_ANNE_10_HEIGHT EQU $08
-SS_ANNE_10_WIDTH  EQU $0c
-
-; VictoryRoad1_h map_id=108
-VICTORY_ROAD_1_HEIGHT EQU $09
-VICTORY_ROAD_1_WIDTH  EQU $0a
-
-; Lance_h map_id=113
-LANCES_ROOM_HEIGHT EQU $0d
-LANCES_ROOM_WIDTH  EQU $0d
-
-; HallofFameRoom_h map_id=118
-HALL_OF_FAME_HEIGHT EQU $04
-HALL_OF_FAME_WIDTH  EQU $05
-
-; UndergroundPathNS_h map_id=119
-UNDERGROUND_PATH_NS_HEIGHT EQU $18
-UNDERGROUND_PATH_NS_WIDTH  EQU $04
-
-; Gary_h map_id=120
-CHAMPIONS_ROOM_HEIGHT EQU $04
-CHAMPIONS_ROOM_WIDTH  EQU $04
-
-; UndergroundPathWE_h map_id=121
-UNDERGROUND_PATH_WE_HEIGHT EQU $04
-UNDERGROUND_PATH_WE_WIDTH  EQU $19
-
-; CeladonMart1_h map_id=122
-CELADON_MART_1_HEIGHT EQU $04
-CELADON_MART_1_WIDTH  EQU $0a
-
-; CeladonMart2_h map_id=123
-CELADON_MART_2_HEIGHT EQU $04
-CELADON_MART_2_WIDTH  EQU $0a
-
-; CeladonMart3_h map_id=124
-CELADON_MART_3_HEIGHT EQU $04
-CELADON_MART_3_WIDTH  EQU $0a
-
-; CeladonMart4_h map_id=125
-CELADON_MART_4_HEIGHT EQU $04
-CELADON_MART_4_WIDTH  EQU $0a
-
-; CeladonMartRoof_h map_id=126
-CELADON_MART_ROOF_HEIGHT EQU $04
-CELADON_MART_ROOF_WIDTH  EQU $0a
-
-; CeladonMartElevator_h map_id=127
-CELADON_MART_ELEVATOR_HEIGHT EQU $02
-CELADON_MART_ELEVATOR_WIDTH  EQU $02
-
-; CeladonMansion1_h map_id=128
-CELADON_MANSION_1_HEIGHT EQU $06
-CELADON_MANSION_1_WIDTH  EQU $04
-
-; CeladonMansion2_h map_id=129
-CELADON_MANSION_2_HEIGHT EQU $06
-CELADON_MANSION_2_WIDTH  EQU $04
-
-; CeladonMansion3_h map_id=130
-CELADON_MANSION_3_HEIGHT EQU $06
-CELADON_MANSION_3_WIDTH  EQU $04
-
-; CeladonMansion4_h map_id=131
-CELADON_MANSION_4_HEIGHT EQU $06
-CELADON_MANSION_4_WIDTH  EQU $04
-
-; CeladonMansion5_h map_id=132
-CELADON_MANSION_5_HEIGHT EQU $04
-CELADON_MANSION_5_WIDTH  EQU $04
-
-; CeladonPokecenter_h map_id=133
-CELADON_POKECENTER_HEIGHT EQU $04
-CELADON_POKECENTER_WIDTH  EQU $07
-
-; CeladonGym_h map_id=134
-CELADON_GYM_HEIGHT EQU $09
-CELADON_GYM_WIDTH  EQU $05
-
-; CeladonGameCorner_h map_id=135
-GAME_CORNER_HEIGHT EQU $09
-GAME_CORNER_WIDTH  EQU $0a
-
-; CeladonMart5_h map_id=136
-CELADON_MART_5_HEIGHT EQU $04
-CELADON_MART_5_WIDTH  EQU $0a
-
-; CeladonPrizeRoom_h map_id=137
-CELADONPRIZE_ROOM_HEIGHT EQU $04
-CELADONPRIZE_ROOM_WIDTH  EQU $05
-
-; CeladonDiner_h map_id=138
-CELADON_DINER_HEIGHT EQU $04
-CELADON_DINER_WIDTH  EQU $05
-
-; CeladonHouse_h map_id=139
-CELADON_HOUSE_HEIGHT EQU $04
-CELADON_HOUSE_WIDTH  EQU $04
-
-; CeladonHotel_h map_id=140
-CELADONHOTEL_HEIGHT EQU $04
-CELADONHOTEL_WIDTH  EQU $07
-
-; LavenderPokecenter_h map_id=141
-LAVENDER_POKECENTER_HEIGHT EQU $04
-LAVENDER_POKECENTER_WIDTH  EQU $07
-
-; PokemonTower1_h map_id=142
-POKEMONTOWER_1_HEIGHT EQU $09
-POKEMONTOWER_1_WIDTH  EQU $0a
-
-; PokemonTower2_h map_id=143
-POKEMONTOWER_2_HEIGHT EQU $09
-POKEMONTOWER_2_WIDTH  EQU $0a
-
-; PokemonTower3_h map_id=144
-POKEMONTOWER_3_HEIGHT EQU $09
-POKEMONTOWER_3_WIDTH  EQU $0a
-
-; PokemonTower4_h map_id=145
-POKEMONTOWER_4_HEIGHT EQU $09
-POKEMONTOWER_4_WIDTH  EQU $0a
-
-; PokemonTower5_h map_id=146
-POKEMONTOWER_5_HEIGHT EQU $09
-POKEMONTOWER_5_WIDTH  EQU $0a
-
-; PokemonTower6_h map_id=147
-POKEMONTOWER_6_HEIGHT EQU $09
-POKEMONTOWER_6_WIDTH  EQU $0a
-
-; PokemonTower7_h map_id=148
-POKEMONTOWER_7_HEIGHT EQU $09
-POKEMONTOWER_7_WIDTH  EQU $0a
-
-; LavenderHouse1_h map_id=149
-LAVENDER_HOUSE_1_HEIGHT EQU $04
-LAVENDER_HOUSE_1_WIDTH  EQU $04
-
-; LavenderMart_h map_id=150
-LAVENDER_MART_HEIGHT EQU $04
-LAVENDER_MART_WIDTH  EQU $04
-
-; LavenderHouse2_h map_id=151
-LAVENDER_HOUSE_2_HEIGHT EQU $04
-LAVENDER_HOUSE_2_WIDTH  EQU $04
-
-; FuchsiaMart_h map_id=152
-FUCHSIA_MART_HEIGHT EQU $04
-FUCHSIA_MART_WIDTH  EQU $04
-
-; FuchsiaHouse1_h map_id=153
-FUCHSIA_HOUSE_1_HEIGHT EQU $04
-FUCHSIA_HOUSE_1_WIDTH  EQU $04
-
-; FuchsiaPokecenter_h map_id=154
-FUCHSIA_POKECENTER_HEIGHT EQU $04
-FUCHSIA_POKECENTER_WIDTH  EQU $07
-
-; FuchsiaHouse2_h map_id=155
-FUCHSIA_HOUSE_2_HEIGHT EQU $04
-FUCHSIA_HOUSE_2_WIDTH  EQU $05
-
-; SafariZoneEntrance_h map_id=156
-SAFARIZONEENTRANCE_HEIGHT EQU $03
-SAFARIZONEENTRANCE_WIDTH  EQU $04
-
-; FuchsiaGym_h map_id=157
-FUCHSIA_GYM_HEIGHT EQU $09
-FUCHSIA_GYM_WIDTH  EQU $05
-
-; FuchsiaMeetingRoom_h map_id=158
-FUCHSIAMEETINGROOM_HEIGHT EQU $04
-FUCHSIAMEETINGROOM_WIDTH  EQU $07
-
-; SeafoamIslands2_h map_id=159
-SEAFOAM_ISLANDS_2_HEIGHT EQU $09
-SEAFOAM_ISLANDS_2_WIDTH  EQU $0f
-
-; SeafoamIslands3_h map_id=160
-SEAFOAM_ISLANDS_3_HEIGHT EQU $09
-SEAFOAM_ISLANDS_3_WIDTH  EQU $0f
-
-; SeafoamIslands4_h map_id=161
-SEAFOAM_ISLANDS_4_HEIGHT EQU $09
-SEAFOAM_ISLANDS_4_WIDTH  EQU $0f
-
-; SeafoamIslands5_h map_id=162
-SEAFOAM_ISLANDS_5_HEIGHT EQU $09
-SEAFOAM_ISLANDS_5_WIDTH  EQU $0f
-
-; VermilionHouse2_h map_id=163
-VERMILION_HOUSE_2_HEIGHT EQU $04
-VERMILION_HOUSE_2_WIDTH  EQU $04
-
-; FuchsiaHouse3_h map_id=164
-FUCHSIA_HOUSE_3_HEIGHT EQU $04
-FUCHSIA_HOUSE_3_WIDTH  EQU $04
-
-; Mansion1_h map_id=165
-MANSION_1_HEIGHT EQU $0e
-MANSION_1_WIDTH  EQU $0f
-
-; CinnabarGym_h map_id=166
-CINNABAR_GYM_HEIGHT EQU $09
-CINNABAR_GYM_WIDTH  EQU $0a
-
-; Lab1_h map_id=167
-CINNABAR_LAB_1_HEIGHT EQU $04
-CINNABAR_LAB_1_WIDTH  EQU $09
-
-; Lab2_h map_id=168
-CINNABAR_LAB_2_HEIGHT EQU $04
-CINNABAR_LAB_2_WIDTH  EQU $04
-
-; Lab3_h map_id=169
-CINNABAR_LAB_3_HEIGHT EQU $04
-CINNABAR_LAB_3_WIDTH  EQU $04
-
-; Lab4_h map_id=170
-CINNABAR_LAB_4_HEIGHT EQU $04
-CINNABAR_LAB_4_WIDTH  EQU $04
-
-; CinnabarPokecenter_h map_id=171
-CINNABAR_POKECENTER_HEIGHT EQU $04
-CINNABAR_POKECENTER_WIDTH  EQU $07
-
-; CinnabarMart_h map_id=172
-CINNABAR_MART_HEIGHT EQU $04
-CINNABAR_MART_WIDTH  EQU $04
-
-; IndigoPlateauLobby_h map_id=174
-INDIGO_PLATEAU_LOBBY_HEIGHT EQU $06
-INDIGO_PLATEAU_LOBBY_WIDTH  EQU $08
-
-; CopycatsHouseF1_h map_id=175
-COPYCATS_HOUSE_1F_HEIGHT EQU $04
-COPYCATS_HOUSE_1F_WIDTH  EQU $04
-
-; CopycatsHouseF2_h map_id=176
-COPYCATS_HOUSE_2F_HEIGHT EQU $04
-COPYCATS_HOUSE_2F_WIDTH  EQU $04
-
-; FightingDojo_h map_id=177
-FIGHTINGDOJO_HEIGHT EQU $06
-FIGHTINGDOJO_WIDTH  EQU $05
-
-; SaffronGym_h map_id=178
-SAFFRON_GYM_HEIGHT EQU $09
-SAFFRON_GYM_WIDTH  EQU $0a
-
-; SaffronHouse1_h map_id=179
-SAFFRON_HOUSE_1_HEIGHT EQU $04
-SAFFRON_HOUSE_1_WIDTH  EQU $04
-
-; SaffronMart_h map_id=180
-SAFFRON_MART_HEIGHT EQU $04
-SAFFRON_MART_WIDTH  EQU $04
-
-; SilphCo1_h map_id=181
-SILPH_CO_1F_HEIGHT EQU $09
-SILPH_CO_1F_WIDTH  EQU $0f
-
-; SaffronPokecenter_h map_id=182
-SAFFRON_POKECENTER_HEIGHT EQU $04
-SAFFRON_POKECENTER_WIDTH  EQU $07
-
-; SaffronHouse2_h map_id=183
-SAFFRON_HOUSE_2_HEIGHT EQU $04
-SAFFRON_HOUSE_2_WIDTH  EQU $04
-
-; Route15Gate1F_h map_id=184
-ROUTE_15_GATE_1F_HEIGHT EQU $05
-ROUTE_15_GATE_1F_WIDTH  EQU $04
-
-; Route15GateUpstairs_h map_id=185
-ROUTE_15_GATE_2F_HEIGHT EQU 4
-ROUTE_15_GATE_2F_WIDTH  EQU 4
-
-; Route16GateMap_h map_id=186
-ROUTE_16_GATE_1F_HEIGHT EQU $07
-ROUTE_16_GATE_1F_WIDTH  EQU $04
-
-; Route16GateUpstairs_h map_id=187
-ROUTE_16_GATE_2F_HEIGHT EQU $04
-ROUTE_16_GATE_2F_WIDTH  EQU $04
-
-; Route16House_h map_id=188
-ROUTE_16_HOUSE_HEIGHT EQU $04
-ROUTE_16_HOUSE_WIDTH  EQU $04
-
-; Route12House_h map_id=189
-ROUTE_12_HOUSE_HEIGHT EQU $04
-ROUTE_12_HOUSE_WIDTH  EQU $04
-
-; Route18Gate_h map_id=190
-ROUTE_18_GATE_1F_HEIGHT EQU $05
-ROUTE_18_GATE_1F_WIDTH  EQU $04
-
-; Route18GateHeader_h map_id=191
-ROUTE_18_GATE_2F_HEIGHT EQU $04
-ROUTE_18_GATE_2F_WIDTH  EQU $04
-
-; SeafoamIslands1_h map_id=192
-SEAFOAM_ISLANDS_1_HEIGHT EQU $09
-SEAFOAM_ISLANDS_1_WIDTH  EQU $0f
-
-; Route22Gate_h map_id=193
-ROUTE_22_GATE_HEIGHT EQU $04
-ROUTE_22_GATE_WIDTH  EQU $05
-
-; VictoryRoad2_h map_id=194
-VICTORY_ROAD_2_HEIGHT EQU $09
-VICTORY_ROAD_2_WIDTH  EQU $0f
-
-; Route12GateUpstairs_h map_id=195
-ROUTE_12_GATE_2F_HEIGHT EQU $04
-ROUTE_12_GATE_2F_WIDTH  EQU $04
-
-; VermilionHouse3_h map_id=196
-VERMILION_HOUSE_3_HEIGHT EQU $04
-VERMILION_HOUSE_3_WIDTH  EQU $04
-
-; DiglettsCave_h map_id=197
-DIGLETTS_CAVE_HEIGHT EQU $12
-DIGLETTS_CAVE_WIDTH  EQU $14
-
-; VictoryRoad3_h map_id=198
-VICTORY_ROAD_3_HEIGHT EQU $09
-VICTORY_ROAD_3_WIDTH  EQU $0f
-
-; RocketHideout1_h map_id=199
-ROCKET_HIDEOUT_1_HEIGHT EQU $0e
-ROCKET_HIDEOUT_1_WIDTH  EQU $0f
-
-; RocketHideout2_h map_id=200
-ROCKET_HIDEOUT_2_HEIGHT EQU $0e
-ROCKET_HIDEOUT_2_WIDTH  EQU $0f
-
-; RocketHideout3_h map_id=201
-ROCKET_HIDEOUT_3_HEIGHT EQU $0e
-ROCKET_HIDEOUT_3_WIDTH  EQU $0f
-
-; RocketHideout4_h map_id=202
-ROCKET_HIDEOUT_4_HEIGHT EQU $0c
-ROCKET_HIDEOUT_4_WIDTH  EQU $0f
-
-; RocketHideoutElevator_h map_id=203
-ROCKET_HIDEOUT_ELEVATOR_HEIGHT EQU $04
-ROCKET_HIDEOUT_ELEVATOR_WIDTH  EQU $03
-
-; SilphCo2_h map_id=207
-SILPH_CO_2F_HEIGHT EQU $09
-SILPH_CO_2F_WIDTH  EQU $0f
-
-; SilphCo3_h map_id=208
-SILPH_CO_3F_HEIGHT EQU $09
-SILPH_CO_3F_WIDTH  EQU $0f
-
-; SilphCo4_h map_id=209
-SILPH_CO_4F_HEIGHT EQU $09
-SILPH_CO_4F_WIDTH  EQU $0f
-
-; SilphCo5_h map_id=210
-SILPH_CO_5F_HEIGHT EQU $09
-SILPH_CO_5F_WIDTH  EQU $0f
-
-; SilphCo6_h map_id=211
-SILPH_CO_6F_HEIGHT EQU $09
-SILPH_CO_6F_WIDTH  EQU $0d
-
-; SilphCo7_h map_id=212
-SILPH_CO_7F_HEIGHT EQU $09
-SILPH_CO_7F_WIDTH  EQU $0d
-
-; SilphCo8_h map_id=213
-SILPH_CO_8F_HEIGHT EQU $09
-SILPH_CO_8F_WIDTH  EQU $0d
-
-; Mansion2_h map_id=214
-MANSION_2_HEIGHT EQU $0e
-MANSION_2_WIDTH  EQU $0f
-
-; Mansion3_h map_id=215
-MANSION_3_HEIGHT EQU $09
-MANSION_3_WIDTH  EQU $0f
-
-; Mansion4_h map_id=216
-MANSION_4_HEIGHT EQU $0e
-MANSION_4_WIDTH  EQU $0f
-
-; SafariZoneEast_h map_id=217
-SAFARI_ZONE_EAST_HEIGHT EQU $0d
-SAFARI_ZONE_EAST_WIDTH  EQU $0f
-
-; SafariZoneNorth_h map_id=218
-SAFARI_ZONE_NORTH_HEIGHT EQU $12
-SAFARI_ZONE_NORTH_WIDTH  EQU $14
-
-; SafariZoneWest_h map_id=219
-SAFARI_ZONE_WEST_HEIGHT EQU $0d
-SAFARI_ZONE_WEST_WIDTH  EQU $0f
-
-; SafariZoneCenter_h map_id=220
-SAFARI_ZONE_CENTER_HEIGHT EQU $0d
-SAFARI_ZONE_CENTER_WIDTH  EQU $0f
-
-; SafariZoneRestHouse1_h map_id=221
-SAFARI_ZONE_REST_HOUSE_1_HEIGHT EQU $04
-SAFARI_ZONE_REST_HOUSE_1_WIDTH  EQU $04
-
-; SafariZoneSecretHouse_h map_id=222
-SAFARI_ZONE_SECRET_HOUSE_HEIGHT EQU $04
-SAFARI_ZONE_SECRET_HOUSE_WIDTH  EQU $04
-
-; SafariZoneRestHouse2_h map_id=223
-SAFARI_ZONE_REST_HOUSE_2_HEIGHT EQU $04
-SAFARI_ZONE_REST_HOUSE_2_WIDTH  EQU $04
-
-; SafariZoneRestHouse3_h map_id=224
-SAFARI_ZONE_REST_HOUSE_3_HEIGHT EQU $04
-SAFARI_ZONE_REST_HOUSE_3_WIDTH  EQU $04
-
-; SafariZoneRestHouse4_h map_id=225
-SAFARI_ZONE_REST_HOUSE_4_HEIGHT EQU $04
-SAFARI_ZONE_REST_HOUSE_4_WIDTH  EQU $04
-
-; UnknownDungeon2_h map_id=226
-UNKNOWN_DUNGEON_2_HEIGHT EQU $09
-UNKNOWN_DUNGEON_2_WIDTH  EQU $0f
-
-; UnknownDungeon3_h map_id=227
-UNKNOWN_DUNGEON_3_HEIGHT EQU $09
-UNKNOWN_DUNGEON_3_WIDTH  EQU $0f
-
-; UnknownDungeon1_h map_id=228
-UNKNOWN_DUNGEON_1_HEIGHT EQU $09
-UNKNOWN_DUNGEON_1_WIDTH  EQU $0f
-
-; NameRater_h map_id=229
-NAME_RATERS_HOUSE_HEIGHT EQU $04
-NAME_RATERS_HOUSE_WIDTH  EQU $04
-
-; CeruleanHouse2_h map_id=230
-CERULEAN_HOUSE_2_HEIGHT EQU $04
-CERULEAN_HOUSE_2_WIDTH  EQU $04
-
-; RockTunnel2_h map_id=232
-ROCK_TUNNEL_2_HEIGHT EQU $12
-ROCK_TUNNEL_2_WIDTH  EQU $14
-
-; SilphCo9_h map_id=233
-SILPH_CO_9F_HEIGHT EQU $09
-SILPH_CO_9F_WIDTH  EQU $0d
-
-; SilphCo10_h map_id=234
-SILPH_CO_10F_HEIGHT EQU $09
-SILPH_CO_10F_WIDTH  EQU $08
-
-; SilphCo11_h map_id=235
-SILPH_CO_11F_HEIGHT EQU $09
-SILPH_CO_11F_WIDTH  EQU $09
-
-; SilphCoElevator_h map_id=236
-SILPH_CO_ELEVATOR_HEIGHT EQU $02
-SILPH_CO_ELEVATOR_WIDTH  EQU $02
-
-; BattleCenterM_h map_id=239
-BATTLE_CENTER_HEIGHT EQU $04
-BATTLE_CENTER_WIDTH  EQU $05
-
-; TradeCenterM_h map_id=240
-TRADE_CENTER_HEIGHT EQU $04
-TRADE_CENTER_WIDTH  EQU $05
-
-; Lorelei_h map_id=245
-LORELEIS_ROOM_HEIGHT EQU $06
-LORELEIS_ROOM_WIDTH  EQU $05
-
-; Bruno_h map_id=246
-BRUNOS_ROOM_HEIGHT EQU $06
-BRUNOS_ROOM_WIDTH  EQU $05
-
-; Agatha_h map_id=247
-AGATHAS_ROOM_HEIGHT EQU $06
-AGATHAS_ROOM_WIDTH  EQU $05
-
 
--- /dev/null
+++ b/constants/item_constants.asm
@@ -1,0 +1,140 @@
+MASTER_BALL   EQU $01
+ULTRA_BALL    EQU $02
+GREAT_BALL    EQU $03
+POKE_BALL     EQU $04
+TOWN_MAP      EQU $05
+BICYCLE       EQU $06
+SURFBOARD     EQU $07 ; buggy?
+SAFARI_BALL   EQU $08
+POKEDEX       EQU $09
+MOON_STONE    EQU $0A
+ANTIDOTE      EQU $0B
+BURN_HEAL     EQU $0C
+ICE_HEAL      EQU $0D
+AWAKENING     EQU $0E
+PARLYZ_HEAL   EQU $0F
+FULL_RESTORE  EQU $10
+MAX_POTION    EQU $11
+HYPER_POTION  EQU $12
+SUPER_POTION  EQU $13
+POTION        EQU $14
+BOULDERBADGE  EQU $15
+CASCADEBADGE  EQU $16
+THUNDERBADGE  EQU $17
+RAINBOWBADGE  EQU $18
+SOULBADGE     EQU $19
+MARSHBADGE    EQU $1A
+VOLCANOBADGE  EQU $1B
+EARTHBADGE    EQU $1C
+ESCAPE_ROPE   EQU $1D
+REPEL         EQU $1E
+OLD_AMBER     EQU $1F
+FIRE_STONE    EQU $20
+THUNDER_STONE EQU $21
+WATER_STONE   EQU $22
+HP_UP         EQU $23
+PROTEIN       EQU $24
+IRON          EQU $25
+CARBOS        EQU $26
+CALCIUM       EQU $27
+RARE_CANDY    EQU $28
+DOME_FOSSIL   EQU $29
+HELIX_FOSSIL  EQU $2A
+SECRET_KEY    EQU $2B
+; XXX ????? EQU $2C
+BIKE_VOUCHER  EQU $2D
+X_ACCURACY    EQU $2E
+LEAF_STONE    EQU $2F
+CARD_KEY      EQU $30
+NUGGET        EQU $31
+;PP_UP         EQU $32
+POKE_DOLL     EQU $33
+FULL_HEAL     EQU $34
+REVIVE        EQU $35
+MAX_REVIVE    EQU $36
+GUARD_SPEC_   EQU $37
+SUPER_REPEL   EQU $38
+MAX_REPEL     EQU $39
+DIRE_HIT      EQU $3A
+COIN          EQU $3B
+FRESH_WATER   EQU $3C
+SODA_POP      EQU $3D
+LEMONADE      EQU $3E
+S_S__TICKET   EQU $3F
+GOLD_TEETH    EQU $40
+X_ATTACK      EQU $41
+X_DEFEND      EQU $42
+X_SPEED       EQU $43
+X_SPECIAL     EQU $44
+COIN_CASE     EQU $45
+OAKS_PARCEL   EQU $46
+ITEMFINDER    EQU $47
+SILPH_SCOPE   EQU $48
+POKE_FLUTE    EQU $49
+LIFT_KEY      EQU $4A
+EXP__ALL      EQU $4B
+OLD_ROD       EQU $4C
+GOOD_ROD      EQU $4D
+SUPER_ROD     EQU $4E
+; XXX todo: compare this to $32
+PP_UP         EQU $4F
+ETHER         EQU $50
+MAX_ETHER     EQU $51
+ELIXER        EQU $52
+MAX_ELIXER    EQU $53
+HM_01         EQU $C4
+HM_02         EQU $C5
+HM_03         EQU $C6
+HM_04         EQU $C7
+HM_05         EQU $C8
+TM_01         EQU $C9
+TM_02         EQU $CA
+TM_03         EQU $CB
+TM_04         EQU $CC
+TM_05         EQU $CD
+TM_06         EQU $CE
+TM_07         EQU $CF
+TM_08         EQU $D0
+TM_09         EQU $D1
+TM_10         EQU $D2
+TM_11         EQU $D3
+TM_12         EQU $D4
+TM_13         EQU $D5
+TM_14         EQU $D6
+TM_15         EQU $D7
+TM_16         EQU $D8
+TM_17         EQU $D9
+TM_18         EQU $DA
+TM_19         EQU $DB
+TM_20         EQU $DC
+TM_21         EQU $DD
+TM_22         EQU $DE
+TM_23         EQU $DF
+TM_24         EQU $E0
+TM_25         EQU $E1
+TM_26         EQU $E2
+TM_27         EQU $E3
+TM_28         EQU $E4
+TM_29         EQU $E5
+TM_30         EQU $E6
+TM_31         EQU $E7
+TM_32         EQU $E8
+TM_33         EQU $E9
+TM_34         EQU $EA
+TM_35         EQU $EB
+TM_36         EQU $EC
+TM_37         EQU $ED
+TM_38         EQU $EE
+TM_39         EQU $EF
+TM_40         EQU $F0
+TM_41         EQU $F1
+TM_42         EQU $F2
+TM_43         EQU $F3
+TM_44         EQU $F4
+TM_45         EQU $F5
+TM_46         EQU $F6
+TM_47         EQU $F7
+TM_48         EQU $F8
+TM_49         EQU $F9
+TM_50         EQU $FA
+
--- /dev/null
+++ b/constants/map_constants.asm
@@ -1,0 +1,250 @@
+PALLET_TOWN     EQU $00
+VIRIDIAN_CITY   EQU $01
+PEWTER_CITY     EQU $02
+CERULEAN_CITY   EQU $03
+LAVENDER_TOWN   EQU $04
+VERMILION_CITY  EQU $05
+CELADON_CITY    EQU $06
+FUCHSIA_CITY    EQU $07
+CINNABAR_ISLAND EQU $08
+INDIGO_PLATEAU  EQU $09
+SAFFRON_CITY    EQU $0A
+; unused        EQU $0B
+ROUTE_1         EQU $0C
+ROUTE_2         EQU $0D
+ROUTE_3         EQU $0E
+ROUTE_4         EQU $0F
+ROUTE_5         EQU $10
+ROUTE_6         EQU $11
+ROUTE_7         EQU $12
+ROUTE_8         EQU $13
+ROUTE_9         EQU $14
+ROUTE_10        EQU $15
+ROUTE_11        EQU $16
+ROUTE_12        EQU $17
+ROUTE_13        EQU $18
+ROUTE_14        EQU $19
+ROUTE_15        EQU $1A
+ROUTE_16        EQU $1B
+ROUTE_17        EQU $1C
+ROUTE_18        EQU $1D
+ROUTE_19        EQU $1E
+ROUTE_20        EQU $1F
+ROUTE_21        EQU $20
+ROUTE_22        EQU $21
+ROUTE_23        EQU $22
+ROUTE_24        EQU $23
+ROUTE_25        EQU $24
+REDS_HOUSE_1F EQU $25
+REDS_HOUSE_2F EQU $26
+BLUES_HOUSE EQU $27
+OAKS_LAB EQU $28
+VIRIDIAN_POKECENTER EQU $29
+VIRIDIAN_MART EQU $2A
+VIRIDIAN_SCHOOL EQU $2B
+VIRIDIAN_HOUSE EQU $2C
+VIRIDIAN_GYM EQU $2D
+DIGLETTS_CAVE_EXIT EQU $2E
+VIRIDIAN_FOREST_EXIT EQU $2F
+ROUTE_2_HOUSE EQU $30
+ROUTE_2_GATE EQU $31
+VIRIDIAN_FOREST_ENTRANCE EQU $32
+VIRIDIAN_FOREST EQU $33
+MUSEUM_1F EQU $34
+MUSEUM_2F EQU $35
+PEWTER_GYM EQU $36
+PEWTER_HOUSE_1 EQU $37
+PEWTER_MART EQU $38
+PEWTER_HOUSE_2 EQU $39
+PEWTER_POKECENTER EQU $3A
+MT_MOON_1 EQU $3B
+MT_MOON_2 EQU $3C
+MT_MOON_3 EQU $3D
+TRASHED_HOUSE EQU $3E
+CERULEAN_HOUSE EQU $3F
+CERULEAN_POKECENTER EQU $40
+CERULEAN_GYM EQU $41
+BIKE_SHOP EQU $42
+CERULEAN_MART EQU $43
+MT_MOON_POKECENTER EQU $44
+;copy of TRASHED_HOUSE EQU $45
+ROUTE_5_GATE EQU $46
+PATH_ENTRANCE_ROUTE_5 EQU $47
+DAYCAREM EQU $48
+ROUTE_6_GATE EQU $49
+PATH_ENTRANCE_ROUTE_6 EQU $4A
+;copy of PATH_ENTRANCE_ROUTE_6 EQU $4B
+ROUTE_7_GATE EQU $4C
+PATH_ENTRANCE_ROUTE_7 EQU $4D
+;copy of PATH_ENTRANCE_ROUTE_7 EQU $4E
+ROUTE_8_GATE EQU $4F
+PATH_ENTRANCE_ROUTE_8 EQU $50
+ROCK_TUNNEL_POKECENTER EQU $51
+ROCK_TUNNEL_1 EQU $52
+POWER_PLANT EQU $53
+ROUTE_11_GATE_1F EQU $54
+DIGLETTS_CAVE_ENTRANCE EQU $55
+ROUTE_11_GATE_2F EQU $56
+ROUTE_12_GATE EQU $57
+BILLS_HOUSE EQU $58
+VERMILION_POKECENTER EQU $59
+POKEMON_FAN_CLUB EQU $5A
+VERMILION_MART EQU $5B
+VERMILION_GYM EQU $5C
+VERMILION_HOUSE_1 EQU $5D
+VERMILION_DOCK EQU $5E
+SS_ANNE_1 EQU $5F
+SS_ANNE_2 EQU $60
+SS_ANNE_3 EQU $61
+SS_ANNE_4 EQU $62
+SS_ANNE_5 EQU $63
+SS_ANNE_6 EQU $64
+SS_ANNE_7 EQU $65
+SS_ANNE_8 EQU $66
+SS_ANNE_9 EQU $67
+SS_ANNE_10 EQU $68
+;EQU $69
+;EQU $6A
+;EQU $6B
+VICTORY_ROAD_1 EQU $6C
+;EQU $6D
+;EQU $6E
+;EQU $6F
+;EQU $70
+LANCES_ROOM EQU $71
+;EQU $72
+;EQU $73
+;EQU $74
+;EQU $75
+HALL_OF_FAME EQU $76
+UNDERGROUND_PATH_NS EQU $77
+CHAMPIONS_ROOM EQU $78
+UNDERGROUND_PATH_WE EQU $79
+CELADON_MART_1 EQU $7A
+CELADON_MART_2 EQU $7B
+CELADON_MART_3 EQU $7C
+CELADON_MART_4 EQU $7D
+CELADON_MART_ROOF EQU $7E
+CELADON_MART_ELEVATOR EQU $7F
+CELADON_MANSION_1 EQU $80
+CELADON_MANSION_2 EQU $81
+CELADON_MANSION_3 EQU $82
+CELADON_MANSION_4 EQU $83
+CELADON_MANSION_5 EQU $84
+CELADON_POKECENTER EQU $85
+CELADON_GYM EQU $86
+GAME_CORNER EQU $87
+CELADON_MART_5 EQU $88
+CELADONPRIZE_ROOM EQU $89
+CELADON_DINER EQU $8A
+CELADON_HOUSE EQU $8B
+CELADON_HOTEL EQU $8C
+LAVENDER_POKECENTER EQU $8D
+POKEMONTOWER_1 EQU $8E
+POKEMONTOWER_2 EQU $8F
+POKEMONTOWER_3 EQU $90
+POKEMONTOWER_4 EQU $91
+POKEMONTOWER_5 EQU $92
+POKEMONTOWER_6 EQU $93
+POKEMONTOWER_7 EQU $94
+LAVENDER_HOUSE_1 EQU $95
+LAVENDER_MART EQU $96
+LAVENDER_HOUSE_2 EQU $97
+FUCHSIA_MART EQU $98
+FUCHSIA_HOUSE_1 EQU $99
+FUCHSIA_POKECENTER EQU $9A
+FUCHSIA_HOUSE_2 EQU $9B
+SAFARIZONEENTRANCE EQU $9C
+FUCHSIA_GYM EQU $9D
+FUCHSIAMEETINGROOM EQU $9E
+SEAFOAM_ISLANDS_2 EQU $9F
+SEAFOAM_ISLANDS_3 EQU $A0
+SEAFOAM_ISLANDS_4 EQU $A1
+SEAFOAM_ISLANDS_5 EQU $A2
+VERMILION_HOUSE_2 EQU $A3
+FUCHSIA_HOUSE_3 EQU $A4
+MANSION_1 EQU $A5
+CINNABAR_GYM EQU $A6
+CINNABAR_LAB_1 EQU $A7
+CINNABAR_LAB_2 EQU $A8
+CINNABAR_LAB_3 EQU $A9
+CINNABAR_LAB_4 EQU $AA
+CINNABAR_POKECENTER EQU $AB
+CINNABAR_MART EQU $AC
+;copy of CINNABAR_MART EQU $AD
+INDIGO_PLATEAU_LOBBY EQU $AE
+COPYCATS_HOUSE_1F EQU $AF
+COPYCATS_HOUSE_2F EQU $B0
+FIGHTINGDOJO EQU $B1
+SAFFRON_GYM EQU $B2
+SAFFRON_HOUSE_1 EQU $B3
+SAFFRON_MART EQU $B4
+SILPH_CO_1F EQU $B5
+SAFFRON_POKECENTER EQU $B6
+SAFFRON_HOUSE_2 EQU $B7
+ROUTE_15_GATE_1F EQU $B8
+ROUTE_15_GATE_2F EQU $B9
+ROUTE_16_GATE_1F EQU $BA
+ROUTE_16_GATE_2F EQU $BB
+ROUTE_16_HOUSE EQU $BC
+ROUTE_12_HOUSE EQU $BD
+ROUTE_18_GATE_1F EQU $BE
+ROUTE_18_GATE_2F EQU $BF
+SEAFOAM_ISLANDS_1 EQU $C0
+ROUTE_22_GATE EQU $C1
+VICTORY_ROAD_2 EQU $C2
+ROUTE_12_GATE_2F EQU $C3
+VERMILION_HOUSE_3 EQU $C4
+DIGLETTS_CAVE EQU $C5
+VICTORY_ROAD_3 EQU $C6
+ROCKET_HIDEOUT_1 EQU $C7
+ROCKET_HIDEOUT_2 EQU $C8
+ROCKET_HIDEOUT_3 EQU $C9
+ROCKET_HIDEOUT_4 EQU $CA
+ROCKET_HIDEOUT_ELEVATOR EQU $CB
+;EQU $CC
+;EQU $CD
+;EQU $CE
+SILPH_CO_2F EQU $CF
+SILPH_CO_3F EQU $D0
+SILPH_CO_4F EQU $D1
+SILPH_CO_5F EQU $D2
+SILPH_CO_6F EQU $D3
+SILPH_CO_7F EQU $D4
+SILPH_CO_8F EQU $D5
+MANSION_2 EQU $D6
+MANSION_3 EQU $D7
+MANSION_4 EQU $D8
+SAFARI_ZONE_EAST EQU $D9
+SAFARI_ZONE_NORTH EQU $DA
+SAFARI_ZONE_WEST EQU $DB
+SAFARI_ZONE_CENTER EQU $DC
+SAFARI_ZONE_REST_HOUSE_1 EQU $DD
+SAFARI_ZONE_SECRET_HOUSE EQU $DE
+SAFARI_ZONE_REST_HOUSE_2 EQU $DF
+SAFARI_ZONE_REST_HOUSE_3 EQU $E0
+SAFARI_ZONE_REST_HOUSE_4 EQU $E1
+UNKNOWN_DUNGEON_2 EQU $E2
+UNKNOWN_DUNGEON_3 EQU $E3
+UNKNOWN_DUNGEON_1 EQU $E4
+NAME_RATERS_HOUSE EQU $E5
+CERULEAN_HOUSE_3 EQU $E6
+;EQU $E7
+ROCK_TUNNEL_2 EQU $E8
+SILPH_CO_9F EQU $E9
+SILPH_CO_10F EQU $EA
+SILPH_CO_11F EQU $EB
+SILPH_CO_ELEVATOR EQU $EC
+;EQU $ED
+;EQU $EE
+BATTLE_CENTER EQU $EF
+TRADE_CENTER EQU $F0
+;EQU $F1
+;EQU $F2
+;EQU $F3
+;EQU $F4
+LORELEIS_ROOM EQU $F5
+BRUNOS_ROOM EQU $F6
+AGATHAS_ROOM EQU $F7
+BEACH_HOUSE EQU $F8 ; Yellow only
+
--- /dev/null
+++ b/constants/map_dimensions.asm
@@ -1,0 +1,890 @@
+; Map sizes (y, x)
+
+; PalletTown_h map_id=0
+PALLET_TOWN_HEIGHT EQU $09
+PALLET_TOWN_WIDTH  EQU $0a
+
+; ViridianCity_h map_id=1
+VIRIDIAN_CITY_HEIGHT EQU $12
+VIRIDIAN_CITY_WIDTH  EQU $14
+
+; PewterCity_h map_id=2
+PEWTER_CITY_HEIGHT EQU $12
+PEWTER_CITY_WIDTH  EQU $14
+
+; CeruleanCity_h map_id=3
+CERULEAN_CITY_HEIGHT EQU $12
+CERULEAN_CITY_WIDTH  EQU $14
+
+; LavenderTown_h map_id=4
+LAVENDER_TOWN_HEIGHT EQU $09
+LAVENDER_TOWN_WIDTH  EQU $0a
+
+; VermilionCity_h map_id=5
+VERMILION_CITY_HEIGHT EQU $12
+VERMILION_CITY_WIDTH  EQU $14
+
+; CeladonCity_h map_id=6
+CELADON_CITY_HEIGHT EQU $12
+CELADON_CITY_WIDTH  EQU $19
+
+; FuchsiaCity_h map_id=7
+FUCHSIA_CITY_HEIGHT EQU $12
+FUCHSIA_CITY_WIDTH  EQU $14
+
+; CinnabarIsland_h map_id=8
+CINNABAR_ISLAND_HEIGHT EQU $09
+CINNABAR_ISLAND_WIDTH  EQU $0a
+
+; IndigoPlateau_h map_id=9
+INDIGO_PLATEAU_HEIGHT EQU $09
+INDIGO_PLATEAU_WIDTH  EQU $0a
+
+; SaffronCity_h map_id=10
+SAFFRON_CITY_HEIGHT EQU $12
+SAFFRON_CITY_WIDTH  EQU $14
+
+; Route1_h map_id=12
+ROUTE_1_HEIGHT EQU $12
+ROUTE_1_WIDTH  EQU $0a
+
+; Route2_h map_id=13
+ROUTE_2_HEIGHT EQU $24
+ROUTE_2_WIDTH  EQU $0a
+
+; Route3_h map_id=14
+ROUTE_3_HEIGHT EQU $09
+ROUTE_3_WIDTH  EQU $23
+
+; Route4_h map_id=15
+ROUTE_4_HEIGHT EQU $09
+ROUTE_4_WIDTH  EQU $2d
+
+; Route5_h map_id=16
+ROUTE_5_HEIGHT EQU $12
+ROUTE_5_WIDTH  EQU $0a
+
+; Route6_h map_id=17
+ROUTE_6_HEIGHT EQU $12
+ROUTE_6_WIDTH  EQU $0a
+
+; Route7_h map_id=18
+ROUTE_7_HEIGHT EQU $09
+ROUTE_7_WIDTH  EQU $0a
+
+; Route8_h map_id=19
+ROUTE_8_HEIGHT EQU $09
+ROUTE_8_WIDTH  EQU $1e
+
+; Route9_h map_id=20
+ROUTE_9_HEIGHT EQU $09
+ROUTE_9_WIDTH  EQU $1e
+
+; Route10_h map_id=21
+ROUTE_10_HEIGHT EQU $24
+ROUTE_10_WIDTH  EQU $0a
+
+; Route11_h map_id=22
+ROUTE_11_HEIGHT EQU $09
+ROUTE_11_WIDTH  EQU $1e
+
+; Route12_h map_id=23
+ROUTE_12_HEIGHT EQU $36
+ROUTE_12_WIDTH  EQU $0a
+
+; Route13_h map_id=24
+ROUTE_13_HEIGHT EQU $09
+ROUTE_13_WIDTH  EQU $1e
+
+; Route14_h map_id=25
+ROUTE_14_HEIGHT EQU $1b
+ROUTE_14_WIDTH  EQU $0a
+
+; Route15_h map_id=26
+ROUTE_15_HEIGHT EQU $09
+ROUTE_15_WIDTH  EQU $1e
+
+; Route16_h map_id=27
+ROUTE_16_HEIGHT EQU $09
+ROUTE_16_WIDTH  EQU $14
+
+; Route17_h map_id=28
+ROUTE_17_HEIGHT EQU $48
+ROUTE_17_WIDTH  EQU $0a
+
+; Route18_h map_id=29
+ROUTE_18_HEIGHT EQU $09
+ROUTE_18_WIDTH  EQU $19
+
+; Route19_h map_id=30
+ROUTE_19_HEIGHT EQU $1b
+ROUTE_19_WIDTH  EQU $0a
+
+; Route20_h map_id=31
+ROUTE_20_HEIGHT EQU $09
+ROUTE_20_WIDTH  EQU $32
+
+; Route21_h map_id=32
+ROUTE_21_HEIGHT EQU $2d
+ROUTE_21_WIDTH  EQU $0a
+
+; Route22_h map_id=33
+ROUTE_22_HEIGHT EQU $09
+ROUTE_22_WIDTH  EQU $14
+
+; Route23_h map_id=34
+ROUTE_23_HEIGHT EQU $48
+ROUTE_23_WIDTH  EQU $0a
+
+; Route24_h map_id=35
+ROUTE_24_HEIGHT EQU $12
+ROUTE_24_WIDTH  EQU $0a
+
+; Route25_h map_id=36
+ROUTE_25_HEIGHT EQU $09
+ROUTE_25_WIDTH  EQU $1e
+
+; RedsHouse1F_h map_id=37
+REDS_HOUSE_1F_HEIGHT EQU $04
+REDS_HOUSE_1F_WIDTH  EQU $04
+
+; RedsHouse2F_h map_id=38
+REDS_HOUSE_2F_HEIGHT EQU $04
+REDS_HOUSE_2F_WIDTH  EQU $04
+
+; BluesHouse_h map_id=39
+BLUES_HOUSE_HEIGHT EQU $04
+BLUES_HOUSE_WIDTH  EQU $04
+
+; OaksLab_h map_id=40
+OAKS_LAB_HEIGHT EQU $06
+OAKS_LAB_WIDTH  EQU $05
+
+; ViridianPokeCenter_h map_id=41
+VIRIDIAN_POKECENTER_HEIGHT EQU $04
+VIRIDIAN_POKECENTER_WIDTH  EQU $07
+
+; ViridianMart_h map_id=42
+VIRIDIAN_MART_HEIGHT EQU $04
+VIRIDIAN_MART_WIDTH  EQU $04
+
+; School_h map_id=43
+VIRIDIAN_SCHOOL_HEIGHT EQU $04
+VIRIDIAN_SCHOOL_WIDTH  EQU $04
+
+; ViridianHouse_h map_id=44
+VIRIDIAN_HOUSE_HEIGHT EQU $04
+VIRIDIAN_HOUSE_WIDTH  EQU $04
+
+; ViridianGym_h map_id=45
+VIRIDIAN_GYM_HEIGHT EQU $09
+VIRIDIAN_GYM_WIDTH  EQU $0a
+
+; DiglettsCaveRoute2_h map_id=46
+DIGLETTS_CAVE_EXIT_HEIGHT EQU $04
+DIGLETTS_CAVE_EXIT_WIDTH  EQU $04
+
+; ViridianForestexit_h map_id=47
+VIRIDIAN_FOREST_EXIT_HEIGHT EQU $04
+VIRIDIAN_FOREST_EXIT_WIDTH  EQU $05
+
+; Route2House_h map_id=48
+ROUTE_2_HOUSE_HEIGHT EQU $04
+ROUTE_2_HOUSE_WIDTH  EQU $04
+
+; Route2Gate_h map_id=49
+ROUTE_2_GATE_HEIGHT EQU $04
+ROUTE_2_GATE_WIDTH  EQU $05
+
+; ViridianForestEntrance_h map_id=50
+VIRIDIAN_FOREST_ENTRANCE_HEIGHT EQU $04
+VIRIDIAN_FOREST_ENTRANCE_WIDTH  EQU $05
+
+; ViridianForest_h map_id=51
+VIRIDIAN_FOREST_HEIGHT EQU $18
+VIRIDIAN_FOREST_WIDTH  EQU $11
+
+; MuseumF1_h map_id=52
+MUSEUM_1F_HEIGHT EQU $04
+MUSEUM_1F_WIDTH  EQU $0a
+
+; MuseumF2_h map_id=53
+MUSEUM_2F_HEIGHT EQU $04
+MUSEUM_2F_WIDTH  EQU $07
+
+; PewterGym_h map_id=54
+PEWTER_GYM_HEIGHT EQU $07
+PEWTER_GYM_WIDTH  EQU $05
+
+; PewterHouse1_h map_id=55
+PEWTER_HOUSE_1_HEIGHT EQU $04
+PEWTER_HOUSE_1_WIDTH  EQU $04
+
+; PewterMart_h map_id=56
+PEWTER_MART_HEIGHT EQU $04
+PEWTER_MART_WIDTH  EQU $04
+
+; PewterHouse2_h map_id=57
+PEWTER_HOUSE_2_HEIGHT EQU $04
+PEWTER_HOUSE_2_WIDTH  EQU $04
+
+; PewterPokecenter_h map_id=58
+PEWTER_POKECENTER_HEIGHT EQU $04
+PEWTER_POKECENTER_WIDTH  EQU $07
+
+; MtMoon1_h map_id=59
+MT_MOON_1_HEIGHT EQU $12
+MT_MOON_1_WIDTH  EQU $14
+
+; MtMoon2_h map_id=60
+MT_MOON_2_HEIGHT EQU $0e
+MT_MOON_2_WIDTH  EQU $0e
+
+; MtMoon3_h map_id=61
+MT_MOON_3_HEIGHT EQU $12
+MT_MOON_3_WIDTH  EQU $14
+
+; CeruleanHouseTrashed_h map_id=62
+TRASHED_HOUSE_HEIGHT EQU $04
+TRASHED_HOUSE_WIDTH  EQU $04
+
+; CeruleanHouse_h map_id=63
+CERULEAN_HOUSE_HEIGHT EQU $04
+CERULEAN_HOUSE_WIDTH  EQU $04
+
+; CeruleanPokecenter_h map_id=64
+CERULEAN_POKECENTER_HEIGHT EQU $04
+CERULEAN_POKECENTER_WIDTH  EQU $07
+
+; CeruleanGym_h map_id=65
+CERULEAN_GYM_HEIGHT EQU $07
+CERULEAN_GYM_WIDTH  EQU $05
+
+; BikeShop_h map_id=66
+BIKE_SHOP_HEIGHT EQU $04
+BIKE_SHOP_WIDTH  EQU $04
+
+; CeruleanMart_h map_id=67
+CERULEAN_MART_HEIGHT EQU $04
+CERULEAN_MART_WIDTH  EQU $04
+
+; MtMoonPokecenter_h map_id=68
+MT_MOON_POKECENTER_HEIGHT EQU $04
+MT_MOON_POKECENTER_WIDTH  EQU $07
+
+; Route5Gate_h map_id=70
+ROUTE_5_GATE_HEIGHT EQU $03
+ROUTE_5_GATE_WIDTH  EQU $04
+
+; UndergroundTunnelEntranceRoute5_h map_id=71
+PATH_ENTRANCE_ROUTE_5_HEIGHT EQU $04
+PATH_ENTRANCE_ROUTE_5_WIDTH  EQU $04
+
+; DayCareM_h map_id=72
+DAYCAREM_HEIGHT EQU $04
+DAYCAREM_WIDTH  EQU $04
+
+; Route6Gate_h map_id=73
+ROUTE_6_GATE_HEIGHT EQU $03
+ROUTE_6_GATE_WIDTH  EQU $04
+
+; UndergroundTunnelEntranceRoute6_h map_id=74
+PATH_ENTRANCE_ROUTE_6_HEIGHT EQU $04
+PATH_ENTRANCE_ROUTE_6_WIDTH  EQU $04
+
+; Route7Gate_h map_id=76
+ROUTE_7_GATE_HEIGHT EQU $04
+ROUTE_7_GATE_WIDTH  EQU $03
+
+; UndergroundPathEntranceRoute7_h map_id=77
+PATH_ENTRANCE_ROUTE_7_HEIGHT EQU $04
+PATH_ENTRANCE_ROUTE_7_WIDTH  EQU $04
+
+; Route8Gate_h map_id=79
+ROUTE_8_GATE_HEIGHT EQU $04
+ROUTE_8_GATE_WIDTH  EQU $03
+
+; UndergroundPathEntranceRoute8_h map_id=80
+PATH_ENTRANCE_ROUTE_8_HEIGHT EQU $04
+PATH_ENTRANCE_ROUTE_8_WIDTH  EQU $04
+
+; RockTunnelPokecenter_h map_id=81
+ROCK_TUNNEL_POKECENTER_HEIGHT EQU $04
+ROCK_TUNNEL_POKECENTER_WIDTH  EQU $07
+
+; RockTunnel1_h map_id=82
+ROCK_TUNNEL_1_HEIGHT EQU $12
+ROCK_TUNNEL_1_WIDTH  EQU $14
+
+; PowerPlant_h map_id=83
+POWER_PLANT_HEIGHT EQU $12
+POWER_PLANT_WIDTH  EQU $14
+
+; Route11Gate_h map_id=84
+ROUTE_11_GATE_1F_HEIGHT EQU $05
+ROUTE_11_GATE_1F_WIDTH  EQU $04
+
+; DiglettsCaveEntranceRoute11_h map_id=85
+DIGLETTS_CAVE_ENTRANCE_HEIGHT EQU $04
+DIGLETTS_CAVE_ENTRANCE_WIDTH  EQU $04
+
+; Route11GateUpstairs_h map_id=86
+ROUTE_11_GATE_2F_HEIGHT EQU $04
+ROUTE_11_GATE_2F_WIDTH  EQU $04
+
+; Route12Gate_h map_id=87
+ROUTE_12_GATE_HEIGHT EQU $04
+ROUTE_12_GATE_WIDTH  EQU $05
+
+; BillsHouse_h map_id=88
+BILLS_HOUSE_HEIGHT EQU $04
+BILLS_HOUSE_WIDTH  EQU $04
+
+; VermilionPokecenter_h map_id=89
+VERMILION_POKECENTER_HEIGHT EQU $04
+VERMILION_POKECENTER_WIDTH  EQU $07
+
+; FanClub_h map_id=90
+POKEMON_FAN_CLUB_HEIGHT EQU $04
+POKEMON_FAN_CLUB_WIDTH  EQU $04
+
+; VermilionMart_h map_id=91
+VERMILION_MART_HEIGHT EQU $04
+VERMILION_MART_WIDTH  EQU $04
+
+; VermilionGym_h map_id=92
+VERMILION_GYM_HEIGHT EQU $09
+VERMILION_GYM_WIDTH  EQU $05
+
+; VermilionHouse1_h map_id=93
+VERMILION_HOUSE_1_HEIGHT EQU $04
+VERMILION_HOUSE_1_WIDTH  EQU $04
+
+; VermilionDock_h map_id=94
+VERMILION_DOCK_HEIGHT EQU $06
+VERMILION_DOCK_WIDTH  EQU $0e
+
+; SSAnne1_h map_id=95
+SS_ANNE_1_HEIGHT EQU $09
+SS_ANNE_1_WIDTH  EQU $14
+
+; SSAnne2_h map_id=96
+SS_ANNE_2_HEIGHT EQU $09
+SS_ANNE_2_WIDTH  EQU $14
+
+; SSAnne3_h map_id=97
+SS_ANNE_3_HEIGHT EQU $03
+SS_ANNE_3_WIDTH  EQU $0a
+
+; SSAnne4_h map_id=98
+SS_ANNE_4_HEIGHT EQU $04
+SS_ANNE_4_WIDTH  EQU $0f
+
+; SSAnne5_h map_id=99
+SS_ANNE_5_HEIGHT EQU $07
+SS_ANNE_5_WIDTH  EQU $0a
+
+; SSAnne6_h map_id=100
+SS_ANNE_6_HEIGHT EQU $08
+SS_ANNE_6_WIDTH  EQU $07
+
+; SSAnne7_h map_id=101
+SS_ANNE_7_HEIGHT EQU $04
+SS_ANNE_7_WIDTH  EQU $03
+
+; SSAnne8_h map_id=102
+SS_ANNE_8_HEIGHT EQU $08
+SS_ANNE_8_WIDTH  EQU $0c
+
+; SSAnne9_h map_id=103
+SS_ANNE_9_HEIGHT EQU $08
+SS_ANNE_9_WIDTH  EQU $0c
+
+; SSAnne10_h map_id=104
+SS_ANNE_10_HEIGHT EQU $08
+SS_ANNE_10_WIDTH  EQU $0c
+
+; VictoryRoad1_h map_id=108
+VICTORY_ROAD_1_HEIGHT EQU $09
+VICTORY_ROAD_1_WIDTH  EQU $0a
+
+; Lance_h map_id=113
+LANCES_ROOM_HEIGHT EQU $0d
+LANCES_ROOM_WIDTH  EQU $0d
+
+; HallofFameRoom_h map_id=118
+HALL_OF_FAME_HEIGHT EQU $04
+HALL_OF_FAME_WIDTH  EQU $05
+
+; UndergroundPathNS_h map_id=119
+UNDERGROUND_PATH_NS_HEIGHT EQU $18
+UNDERGROUND_PATH_NS_WIDTH  EQU $04
+
+; Gary_h map_id=120
+CHAMPIONS_ROOM_HEIGHT EQU $04
+CHAMPIONS_ROOM_WIDTH  EQU $04
+
+; UndergroundPathWE_h map_id=121
+UNDERGROUND_PATH_WE_HEIGHT EQU $04
+UNDERGROUND_PATH_WE_WIDTH  EQU $19
+
+; CeladonMart1_h map_id=122
+CELADON_MART_1_HEIGHT EQU $04
+CELADON_MART_1_WIDTH  EQU $0a
+
+; CeladonMart2_h map_id=123
+CELADON_MART_2_HEIGHT EQU $04
+CELADON_MART_2_WIDTH  EQU $0a
+
+; CeladonMart3_h map_id=124
+CELADON_MART_3_HEIGHT EQU $04
+CELADON_MART_3_WIDTH  EQU $0a
+
+; CeladonMart4_h map_id=125
+CELADON_MART_4_HEIGHT EQU $04
+CELADON_MART_4_WIDTH  EQU $0a
+
+; CeladonMartRoof_h map_id=126
+CELADON_MART_ROOF_HEIGHT EQU $04
+CELADON_MART_ROOF_WIDTH  EQU $0a
+
+; CeladonMartElevator_h map_id=127
+CELADON_MART_ELEVATOR_HEIGHT EQU $02
+CELADON_MART_ELEVATOR_WIDTH  EQU $02
+
+; CeladonMansion1_h map_id=128
+CELADON_MANSION_1_HEIGHT EQU $06
+CELADON_MANSION_1_WIDTH  EQU $04
+
+; CeladonMansion2_h map_id=129
+CELADON_MANSION_2_HEIGHT EQU $06
+CELADON_MANSION_2_WIDTH  EQU $04
+
+; CeladonMansion3_h map_id=130
+CELADON_MANSION_3_HEIGHT EQU $06
+CELADON_MANSION_3_WIDTH  EQU $04
+
+; CeladonMansion4_h map_id=131
+CELADON_MANSION_4_HEIGHT EQU $06
+CELADON_MANSION_4_WIDTH  EQU $04
+
+; CeladonMansion5_h map_id=132
+CELADON_MANSION_5_HEIGHT EQU $04
+CELADON_MANSION_5_WIDTH  EQU $04
+
+; CeladonPokecenter_h map_id=133
+CELADON_POKECENTER_HEIGHT EQU $04
+CELADON_POKECENTER_WIDTH  EQU $07
+
+; CeladonGym_h map_id=134
+CELADON_GYM_HEIGHT EQU $09
+CELADON_GYM_WIDTH  EQU $05
+
+; CeladonGameCorner_h map_id=135
+GAME_CORNER_HEIGHT EQU $09
+GAME_CORNER_WIDTH  EQU $0a
+
+; CeladonMart5_h map_id=136
+CELADON_MART_5_HEIGHT EQU $04
+CELADON_MART_5_WIDTH  EQU $0a
+
+; CeladonPrizeRoom_h map_id=137
+CELADONPRIZE_ROOM_HEIGHT EQU $04
+CELADONPRIZE_ROOM_WIDTH  EQU $05
+
+; CeladonDiner_h map_id=138
+CELADON_DINER_HEIGHT EQU $04
+CELADON_DINER_WIDTH  EQU $05
+
+; CeladonHouse_h map_id=139
+CELADON_HOUSE_HEIGHT EQU $04
+CELADON_HOUSE_WIDTH  EQU $04
+
+; CeladonHotel_h map_id=140
+CELADONHOTEL_HEIGHT EQU $04
+CELADONHOTEL_WIDTH  EQU $07
+
+; LavenderPokecenter_h map_id=141
+LAVENDER_POKECENTER_HEIGHT EQU $04
+LAVENDER_POKECENTER_WIDTH  EQU $07
+
+; PokemonTower1_h map_id=142
+POKEMONTOWER_1_HEIGHT EQU $09
+POKEMONTOWER_1_WIDTH  EQU $0a
+
+; PokemonTower2_h map_id=143
+POKEMONTOWER_2_HEIGHT EQU $09
+POKEMONTOWER_2_WIDTH  EQU $0a
+
+; PokemonTower3_h map_id=144
+POKEMONTOWER_3_HEIGHT EQU $09
+POKEMONTOWER_3_WIDTH  EQU $0a
+
+; PokemonTower4_h map_id=145
+POKEMONTOWER_4_HEIGHT EQU $09
+POKEMONTOWER_4_WIDTH  EQU $0a
+
+; PokemonTower5_h map_id=146
+POKEMONTOWER_5_HEIGHT EQU $09
+POKEMONTOWER_5_WIDTH  EQU $0a
+
+; PokemonTower6_h map_id=147
+POKEMONTOWER_6_HEIGHT EQU $09
+POKEMONTOWER_6_WIDTH  EQU $0a
+
+; PokemonTower7_h map_id=148
+POKEMONTOWER_7_HEIGHT EQU $09
+POKEMONTOWER_7_WIDTH  EQU $0a
+
+; LavenderHouse1_h map_id=149
+LAVENDER_HOUSE_1_HEIGHT EQU $04
+LAVENDER_HOUSE_1_WIDTH  EQU $04
+
+; LavenderMart_h map_id=150
+LAVENDER_MART_HEIGHT EQU $04
+LAVENDER_MART_WIDTH  EQU $04
+
+; LavenderHouse2_h map_id=151
+LAVENDER_HOUSE_2_HEIGHT EQU $04
+LAVENDER_HOUSE_2_WIDTH  EQU $04
+
+; FuchsiaMart_h map_id=152
+FUCHSIA_MART_HEIGHT EQU $04
+FUCHSIA_MART_WIDTH  EQU $04
+
+; FuchsiaHouse1_h map_id=153
+FUCHSIA_HOUSE_1_HEIGHT EQU $04
+FUCHSIA_HOUSE_1_WIDTH  EQU $04
+
+; FuchsiaPokecenter_h map_id=154
+FUCHSIA_POKECENTER_HEIGHT EQU $04
+FUCHSIA_POKECENTER_WIDTH  EQU $07
+
+; FuchsiaHouse2_h map_id=155
+FUCHSIA_HOUSE_2_HEIGHT EQU $04
+FUCHSIA_HOUSE_2_WIDTH  EQU $05
+
+; SafariZoneEntrance_h map_id=156
+SAFARIZONEENTRANCE_HEIGHT EQU $03
+SAFARIZONEENTRANCE_WIDTH  EQU $04
+
+; FuchsiaGym_h map_id=157
+FUCHSIA_GYM_HEIGHT EQU $09
+FUCHSIA_GYM_WIDTH  EQU $05
+
+; FuchsiaMeetingRoom_h map_id=158
+FUCHSIAMEETINGROOM_HEIGHT EQU $04
+FUCHSIAMEETINGROOM_WIDTH  EQU $07
+
+; SeafoamIslands2_h map_id=159
+SEAFOAM_ISLANDS_2_HEIGHT EQU $09
+SEAFOAM_ISLANDS_2_WIDTH  EQU $0f
+
+; SeafoamIslands3_h map_id=160
+SEAFOAM_ISLANDS_3_HEIGHT EQU $09
+SEAFOAM_ISLANDS_3_WIDTH  EQU $0f
+
+; SeafoamIslands4_h map_id=161
+SEAFOAM_ISLANDS_4_HEIGHT EQU $09
+SEAFOAM_ISLANDS_4_WIDTH  EQU $0f
+
+; SeafoamIslands5_h map_id=162
+SEAFOAM_ISLANDS_5_HEIGHT EQU $09
+SEAFOAM_ISLANDS_5_WIDTH  EQU $0f
+
+; VermilionHouse2_h map_id=163
+VERMILION_HOUSE_2_HEIGHT EQU $04
+VERMILION_HOUSE_2_WIDTH  EQU $04
+
+; FuchsiaHouse3_h map_id=164
+FUCHSIA_HOUSE_3_HEIGHT EQU $04
+FUCHSIA_HOUSE_3_WIDTH  EQU $04
+
+; Mansion1_h map_id=165
+MANSION_1_HEIGHT EQU $0e
+MANSION_1_WIDTH  EQU $0f
+
+; CinnabarGym_h map_id=166
+CINNABAR_GYM_HEIGHT EQU $09
+CINNABAR_GYM_WIDTH  EQU $0a
+
+; Lab1_h map_id=167
+CINNABAR_LAB_1_HEIGHT EQU $04
+CINNABAR_LAB_1_WIDTH  EQU $09
+
+; Lab2_h map_id=168
+CINNABAR_LAB_2_HEIGHT EQU $04
+CINNABAR_LAB_2_WIDTH  EQU $04
+
+; Lab3_h map_id=169
+CINNABAR_LAB_3_HEIGHT EQU $04
+CINNABAR_LAB_3_WIDTH  EQU $04
+
+; Lab4_h map_id=170
+CINNABAR_LAB_4_HEIGHT EQU $04
+CINNABAR_LAB_4_WIDTH  EQU $04
+
+; CinnabarPokecenter_h map_id=171
+CINNABAR_POKECENTER_HEIGHT EQU $04
+CINNABAR_POKECENTER_WIDTH  EQU $07
+
+; CinnabarMart_h map_id=172
+CINNABAR_MART_HEIGHT EQU $04
+CINNABAR_MART_WIDTH  EQU $04
+
+; IndigoPlateauLobby_h map_id=174
+INDIGO_PLATEAU_LOBBY_HEIGHT EQU $06
+INDIGO_PLATEAU_LOBBY_WIDTH  EQU $08
+
+; CopycatsHouseF1_h map_id=175
+COPYCATS_HOUSE_1F_HEIGHT EQU $04
+COPYCATS_HOUSE_1F_WIDTH  EQU $04
+
+; CopycatsHouseF2_h map_id=176
+COPYCATS_HOUSE_2F_HEIGHT EQU $04
+COPYCATS_HOUSE_2F_WIDTH  EQU $04
+
+; FightingDojo_h map_id=177
+FIGHTINGDOJO_HEIGHT EQU $06
+FIGHTINGDOJO_WIDTH  EQU $05
+
+; SaffronGym_h map_id=178
+SAFFRON_GYM_HEIGHT EQU $09
+SAFFRON_GYM_WIDTH  EQU $0a
+
+; SaffronHouse1_h map_id=179
+SAFFRON_HOUSE_1_HEIGHT EQU $04
+SAFFRON_HOUSE_1_WIDTH  EQU $04
+
+; SaffronMart_h map_id=180
+SAFFRON_MART_HEIGHT EQU $04
+SAFFRON_MART_WIDTH  EQU $04
+
+; SilphCo1_h map_id=181
+SILPH_CO_1F_HEIGHT EQU $09
+SILPH_CO_1F_WIDTH  EQU $0f
+
+; SaffronPokecenter_h map_id=182
+SAFFRON_POKECENTER_HEIGHT EQU $04
+SAFFRON_POKECENTER_WIDTH  EQU $07
+
+; SaffronHouse2_h map_id=183
+SAFFRON_HOUSE_2_HEIGHT EQU $04
+SAFFRON_HOUSE_2_WIDTH  EQU $04
+
+; Route15Gate1F_h map_id=184
+ROUTE_15_GATE_1F_HEIGHT EQU $05
+ROUTE_15_GATE_1F_WIDTH  EQU $04
+
+; Route15GateUpstairs_h map_id=185
+ROUTE_15_GATE_2F_HEIGHT EQU 4
+ROUTE_15_GATE_2F_WIDTH  EQU 4
+
+; Route16GateMap_h map_id=186
+ROUTE_16_GATE_1F_HEIGHT EQU $07
+ROUTE_16_GATE_1F_WIDTH  EQU $04
+
+; Route16GateUpstairs_h map_id=187
+ROUTE_16_GATE_2F_HEIGHT EQU $04
+ROUTE_16_GATE_2F_WIDTH  EQU $04
+
+; Route16House_h map_id=188
+ROUTE_16_HOUSE_HEIGHT EQU $04
+ROUTE_16_HOUSE_WIDTH  EQU $04
+
+; Route12House_h map_id=189
+ROUTE_12_HOUSE_HEIGHT EQU $04
+ROUTE_12_HOUSE_WIDTH  EQU $04
+
+; Route18Gate_h map_id=190
+ROUTE_18_GATE_1F_HEIGHT EQU $05
+ROUTE_18_GATE_1F_WIDTH  EQU $04
+
+; Route18GateHeader_h map_id=191
+ROUTE_18_GATE_2F_HEIGHT EQU $04
+ROUTE_18_GATE_2F_WIDTH  EQU $04
+
+; SeafoamIslands1_h map_id=192
+SEAFOAM_ISLANDS_1_HEIGHT EQU $09
+SEAFOAM_ISLANDS_1_WIDTH  EQU $0f
+
+; Route22Gate_h map_id=193
+ROUTE_22_GATE_HEIGHT EQU $04
+ROUTE_22_GATE_WIDTH  EQU $05
+
+; VictoryRoad2_h map_id=194
+VICTORY_ROAD_2_HEIGHT EQU $09
+VICTORY_ROAD_2_WIDTH  EQU $0f
+
+; Route12GateUpstairs_h map_id=195
+ROUTE_12_GATE_2F_HEIGHT EQU $04
+ROUTE_12_GATE_2F_WIDTH  EQU $04
+
+; VermilionHouse3_h map_id=196
+VERMILION_HOUSE_3_HEIGHT EQU $04
+VERMILION_HOUSE_3_WIDTH  EQU $04
+
+; DiglettsCave_h map_id=197
+DIGLETTS_CAVE_HEIGHT EQU $12
+DIGLETTS_CAVE_WIDTH  EQU $14
+
+; VictoryRoad3_h map_id=198
+VICTORY_ROAD_3_HEIGHT EQU $09
+VICTORY_ROAD_3_WIDTH  EQU $0f
+
+; RocketHideout1_h map_id=199
+ROCKET_HIDEOUT_1_HEIGHT EQU $0e
+ROCKET_HIDEOUT_1_WIDTH  EQU $0f
+
+; RocketHideout2_h map_id=200
+ROCKET_HIDEOUT_2_HEIGHT EQU $0e
+ROCKET_HIDEOUT_2_WIDTH  EQU $0f
+
+; RocketHideout3_h map_id=201
+ROCKET_HIDEOUT_3_HEIGHT EQU $0e
+ROCKET_HIDEOUT_3_WIDTH  EQU $0f
+
+; RocketHideout4_h map_id=202
+ROCKET_HIDEOUT_4_HEIGHT EQU $0c
+ROCKET_HIDEOUT_4_WIDTH  EQU $0f
+
+; RocketHideoutElevator_h map_id=203
+ROCKET_HIDEOUT_ELEVATOR_HEIGHT EQU $04
+ROCKET_HIDEOUT_ELEVATOR_WIDTH  EQU $03
+
+; SilphCo2_h map_id=207
+SILPH_CO_2F_HEIGHT EQU $09
+SILPH_CO_2F_WIDTH  EQU $0f
+
+; SilphCo3_h map_id=208
+SILPH_CO_3F_HEIGHT EQU $09
+SILPH_CO_3F_WIDTH  EQU $0f
+
+; SilphCo4_h map_id=209
+SILPH_CO_4F_HEIGHT EQU $09
+SILPH_CO_4F_WIDTH  EQU $0f
+
+; SilphCo5_h map_id=210
+SILPH_CO_5F_HEIGHT EQU $09
+SILPH_CO_5F_WIDTH  EQU $0f
+
+; SilphCo6_h map_id=211
+SILPH_CO_6F_HEIGHT EQU $09
+SILPH_CO_6F_WIDTH  EQU $0d
+
+; SilphCo7_h map_id=212
+SILPH_CO_7F_HEIGHT EQU $09
+SILPH_CO_7F_WIDTH  EQU $0d
+
+; SilphCo8_h map_id=213
+SILPH_CO_8F_HEIGHT EQU $09
+SILPH_CO_8F_WIDTH  EQU $0d
+
+; Mansion2_h map_id=214
+MANSION_2_HEIGHT EQU $0e
+MANSION_2_WIDTH  EQU $0f
+
+; Mansion3_h map_id=215
+MANSION_3_HEIGHT EQU $09
+MANSION_3_WIDTH  EQU $0f
+
+; Mansion4_h map_id=216
+MANSION_4_HEIGHT EQU $0e
+MANSION_4_WIDTH  EQU $0f
+
+; SafariZoneEast_h map_id=217
+SAFARI_ZONE_EAST_HEIGHT EQU $0d
+SAFARI_ZONE_EAST_WIDTH  EQU $0f
+
+; SafariZoneNorth_h map_id=218
+SAFARI_ZONE_NORTH_HEIGHT EQU $12
+SAFARI_ZONE_NORTH_WIDTH  EQU $14
+
+; SafariZoneWest_h map_id=219
+SAFARI_ZONE_WEST_HEIGHT EQU $0d
+SAFARI_ZONE_WEST_WIDTH  EQU $0f
+
+; SafariZoneCenter_h map_id=220
+SAFARI_ZONE_CENTER_HEIGHT EQU $0d
+SAFARI_ZONE_CENTER_WIDTH  EQU $0f
+
+; SafariZoneRestHouse1_h map_id=221
+SAFARI_ZONE_REST_HOUSE_1_HEIGHT EQU $04
+SAFARI_ZONE_REST_HOUSE_1_WIDTH  EQU $04
+
+; SafariZoneSecretHouse_h map_id=222
+SAFARI_ZONE_SECRET_HOUSE_HEIGHT EQU $04
+SAFARI_ZONE_SECRET_HOUSE_WIDTH  EQU $04
+
+; SafariZoneRestHouse2_h map_id=223
+SAFARI_ZONE_REST_HOUSE_2_HEIGHT EQU $04
+SAFARI_ZONE_REST_HOUSE_2_WIDTH  EQU $04
+
+; SafariZoneRestHouse3_h map_id=224
+SAFARI_ZONE_REST_HOUSE_3_HEIGHT EQU $04
+SAFARI_ZONE_REST_HOUSE_3_WIDTH  EQU $04
+
+; SafariZoneRestHouse4_h map_id=225
+SAFARI_ZONE_REST_HOUSE_4_HEIGHT EQU $04
+SAFARI_ZONE_REST_HOUSE_4_WIDTH  EQU $04
+
+; UnknownDungeon2_h map_id=226
+UNKNOWN_DUNGEON_2_HEIGHT EQU $09
+UNKNOWN_DUNGEON_2_WIDTH  EQU $0f
+
+; UnknownDungeon3_h map_id=227
+UNKNOWN_DUNGEON_3_HEIGHT EQU $09
+UNKNOWN_DUNGEON_3_WIDTH  EQU $0f
+
+; UnknownDungeon1_h map_id=228
+UNKNOWN_DUNGEON_1_HEIGHT EQU $09
+UNKNOWN_DUNGEON_1_WIDTH  EQU $0f
+
+; NameRater_h map_id=229
+NAME_RATERS_HOUSE_HEIGHT EQU $04
+NAME_RATERS_HOUSE_WIDTH  EQU $04
+
+; CeruleanHouse2_h map_id=230
+CERULEAN_HOUSE_2_HEIGHT EQU $04
+CERULEAN_HOUSE_2_WIDTH  EQU $04
+
+; RockTunnel2_h map_id=232
+ROCK_TUNNEL_2_HEIGHT EQU $12
+ROCK_TUNNEL_2_WIDTH  EQU $14
+
+; SilphCo9_h map_id=233
+SILPH_CO_9F_HEIGHT EQU $09
+SILPH_CO_9F_WIDTH  EQU $0d
+
+; SilphCo10_h map_id=234
+SILPH_CO_10F_HEIGHT EQU $09
+SILPH_CO_10F_WIDTH  EQU $08
+
+; SilphCo11_h map_id=235
+SILPH_CO_11F_HEIGHT EQU $09
+SILPH_CO_11F_WIDTH  EQU $09
+
+; SilphCoElevator_h map_id=236
+SILPH_CO_ELEVATOR_HEIGHT EQU $02
+SILPH_CO_ELEVATOR_WIDTH  EQU $02
+
+; BattleCenterM_h map_id=239
+BATTLE_CENTER_HEIGHT EQU $04
+BATTLE_CENTER_WIDTH  EQU $05
+
+; TradeCenterM_h map_id=240
+TRADE_CENTER_HEIGHT EQU $04
+TRADE_CENTER_WIDTH  EQU $05
+
+; Lorelei_h map_id=245
+LORELEIS_ROOM_HEIGHT EQU $06
+LORELEIS_ROOM_WIDTH  EQU $05
+
+; Bruno_h map_id=246
+BRUNOS_ROOM_HEIGHT EQU $06
+BRUNOS_ROOM_WIDTH  EQU $05
+
+; Agatha_h map_id=247
+AGATHAS_ROOM_HEIGHT EQU $06
+AGATHAS_ROOM_WIDTH  EQU $05
+
--- /dev/null
+++ b/constants/move_constants.asm
@@ -1,0 +1,180 @@
+POUND        EQU $01
+KARATE_CHOP  EQU $02
+DOUBLESLAP   EQU $03
+COMET_PUNCH  EQU $04
+MEGA_PUNCH   EQU $05
+PAY_DAY      EQU $06
+FIRE_PUNCH   EQU $07
+ICE_PUNCH    EQU $08
+THUNDERPUNCH EQU $09
+SCRATCH      EQU $0A
+VICEGRIP     EQU $0B
+GUILLOTINE   EQU $0C
+RAZOR_WIND   EQU $0D
+SWORDS_DANCE EQU $0E
+CUT          EQU $0F
+GUST         EQU $10
+WING_ATTACK  EQU $11
+WHIRLWIND    EQU $12
+FLY          EQU $13
+BIND         EQU $14
+SLAM         EQU $15
+VINE_WHIP    EQU $16
+STOMP        EQU $17
+DOUBLE_KICK  EQU $18
+MEGA_KICK    EQU $19
+JUMP_KICK    EQU $1A
+ROLLING_KICK EQU $1B
+SAND_ATTACK  EQU $1C
+HEADBUTT     EQU $1D
+HORN_ATTACK  EQU $1E
+FURY_ATTACK  EQU $1F
+HORN_DRILL   EQU $20
+TACKLE       EQU $21
+BODY_SLAM    EQU $22
+WRAP         EQU $23
+TAKE_DOWN    EQU $24
+THRASH       EQU $25
+DOUBLE_EDGE  EQU $26
+TAIL_WHIP    EQU $27
+POISON_STING EQU $28
+TWINEEDLE    EQU $29
+PIN_MISSILE  EQU $2A
+LEER         EQU $2B
+BITE         EQU $2C
+GROWL        EQU $2D
+ROAR         EQU $2E
+SING         EQU $2F
+SUPERSONIC   EQU $30
+SONICBOOM    EQU $31
+DISABLE      EQU $32
+ACID         EQU $33
+EMBER        EQU $34
+FLAMETHROWER EQU $35
+MIST         EQU $36
+WATER_GUN    EQU $37
+HYDRO_PUMP   EQU $38
+SURF         EQU $39
+ICE_BEAM     EQU $3A
+BLIZZARD     EQU $3B
+PSYBEAM      EQU $3C
+BUBBLEBEAM   EQU $3D
+AURORA_BEAM  EQU $3E
+HYPER_BEAM   EQU $3F
+PECK         EQU $40
+DRILL_PECK   EQU $41
+SUBMISSION   EQU $42
+LOW_KICK     EQU $43
+COUNTER      EQU $44
+SEISMIC_TOSS EQU $45
+STRENGTH     EQU $46
+ABSORB       EQU $47
+MEGA_DRAIN   EQU $48
+LEECH_SEED   EQU $49
+GROWTH       EQU $4A
+RAZOR_LEAF   EQU $4B
+SOLARBEAM    EQU $4C
+POISONPOWDER EQU $4D
+STUN_SPORE   EQU $4E
+SLEEP_POWDER EQU $4F
+PETAL_DANCE  EQU $50
+STRING_SHOT  EQU $51
+DRAGON_RAGE  EQU $52
+FIRE_SPIN    EQU $53
+THUNDERSHOCK EQU $54
+THUNDERBOLT  EQU $55
+THUNDER_WAVE EQU $56
+THUNDER      EQU $57
+ROCK_THROW   EQU $58
+EARTHQUAKE   EQU $59
+FISSURE      EQU $5A
+DIG          EQU $5B
+TOXIC        EQU $5C
+CONFUSION    EQU $5D
+PSYCHIC_M    EQU $5E
+HYPNOSIS     EQU $5F
+MEDITATE     EQU $60
+AGILITY      EQU $61
+QUICK_ATTACK EQU $62
+RAGE         EQU $63
+TELEPORT     EQU $64
+NIGHT_SHADE  EQU $65
+MIMIC        EQU $66
+SCREECH      EQU $67
+DOUBLE_TEAM  EQU $68
+RECOVER      EQU $69
+HARDEN       EQU $6A
+MINIMIZE     EQU $6B
+SMOKESCREEN  EQU $6C
+CONFUSE_RAY  EQU $6D
+WITHDRAW     EQU $6E
+DEFENSE_CURL EQU $6F
+BARRIER      EQU $70
+LIGHT_SCREEN EQU $71
+HAZE         EQU $72
+REFLECT      EQU $73
+FOCUS_ENERGY EQU $74
+BIDE         EQU $75
+METRONOME    EQU $76
+MIRROR_MOVE  EQU $77
+SELFDESTRUCT EQU $78
+EGG_BOMB     EQU $79
+LICK         EQU $7A
+SMOG         EQU $7B
+SLUDGE       EQU $7C
+BONE_CLUB    EQU $7D
+FIRE_BLAST   EQU $7E
+WATERFALL    EQU $7F
+CLAMP        EQU $80
+SWIFT        EQU $81
+SKULL_BASH   EQU $82
+SPIKE_CANNON EQU $83
+CONSTRICT    EQU $84
+AMNESIA      EQU $85
+KINESIS      EQU $86
+SOFTBOILED   EQU $87
+HI_JUMP_KICK EQU $88
+GLARE        EQU $89
+DREAM_EATER  EQU $8A
+POISON_GAS   EQU $8B
+BARRAGE      EQU $8C
+LEECH_LIFE   EQU $8D
+LOVELY_KISS  EQU $8E
+SKY_ATTACK   EQU $8F
+TRANSFORM    EQU $90
+BUBBLE       EQU $91
+DIZZY_PUNCH  EQU $92
+SPORE        EQU $93
+FLASH        EQU $94
+PSYWAVE      EQU $95
+SPLASH       EQU $96
+ACID_ARMOR   EQU $97
+CRABHAMMER   EQU $98
+EXPLOSION    EQU $99
+FURY_SWIPES  EQU $9A
+BONEMERANG   EQU $9B
+REST         EQU $9C
+ROCK_SLIDE   EQU $9D
+HYPER_FANG   EQU $9E
+SHARPEN      EQU $9F
+CONVERSION   EQU $A0
+TRI_ATTACK   EQU $A1
+SUPER_FANG   EQU $A2
+SLASH        EQU $A3
+SUBSTITUTE   EQU $A4
+STRUGGLE     EQU $A5
+; these do double duty as animation identifiers
+SHOWPIC_ANIM EQU $A6 ; redraw monster pic
+XSTATITEM_ANIM EQU $AE ; use X Attack/Defense/Speed/Special
+SLP_ANIM     EQU $BD ; sleeping monster
+CONF_ANIM    EQU $BF ; confused monster
+TOSS_ANIM    EQU $C1 ; toss Poké Ball
+SHAKE_ANIM   EQU $C2 ; shaking Poké Ball when catching monster
+POOF_ANIM    EQU $C3 ; puff of smoke
+BLOCKBALL_ANIM EQU $C4 ; trainer knocks away Poké Ball
+GREATTOSS_ANIM EQU $C5 ; toss Great Ball
+ULTRATOSS_ANIM EQU $C6 ; toss Ultra Ball or Master Ball
+HIDEPIC_ANIM EQU $C8 ; monster disappears
+ROCK_ANIM EQU $C9 ; throw rock
+BAIT_ANIM EQU $CA ; throw bait
+
--- /dev/null
+++ b/constants/move_effect_constants.asm
@@ -1,0 +1,73 @@
+; tentative move effect constants
+; {stat}_(UP|DOWN)(1|2) means that the move raises the user's (or lowers the target's) corresponding stat modifier by 1 (or 2) stages
+; {status condition}_side_effect means that the move has a side chance of causing that condition
+; {status condition}_effect means that the move causes the status condition every time it hits the target
+NO_ADDITIONAL_EFFECT       EQU $00
+POISON_SIDE_EFFECT1        EQU $02
+DRAIN_HP_EFFECT            EQU $03
+BURN_SIDE_EFFECT1          EQU $04
+FREEZE_SIDE_EFFECT         EQU $05
+PARALYZE_SIDE_EFFECT1      EQU $06
+EXPLODE_EFFECT             EQU $07 ; Explosion, Self Destruct
+DREAM_EATER_EFFECT         EQU $08
+MIRROR_MOVE_EFFECT         EQU $09
+ATTACK_UP1_EFFECT          EQU $0A
+DEFENSE_UP1_EFFECT         EQU $0B
+SPECIAL_UP1_EFFECT         EQU $0D
+EVASION_UP1_EFFECT         EQU $0F
+PAY_DAY_EFFECT             EQU $10
+SWIFT_EFFECT               EQU $11
+ATTACK_DOWN1_EFFECT        EQU $12
+DEFENSE_DOWN1_EFFECT       EQU $13
+SPEED_DOWN1_EFFECT         EQU $14
+ACCURACY_DOWN1_EFFECT      EQU $16
+CONVERSION_EFFECT          EQU $18
+HAZE_EFFECT                EQU $19
+BIDE_EFFECT                EQU $1A
+THRASH_PETAL_DANCE_EFFECT  EQU $1B
+SWITCH_AND_TELEPORT_EFFECT EQU $1C
+TWO_TO_FIVE_ATTACKS_EFFECT EQU $1D
+FLINCH_SIDE_EFFECT1        EQU $1F
+SLEEP_EFFECT               EQU $20
+POISON_SIDE_EFFECT2        EQU $21
+BURN_SIDE_EFFECT2          EQU $22
+PARALYZE_SIDE_EFFECT2      EQU $24
+FLINCH_SIDE_EFFECT2        EQU $25
+OHKO_EFFECT                EQU $26 ; moves like Horn Drill
+CHARGE_EFFECT              EQU $27 ; moves like Solar Beam
+SUPER_FANG_EFFECT          EQU $28
+SPECIAL_DAMAGE_EFFECT      EQU $29 ; Seismic Toss, Night Shade, Sonic Boom, Dragon Rage, Psywave
+TRAPPING_EFFECT            EQU $2A ; moves like Wrap
+FLY_EFFECT                 EQU $2B
+ATTACK_TWICE_EFFECT        EQU $2C
+JUMP_KICK_EFFECT           EQU $2D ; Jump Kick and Hi Jump Kick effect
+MIST_EFFECT                EQU $2E
+FOCUS_ENERGY_EFFECT        EQU $2F
+RECOIL_EFFECT              EQU $30 ; moves like Double Edge
+CONFUSION_EFFECT           EQU $31 ; Confuse Ray, Supersonic (not the move Confusion)
+ATTACK_UP2_EFFECT          EQU $32
+DEFENSE_UP2_EFFECT         EQU $33
+SPEED_UP2_EFFECT           EQU $34
+SPECIAL_UP2_EFFECT         EQU $35
+HEAL_EFFECT                EQU $38 ; Recover, Softboiled, Rest
+TRANSFORM_EFFECT           EQU $39
+DEFENSE_DOWN2_EFFECT       EQU $3B
+LIGHT_SCREEN_EFFECT        EQU $40
+REFLECT_EFFECT             EQU $41
+POISON_EFFECT              EQU $42
+PARALYZE_EFFECT            EQU $43
+ATTACK_DOWN_SIDE_EFFECT    EQU $44
+DEFENSE_DOWN_SIDE_EFFECT   EQU $45
+SPEED_DOWN_SIDE_EFFECT     EQU $46
+SPECIAL_DOWN_SIDE_EFFECT   EQU $47
+CONFUSION_SIDE_EFFECT      EQU $4C
+TWINEEDLE_EFFECT           EQU $4D
+SUBSTITUTE_EFFECT          EQU $4F
+HYPER_BEAM_EFFECT          EQU $50
+RAGE_EFFECT                EQU $51
+MIMIC_EFFECT               EQU $52
+METRONOME_EFFECT           EQU $53
+LEECH_SEED_EFFECT          EQU $54
+SPLASH_EFFECT              EQU $55
+DISABLE_EFFECT             EQU $56
+
--- /dev/null
+++ b/constants/palette_constants.asm
@@ -1,0 +1,39 @@
+; super game boy palettes
+PAL_ROUTE     EQU $00
+PAL_PALLET    EQU $01
+PAL_VIRIDIAN  EQU $02
+PAL_PEWTER    EQU $03
+PAL_CERULEAN  EQU $04
+PAL_LAVENDER  EQU $05
+PAL_VERMILION EQU $06
+PAL_CELADON   EQU $07
+PAL_FUCHSIA   EQU $08
+PAL_CINNABAR  EQU $09
+PAL_INDIGO    EQU $0A
+PAL_SAFFRON   EQU $0B
+PAL_TOWNMAP   EQU $0C
+PAL_LOGO1     EQU $0D
+; XXX
+PAL_LOGO2     EQU $0F
+PAL_MEWMON    EQU $10
+PAL_BLUEMON   EQU $11
+PAL_REDMON    EQU $12
+PAL_CYANMON   EQU $13
+PAL_PURPLEMON EQU $14
+PAL_BROWNMON  EQU $15
+PAL_GREENMON  EQU $16
+PAL_PINKMON   EQU $17
+PAL_YELLOWMON EQU $18
+PAL_GREYMON   EQU $19
+PAL_SLOTS1    EQU $1A
+PAL_SLOTS2    EQU $1B
+PAL_SLOTS3    EQU $1C
+PAL_SLOTS4    EQU $1D
+PAL_BLACK     EQU $1E
+PAL_GREENBAR  EQU $1F
+PAL_YELLOWBAR EQU $20
+PAL_REDBAR    EQU $21
+PAL_BADGE     EQU $22
+PAL_CAVE      EQU $23
+; XXX
+
--- /dev/null
+++ b/constants/pokedex_constants.asm
@@ -1,0 +1,152 @@
+DEX_BULBASAUR  EQU 1
+DEX_IVYSAUR    EQU 2
+DEX_VENUSAUR   EQU 3
+DEX_CHARMANDER EQU 4
+DEX_CHARMELEON EQU 5
+DEX_CHARIZARD  EQU 6
+DEX_SQUIRTLE   EQU 7
+DEX_WARTORTLE  EQU 8
+DEX_BLASTOISE  EQU 9
+DEX_CATERPIE   EQU 10
+DEX_METAPOD    EQU 11
+DEX_BUTTERFREE EQU 12
+DEX_WEEDLE     EQU 13
+DEX_KAKUNA     EQU 14
+DEX_BEEDRILL   EQU 15
+DEX_PIDGEY     EQU 16
+DEX_PIDGEOTTO  EQU 17
+DEX_PIDGEOT    EQU 18
+DEX_RATTATA    EQU 19
+DEX_RATICATE   EQU 20
+DEX_SPEAROW    EQU 21
+DEX_FEAROW     EQU 22
+DEX_EKANS      EQU 23
+DEX_ARBOK      EQU 24
+DEX_PIKACHU    EQU 25
+DEX_RAICHU     EQU 26
+DEX_SANDSHREW  EQU 27
+DEX_SANDSLASH  EQU 28
+DEX_NIDORAN_F  EQU 29
+DEX_NIDORINA   EQU 30
+DEX_NIDOQUEEN  EQU 31
+DEX_NIDORAN_M  EQU 32
+DEX_NIDORINO   EQU 33
+DEX_NIDOKING   EQU 34
+DEX_CLEFAIRY   EQU 35
+DEX_CLEFABLE   EQU 36
+DEX_VULPIX     EQU 37
+DEX_NINETALES  EQU 38
+DEX_JIGGLYPUFF EQU 39
+DEX_WIGGLYTUFF EQU 40
+DEX_ZUBAT      EQU 41
+DEX_GOLBAT     EQU 42
+DEX_ODDISH     EQU 43
+DEX_GLOOM      EQU 44
+DEX_VILEPLUME  EQU 45
+DEX_PARAS      EQU 46
+DEX_PARASECT   EQU 47
+DEX_VENONAT    EQU 48
+DEX_VENOMOTH   EQU 49
+DEX_DIGLETT    EQU 50
+DEX_DUGTRIO    EQU 51
+DEX_MEOWTH     EQU 52
+DEX_PERSIAN    EQU 53
+DEX_PSYDUCK    EQU 54
+DEX_GOLDUCK    EQU 55
+DEX_MANKEY     EQU 56
+DEX_PRIMEAPE   EQU 57
+DEX_GROWLITHE  EQU 58
+DEX_ARCANINE   EQU 59
+DEX_POLIWAG    EQU 60
+DEX_POLIWHIRL  EQU 61
+DEX_POLIWRATH  EQU 62
+DEX_ABRA       EQU 63
+DEX_KADABRA    EQU 64
+DEX_ALAKAZAM   EQU 65
+DEX_MACHOP     EQU 66
+DEX_MACHOKE    EQU 67
+DEX_MACHAMP    EQU 68
+DEX_BELLSPROUT EQU 69
+DEX_WEEPINBELL EQU 70
+DEX_VICTREEBEL EQU 71
+DEX_TENTACOOL  EQU 72
+DEX_TENTACRUEL EQU 73
+DEX_GEODUDE    EQU 74
+DEX_GRAVELER   EQU 75
+DEX_GOLEM      EQU 76
+DEX_PONYTA     EQU 77
+DEX_RAPIDASH   EQU 78
+DEX_SLOWPOKE   EQU 79
+DEX_SLOWBRO    EQU 80
+DEX_MAGNEMITE  EQU 81
+DEX_MAGNETON   EQU 82
+DEX_FARFETCH_D EQU 83
+DEX_DODUO      EQU 84
+DEX_DODRIO     EQU 85
+DEX_SEEL       EQU 86
+DEX_DEWGONG    EQU 87
+DEX_GRIMER     EQU 88
+DEX_MUK        EQU 89
+DEX_SHELLDER   EQU 90
+DEX_CLOYSTER   EQU 91
+DEX_GASTLY     EQU 92
+DEX_HAUNTER    EQU 93
+DEX_GENGAR     EQU 94
+DEX_ONIX       EQU 95
+DEX_DROWZEE    EQU 96
+DEX_HYPNO      EQU 97
+DEX_KRABBY     EQU 98
+DEX_KINGLER    EQU 99
+DEX_VOLTORB    EQU 100
+DEX_ELECTRODE  EQU 101
+DEX_EXEGGCUTE  EQU 102
+DEX_EXEGGUTOR  EQU 103
+DEX_CUBONE     EQU 104
+DEX_MAROWAK    EQU 105
+DEX_HITMONLEE  EQU 106
+DEX_HITMONCHAN EQU 107
+DEX_LICKITUNG  EQU 108
+DEX_KOFFING    EQU 109
+DEX_WEEZING    EQU 110
+DEX_RHYHORN    EQU 111
+DEX_RHYDON     EQU 112
+DEX_CHANSEY    EQU 113
+DEX_TANGELA    EQU 114
+DEX_KANGASKHAN EQU 115
+DEX_HORSEA     EQU 116
+DEX_SEADRA     EQU 117
+DEX_GOLDEEN    EQU 118
+DEX_SEAKING    EQU 119
+DEX_STARYU     EQU 120
+DEX_STARMIE    EQU 121
+DEX_MR_MIME    EQU 122
+DEX_SCYTHER    EQU 123
+DEX_JYNX       EQU 124
+DEX_ELECTABUZZ EQU 125
+DEX_MAGMAR     EQU 126
+DEX_PINSIR     EQU 127
+DEX_TAUROS     EQU 128
+DEX_MAGIKARP   EQU 129
+DEX_GYARADOS   EQU 130
+DEX_LAPRAS     EQU 131
+DEX_DITTO      EQU 132
+DEX_EEVEE      EQU 133
+DEX_VAPOREON   EQU 134
+DEX_JOLTEON    EQU 135
+DEX_FLAREON    EQU 136
+DEX_PORYGON    EQU 137
+DEX_OMANYTE    EQU 138
+DEX_OMASTAR    EQU 139
+DEX_KABUTO     EQU 140
+DEX_KABUTOPS   EQU 141
+DEX_AERODACTYL EQU 142
+DEX_SNORLAX    EQU 143
+DEX_ARTICUNO   EQU 144
+DEX_ZAPDOS     EQU 145
+DEX_MOLTRES    EQU 146
+DEX_DRATINI    EQU 147
+DEX_DRAGONAIR  EQU 148
+DEX_DRAGONITE  EQU 149
+DEX_MEWTWO     EQU 150
+DEX_MEW        EQU 151
+
--- /dev/null
+++ b/constants/pokemon_constants.asm
@@ -1,0 +1,155 @@
+RHYDON     EQU $01
+KANGASKHAN EQU $02
+NIDORAN_M  EQU $03
+CLEFAIRY   EQU $04
+SPEAROW    EQU $05
+VOLTORB    EQU $06
+NIDOKING   EQU $07
+SLOWBRO    EQU $08
+IVYSAUR    EQU $09
+EXEGGUTOR  EQU $0A
+LICKITUNG  EQU $0B
+EXEGGCUTE  EQU $0C
+GRIMER     EQU $0D
+GENGAR     EQU $0E
+NIDORAN_F  EQU $0F
+NIDOQUEEN  EQU $10
+CUBONE     EQU $11
+RHYHORN    EQU $12
+LAPRAS     EQU $13
+ARCANINE   EQU $14
+MEW        EQU $15
+GYARADOS   EQU $16
+SHELLDER   EQU $17
+TENTACOOL  EQU $18
+GASTLY     EQU $19
+SCYTHER    EQU $1A
+STARYU     EQU $1B
+BLASTOISE  EQU $1C
+PINSIR     EQU $1D
+TANGELA    EQU $1E
+GROWLITHE  EQU $21
+ONIX       EQU $22
+FEAROW     EQU $23
+PIDGEY     EQU $24
+SLOWPOKE   EQU $25
+KADABRA    EQU $26
+GRAVELER   EQU $27
+CHANSEY    EQU $28
+MACHOKE    EQU $29
+MR_MIME    EQU $2A
+HITMONLEE  EQU $2B
+HITMONCHAN EQU $2C
+ARBOK      EQU $2D
+PARASECT   EQU $2E
+PSYDUCK    EQU $2F
+DROWZEE    EQU $30
+GOLEM      EQU $31
+MAGMAR     EQU $33
+ELECTABUZZ EQU $35
+MAGNETON   EQU $36
+KOFFING    EQU $37
+MANKEY     EQU $39
+SEEL       EQU $3A
+DIGLETT    EQU $3B
+TAUROS     EQU $3C
+FARFETCH_D EQU $40
+VENONAT    EQU $41
+DRAGONITE  EQU $42
+DODUO      EQU $46
+POLIWAG    EQU $47
+JYNX       EQU $48
+MOLTRES    EQU $49
+ARTICUNO   EQU $4A
+ZAPDOS     EQU $4B
+DITTO      EQU $4C
+MEOWTH     EQU $4D
+KRABBY     EQU $4E
+VULPIX     EQU $52
+NINETALES  EQU $53
+PIKACHU    EQU $54
+RAICHU     EQU $55
+DRATINI    EQU $58
+DRAGONAIR  EQU $59
+KABUTO     EQU $5A
+KABUTOPS   EQU $5B
+HORSEA     EQU $5C
+SEADRA     EQU $5D
+SANDSHREW  EQU $60
+SANDSLASH  EQU $61
+OMANYTE    EQU $62
+OMASTAR    EQU $63
+JIGGLYPUFF EQU $64
+WIGGLYTUFF EQU $65
+EEVEE      EQU $66
+FLAREON    EQU $67
+JOLTEON    EQU $68
+VAPOREON   EQU $69
+MACHOP     EQU $6A
+ZUBAT      EQU $6B
+EKANS      EQU $6C
+PARAS      EQU $6D
+POLIWHIRL  EQU $6E
+POLIWRATH  EQU $6F
+WEEDLE     EQU $70
+KAKUNA     EQU $71
+BEEDRILL   EQU $72
+DODRIO     EQU $74
+PRIMEAPE   EQU $75
+DUGTRIO    EQU $76
+VENOMOTH   EQU $77
+DEWGONG    EQU $78
+CATERPIE   EQU $7B
+METAPOD    EQU $7C
+BUTTERFREE EQU $7D
+MACHAMP    EQU $7E
+GOLDUCK    EQU $80
+HYPNO      EQU $81
+GOLBAT     EQU $82
+MEWTWO     EQU $83
+SNORLAX    EQU $84
+MAGIKARP   EQU $85
+MUK        EQU $88
+KINGLER    EQU $8A
+CLOYSTER   EQU $8B
+ELECTRODE  EQU $8D
+CLEFABLE   EQU $8E
+WEEZING    EQU $8F
+PERSIAN    EQU $90
+MAROWAK    EQU $91
+HAUNTER    EQU $93
+ABRA       EQU $94
+ALAKAZAM   EQU $95
+PIDGEOTTO  EQU $96
+PIDGEOT    EQU $97
+STARMIE    EQU $98
+BULBASAUR  EQU $99
+VENUSAUR   EQU $9A
+TENTACRUEL EQU $9B
+GOLDEEN    EQU $9D
+SEAKING    EQU $9E
+PONYTA     EQU $A3
+RAPIDASH   EQU $A4
+RATTATA    EQU $A5
+RATICATE   EQU $A6
+NIDORINO   EQU $A7
+NIDORINA   EQU $A8
+GEODUDE    EQU $A9
+PORYGON    EQU $AA
+AERODACTYL EQU $AB
+MAGNEMITE  EQU $AD
+CHARMANDER EQU $B0
+SQUIRTLE   EQU $B1
+CHARMELEON EQU $B2
+WARTORTLE  EQU $B3
+CHARIZARD  EQU $B4
+FOSSIL_KABUTOPS EQU $B6
+FOSSIL_AERODACTYL EQU $B7
+MON_GHOST  EQU $B8
+ODDISH     EQU $B9
+GLOOM      EQU $BA
+VILEPLUME  EQU $BB
+BELLSPROUT EQU $BC
+WEEPINBELL EQU $BD
+VICTREEBEL EQU $BE
+
--- /dev/null
+++ b/constants/trainer_constants.asm
@@ -1,0 +1,48 @@
+; sometimes it's necessary to add $C8 to these values
+YOUNGSTER     EQU $01
+BUG_CATCHER   EQU $02
+LASS          EQU $03
+SAILOR        EQU $04
+JR__TRAINER_M EQU $05
+JR__TRAINER_F EQU $06
+POKEMANIAC    EQU $07
+SUPER_NERD    EQU $08
+HIKER         EQU $09
+BIKER         EQU $0A
+BURGLAR       EQU $0B
+ENGINEER      EQU $0C
+JUGGLER_X     EQU $0D
+FISHER        EQU $0E
+SWIMMER       EQU $0F
+CUE_BALL      EQU $10
+GAMBLER       EQU $11
+BEAUTY        EQU $12
+PSYCHIC_TR    EQU $13
+ROCKER        EQU $14
+JUGGLER       EQU $15
+TAMER         EQU $16
+BIRD_KEEPER   EQU $17
+BLACKBELT     EQU $18
+SONY1         EQU $19
+PROF_OAK      EQU $1A
+CHIEF         EQU $1B
+SCIENTIST     EQU $1C
+GIOVANNI      EQU $1D
+ROCKET        EQU $1E
+COOLTRAINER_M EQU $1F
+COOLTRAINER_F EQU $20
+BRUNO         EQU $21
+BROCK         EQU $22
+MISTY         EQU $23
+LT__SURGE     EQU $24
+ERIKA         EQU $25
+KOGA          EQU $26
+BLAINE        EQU $27
+SABRINA       EQU $28
+GENTLEMAN     EQU $29
+SONY2         EQU $2A
+SONY3         EQU $2B
+LORELEI       EQU $2C
+CHANNELER     EQU $2D
+AGATHA        EQU $2E
+LANCE         EQU $2F