summaryrefslogtreecommitdiff
path: root/include/constants
diff options
context:
space:
mode:
Diffstat (limited to 'include/constants')
-rw-r--r--include/constants/battle.h6
-rw-r--r--include/constants/battle_ai.h4
-rw-r--r--include/constants/battle_frontier.h11
-rw-r--r--include/constants/battle_script_commands.h2
-rw-r--r--include/constants/flags.h25
-rw-r--r--include/constants/heal_locations.h27
-rw-r--r--include/constants/region_map_sections.h6
-rw-r--r--include/constants/species.h832
-rw-r--r--include/constants/trainers.h5
-rw-r--r--include/constants/vars.h25
10 files changed, 912 insertions, 31 deletions
diff --git a/include/constants/battle.h b/include/constants/battle.h
index b3f9d919a..25544ba3d 100644
--- a/include/constants/battle.h
+++ b/include/constants/battle.h
@@ -46,7 +46,7 @@
// Battle Type Flags
#define BATTLE_TYPE_DOUBLE 0x0001
#define BATTLE_TYPE_LINK 0x0002
-#define BATTLE_TYPE_WILD 0x0004
+#define BATTLE_TYPE_IS_MASTER 0x0004 // In not-link battles, it's always set.
#define BATTLE_TYPE_TRAINER 0x0008
#define BATTLE_TYPE_FIRST_BATTLE 0x0010
#define BATTLE_TYPE_20 0x0020
@@ -70,7 +70,7 @@
#define BATTLE_TYPE_x800000 0x800000
#define BATTLE_TYPE_RECORDED 0x1000000
#define BATTLE_TYPE_x2000000 0x2000000
-#define BATTLE_TYPE_x4000000 0x4000000
+#define BATTLE_TYPE_TRAINER_HILL 0x4000000
#define BATTLE_TYPE_SECRET_BASE 0x8000000
#define BATTLE_TYPE_GROUDON 0x10000000
#define BATTLE_TYPE_KYOGRE 0x20000000
@@ -252,7 +252,7 @@
#define MOVE_EFFECT_RAPIDSPIN 0x23
#define MOVE_EFFECT_REMOVE_PARALYSIS 0x24
#define MOVE_EFFECT_ATK_DEF_DOWN 0x25
-#define MOVE_EFFECT_RECOIL_33_PARALYSIS 0x26
+#define MOVE_EFFECT_RECOIL_33 0x26
#define MOVE_EFFECT_ATK_PLUS_2 0x27
#define MOVE_EFFECT_DEF_PLUS_2 0x28
#define MOVE_EFFECT_SPD_PLUS_2 0x29
diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h
index 7d2c70307..4c3a45dc6 100644
--- a/include/constants/battle_ai.h
+++ b/include/constants/battle_ai.h
@@ -35,8 +35,8 @@
// script's table id to bit
#define AI_SCRIPT_CHECK_BAD_MOVE (1 << 0)
-#define AI_SCRIPT_CHECK_VIABILITY (1 << 1)
-#define AI_SCRIPT_TRY_TO_FAINT (1 << 2)
+#define AI_SCRIPT_TRY_TO_FAINT (1 << 1)
+#define AI_SCRIPT_CHECK_VIABILITY (1 << 2)
#define AI_SCRIPT_SETUP_FIRST_TURN (1 << 3)
#define AI_SCRIPT_RISKY (1 << 4)
#define AI_SCRIPT_PREFER_STRONGEST_MOVE (1 << 5)
diff --git a/include/constants/battle_frontier.h b/include/constants/battle_frontier.h
index 4145805c4..1cd750a3d 100644
--- a/include/constants/battle_frontier.h
+++ b/include/constants/battle_frontier.h
@@ -10,4 +10,15 @@
#define FRONTIER_FACILITY_PIKE 5
#define FRONTIER_FACILITY_PYRAMID 6
+// Battle Frontier lvl modes.
+#define FRONTIER_LVL_50 0
+#define FRONTIER_LVL_OPEN 1
+#define FRONTIER_LVL_TENT 2
+
+// Battle Frontier battle modes.
+#define FRONTIER_MODE_SINGLES 0
+#define FRONTIER_MODE_DOUBLES 1
+#define FRONTIER_MODE_MULTIS 2
+#define FRONTIER_MODE_LINK_MULTIS 3
+
#endif // GUARD_CONSTANTS_BATTLE_FRONTIER_H
diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h
index 84ec9d512..bd9d8e67d 100644
--- a/include/constants/battle_script_commands.h
+++ b/include/constants/battle_script_commands.h
@@ -71,6 +71,8 @@
#define VARIOUS_WAIT_CRY 18
#define VARIOUS_RETURN_OPPONENT_MON1 19
#define VARIOUS_RETURN_OPPONENT_MON2 20
+#define VARIOUS_VOLUME_DOWN 21
+#define VARIOUS_VOLUME_UP 22
#define VARIOUS_SET_TELEPORT_OUTCOME 25
#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 641d74f19..a74dffccf 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -199,7 +199,7 @@
#define FLAG_0x0C4 0xC4
#define FLAG_0x0C5 0xC5
#define FLAG_0x0C6 0xC6
-#define FLAG_0x0C7 0xC7
+#define FLAG_RUSTURF_TUNNEL_OPENED 0xC7
#define FLAG_0x0C8 0xC8
#define FLAG_0x0C9 0xC9
#define FLAG_0x0CA 0xCA
@@ -532,10 +532,10 @@
#define FLAG_0x210 0x210
#define FLAG_0x211 0x211
#define FLAG_0x212 0x212
-#define FLAG_0x213 0x213
-#define FLAG_0x214 0x214
-#define FLAG_0x215 0x215
-#define FLAG_0x216 0x216
+#define FLAG_HIDDEN_ITEM_1F 0x213
+#define FLAG_HIDDEN_ITEM_20 0x214
+#define FLAG_HIDDEN_ITEM_21 0x215
+#define FLAG_HIDDEN_ITEM_22 0x216
#define FLAG_0x217 0x217
#define FLAG_0x218 0x218
#define FLAG_0x219 0x219
@@ -597,7 +597,7 @@
#define FLAG_0x251 0x251
#define FLAG_0x252 0x252
#define FLAG_0x253 0x253
-#define FLAG_0x254 0x254
+#define FLAG_HIDDEN_ITEM_BLACK_GLASSES 0x254
#define FLAG_0x255 0x255
#define FLAG_0x256 0x256
#define FLAG_0x257 0x257
@@ -790,10 +790,10 @@
#define FLAG_0x312 0x312
#define FLAG_0x313 0x313
#define FLAG_0x314 0x314
-#define FLAG_0x315 0x315
-#define FLAG_0x316 0x316
-#define FLAG_0x317 0x317
-#define FLAG_0x318 0x318
+#define FLAG_HIDE_FANCLUB_OLD_LADY 0x315
+#define FLAG_HIDE_FANCLUB_BOY 0x316
+#define FLAG_HIDE_FANCLUB_LITTLE_BOY 0x317
+#define FLAG_HIDE_FANCLUB_LADY 0x318
#define FLAG_0x319 0x319
#define FLAG_0x31A 0x31A
#define FLAG_0x31B 0x31B
@@ -932,8 +932,8 @@
#define FLAG_0x3A0 0x3A0
#define FLAG_0x3A1 0x3A1
#define FLAG_0x3A2 0x3A2
-#define FLAG_0x3A3 0x3A3
-#define FLAG_0x3A4 0x3A4
+#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1 0x3A3
+#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2 0x3A4
#define FLAG_0x3A5 0x3A5
#define FLAG_0x3A6 0x3A6
#define FLAG_0x3A7 0x3A7
@@ -1570,6 +1570,7 @@
#define FLAG_0x95E (SYSTEM_FLAGS + 0xFE)
#define FLAG_0x95F (SYSTEM_FLAGS + 0xFF)
+#define SPECIAL_FLAGS_START 0x4000
// SPECIAL FLAGS (unknown purpose)
#define FLAG_SPECIAL_FLAG_0x4000 0x4000
#define FLAG_SPECIAL_FLAG_0x4001 0x4001
diff --git a/include/constants/heal_locations.h b/include/constants/heal_locations.h
new file mode 100644
index 000000000..64c8956a9
--- /dev/null
+++ b/include/constants/heal_locations.h
@@ -0,0 +1,27 @@
+#ifndef GUARD_CONSTANTS_HEAL_LOCATIONS_H
+#define GUARD_CONSTANTS_HEAL_LOCATIONS_H
+
+#define HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F 1
+#define HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F 2
+#define HEAL_LOCATION_PETALBURG_CITY 3
+#define HEAL_LOCATION_SLATEPORT_CITY 4
+#define HEAL_LOCATION_MAUVILLE_CITY 5
+#define HEAL_LOCATION_RUSTBORO_CITY 6
+#define HEAL_LOCATION_FORTREE_CITY 7
+#define HEAL_LOCATION_LILYCOVE_CITY 8
+#define HEAL_LOCATION_MOSSDEEP_CITY 9
+#define HEAL_LOCATION_SOOTOPOLIS_CITY 10
+#define HEAL_LOCATION_EVER_GRANDE_CITY_1 11
+#define HEAL_LOCATION_LITTLEROOT_TOWN_1 12
+#define HEAL_LOCATION_LITTLEROOT_TOWN_2 13
+#define HEAL_LOCATION_OLDALE_TOWN 14
+#define HEAL_LOCATION_DEWFORD_TOWN 15
+#define HEAL_LOCATION_LAVARIDGE_TOWN 16
+#define HEAL_LOCATION_FALLARBOR_TOWN 17
+#define HEAL_LOCATION_VERDANTURF_TOWN 18
+#define HEAL_LOCATION_PACIFIDLOG_TOWN 19
+#define HEAL_LOCATION_EVER_GRANDE_CITY_2 20
+#define HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR 21
+#define HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST 22
+
+#endif // GUARD_CONSTANTS_HEAL_LOCATIONS_H
diff --git a/include/constants/region_map_sections.h b/include/constants/region_map_sections.h
index b9c518b1b..12c894367 100644
--- a/include/constants/region_map_sections.h
+++ b/include/constants/region_map_sections.h
@@ -216,4 +216,10 @@
#define MAPSEC_TRAINER_HILL 0xD4
#define MAPSEC_NONE 0xD5
+#define MAPSEC_SPECIAL_EGG 0xFD
+#define MAPSEC_IN_GAME_TRADE 0xFE
+#define MAPSEC_FATEFUL_ENCOUNTER 0xFF
+
+#define MAPSEC_SUBTRACT_KANTO (MAPSEC_SPECIAL_AREA - MAPSEC_DYNAMIC)
+
#endif //GUARD_REGIONMAPSEC_H
diff --git a/include/constants/species.h b/include/constants/species.h
index f698ada14..cd9b13743 100644
--- a/include/constants/species.h
+++ b/include/constants/species.h
@@ -447,4 +447,836 @@
#define NUM_SPECIES SPECIES_EGG
+// National Dex Index Defines
+
+#define NATIONAL_DEX_BULBASAUR 1
+#define NATIONAL_DEX_IVYSAUR 2
+#define NATIONAL_DEX_VENUSAUR 3
+#define NATIONAL_DEX_CHARMANDER 4
+#define NATIONAL_DEX_CHARMELEON 5
+#define NATIONAL_DEX_CHARIZARD 6
+#define NATIONAL_DEX_SQUIRTLE 7
+#define NATIONAL_DEX_WARTORTLE 8
+#define NATIONAL_DEX_BLASTOISE 9
+#define NATIONAL_DEX_CATERPIE 10
+#define NATIONAL_DEX_METAPOD 11
+#define NATIONAL_DEX_BUTTERFREE 12
+#define NATIONAL_DEX_WEEDLE 13
+#define NATIONAL_DEX_KAKUNA 14
+#define NATIONAL_DEX_BEEDRILL 15
+#define NATIONAL_DEX_PIDGEY 16
+#define NATIONAL_DEX_PIDGEOTTO 17
+#define NATIONAL_DEX_PIDGEOT 18
+#define NATIONAL_DEX_RATTATA 19
+#define NATIONAL_DEX_RATICATE 20
+#define NATIONAL_DEX_SPEAROW 21
+#define NATIONAL_DEX_FEAROW 22
+#define NATIONAL_DEX_EKANS 23
+#define NATIONAL_DEX_ARBOK 24
+#define NATIONAL_DEX_PIKACHU 25
+#define NATIONAL_DEX_RAICHU 26
+#define NATIONAL_DEX_SANDSHREW 27
+#define NATIONAL_DEX_SANDSLASH 28
+#define NATIONAL_DEX_NIDORAN_F 29
+#define NATIONAL_DEX_NIDORINA 30
+#define NATIONAL_DEX_NIDOQUEEN 31
+#define NATIONAL_DEX_NIDORAN_M 32
+#define NATIONAL_DEX_NIDORINO 33
+#define NATIONAL_DEX_NIDOKING 34
+#define NATIONAL_DEX_CLEFAIRY 35
+#define NATIONAL_DEX_CLEFABLE 36
+#define NATIONAL_DEX_VULPIX 37
+#define NATIONAL_DEX_NINETALES 38
+#define NATIONAL_DEX_JIGGLYPUFF 39
+#define NATIONAL_DEX_WIGGLYTUFF 40
+#define NATIONAL_DEX_ZUBAT 41
+#define NATIONAL_DEX_GOLBAT 42
+#define NATIONAL_DEX_ODDISH 43
+#define NATIONAL_DEX_GLOOM 44
+#define NATIONAL_DEX_VILEPLUME 45
+#define NATIONAL_DEX_PARAS 46
+#define NATIONAL_DEX_PARASECT 47
+#define NATIONAL_DEX_VENONAT 48
+#define NATIONAL_DEX_VENOMOTH 49
+#define NATIONAL_DEX_DIGLETT 50
+#define NATIONAL_DEX_DUGTRIO 51
+#define NATIONAL_DEX_MEOWTH 52
+#define NATIONAL_DEX_PERSIAN 53
+#define NATIONAL_DEX_PSYDUCK 54
+#define NATIONAL_DEX_GOLDUCK 55
+#define NATIONAL_DEX_MANKEY 56
+#define NATIONAL_DEX_PRIMEAPE 57
+#define NATIONAL_DEX_GROWLITHE 58
+#define NATIONAL_DEX_ARCANINE 59
+#define NATIONAL_DEX_POLIWAG 60
+#define NATIONAL_DEX_POLIWHIRL 61
+#define NATIONAL_DEX_POLIWRATH 62
+#define NATIONAL_DEX_ABRA 63
+#define NATIONAL_DEX_KADABRA 64
+#define NATIONAL_DEX_ALAKAZAM 65
+#define NATIONAL_DEX_MACHOP 66
+#define NATIONAL_DEX_MACHOKE 67
+#define NATIONAL_DEX_MACHAMP 68
+#define NATIONAL_DEX_BELLSPROUT 69
+#define NATIONAL_DEX_WEEPINBELL 70
+#define NATIONAL_DEX_VICTREEBEL 71
+#define NATIONAL_DEX_TENTACOOL 72
+#define NATIONAL_DEX_TENTACRUEL 73
+#define NATIONAL_DEX_GEODUDE 74
+#define NATIONAL_DEX_GRAVELER 75
+#define NATIONAL_DEX_GOLEM 76
+#define NATIONAL_DEX_PONYTA 77
+#define NATIONAL_DEX_RAPIDASH 78
+#define NATIONAL_DEX_SLOWPOKE 79
+#define NATIONAL_DEX_SLOWBRO 80
+#define NATIONAL_DEX_MAGNEMITE 81
+#define NATIONAL_DEX_MAGNETON 82
+#define NATIONAL_DEX_FARFETCHD 83
+#define NATIONAL_DEX_DODUO 84
+#define NATIONAL_DEX_DODRIO 85
+#define NATIONAL_DEX_SEEL 86
+#define NATIONAL_DEX_DEWGONG 87
+#define NATIONAL_DEX_GRIMER 88
+#define NATIONAL_DEX_MUK 89
+#define NATIONAL_DEX_SHELLDER 90
+#define NATIONAL_DEX_CLOYSTER 91
+#define NATIONAL_DEX_GASTLY 92
+#define NATIONAL_DEX_HAUNTER 93
+#define NATIONAL_DEX_GENGAR 94
+#define NATIONAL_DEX_ONIX 95
+#define NATIONAL_DEX_DROWZEE 96
+#define NATIONAL_DEX_HYPNO 97
+#define NATIONAL_DEX_KRABBY 98
+#define NATIONAL_DEX_KINGLER 99
+#define NATIONAL_DEX_VOLTORB 100
+#define NATIONAL_DEX_ELECTRODE 101
+#define NATIONAL_DEX_EXEGGCUTE 102
+#define NATIONAL_DEX_EXEGGUTOR 103
+#define NATIONAL_DEX_CUBONE 104
+#define NATIONAL_DEX_MAROWAK 105
+#define NATIONAL_DEX_HITMONLEE 106
+#define NATIONAL_DEX_HITMONCHAN 107
+#define NATIONAL_DEX_LICKITUNG 108
+#define NATIONAL_DEX_KOFFING 109
+#define NATIONAL_DEX_WEEZING 110
+#define NATIONAL_DEX_RHYHORN 111
+#define NATIONAL_DEX_RHYDON 112
+#define NATIONAL_DEX_CHANSEY 113
+#define NATIONAL_DEX_TANGELA 114
+#define NATIONAL_DEX_KANGASKHAN 115
+#define NATIONAL_DEX_HORSEA 116
+#define NATIONAL_DEX_SEADRA 117
+#define NATIONAL_DEX_GOLDEEN 118
+#define NATIONAL_DEX_SEAKING 119
+#define NATIONAL_DEX_STARYU 120
+#define NATIONAL_DEX_STARMIE 121
+#define NATIONAL_DEX_MR_MIME 122
+#define NATIONAL_DEX_SCYTHER 123
+#define NATIONAL_DEX_JYNX 124
+#define NATIONAL_DEX_ELECTABUZZ 125
+#define NATIONAL_DEX_MAGMAR 126
+#define NATIONAL_DEX_PINSIR 127
+#define NATIONAL_DEX_TAUROS 128
+#define NATIONAL_DEX_MAGIKARP 129
+#define NATIONAL_DEX_GYARADOS 130
+#define NATIONAL_DEX_LAPRAS 131
+#define NATIONAL_DEX_DITTO 132
+#define NATIONAL_DEX_EEVEE 133
+#define NATIONAL_DEX_VAPOREON 134
+#define NATIONAL_DEX_JOLTEON 135
+#define NATIONAL_DEX_FLAREON 136
+#define NATIONAL_DEX_PORYGON 137
+#define NATIONAL_DEX_OMANYTE 138
+#define NATIONAL_DEX_OMASTAR 139
+#define NATIONAL_DEX_KABUTO 140
+#define NATIONAL_DEX_KABUTOPS 141
+#define NATIONAL_DEX_AERODACTYL 142
+#define NATIONAL_DEX_SNORLAX 143
+#define NATIONAL_DEX_ARTICUNO 144
+#define NATIONAL_DEX_ZAPDOS 145
+#define NATIONAL_DEX_MOLTRES 146
+#define NATIONAL_DEX_DRATINI 147
+#define NATIONAL_DEX_DRAGONAIR 148
+#define NATIONAL_DEX_DRAGONITE 149
+#define NATIONAL_DEX_MEWTWO 150
+#define NATIONAL_DEX_MEW 151
+#define NATIONAL_DEX_CHIKORITA 152
+#define NATIONAL_DEX_BAYLEEF 153
+#define NATIONAL_DEX_MEGANIUM 154
+#define NATIONAL_DEX_CYNDAQUIL 155
+#define NATIONAL_DEX_QUILAVA 156
+#define NATIONAL_DEX_TYPHLOSION 157
+#define NATIONAL_DEX_TOTODILE 158
+#define NATIONAL_DEX_CROCONAW 159
+#define NATIONAL_DEX_FERALIGATR 160
+#define NATIONAL_DEX_SENTRET 161
+#define NATIONAL_DEX_FURRET 162
+#define NATIONAL_DEX_HOOTHOOT 163
+#define NATIONAL_DEX_NOCTOWL 164
+#define NATIONAL_DEX_LEDYBA 165
+#define NATIONAL_DEX_LEDIAN 166
+#define NATIONAL_DEX_SPINARAK 167
+#define NATIONAL_DEX_ARIADOS 168
+#define NATIONAL_DEX_CROBAT 169
+#define NATIONAL_DEX_CHINCHOU 170
+#define NATIONAL_DEX_LANTURN 171
+#define NATIONAL_DEX_PICHU 172
+#define NATIONAL_DEX_CLEFFA 173
+#define NATIONAL_DEX_IGGLYBUFF 174
+#define NATIONAL_DEX_TOGEPI 175
+#define NATIONAL_DEX_TOGETIC 176
+#define NATIONAL_DEX_NATU 177
+#define NATIONAL_DEX_XATU 178
+#define NATIONAL_DEX_MAREEP 179
+#define NATIONAL_DEX_FLAAFFY 180
+#define NATIONAL_DEX_AMPHAROS 181
+#define NATIONAL_DEX_BELLOSSOM 182
+#define NATIONAL_DEX_MARILL 183
+#define NATIONAL_DEX_AZUMARILL 184
+#define NATIONAL_DEX_SUDOWOODO 185
+#define NATIONAL_DEX_POLITOED 186
+#define NATIONAL_DEX_HOPPIP 187
+#define NATIONAL_DEX_SKIPLOOM 188
+#define NATIONAL_DEX_JUMPLUFF 189
+#define NATIONAL_DEX_AIPOM 190
+#define NATIONAL_DEX_SUNKERN 191
+#define NATIONAL_DEX_SUNFLORA 192
+#define NATIONAL_DEX_YANMA 193
+#define NATIONAL_DEX_WOOPER 194
+#define NATIONAL_DEX_QUAGSIRE 195
+#define NATIONAL_DEX_ESPEON 196
+#define NATIONAL_DEX_UMBREON 197
+#define NATIONAL_DEX_MURKROW 198
+#define NATIONAL_DEX_SLOWKING 199
+#define NATIONAL_DEX_MISDREAVUS 200
+#define NATIONAL_DEX_UNOWN 201
+#define NATIONAL_DEX_WOBBUFFET 202
+#define NATIONAL_DEX_GIRAFARIG 203
+#define NATIONAL_DEX_PINECO 204
+#define NATIONAL_DEX_FORRETRESS 205
+#define NATIONAL_DEX_DUNSPARCE 206
+#define NATIONAL_DEX_GLIGAR 207
+#define NATIONAL_DEX_STEELIX 208
+#define NATIONAL_DEX_SNUBBULL 209
+#define NATIONAL_DEX_GRANBULL 210
+#define NATIONAL_DEX_QWILFISH 211
+#define NATIONAL_DEX_SCIZOR 212
+#define NATIONAL_DEX_SHUCKLE 213
+#define NATIONAL_DEX_HERACROSS 214
+#define NATIONAL_DEX_SNEASEL 215
+#define NATIONAL_DEX_TEDDIURSA 216
+#define NATIONAL_DEX_URSARING 217
+#define NATIONAL_DEX_SLUGMA 218
+#define NATIONAL_DEX_MAGCARGO 219
+#define NATIONAL_DEX_SWINUB 220
+#define NATIONAL_DEX_PILOSWINE 221
+#define NATIONAL_DEX_CORSOLA 222
+#define NATIONAL_DEX_REMORAID 223
+#define NATIONAL_DEX_OCTILLERY 224
+#define NATIONAL_DEX_DELIBIRD 225
+#define NATIONAL_DEX_MANTINE 226
+#define NATIONAL_DEX_SKARMORY 227
+#define NATIONAL_DEX_HOUNDOUR 228
+#define NATIONAL_DEX_HOUNDOOM 229
+#define NATIONAL_DEX_KINGDRA 230
+#define NATIONAL_DEX_PHANPY 231
+#define NATIONAL_DEX_DONPHAN 232
+#define NATIONAL_DEX_PORYGON2 233
+#define NATIONAL_DEX_STANTLER 234
+#define NATIONAL_DEX_SMEARGLE 235
+#define NATIONAL_DEX_TYROGUE 236
+#define NATIONAL_DEX_HITMONTOP 237
+#define NATIONAL_DEX_SMOOCHUM 238
+#define NATIONAL_DEX_ELEKID 239
+#define NATIONAL_DEX_MAGBY 240
+#define NATIONAL_DEX_MILTANK 241
+#define NATIONAL_DEX_BLISSEY 242
+#define NATIONAL_DEX_RAIKOU 243
+#define NATIONAL_DEX_ENTEI 244
+#define NATIONAL_DEX_SUICUNE 245
+#define NATIONAL_DEX_LARVITAR 246
+#define NATIONAL_DEX_PUPITAR 247
+#define NATIONAL_DEX_TYRANITAR 248
+#define NATIONAL_DEX_LUGIA 249
+#define NATIONAL_DEX_HO_OH 250
+#define NATIONAL_DEX_CELEBI 251
+
+#define NATIONAL_DEX_OLD_UNOWN_B 387
+#define NATIONAL_DEX_OLD_UNOWN_C 388
+#define NATIONAL_DEX_OLD_UNOWN_D 389
+#define NATIONAL_DEX_OLD_UNOWN_E 390
+#define NATIONAL_DEX_OLD_UNOWN_F 391
+#define NATIONAL_DEX_OLD_UNOWN_G 392
+#define NATIONAL_DEX_OLD_UNOWN_H 393
+#define NATIONAL_DEX_OLD_UNOWN_I 394
+#define NATIONAL_DEX_OLD_UNOWN_J 395
+#define NATIONAL_DEX_OLD_UNOWN_K 396
+#define NATIONAL_DEX_OLD_UNOWN_L 397
+#define NATIONAL_DEX_OLD_UNOWN_M 398
+#define NATIONAL_DEX_OLD_UNOWN_N 399
+#define NATIONAL_DEX_OLD_UNOWN_O 400
+#define NATIONAL_DEX_OLD_UNOWN_P 401
+#define NATIONAL_DEX_OLD_UNOWN_Q 402
+#define NATIONAL_DEX_OLD_UNOWN_R 403
+#define NATIONAL_DEX_OLD_UNOWN_S 404
+#define NATIONAL_DEX_OLD_UNOWN_T 405
+#define NATIONAL_DEX_OLD_UNOWN_U 406
+#define NATIONAL_DEX_OLD_UNOWN_V 407
+#define NATIONAL_DEX_OLD_UNOWN_W 408
+#define NATIONAL_DEX_OLD_UNOWN_X 409
+#define NATIONAL_DEX_OLD_UNOWN_Y 410
+#define NATIONAL_DEX_OLD_UNOWN_Z 411
+
+#define NATIONAL_DEX_TREECKO 252
+#define NATIONAL_DEX_GROVYLE 253
+#define NATIONAL_DEX_SCEPTILE 254
+#define NATIONAL_DEX_TORCHIC 255
+#define NATIONAL_DEX_COMBUSKEN 256
+#define NATIONAL_DEX_BLAZIKEN 257
+#define NATIONAL_DEX_MUDKIP 258
+#define NATIONAL_DEX_MARSHTOMP 259
+#define NATIONAL_DEX_SWAMPERT 260
+#define NATIONAL_DEX_POOCHYENA 261
+#define NATIONAL_DEX_MIGHTYENA 262
+#define NATIONAL_DEX_ZIGZAGOON 263
+#define NATIONAL_DEX_LINOONE 264
+#define NATIONAL_DEX_WURMPLE 265
+#define NATIONAL_DEX_SILCOON 266
+#define NATIONAL_DEX_BEAUTIFLY 267
+#define NATIONAL_DEX_CASCOON 268
+#define NATIONAL_DEX_DUSTOX 269
+#define NATIONAL_DEX_LOTAD 270
+#define NATIONAL_DEX_LOMBRE 271
+#define NATIONAL_DEX_LUDICOLO 272
+#define NATIONAL_DEX_SEEDOT 273
+#define NATIONAL_DEX_NUZLEAF 274
+#define NATIONAL_DEX_SHIFTRY 275
+#define NATIONAL_DEX_NINCADA 290
+#define NATIONAL_DEX_NINJASK 291
+#define NATIONAL_DEX_SHEDINJA 292
+#define NATIONAL_DEX_TAILLOW 276
+#define NATIONAL_DEX_SWELLOW 277
+#define NATIONAL_DEX_SHROOMISH 285
+#define NATIONAL_DEX_BRELOOM 286
+#define NATIONAL_DEX_SPINDA 327
+#define NATIONAL_DEX_WINGULL 278
+#define NATIONAL_DEX_PELIPPER 279
+#define NATIONAL_DEX_SURSKIT 283
+#define NATIONAL_DEX_MASQUERAIN 284
+#define NATIONAL_DEX_WAILMER 320
+#define NATIONAL_DEX_WAILORD 321
+#define NATIONAL_DEX_SKITTY 300
+#define NATIONAL_DEX_DELCATTY 301
+#define NATIONAL_DEX_KECLEON 352
+#define NATIONAL_DEX_BALTOY 343
+#define NATIONAL_DEX_CLAYDOL 344
+#define NATIONAL_DEX_NOSEPASS 299
+#define NATIONAL_DEX_TORKOAL 324
+#define NATIONAL_DEX_SABLEYE 302
+#define NATIONAL_DEX_BARBOACH 339
+#define NATIONAL_DEX_WHISCASH 340
+#define NATIONAL_DEX_LUVDISC 370
+#define NATIONAL_DEX_CORPHISH 341
+#define NATIONAL_DEX_CRAWDAUNT 342
+#define NATIONAL_DEX_FEEBAS 349
+#define NATIONAL_DEX_MILOTIC 350
+#define NATIONAL_DEX_CARVANHA 318
+#define NATIONAL_DEX_SHARPEDO 319
+#define NATIONAL_DEX_TRAPINCH 328
+#define NATIONAL_DEX_VIBRAVA 329
+#define NATIONAL_DEX_FLYGON 330
+#define NATIONAL_DEX_MAKUHITA 296
+#define NATIONAL_DEX_HARIYAMA 297
+#define NATIONAL_DEX_ELECTRIKE 309
+#define NATIONAL_DEX_MANECTRIC 310
+#define NATIONAL_DEX_NUMEL 322
+#define NATIONAL_DEX_CAMERUPT 323
+#define NATIONAL_DEX_SPHEAL 363
+#define NATIONAL_DEX_SEALEO 364
+#define NATIONAL_DEX_WALREIN 365
+#define NATIONAL_DEX_CACNEA 331
+#define NATIONAL_DEX_CACTURNE 332
+#define NATIONAL_DEX_SNORUNT 361
+#define NATIONAL_DEX_GLALIE 362
+#define NATIONAL_DEX_LUNATONE 337
+#define NATIONAL_DEX_SOLROCK 338
+#define NATIONAL_DEX_AZURILL 298
+#define NATIONAL_DEX_SPOINK 325
+#define NATIONAL_DEX_GRUMPIG 326
+#define NATIONAL_DEX_PLUSLE 311
+#define NATIONAL_DEX_MINUN 312
+#define NATIONAL_DEX_MAWILE 303
+#define NATIONAL_DEX_MEDITITE 307
+#define NATIONAL_DEX_MEDICHAM 308
+#define NATIONAL_DEX_SWABLU 333
+#define NATIONAL_DEX_ALTARIA 334
+#define NATIONAL_DEX_WYNAUT 360
+#define NATIONAL_DEX_DUSKULL 355
+#define NATIONAL_DEX_DUSCLOPS 356
+#define NATIONAL_DEX_ROSELIA 315
+#define NATIONAL_DEX_SLAKOTH 287
+#define NATIONAL_DEX_VIGOROTH 288
+#define NATIONAL_DEX_SLAKING 289
+#define NATIONAL_DEX_GULPIN 316
+#define NATIONAL_DEX_SWALOT 317
+#define NATIONAL_DEX_TROPIUS 357
+#define NATIONAL_DEX_WHISMUR 293
+#define NATIONAL_DEX_LOUDRED 294
+#define NATIONAL_DEX_EXPLOUD 295
+#define NATIONAL_DEX_CLAMPERL 366
+#define NATIONAL_DEX_HUNTAIL 367
+#define NATIONAL_DEX_GOREBYSS 368
+#define NATIONAL_DEX_ABSOL 359
+#define NATIONAL_DEX_SHUPPET 353
+#define NATIONAL_DEX_BANETTE 354
+#define NATIONAL_DEX_SEVIPER 336
+#define NATIONAL_DEX_ZANGOOSE 335
+#define NATIONAL_DEX_RELICANTH 369
+#define NATIONAL_DEX_ARON 304
+#define NATIONAL_DEX_LAIRON 305
+#define NATIONAL_DEX_AGGRON 306
+#define NATIONAL_DEX_CASTFORM 351
+#define NATIONAL_DEX_VOLBEAT 313
+#define NATIONAL_DEX_ILLUMISE 314
+#define NATIONAL_DEX_LILEEP 345
+#define NATIONAL_DEX_CRADILY 346
+#define NATIONAL_DEX_ANORITH 347
+#define NATIONAL_DEX_ARMALDO 348
+#define NATIONAL_DEX_RALTS 280
+#define NATIONAL_DEX_KIRLIA 281
+#define NATIONAL_DEX_GARDEVOIR 282
+#define NATIONAL_DEX_BAGON 371
+#define NATIONAL_DEX_SHELGON 372
+#define NATIONAL_DEX_SALAMENCE 373
+#define NATIONAL_DEX_BELDUM 374
+#define NATIONAL_DEX_METANG 375
+#define NATIONAL_DEX_METAGROSS 376
+#define NATIONAL_DEX_REGIROCK 377
+#define NATIONAL_DEX_REGICE 378
+#define NATIONAL_DEX_REGISTEEL 379
+#define NATIONAL_DEX_KYOGRE 382
+#define NATIONAL_DEX_GROUDON 383
+#define NATIONAL_DEX_RAYQUAZA 384
+#define NATIONAL_DEX_LATIAS 380
+#define NATIONAL_DEX_LATIOS 381
+#define NATIONAL_DEX_JIRACHI 385
+#define NATIONAL_DEX_DEOXYS 386
+#define NATIONAL_DEX_CHIMECHO 358
+
+// Hoenn Dex Index Defines
+
+#define HOENN_DEX_BULBASAUR 203
+#define HOENN_DEX_IVYSAUR 204
+#define HOENN_DEX_VENUSAUR 205
+#define HOENN_DEX_CHARMANDER 206
+#define HOENN_DEX_CHARMELEON 207
+#define HOENN_DEX_CHARIZARD 208
+#define HOENN_DEX_SQUIRTLE 209
+#define HOENN_DEX_WARTORTLE 210
+#define HOENN_DEX_BLASTOISE 211
+#define HOENN_DEX_CATERPIE 212
+#define HOENN_DEX_METAPOD 213
+#define HOENN_DEX_BUTTERFREE 214
+#define HOENN_DEX_WEEDLE 215
+#define HOENN_DEX_KAKUNA 216
+#define HOENN_DEX_BEEDRILL 217
+#define HOENN_DEX_PIDGEY 218
+#define HOENN_DEX_PIDGEOTTO 219
+#define HOENN_DEX_PIDGEOT 220
+#define HOENN_DEX_RATTATA 221
+#define HOENN_DEX_RATICATE 222
+#define HOENN_DEX_SPEAROW 223
+#define HOENN_DEX_FEAROW 224
+#define HOENN_DEX_EKANS 225
+#define HOENN_DEX_ARBOK 226
+#define HOENN_DEX_PIKACHU 156
+#define HOENN_DEX_RAICHU 157
+#define HOENN_DEX_SANDSHREW 112
+#define HOENN_DEX_SANDSLASH 113
+#define HOENN_DEX_NIDORAN_F 227
+#define HOENN_DEX_NIDORINA 228
+#define HOENN_DEX_NIDOQUEEN 229
+#define HOENN_DEX_NIDORAN_M 230
+#define HOENN_DEX_NIDORINO 231
+#define HOENN_DEX_NIDOKING 232
+#define HOENN_DEX_CLEFAIRY 233
+#define HOENN_DEX_CLEFABLE 234
+#define HOENN_DEX_VULPIX 153
+#define HOENN_DEX_NINETALES 154
+#define HOENN_DEX_JIGGLYPUFF 138
+#define HOENN_DEX_WIGGLYTUFF 139
+#define HOENN_DEX_ZUBAT 63
+#define HOENN_DEX_GOLBAT 64
+#define HOENN_DEX_ODDISH 88
+#define HOENN_DEX_GLOOM 89
+#define HOENN_DEX_VILEPLUME 90
+#define HOENN_DEX_PARAS 235
+#define HOENN_DEX_PARASECT 236
+#define HOENN_DEX_VENONAT 237
+#define HOENN_DEX_VENOMOTH 238
+#define HOENN_DEX_DIGLETT 239
+#define HOENN_DEX_DUGTRIO 240
+#define HOENN_DEX_MEOWTH 241
+#define HOENN_DEX_PERSIAN 242
+#define HOENN_DEX_PSYDUCK 158
+#define HOENN_DEX_GOLDUCK 159
+#define HOENN_DEX_MANKEY 243
+#define HOENN_DEX_PRIMEAPE 244
+#define HOENN_DEX_GROWLITHE 245
+#define HOENN_DEX_ARCANINE 246
+#define HOENN_DEX_POLIWAG 247
+#define HOENN_DEX_POLIWHIRL 248
+#define HOENN_DEX_POLIWRATH 249
+#define HOENN_DEX_ABRA 39
+#define HOENN_DEX_KADABRA 40
+#define HOENN_DEX_ALAKAZAM 41
+#define HOENN_DEX_MACHOP 73
+#define HOENN_DEX_MACHOKE 74
+#define HOENN_DEX_MACHAMP 75
+#define HOENN_DEX_BELLSPROUT 250
+#define HOENN_DEX_WEEPINBELL 251
+#define HOENN_DEX_VICTREEBEL 252
+#define HOENN_DEX_TENTACOOL 66
+#define HOENN_DEX_TENTACRUEL 67
+#define HOENN_DEX_GEODUDE 57
+#define HOENN_DEX_GRAVELER 58
+#define HOENN_DEX_GOLEM 59
+#define HOENN_DEX_PONYTA 253
+#define HOENN_DEX_RAPIDASH 254
+#define HOENN_DEX_SLOWPOKE 255
+#define HOENN_DEX_SLOWBRO 256
+#define HOENN_DEX_MAGNEMITE 82
+#define HOENN_DEX_MAGNETON 83
+#define HOENN_DEX_FARFETCHD 257
+#define HOENN_DEX_DODUO 92
+#define HOENN_DEX_DODRIO 93
+#define HOENN_DEX_SEEL 258
+#define HOENN_DEX_DEWGONG 259
+#define HOENN_DEX_GRIMER 106
+#define HOENN_DEX_MUK 107
+#define HOENN_DEX_SHELLDER 260
+#define HOENN_DEX_CLOYSTER 261
+#define HOENN_DEX_GASTLY 262
+#define HOENN_DEX_HAUNTER 263
+#define HOENN_DEX_GENGAR 264
+#define HOENN_DEX_ONIX 265
+#define HOENN_DEX_DROWZEE 266
+#define HOENN_DEX_HYPNO 267
+#define HOENN_DEX_KRABBY 268
+#define HOENN_DEX_KINGLER 269
+#define HOENN_DEX_VOLTORB 84
+#define HOENN_DEX_ELECTRODE 85
+#define HOENN_DEX_EXEGGCUTE 270
+#define HOENN_DEX_EXEGGUTOR 271
+#define HOENN_DEX_CUBONE 272
+#define HOENN_DEX_MAROWAK 273
+#define HOENN_DEX_HITMONLEE 274
+#define HOENN_DEX_HITMONCHAN 275
+#define HOENN_DEX_LICKITUNG 276
+#define HOENN_DEX_KOFFING 108
+#define HOENN_DEX_WEEZING 109
+#define HOENN_DEX_RHYHORN 169
+#define HOENN_DEX_RHYDON 170
+#define HOENN_DEX_CHANSEY 277
+#define HOENN_DEX_TANGELA 278
+#define HOENN_DEX_KANGASKHAN 279
+#define HOENN_DEX_HORSEA 184
+#define HOENN_DEX_SEADRA 185
+#define HOENN_DEX_GOLDEEN 50
+#define HOENN_DEX_SEAKING 51
+#define HOENN_DEX_STARYU 143
+#define HOENN_DEX_STARMIE 144
+#define HOENN_DEX_MR_MIME 280
+#define HOENN_DEX_SCYTHER 281
+#define HOENN_DEX_JYNX 282
+#define HOENN_DEX_ELECTABUZZ 283
+#define HOENN_DEX_MAGMAR 284
+#define HOENN_DEX_PINSIR 167
+#define HOENN_DEX_TAUROS 285
+#define HOENN_DEX_MAGIKARP 52
+#define HOENN_DEX_GYARADOS 53
+#define HOENN_DEX_LAPRAS 286
+#define HOENN_DEX_DITTO 287
+#define HOENN_DEX_EEVEE 288
+#define HOENN_DEX_VAPOREON 289
+#define HOENN_DEX_JOLTEON 290
+#define HOENN_DEX_FLAREON 291
+#define HOENN_DEX_PORYGON 292
+#define HOENN_DEX_OMANYTE 293
+#define HOENN_DEX_OMASTAR 294
+#define HOENN_DEX_KABUTO 295
+#define HOENN_DEX_KABUTOPS 296
+#define HOENN_DEX_AERODACTYL 297
+#define HOENN_DEX_SNORLAX 298
+#define HOENN_DEX_ARTICUNO 299
+#define HOENN_DEX_ZAPDOS 300
+#define HOENN_DEX_MOLTRES 301
+#define HOENN_DEX_DRATINI 302
+#define HOENN_DEX_DRAGONAIR 303
+#define HOENN_DEX_DRAGONITE 304
+#define HOENN_DEX_MEWTWO 305
+#define HOENN_DEX_MEW 306
+#define HOENN_DEX_CHIKORITA 307
+#define HOENN_DEX_BAYLEEF 308
+#define HOENN_DEX_MEGANIUM 309
+#define HOENN_DEX_CYNDAQUIL 310
+#define HOENN_DEX_QUILAVA 311
+#define HOENN_DEX_TYPHLOSION 312
+#define HOENN_DEX_TOTODILE 313
+#define HOENN_DEX_CROCONAW 314
+#define HOENN_DEX_FERALIGATR 315
+#define HOENN_DEX_SENTRET 316
+#define HOENN_DEX_FURRET 317
+#define HOENN_DEX_HOOTHOOT 318
+#define HOENN_DEX_NOCTOWL 319
+#define HOENN_DEX_LEDYBA 320
+#define HOENN_DEX_LEDIAN 321
+#define HOENN_DEX_SPINARAK 322
+#define HOENN_DEX_ARIADOS 323
+#define HOENN_DEX_CROBAT 65
+#define HOENN_DEX_CHINCHOU 181
+#define HOENN_DEX_LANTURN 182
+#define HOENN_DEX_PICHU 155
+#define HOENN_DEX_CLEFFA 324
+#define HOENN_DEX_IGGLYBUFF 137
+#define HOENN_DEX_TOGEPI 325
+#define HOENN_DEX_TOGETIC 326
+#define HOENN_DEX_NATU 162
+#define HOENN_DEX_XATU 163
+#define HOENN_DEX_MAREEP 327
+#define HOENN_DEX_FLAAFFY 328
+#define HOENN_DEX_AMPHAROS 329
+#define HOENN_DEX_BELLOSSOM 91
+#define HOENN_DEX_MARILL 55
+#define HOENN_DEX_AZUMARILL 56
+#define HOENN_DEX_SUDOWOODO 330
+#define HOENN_DEX_POLITOED 331
+#define HOENN_DEX_HOPPIP 332
+#define HOENN_DEX_SKIPLOOM 333
+#define HOENN_DEX_JUMPLUFF 334
+#define HOENN_DEX_AIPOM 335
+#define HOENN_DEX_SUNKERN 336
+#define HOENN_DEX_SUNFLORA 337
+#define HOENN_DEX_YANMA 338
+#define HOENN_DEX_WOOPER 339
+#define HOENN_DEX_QUAGSIRE 340
+#define HOENN_DEX_ESPEON 341
+#define HOENN_DEX_UMBREON 342
+#define HOENN_DEX_MURKROW 343
+#define HOENN_DEX_SLOWKING 344
+#define HOENN_DEX_MISDREAVUS 345
+#define HOENN_DEX_UNOWN 346
+#define HOENN_DEX_WOBBUFFET 161
+#define HOENN_DEX_GIRAFARIG 164
+#define HOENN_DEX_PINECO 347
+#define HOENN_DEX_FORRETRESS 348
+#define HOENN_DEX_DUNSPARCE 349
+#define HOENN_DEX_GLIGAR 350
+#define HOENN_DEX_STEELIX 351
+#define HOENN_DEX_SNUBBULL 352
+#define HOENN_DEX_GRANBULL 353
+#define HOENN_DEX_QWILFISH 354
+#define HOENN_DEX_SCIZOR 355
+#define HOENN_DEX_SHUCKLE 356
+#define HOENN_DEX_HERACROSS 168
+#define HOENN_DEX_SNEASEL 357
+#define HOENN_DEX_TEDDIURSA 358
+#define HOENN_DEX_URSARING 359
+#define HOENN_DEX_SLUGMA 103
+#define HOENN_DEX_MAGCARGO 104
+#define HOENN_DEX_SWINUB 360
+#define HOENN_DEX_PILOSWINE 361
+#define HOENN_DEX_CORSOLA 180
+#define HOENN_DEX_REMORAID 362
+#define HOENN_DEX_OCTILLERY 363
+#define HOENN_DEX_DELIBIRD 364
+#define HOENN_DEX_MANTINE 365
+#define HOENN_DEX_SKARMORY 115
+#define HOENN_DEX_HOUNDOUR 366
+#define HOENN_DEX_HOUNDOOM 367
+#define HOENN_DEX_KINGDRA 186
+#define HOENN_DEX_PHANPY 165
+#define HOENN_DEX_DONPHAN 166
+#define HOENN_DEX_PORYGON2 368
+#define HOENN_DEX_STANTLER 369
+#define HOENN_DEX_SMEARGLE 370
+#define HOENN_DEX_TYROGUE 371
+#define HOENN_DEX_HITMONTOP 372
+#define HOENN_DEX_SMOOCHUM 373
+#define HOENN_DEX_ELEKID 374
+#define HOENN_DEX_MAGBY 375
+#define HOENN_DEX_MILTANK 376
+#define HOENN_DEX_BLISSEY 377
+#define HOENN_DEX_RAIKOU 378
+#define HOENN_DEX_ENTEI 379
+#define HOENN_DEX_SUICUNE 380
+#define HOENN_DEX_LARVITAR 381
+#define HOENN_DEX_PUPITAR 382
+#define HOENN_DEX_TYRANITAR 383
+#define HOENN_DEX_LUGIA 384
+#define HOENN_DEX_HO_OH 385
+#define HOENN_DEX_CELEBI 386
+
+#define HOENN_DEX_OLD_UNOWN_B 387
+#define HOENN_DEX_OLD_UNOWN_C 388
+#define HOENN_DEX_OLD_UNOWN_D 389
+#define HOENN_DEX_OLD_UNOWN_E 390
+#define HOENN_DEX_OLD_UNOWN_F 391
+#define HOENN_DEX_OLD_UNOWN_G 392
+#define HOENN_DEX_OLD_UNOWN_H 393
+#define HOENN_DEX_OLD_UNOWN_I 394
+#define HOENN_DEX_OLD_UNOWN_J 395
+#define HOENN_DEX_OLD_UNOWN_K 396
+#define HOENN_DEX_OLD_UNOWN_L 397
+#define HOENN_DEX_OLD_UNOWN_M 398
+#define HOENN_DEX_OLD_UNOWN_N 399
+#define HOENN_DEX_OLD_UNOWN_O 400
+#define HOENN_DEX_OLD_UNOWN_P 401
+#define HOENN_DEX_OLD_UNOWN_Q 402
+#define HOENN_DEX_OLD_UNOWN_R 403
+#define HOENN_DEX_OLD_UNOWN_S 404
+#define HOENN_DEX_OLD_UNOWN_T 405
+#define HOENN_DEX_OLD_UNOWN_U 406
+#define HOENN_DEX_OLD_UNOWN_V 407
+#define HOENN_DEX_OLD_UNOWN_W 408
+#define HOENN_DEX_OLD_UNOWN_X 409
+#define HOENN_DEX_OLD_UNOWN_Y 410
+#define HOENN_DEX_OLD_UNOWN_Z 411
+
+#define HOENN_DEX_TREECKO 1
+#define HOENN_DEX_GROVYLE 2
+#define HOENN_DEX_SCEPTILE 3
+#define HOENN_DEX_TORCHIC 4
+#define HOENN_DEX_COMBUSKEN 5
+#define HOENN_DEX_BLAZIKEN 6
+#define HOENN_DEX_MUDKIP 7
+#define HOENN_DEX_MARSHTOMP 8
+#define HOENN_DEX_SWAMPERT 9
+#define HOENN_DEX_POOCHYENA 10
+#define HOENN_DEX_MIGHTYENA 11
+#define HOENN_DEX_ZIGZAGOON 12
+#define HOENN_DEX_LINOONE 13
+#define HOENN_DEX_WURMPLE 14
+#define HOENN_DEX_SILCOON 15
+#define HOENN_DEX_BEAUTIFLY 16
+#define HOENN_DEX_CASCOON 17
+#define HOENN_DEX_DUSTOX 18
+#define HOENN_DEX_LOTAD 19
+#define HOENN_DEX_LOMBRE 20
+#define HOENN_DEX_LUDICOLO 21
+#define HOENN_DEX_SEEDOT 22
+#define HOENN_DEX_NUZLEAF 23
+#define HOENN_DEX_SHIFTRY 24
+#define HOENN_DEX_NINCADA 42
+#define HOENN_DEX_NINJASK 43
+#define HOENN_DEX_SHEDINJA 44
+#define HOENN_DEX_TAILLOW 25
+#define HOENN_DEX_SWELLOW 26
+#define HOENN_DEX_SHROOMISH 34
+#define HOENN_DEX_BRELOOM 35
+#define HOENN_DEX_SPINDA 114
+#define HOENN_DEX_WINGULL 27
+#define HOENN_DEX_PELIPPER 28
+#define HOENN_DEX_SURSKIT 32
+#define HOENN_DEX_MASQUERAIN 33
+#define HOENN_DEX_WAILMER 99
+#define HOENN_DEX_WAILORD 100
+#define HOENN_DEX_SKITTY 61
+#define HOENN_DEX_DELCATTY 62
+#define HOENN_DEX_KECLEON 145
+#define HOENN_DEX_BALTOY 131
+#define HOENN_DEX_CLAYDOL 132
+#define HOENN_DEX_NOSEPASS 60
+#define HOENN_DEX_TORKOAL 105
+#define HOENN_DEX_SABLEYE 68
+#define HOENN_DEX_BARBOACH 127
+#define HOENN_DEX_WHISCASH 128
+#define HOENN_DEX_LUVDISC 183
+#define HOENN_DEX_CORPHISH 129
+#define HOENN_DEX_CRAWDAUNT 130
+#define HOENN_DEX_FEEBAS 140
+#define HOENN_DEX_MILOTIC 141
+#define HOENN_DEX_CARVANHA 97
+#define HOENN_DEX_SHARPEDO 98
+#define HOENN_DEX_TRAPINCH 116
+#define HOENN_DEX_VIBRAVA 117
+#define HOENN_DEX_FLYGON 118
+#define HOENN_DEX_MAKUHITA 48
+#define HOENN_DEX_HARIYAMA 49
+#define HOENN_DEX_ELECTRIKE 78
+#define HOENN_DEX_MANECTRIC 79
+#define HOENN_DEX_NUMEL 101
+#define HOENN_DEX_CAMERUPT 102
+#define HOENN_DEX_SPHEAL 173
+#define HOENN_DEX_SEALEO 174
+#define HOENN_DEX_WALREIN 175
+#define HOENN_DEX_CACNEA 119
+#define HOENN_DEX_CACTURNE 120
+#define HOENN_DEX_SNORUNT 171
+#define HOENN_DEX_GLALIE 172
+#define HOENN_DEX_LUNATONE 125
+#define HOENN_DEX_SOLROCK 126
+#define HOENN_DEX_AZURILL 54
+#define HOENN_DEX_SPOINK 110
+#define HOENN_DEX_GRUMPIG 111
+#define HOENN_DEX_PLUSLE 80
+#define HOENN_DEX_MINUN 81
+#define HOENN_DEX_MAWILE 69
+#define HOENN_DEX_MEDITITE 76
+#define HOENN_DEX_MEDICHAM 77
+#define HOENN_DEX_SWABLU 121
+#define HOENN_DEX_ALTARIA 122
+#define HOENN_DEX_WYNAUT 160
+#define HOENN_DEX_DUSKULL 148
+#define HOENN_DEX_DUSCLOPS 149
+#define HOENN_DEX_ROSELIA 94
+#define HOENN_DEX_SLAKOTH 36
+#define HOENN_DEX_VIGOROTH 37
+#define HOENN_DEX_SLAKING 38
+#define HOENN_DEX_GULPIN 95
+#define HOENN_DEX_SWALOT 96
+#define HOENN_DEX_TROPIUS 150
+#define HOENN_DEX_WHISMUR 45
+#define HOENN_DEX_LOUDRED 46
+#define HOENN_DEX_EXPLOUD 47
+#define HOENN_DEX_CLAMPERL 176
+#define HOENN_DEX_HUNTAIL 177
+#define HOENN_DEX_GOREBYSS 178
+#define HOENN_DEX_ABSOL 152
+#define HOENN_DEX_SHUPPET 146
+#define HOENN_DEX_BANETTE 147
+#define HOENN_DEX_SEVIPER 124
+#define HOENN_DEX_ZANGOOSE 123
+#define HOENN_DEX_RELICANTH 179
+#define HOENN_DEX_ARON 70
+#define HOENN_DEX_LAIRON 71
+#define HOENN_DEX_AGGRON 72
+#define HOENN_DEX_CASTFORM 142
+#define HOENN_DEX_VOLBEAT 86
+#define HOENN_DEX_ILLUMISE 87
+#define HOENN_DEX_LILEEP 133
+#define HOENN_DEX_CRADILY 134
+#define HOENN_DEX_ANORITH 135
+#define HOENN_DEX_ARMALDO 136
+#define HOENN_DEX_RALTS 29
+#define HOENN_DEX_KIRLIA 30
+#define HOENN_DEX_GARDEVOIR 31
+#define HOENN_DEX_BAGON 187
+#define HOENN_DEX_SHELGON 188
+#define HOENN_DEX_SALAMENCE 189
+#define HOENN_DEX_BELDUM 190
+#define HOENN_DEX_METANG 191
+#define HOENN_DEX_METAGROSS 192
+#define HOENN_DEX_REGIROCK 193
+#define HOENN_DEX_REGICE 194
+#define HOENN_DEX_REGISTEEL 195
+#define HOENN_DEX_KYOGRE 198
+#define HOENN_DEX_GROUDON 199
+#define HOENN_DEX_RAYQUAZA 200
+#define HOENN_DEX_LATIAS 196
+#define HOENN_DEX_LATIOS 197
+#define HOENN_DEX_JIRACHI 201
+#define HOENN_DEX_DEOXYS 202
+#define HOENN_DEX_CHIMECHO 151
+
#endif // GUARD_CONSTANTS_SPECIES_H
diff --git a/include/constants/trainers.h b/include/constants/trainers.h
index 57c7fd523..f79216d94 100644
--- a/include/constants/trainers.h
+++ b/include/constants/trainers.h
@@ -5,6 +5,7 @@
// Special Trainer Ids.
#define TRAINER_FRONTIER_BRAIN 1022
+#define TRAINER_PLAYER 1023
#define TRAINER_SECRET_BASE 1024
#define TRAINER_LINK_OPPONENT 2048
#define TRAINER_OPPONENT_C00 3072
@@ -173,10 +174,10 @@
#define FACILITY_CLASS_TWINS 0x39
#define FACILITY_CLASS_SAILOR 0x3a
#define FACILITY_CLASS_PKMN_TRAINER_1 0x3b
-#define FACILITY_CLASS_PKMN_TRAINER_MAY 0x3c
+#define FACILITY_CLASS_PKMN_TRAINER_BRENDAN 0x3c
#define FACILITY_CLASS_PKMN_TRAINER_3 0x3d
#define FACILITY_CLASS_PKMN_TRAINER_4 0x3e
-#define FACILITY_CLASS_PKMN_TRAINER_BRENDAN 0x3f
+#define FACILITY_CLASS_PKMN_TRAINER_MAY 0x3f
#define FACILITY_CLASS_PKMN_TRAINER_6 0x40
#define FACILITY_CLASS_PKMN_TRAINER_7 0x41
#define FACILITY_CLASS_PKMN_BREEDER_2 0x42
diff --git a/include/constants/vars.h b/include/constants/vars.h
index ed4a7797b..9854ec5a2 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -49,13 +49,13 @@
#define VAR_RECYCLE_GOODS 0x4020
#define VAR_REPEL_STEP_COUNT 0x4021
#define VAR_ICE_STEP_COUNT 0x4022
-#define VAR_FIRST_POKE 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip
+#define VAR_STARTER_MON 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip
#define VAR_MIRAGE_RND_H 0x4024
#define VAR_MIRAGE_RND_L 0x4025
#define VAR_SECRET_BASE_MAP 0x4026
-#define VAR_0x4027 0x4027
-#define VAR_0x4028 0x4028
-#define VAR_0x4029 0x4029
+#define VAR_CYCLING_ROAD_RECORD_COLLISIONS 0x4027
+#define VAR_CYCLING_ROAD_RECORD_TIME_L 0x4028
+#define VAR_CYCLING_ROAD_RECORD_TIME_H 0x4029
#define VAR_HAPPINESS_STEP_COUNTER 0x402A
#define VAR_POISON_STEP_COUNTER 0x402B
#define VAR_RESET_RTC_ENABLE 0x402C
@@ -81,8 +81,8 @@
#define VAR_ALTERING_CAVE_WILD_SET 0x403E
#define VAR_0x403F 0x403F
#define VAR_DAYS 0x4040
-#define VAR_0x4041 0x4041
-#define VAR_0x4042 0x4042
+#define VAR_FANCLUB_UNKNOWN_1 0x4041
+#define VAR_FANCLUB_UNKNOWN_2 0x4042
#define VAR_DEPT_STORE_FLOOR 0x4043
#define VAR_0x4044 0x4044
#define VAR_POKELOT_PRIZE 0x4045
@@ -165,12 +165,12 @@
#define VAR_0x4092 0x4092
#define VAR_0x4093 0x4093
#define VAR_0x4094 0x4094
-#define VAR_0x4095 0x4095
+#define VAR_LILYCOVE_FAN_CLUB_STATE 0x4095
#define VAR_0x4096 0x4096
#define VAR_0x4097 0x4097
#define VAR_0x4098 0x4098
#define VAR_0x4099 0x4099
-#define VAR_0x409A 0x409A
+#define VAR_RUSTURF_TUNNEL_STATE 0x409A
#define VAR_0x409B 0x409B
#define VAR_0x409C 0x409C
#define VAR_0x409D 0x409D
@@ -185,7 +185,7 @@
#define VAR_0x40A6 0x40A6
#define VAR_0x40A7 0x40A7
#define VAR_0x40A8 0x40A8
-#define VAR_0x40A9 0x40A9
+#define VAR_CYCLING_CHALLENGE_STATE 0x40A9
#define VAR_0x40AA 0x40AA
#define VAR_0x40AB 0x40AB
#define VAR_0x40AC 0x40AC
@@ -196,7 +196,7 @@
#define VAR_0x40B1 0x40B1
#define VAR_0x40B2 0x40B2
#define VAR_WEATHER_INSTITUTE_STATE 0x40B3
-#define VAR_PORTHOLE 0x40B4
+#define VAR_PORTHOLE_STATE 0x40B4
#define VAR_0x40B5 0x40B5
#define VAR_0x40B6 0x40B6
#define VAR_0x40B7 0x40B7
@@ -210,7 +210,7 @@
#define VAR_0x40BF 0x40BF
#define VAR_0x40C0 0x40C0
#define VAR_0x40C1 0x40C1
-#define VAR_0x40C2 0x40C2
+#define VAR_PACIFIDLOG_TM_RECEIVED_DAY 0x40C2
#define VAR_0x40C3 0x40C3
#define VAR_0x40C4 0x40C4
#define VAR_0x40C5 0x40C5
@@ -222,7 +222,7 @@
#define VAR_0x40CB 0x40CB
#define VAR_0x40CC 0x40CC
#define VAR_0x40CD 0x40CD
-#define VAR_0x40CE 0x40CE
+#define VAR_FRONTIER_BATTLE_MODE 0x40CE
#define VAR_FRONTIER_FACILITY 0x40CF
#define VAR_0x40D0 0x40D0
#define VAR_0x40D1 0x40D1
@@ -273,6 +273,7 @@
#define VAR_0x40FE 0x40FE
#define VAR_0x40FF 0x40FF
+#define SPECIAL_VARS_START 0x8000
// special vars
// They are commonly used as parameters to commands, or return values from commands.
#define VAR_0x8000 0x8000