summaryrefslogtreecommitdiff
path: root/include/constants
diff options
context:
space:
mode:
Diffstat (limited to 'include/constants')
-rw-r--r--include/constants/flags.h472
-rw-r--r--include/constants/trainers.h915
2 files changed, 1017 insertions, 370 deletions
diff --git a/include/constants/flags.h b/include/constants/flags.h
index a4b891aca..405154123 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -1,93 +1,6 @@
#ifndef GUARD_CONSTANTS_FLAGS_H
#define GUARD_CONSTANTS_FLAGS_H
-// Sys Flags Maybe
-#define FLAG_SYS_SAFARI_MODE 0x800
-#define FLAG_WHITE_FLUTE_ACTIVE 0x803
-#define FLAG_BLACK_FLUTE_ACTIVE 0x804
-
-// World Map Flags
-#define FLAG_WORLD_MAP_PALLET_TOWN 0x890
-#define FLAG_WORLD_MAP_VIRIDIAN_CITY 0x891
-#define FLAG_WORLD_MAP_PEWTER_CITY 0x892
-#define FLAG_WORLD_MAP_CERULEAN_CITY 0x893
-#define FLAG_WORLD_MAP_LAVENDER_TOWN 0x894
-#define FLAG_WORLD_MAP_VERMILION_CITY 0x895
-#define FLAG_WORLD_MAP_CELADON_CITY 0x896
-#define FLAG_WORLD_MAP_FUCHSIA_CITY 0x897
-#define FLAG_WORLD_MAP_CINNABAR_ISLAND 0x898
-#define FLAG_WORLD_MAP_INDIGO_PLATEAU_EXTERIOR 0x899
-#define FLAG_WORLD_MAP_SAFFRON_CITY 0x89a
-#define FLAG_WORLD_MAP_ONE_ISLAND 0x89b
-#define FLAG_WORLD_MAP_TWO_ISLAND 0x89c
-#define FLAG_WORLD_MAP_THREE_ISLAND 0x89d
-#define FLAG_WORLD_MAP_FOUR_ISLAND 0x89e
-#define FLAG_WORLD_MAP_FIVE_ISLAND 0x89f
-#define FLAG_WORLD_MAP_SEVEN_ISLAND 0x8a0
-#define FLAG_WORLD_MAP_SIX_ISLAND 0x8a1
-#define FLAG_WORLD_MAP_ROUTE4_POKEMON_CENTER_1F 0x8a2
-#define FLAG_WORLD_MAP_ROUTE10_POKEMON_CENTER_1F 0x8a3
-#define FLAG_WORLD_MAP_VIRIDIAN_FOREST 0x8a4
-#define FLAG_WORLD_MAP_MT_MOON_1F 0x8a5
-#define FLAG_WORLD_MAP_SSANNE_EXTERIOR 0x8a6
-#define FLAG_WORLD_MAP_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL 0x8a7
-#define FLAG_WORLD_MAP_UNDERGROUND_PATH_EAST_WEST_TUNNEL 0x8a8
-#define FLAG_WORLD_MAP_DIGLETTS_CAVE_B1F 0x8a9
-#define FLAG_WORLD_MAP_VICTORY_ROAD_1F 0x8aa
-#define FLAG_WORLD_MAP_ROCKET_HIDEOUT_B1F 0x8ab
-#define FLAG_WORLD_MAP_SILPH_CO_1F 0x8ac
-#define FLAG_WORLD_MAP_POKEMON_MANSION_1F 0x8ad
-#define FLAG_WORLD_MAP_SAFARI_ZONE_CENTER 0x8ae
-#define FLAG_WORLD_MAP_POKEMON_LEAGUE_LORELEIS_ROOM 0x8af
-#define FLAG_WORLD_MAP_ROCK_TUNNEL_1F 0x8b0
-#define FLAG_WORLD_MAP_SEAFOAM_ISLANDS_1F 0x8b1
-#define FLAG_WORLD_MAP_POKEMON_TOWER_1F 0x8b2
-#define FLAG_WORLD_MAP_CERULEAN_CAVE_1F 0x8b3
-#define FLAG_WORLD_MAP_POWER_PLANT 0x8b4
-#define FLAG_WORLD_MAP_NAVEL_ROCK_EXTERIOR 0x8b5
-#define FLAG_WORLD_MAP_MT_EMBER_EXTERIOR 0x8b6
-#define FLAG_WORLD_MAP_THREE_ISLAND_BERRY_FOREST 0x8b7
-#define FLAG_WORLD_MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE 0x8b8
-#define FLAG_WORLD_MAP_FIVE_ISLAND_ROCKET_WAREHOUSE 0x8b9
-#define FLAG_WORLD_MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY 0x8ba
-#define FLAG_WORLD_MAP_SIX_ISLAND_DOTTED_HOLE_1F 0x8bb
-#define FLAG_WORLD_MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE 0x8bc
-#define FLAG_WORLD_MAP_SIX_ISLAND_PATTERN_BUSH 0x8bd
-#define FLAG_WORLD_MAP_SIX_ISLAND_ALTERING_CAVE 0x8be
-#define FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER 0x8bf
-#define FLAG_WORLD_MAP_THREE_ISLAND_DUNSPARCE_TUNNEL 0x8c0
-#define FLAG_WORLD_MAP_SEVEN_ISLAND_SEAVAULT_CANYON_TANOBY_KEY 0x8c1
-#define FLAG_WORLD_MAP_BIRTH_ISLAND_EXTERIOR 0x8c2
-
-// Unknown
-
-#define FLAG_0x807 0x807
-#define FLAG_0x821 0x821
-#define FLAG_0x822 0x822
-#define FLAG_0x823 0x823
-#define FLAG_0x825 0x825
-#define FLAG_0x827 0x827
-#define FLAG_0x828 0x828
-#define FLAG_0x829 0x829
-#define FLAG_0x82C 0x82C
-#define FLAG_0x82F 0x82F
-#define FLAG_0x830 0x830
-#define FLAG_SYS_NOT_SOMEONES_PC 0x834
-#define FLAG_0x83C 0x83C
-#define FLAG_0x83E 0x83E
-#define FLAG_0x841 0x841
-#define FLAG_0x844 0x844
-#define FLAG_0x845 0x845
-#define FLAG_0x846 0x846
-#define FLAG_0x847 0x847
-#define FLAG_0x848 0x848
-#define FLAG_0x849 0x849
-#define FLAG_0x84A 0x84A
-#define FLAG_0x84B 0x84B
-
-
-// Emerald Flags
-
// TODO: Get correct names and numbers
#define FLAG_0x001 0x1
@@ -1374,297 +1287,122 @@
#define FLAG_TRAINER_FLAG_START 0x500
-#define TRAINERS_FLAG_NO 0x356
-#define CODE_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
-
-// TODO: These three are badge flags
-#define FLAG_UNK820 0x820
-#define FLAG_UNK824 0x824
-#define FLAG_UNK826 0x826
-
-#define FLAG_UNK843 0x843
+#define TRAINERS_FLAG_NO 0x2E7
+#define SYS_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + (TRAINERS_FLAG_NO & 31 ? 32 - (TRAINERS_FLAG_NO & 31) : 0)) // 0x800
// SYSTEM FLAGS
-// 0x860
-#define FLAG_SYS_POKEMON_GET (CODE_FLAGS + 0)
-#define FLAG_SYS_POKEDEX_GET (CODE_FLAGS + 1)
-#define FLAG_SYS_POKENAV_GET (CODE_FLAGS + 2)
-// third one appears unused
-#define FLAG_SYS_GAME_CLEAR (CODE_FLAGS + 4)
-#define FLAG_SYS_CHAT_USED (CODE_FLAGS + 5)
-#define FLAG_SYS_HIPSTER_MEET (CODE_FLAGS + 6)
-
-// badges
-#define FLAG_BADGE01_GET (CODE_FLAGS + 7)
-#define FLAG_BADGE02_GET (CODE_FLAGS + 8)
-#define FLAG_BADGE03_GET (CODE_FLAGS + 9)
-#define FLAG_BADGE04_GET (CODE_FLAGS + 0xA)
-#define FLAG_BADGE05_GET (CODE_FLAGS + 0xB)
-#define FLAG_BADGE06_GET (CODE_FLAGS + 0xC)
-#define FLAG_BADGE07_GET (CODE_FLAGS + 0xD)
-#define FLAG_BADGE08_GET (CODE_FLAGS + 0xE)
-
-// cities and towns
-#define FLAG_VISITED_LITTLEROOT_TOWN (CODE_FLAGS + 0xF)
-#define FLAG_VISITED_OLDALE_TOWN (CODE_FLAGS + 0x10)
-#define FLAG_VISITED_DEWFORD_TOWN (CODE_FLAGS + 0x11)
-#define FLAG_VISITED_LAVARIDGE_TOWN (CODE_FLAGS + 0x12)
-#define FLAG_VISITED_FALLARBOR_TOWN (CODE_FLAGS + 0x13)
-#define FLAG_VISITED_VERDANTURF_TOWN (CODE_FLAGS + 0x14)
-#define FLAG_VISITED_PACIFIDLOG_TOWN (CODE_FLAGS + 0x15)
-#define FLAG_VISITED_PETALBURG_CITY (CODE_FLAGS + 0x16)
-#define FLAG_VISITED_SLATEPORT_CITY (CODE_FLAGS + 0x17)
-#define FLAG_VISITED_MAUVILLE_CITY (CODE_FLAGS + 0x18)
-#define FLAG_VISITED_RUSTBORO_CITY (CODE_FLAGS + 0x19)
-#define FLAG_VISITED_FORTREE_CITY (CODE_FLAGS + 0x1A)
-#define FLAG_VISITED_LILYCOVE_CITY (CODE_FLAGS + 0x1B)
-#define FLAG_VISITED_MOSSDEEP_CITY (CODE_FLAGS + 0x1C)
-#define FLAG_VISITED_SOOTOPOLIS_CITY (CODE_FLAGS + 0x1D)
-#define FLAG_VISITED_EVER_GRANDE_CITY (CODE_FLAGS + 0x1E)
+// 0x800
-#define FLAG_0x87F (CODE_FLAGS + 0x1F)
-#define FLAG_0x880 (CODE_FLAGS + 0x20)
-#define FLAG_0x881 (CODE_FLAGS + 0x21)
-#define FLAG_0x882 (CODE_FLAGS + 0x22)
-#define FLAG_0x883 (CODE_FLAGS + 0x23)
-#define FLAG_0x884 (CODE_FLAGS + 0x24)
-#define FLAG_0x885 (CODE_FLAGS + 0x25)
-#define FLAG_0x886 (CODE_FLAGS + 0x26)
-#define FLAG_0x887 (CODE_FLAGS + 0x27)
+#define FLAG_SYS_SAFARI_MODE (SYS_FLAGS + 0x0)
+#define FLAG_0x801 (SYS_FLAGS + 0x1)
+#define FLAG_WHITE_FLUTE_ACTIVE (SYS_FLAGS + 0x3)
+#define FLAG_BLACK_FLUTE_ACTIVE (SYS_FLAGS + 0x4)
+#define FLAG_0x805 (SYS_FLAGS + 0x5)
+#define FLAG_0x806 (SYS_FLAGS + 0x6)
+#define FLAG_0x807 (SYS_FLAGS + 0x7)
-#define FLAG_SYS_USE_FLASH (CODE_FLAGS + 0x28)
-#define FLAG_SYS_USE_STRENGTH (CODE_FLAGS + 0x29)
-#define FLAG_SYS_WEATHER_CTRL (CODE_FLAGS + 0x2A)
-#define FLAG_SYS_CYCLING_ROAD (CODE_FLAGS + 0x2B)
-#define FLAG_0x88C (CODE_FLAGS + 0x2C)
-#define FLAG_SYS_CRUISE_MODE (CODE_FLAGS + 0x2D)
+#define FLAG_BADGE01_GET (SYS_FLAGS + 0x20)
+#define FLAG_BADGE02_GET (SYS_FLAGS + 0x21)
+#define FLAG_BADGE03_GET (SYS_FLAGS + 0x22)
+#define FLAG_BADGE04_GET (SYS_FLAGS + 0x23)
+#define FLAG_BADGE05_GET (SYS_FLAGS + 0x24)
+#define FLAG_BADGE06_GET (SYS_FLAGS + 0x25)
+#define FLAG_BADGE07_GET (SYS_FLAGS + 0x26)
+#define FLAG_BADGE08_GET (SYS_FLAGS + 0x27)
+#define FLAG_SYS_POKEMON_GET (SYS_FLAGS + 0x28)
+#define FLAG_SYS_POKEDEX_GET (SYS_FLAGS + 0x29)
+#define FLAG_SYS_GAME_CLEAR (SYS_FLAGS + 0x2C)
+#define FLAG_0x82F (SYS_FLAGS + 0x2F)
+#define FLAG_0x830 (SYS_FLAGS + 0x30)
+#define FLAG_SYS_NOT_SOMEONES_PC (SYS_FLAGS + 0x34)
+#define FLAG_SYS_RIBBON_GET (SYS_FLAGS + 0x3B)
+#define FLAG_0x83C (SYS_FLAGS + 0x3C)
+#define FLAG_0x83E (SYS_FLAGS + 0x3E)
+#define FLAG_0x841 (SYS_FLAGS + 0x41)
+#define FLAG_0x842 (SYS_FLAGS + 0x42)
+#define FLAG_0x843 (SYS_FLAGS + 0x43)
+#define FLAG_0x844 (SYS_FLAGS + 0x44)
+#define FLAG_0x845 (SYS_FLAGS + 0x45)
+#define FLAG_0x846 (SYS_FLAGS + 0x46)
+#define FLAG_0x847 (SYS_FLAGS + 0x47)
+#define FLAG_0x848 (SYS_FLAGS + 0x48)
+#define FLAG_0x849 (SYS_FLAGS + 0x49)
+#define FLAG_0x84A (SYS_FLAGS + 0x4A)
+#define FLAG_0x84B (SYS_FLAGS + 0x4B)
-#define FLAG_0x88E (CODE_FLAGS + 0x2E)
-#define FLAG_0x88F (CODE_FLAGS + 0x2F)
+#define FLAG_0x87F (SYS_FLAGS + 0x7F)
+#define FLAG_0x880 (SYS_FLAGS + 0x80)
+#define FLAG_0x881 (SYS_FLAGS + 0x81)
+#define FLAG_0x882 (SYS_FLAGS + 0x82)
+#define FLAG_0x883 (SYS_FLAGS + 0x83)
+#define FLAG_0x884 (SYS_FLAGS + 0x84)
+#define FLAG_0x885 (SYS_FLAGS + 0x85)
+#define FLAG_0x886 (SYS_FLAGS + 0x86)
+#define FLAG_0x887 (SYS_FLAGS + 0x87)
-#define FLAG_SYS_TV_HOME (CODE_FLAGS + 0x30)
-#define FLAG_SYS_TV_WATCH (CODE_FLAGS + 0x31)
-#define FLAG_SYS_TV_START (CODE_FLAGS + 0x32)
-#define FLAG_SYS_POPWORD_INPUT (CODE_FLAGS + 0x33)
-#define FLAG_SYS_MIX_RECORD (CODE_FLAGS + 0x34)
-#define FLAG_SYS_CLOCK_SET (CODE_FLAGS + 0x35)
-#define FLAG_SYS_NATIONAL_DEX (CODE_FLAGS + 0x36)
-#define FLAG_SYS_CAVE_SHIP (CODE_FLAGS + 0x37)
-#define FLAG_SYS_CAVE_WONDER (CODE_FLAGS + 0x38)
-#define FLAG_SYS_CAVE_BATTLE (CODE_FLAGS + 0x39)
-#define FLAG_SYS_SHOAL_TIDE (CODE_FLAGS + 0x3A)
-#define FLAG_SYS_RIBBON_GET (CODE_FLAGS + 0x3B)
+#define FLAG_0x88C (SYS_FLAGS + 0x8C)
-#define FLAG_0x89C (CODE_FLAGS + 0x3C)
-#define FLAG_0x89D (CODE_FLAGS + 0x3D)
-#define FLAG_0x89E (CODE_FLAGS + 0x3E)
-#define FLAG_0x89F (CODE_FLAGS + 0x3F)
-#define FLAG_0x8A0 (CODE_FLAGS + 0x40)
-#define FLAG_0x8A1 (CODE_FLAGS + 0x41)
-#define FLAG_0x8A2 (CODE_FLAGS + 0x42)
-#define FLAG_0x8A3 (CODE_FLAGS + 0x43)
-#define FLAG_0x8A4 (CODE_FLAGS + 0x44)
-#define FLAG_0x8A5 (CODE_FLAGS + 0x45)
-#define FLAG_0x8A6 (CODE_FLAGS + 0x46)
-#define FLAG_0x8A7 (CODE_FLAGS + 0x47)
-#define FLAG_UNLOCK_BATTLE_FRONTIER (CODE_FLAGS + 0x48)
-#define FLAG_UNLOCK_SOUTHERN_ISLAND (CODE_FLAGS + 0x49)
-#define FLAG_0x8AA (CODE_FLAGS + 0x4A)
+#define FLAG_0x88E (SYS_FLAGS + 0x8E)
+#define FLAG_0x88F (SYS_FLAGS + 0x8F)
-#define FLAG_SYS_PC_LANETTE (CODE_FLAGS + 0x4B)
-#define FLAG_SYS_MYSTERY_EVENT_ENABLE (CODE_FLAGS + 0x4C)
-#define FLAG_SYS_ENC_UP_ITEM (CODE_FLAGS + 0x4D)
-#define FLAG_SYS_ENC_DOWN_ITEM (CODE_FLAGS + 0x4E)
-#define FLAG_SYS_BRAILLE_DIG (CODE_FLAGS + 0x4F)
-#define FLAG_SYS_BRAILLE_STRENGTH (CODE_FLAGS + 0x50)
-#define FLAG_SYS_BRAILLE_WAIT (CODE_FLAGS + 0x51)
-#define FLAG_SYS_BRAILLE_FLY (CODE_FLAGS + 0x52)
-#define FLAG_SYS_HAS_EON_TICKET (CODE_FLAGS + 0x53)
-
-#define FLAG_SYS_POKEMON_LEAGUE_FLY (CODE_FLAGS + 0x54)
-
-#define FLAG_0x8B5 (CODE_FLAGS + 0x55)
-#define FLAG_0x8B6 (CODE_FLAGS + 0x56)
-#define FLAG_0x8B7 (CODE_FLAGS + 0x57)
-#define FLAG_0x8B8 (CODE_FLAGS + 0x58)
-#define FLAG_0x8B9 (CODE_FLAGS + 0x59)
-#define FLAG_0x8BA (CODE_FLAGS + 0x5A)
-#define FLAG_0x8BB (CODE_FLAGS + 0x5B)
-#define FLAG_0x8BC (CODE_FLAGS + 0x5C)
-
-#define FLAG_SYS_TV_LATI (CODE_FLAGS + 0x5D)
-
-#define FLAG_0x8BE (CODE_FLAGS + 0x5E)
-
-#define FLAG_SYS_SHOAL_ITEM (CODE_FLAGS + 0x5F)
-#define FLAG_SYS_B_DASH (CODE_FLAGS + 0x60) // got Running Shoes
-#define FLAG_SYS_CTRL_OBJ_DELETE (CODE_FLAGS + 0x61)
-#define FLAG_SYS_RESET_RTC_ENABLE (CODE_FLAGS + 0x62)
-
-#define FLAG_0x8C3 (CODE_FLAGS + 0x63)
-
-#define FLAG_SYS_TOWER_SILVER (CODE_FLAGS + 0x64)
-#define FLAG_SYS_TOWER_GOLD (CODE_FLAGS + 0x65)
-#define FLAG_SYS_DOME_SILVER (CODE_FLAGS + 0x66)
-#define FLAG_SYS_DOME_GOLD (CODE_FLAGS + 0x67)
-#define FLAG_SYS_PALACE_SILVER (CODE_FLAGS + 0x68)
-#define FLAG_SYS_PALACE_GOLD (CODE_FLAGS + 0x69)
-#define FLAG_SYS_ARENA_SILVER (CODE_FLAGS + 0x6A)
-#define FLAG_SYS_ARENA_GOLD (CODE_FLAGS + 0x6B)
-#define FLAG_SYS_FACTORY_SILVER (CODE_FLAGS + 0x6C)
-#define FLAG_SYS_FACTORY_GOLD (CODE_FLAGS + 0x6D)
-#define FLAG_SYS_PIKE_SILVER (CODE_FLAGS + 0x6E)
-#define FLAG_SYS_PIKE_GOLD (CODE_FLAGS + 0x6F)
-#define FLAG_SYS_PYRAMID_SILVER (CODE_FLAGS + 0x70)
-#define FLAG_SYS_PYRAMID_GOLD (CODE_FLAGS + 0x71)
-#define FLAG_SYS_FRONTIER_PASS (CODE_FLAGS + 0x72)
-
-#define FLAG_0x8D3 (CODE_FLAGS + 0x73)
-#define FLAG_0x8D4 (CODE_FLAGS + 0x74)
-#define FLAG_0x8D5 (CODE_FLAGS + 0x75)
-#define FLAG_0x8D6 (CODE_FLAGS + 0x76)
-
-#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (CODE_FLAGS + 0x77)
-
-#define FLAG_0x8D8 (CODE_FLAGS + 0x78)
-#define FLAG_0x8D9 (CODE_FLAGS + 0x79)
-#define FLAG_0x8DA (CODE_FLAGS + 0x7A)
+// World Map Flags
+#define FLAG_WORLD_MAP_PALLET_TOWN (SYS_FLAGS + 0x90)
+#define FLAG_WORLD_MAP_VIRIDIAN_CITY (SYS_FLAGS + 0x91)
+#define FLAG_WORLD_MAP_PEWTER_CITY (SYS_FLAGS + 0x92)
+#define FLAG_WORLD_MAP_CERULEAN_CITY (SYS_FLAGS + 0x93)
+#define FLAG_WORLD_MAP_LAVENDER_TOWN (SYS_FLAGS + 0x94)
+#define FLAG_WORLD_MAP_VERMILION_CITY (SYS_FLAGS + 0x95)
+#define FLAG_WORLD_MAP_CELADON_CITY (SYS_FLAGS + 0x96)
+#define FLAG_WORLD_MAP_FUCHSIA_CITY (SYS_FLAGS + 0x97)
+#define FLAG_WORLD_MAP_CINNABAR_ISLAND (SYS_FLAGS + 0x98)
+#define FLAG_WORLD_MAP_INDIGO_PLATEAU_EXTERIOR (SYS_FLAGS + 0x99)
+#define FLAG_WORLD_MAP_SAFFRON_CITY (SYS_FLAGS + 0x9A)
+#define FLAG_WORLD_MAP_ONE_ISLAND (SYS_FLAGS + 0x9B)
+#define FLAG_WORLD_MAP_TWO_ISLAND (SYS_FLAGS + 0x9C)
+#define FLAG_WORLD_MAP_THREE_ISLAND (SYS_FLAGS + 0x9D)
+#define FLAG_WORLD_MAP_FOUR_ISLAND (SYS_FLAGS + 0x9E)
+#define FLAG_WORLD_MAP_FIVE_ISLAND (SYS_FLAGS + 0x9F)
+#define FLAG_WORLD_MAP_SEVEN_ISLAND (SYS_FLAGS + 0xA0)
+#define FLAG_WORLD_MAP_SIX_ISLAND (SYS_FLAGS + 0xA1)
+#define FLAG_WORLD_MAP_ROUTE4_POKEMON_CENTER_1F (SYS_FLAGS + 0xA2)
+#define FLAG_WORLD_MAP_ROUTE10_POKEMON_CENTER_1F (SYS_FLAGS + 0xA3)
+#define FLAG_WORLD_MAP_VIRIDIAN_FOREST (SYS_FLAGS + 0xA4)
+#define FLAG_WORLD_MAP_MT_MOON_1F (SYS_FLAGS + 0xA5)
+#define FLAG_WORLD_MAP_SSANNE_EXTERIOR (SYS_FLAGS + 0xA6)
+#define FLAG_WORLD_MAP_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL (SYS_FLAGS + 0xA7)
+#define FLAG_WORLD_MAP_UNDERGROUND_PATH_EAST_WEST_TUNNEL (SYS_FLAGS + 0xA8)
+#define FLAG_WORLD_MAP_DIGLETTS_CAVE_B1F (SYS_FLAGS + 0xA9)
+#define FLAG_WORLD_MAP_VICTORY_ROAD_1F (SYS_FLAGS + 0xAA)
+#define FLAG_WORLD_MAP_ROCKET_HIDEOUT_B1F (SYS_FLAGS + 0xAB)
+#define FLAG_WORLD_MAP_SILPH_CO_1F (SYS_FLAGS + 0xAC)
+#define FLAG_WORLD_MAP_POKEMON_MANSION_1F (SYS_FLAGS + 0xAD)
+#define FLAG_WORLD_MAP_SAFARI_ZONE_CENTER (SYS_FLAGS + 0xAE)
+#define FLAG_WORLD_MAP_POKEMON_LEAGUE_LORELEIS_ROOM (SYS_FLAGS + 0xAF)
+#define FLAG_WORLD_MAP_ROCK_TUNNEL_1F (SYS_FLAGS + 0xB0)
+#define FLAG_WORLD_MAP_SEAFOAM_ISLANDS_1F (SYS_FLAGS + 0xB1)
+#define FLAG_WORLD_MAP_POKEMON_TOWER_1F (SYS_FLAGS + 0xB2)
+#define FLAG_WORLD_MAP_CERULEAN_CAVE_1F (SYS_FLAGS + 0xB3)
+#define FLAG_WORLD_MAP_POWER_PLANT (SYS_FLAGS + 0xB4)
+#define FLAG_WORLD_MAP_NAVEL_ROCK_EXTERIOR (SYS_FLAGS + 0xB5)
+#define FLAG_WORLD_MAP_MT_EMBER_EXTERIOR (SYS_FLAGS + 0xB6)
+#define FLAG_WORLD_MAP_THREE_ISLAND_BERRY_FOREST (SYS_FLAGS + 0xB7)
+#define FLAG_WORLD_MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE (SYS_FLAGS + 0xB8)
+#define FLAG_WORLD_MAP_FIVE_ISLAND_ROCKET_WAREHOUSE (SYS_FLAGS + 0xB9)
+#define FLAG_WORLD_MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY (SYS_FLAGS + 0xBA)
+#define FLAG_WORLD_MAP_SIX_ISLAND_DOTTED_HOLE_1F (SYS_FLAGS + 0xBB)
+#define FLAG_WORLD_MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE (SYS_FLAGS + 0xBC)
+#define FLAG_WORLD_MAP_SIX_ISLAND_PATTERN_BUSH (SYS_FLAGS + 0xBD)
+#define FLAG_WORLD_MAP_SIX_ISLAND_ALTERING_CAVE (SYS_FLAGS + 0xBE)
+#define FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER (SYS_FLAGS + 0xBF)
+#define FLAG_WORLD_MAP_THREE_ISLAND_DUNSPARCE_TUNNEL (SYS_FLAGS + 0xC0)
+#define FLAG_WORLD_MAP_SEVEN_ISLAND_SEAVAULT_CANYON_TANOBY_KEY (SYS_FLAGS + 0xC1)
+#define FLAG_WORLD_MAP_BIRTH_ISLAND_EXTERIOR (SYS_FLAGS + 0xC2)
-#define FLAG_SYS_MYSTERY_GIFT_ENABLE (CODE_FLAGS + 0x7B)
+#define FLAG_0x8D5 (SYS_FLAGS + 0xD5)
+#define FLAG_0x8D6 (SYS_FLAGS + 0xD6)
-#define FLAG_0x8DC (CODE_FLAGS + 0x7C)
-#define FLAG_0x8DD (CODE_FLAGS + 0x7D)
-#define FLAG_0x8DE (CODE_FLAGS + 0x7E)
-#define FLAG_0x8DF (CODE_FLAGS + 0x7F)
-#define FLAG_0x8E0 (CODE_FLAGS + 0x80)
-#define FLAG_0x8E1 (CODE_FLAGS + 0x81)
-#define FLAG_0x8E2 (CODE_FLAGS + 0x82)
-#define FLAG_0x8E3 (CODE_FLAGS + 0x83)
-#define FLAG_0x8E4 (CODE_FLAGS + 0x84)
-#define FLAG_0x8E5 (CODE_FLAGS + 0x85)
-#define FLAG_0x8E6 (CODE_FLAGS + 0x86)
-#define FLAG_0x8E7 (CODE_FLAGS + 0x87)
-#define FLAG_0x8E8 (CODE_FLAGS + 0x88)
-#define FLAG_0x8E9 (CODE_FLAGS + 0x89)
-#define FLAG_0x8EA (CODE_FLAGS + 0x8A)
-#define FLAG_0x8EB (CODE_FLAGS + 0x8B)
-#define FLAG_0x8EC (CODE_FLAGS + 0x8C)
-#define FLAG_0x8ED (CODE_FLAGS + 0x8D)
-#define FLAG_0x8EE (CODE_FLAGS + 0x8E)
-#define FLAG_0x8EF (CODE_FLAGS + 0x8F)
-#define FLAG_0x8F0 (CODE_FLAGS + 0x90)
-#define FLAG_0x8F1 (CODE_FLAGS + 0x91)
-#define FLAG_0x8F2 (CODE_FLAGS + 0x92)
-#define FLAG_0x8F3 (CODE_FLAGS + 0x93)
-#define FLAG_0x8F4 (CODE_FLAGS + 0x94)
-#define FLAG_0x8F5 (CODE_FLAGS + 0x95)
-#define FLAG_0x8F6 (CODE_FLAGS + 0x96)
-#define FLAG_0x8F7 (CODE_FLAGS + 0x97)
-#define FLAG_0x8F8 (CODE_FLAGS + 0x98)
-#define FLAG_0x8F9 (CODE_FLAGS + 0x99)
-#define FLAG_0x8FA (CODE_FLAGS + 0x9A)
-#define FLAG_0x8FB (CODE_FLAGS + 0x9B)
-#define FLAG_0x8FC (CODE_FLAGS + 0x9C)
-#define FLAG_0x8FD (CODE_FLAGS + 0x9D)
-#define FLAG_0x8FE (CODE_FLAGS + 0x9E)
-#define FLAG_0x8FF (CODE_FLAGS + 0x9F)
-#define FLAG_0x900 (CODE_FLAGS + 0xA0)
-#define FLAG_0x901 (CODE_FLAGS + 0xA1)
-#define FLAG_0x902 (CODE_FLAGS + 0xA2)
-#define FLAG_0x903 (CODE_FLAGS + 0xA3)
-#define FLAG_0x904 (CODE_FLAGS + 0xA4)
-#define FLAG_0x905 (CODE_FLAGS + 0xA5)
-#define FLAG_0x906 (CODE_FLAGS + 0xA6)
-#define FLAG_0x907 (CODE_FLAGS + 0xA7)
-#define FLAG_0x908 (CODE_FLAGS + 0xA8)
-#define FLAG_0x909 (CODE_FLAGS + 0xA9)
-#define FLAG_0x90A (CODE_FLAGS + 0xAA)
-#define FLAG_0x90B (CODE_FLAGS + 0xAB)
-#define FLAG_0x90C (CODE_FLAGS + 0xAC)
-#define FLAG_0x90D (CODE_FLAGS + 0xAD)
-#define FLAG_0x90E (CODE_FLAGS + 0xAE)
-#define FLAG_0x90F (CODE_FLAGS + 0xAF)
-#define FLAG_0x910 (CODE_FLAGS + 0xB0)
-#define FLAG_0x911 (CODE_FLAGS + 0xB1)
-#define FLAG_0x912 (CODE_FLAGS + 0xB2)
-#define FLAG_0x913 (CODE_FLAGS + 0xB3)
-#define FLAG_0x914 (CODE_FLAGS + 0xB4)
-#define FLAG_0x915 (CODE_FLAGS + 0xB5)
-#define FLAG_0x916 (CODE_FLAGS + 0xB6)
-#define FLAG_0x917 (CODE_FLAGS + 0xB7)
-#define FLAG_0x918 (CODE_FLAGS + 0xB8)
-#define FLAG_0x919 (CODE_FLAGS + 0xB9)
-#define FLAG_0x91A (CODE_FLAGS + 0xBA)
-#define FLAG_0x91B (CODE_FLAGS + 0xBB)
-#define FLAG_0x91C (CODE_FLAGS + 0xBC)
-#define FLAG_0x91D (CODE_FLAGS + 0xBD)
-#define FLAG_0x91E (CODE_FLAGS + 0xBE)
-#define FLAG_0x91F (CODE_FLAGS + 0xBF)
-#define FLAG_0x920 (CODE_FLAGS + 0xC0)
-#define FLAG_0x921 (CODE_FLAGS + 0xC1)
-#define FLAG_0x922 (CODE_FLAGS + 0xC2)
-#define FLAG_0x923 (CODE_FLAGS + 0xC3)
-#define FLAG_0x924 (CODE_FLAGS + 0xC4)
-#define FLAG_0x925 (CODE_FLAGS + 0xC5)
-#define FLAG_0x926 (CODE_FLAGS + 0xC6)
-#define FLAG_0x927 (CODE_FLAGS + 0xC7)
-#define FLAG_0x928 (CODE_FLAGS + 0xC8)
-#define FLAG_0x929 (CODE_FLAGS + 0xC9)
-#define FLAG_0x92A (CODE_FLAGS + 0xCA)
-#define FLAG_0x92B (CODE_FLAGS + 0xCB)
-#define FLAG_0x92C (CODE_FLAGS + 0xCC)
-#define FLAG_0x92D (CODE_FLAGS + 0xCD)
-#define FLAG_0x92E (CODE_FLAGS + 0xCE)
-#define FLAG_0x92F (CODE_FLAGS + 0xCF)
-#define FLAG_0x930 (CODE_FLAGS + 0xD0)
-#define FLAG_0x931 (CODE_FLAGS + 0xD1)
-#define FLAG_0x932 (CODE_FLAGS + 0xD2)
-#define FLAG_0x933 (CODE_FLAGS + 0xD3)
-#define FLAG_0x934 (CODE_FLAGS + 0xD4)
-#define FLAG_0x935 (CODE_FLAGS + 0xD5)
-#define FLAG_0x936 (CODE_FLAGS + 0xD6)
-#define FLAG_0x937 (CODE_FLAGS + 0xD7)
-#define FLAG_0x938 (CODE_FLAGS + 0xD8)
-#define FLAG_0x939 (CODE_FLAGS + 0xD9)
-#define FLAG_0x93A (CODE_FLAGS + 0xDA)
-#define FLAG_0x93B (CODE_FLAGS + 0xDB)
-#define FLAG_0x93C (CODE_FLAGS + 0xDC)
-#define FLAG_0x93D (CODE_FLAGS + 0xDD)
-#define FLAG_0x93E (CODE_FLAGS + 0xDE)
-#define FLAG_0x93F (CODE_FLAGS + 0xDF)
-#define FLAG_0x940 (CODE_FLAGS + 0xE0)
-#define FLAG_0x941 (CODE_FLAGS + 0xE1)
-#define FLAG_0x942 (CODE_FLAGS + 0xE2)
-#define FLAG_0x943 (CODE_FLAGS + 0xE3)
-#define FLAG_0x944 (CODE_FLAGS + 0xE4)
-#define FLAG_0x945 (CODE_FLAGS + 0xE5)
-#define FLAG_0x946 (CODE_FLAGS + 0xE6)
-#define FLAG_0x947 (CODE_FLAGS + 0xE7)
-#define FLAG_0x948 (CODE_FLAGS + 0xE8)
-#define FLAG_0x949 (CODE_FLAGS + 0xE9)
-#define FLAG_0x94A (CODE_FLAGS + 0xEA)
-#define FLAG_0x94B (CODE_FLAGS + 0xEB)
-#define FLAG_0x94C (CODE_FLAGS + 0xEC)
-#define FLAG_0x94D (CODE_FLAGS + 0xED)
-#define FLAG_0x94E (CODE_FLAGS + 0xEE)
-#define FLAG_0x94F (CODE_FLAGS + 0xEF)
-#define FLAG_0x950 (CODE_FLAGS + 0xF0)
-#define FLAG_0x951 (CODE_FLAGS + 0xF1)
-#define FLAG_0x952 (CODE_FLAGS + 0xF2)
-#define FLAG_0x953 (CODE_FLAGS + 0xF3)
-#define FLAG_0x954 (CODE_FLAGS + 0xF4)
-#define FLAG_0x955 (CODE_FLAGS + 0xF5)
-#define FLAG_0x956 (CODE_FLAGS + 0xF6)
-#define FLAG_0x957 (CODE_FLAGS + 0xF7)
-#define FLAG_0x958 (CODE_FLAGS + 0xF8)
-#define FLAG_0x959 (CODE_FLAGS + 0xF9)
-#define FLAG_0x95A (CODE_FLAGS + 0xFA)
-#define FLAG_0x95B (CODE_FLAGS + 0xFB)
-#define FLAG_0x95C (CODE_FLAGS + 0xFC)
-#define FLAG_0x95D (CODE_FLAGS + 0xFD)
-#define FLAG_0x95E (CODE_FLAGS + 0xFE)
-#define FLAG_0x95F (CODE_FLAGS + 0xFF)
+#define FLAG_0x8E0 (SYS_FLAGS + 0xE0)
// SPECIAL FLAGS (unknown purpose)
#define FLAG_SPECIAL_FLAG_0x4000 0x4000
diff --git a/include/constants/trainers.h b/include/constants/trainers.h
index 310965fa0..0a44b320a 100644
--- a/include/constants/trainers.h
+++ b/include/constants/trainers.h
@@ -1,5 +1,20 @@
-#ifndef GUARD_TRAINERS_H
-#define GUARD_TRAINERS_H
+#ifndef GUARD_CONSTANTS_TRAINERS_H
+#define GUARD_CONSTANTS_TRAINERS_H
+
+#define TRAINER_ENCOUNTER_MUSIC_MALE 0 // standard male encounter music
+#define TRAINER_ENCOUNTER_MUSIC_FEMALE 1 // standard female encounter music
+#define TRAINER_ENCOUNTER_MUSIC_GIRL 2 // used for male Tubers and Young Couples too
+#define TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS 3
+#define TRAINER_ENCOUNTER_MUSIC_INTENSE 4
+#define TRAINER_ENCOUNTER_MUSIC_COOL 5
+#define TRAINER_ENCOUNTER_MUSIC_AQUA 6
+#define TRAINER_ENCOUNTER_MUSIC_MAGMA 7
+#define TRAINER_ENCOUNTER_MUSIC_SWIMMER 8
+#define TRAINER_ENCOUNTER_MUSIC_TWINS 9 // used for other trainer classes too
+#define TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR 10
+#define TRAINER_ENCOUNTER_MUSIC_HIKER 11 // used for other trainer classes too
+#define TRAINER_ENCOUNTER_MUSIC_INTERVIEWER 12
+#define TRAINER_ENCOUNTER_MUSIC_RICH 13 // Rich Boys and Gentlemen
#define TRAINER_PIC_AQUA_LEADER_ARCHIE 0
#define TRAINER_PIC_AQUA_GRUNT_M 1
@@ -152,10 +167,904 @@
#define F_TRAINER_FEMALE (1 << 7)
+#define TRAINER_PIC_AQUA_LEADER_ARCHIE 0
+#define TRAINER_PIC_AQUA_GRUNT_M 1
+#define TRAINER_PIC_AQUA_GRUNT_F 2
+#define TRAINER_PIC_RS_AROMA_LADY 3
+#define TRAINER_PIC_RS_RUIN_MANIAC 4
+#define TRAINER_PIC_INTERVIEWER 5
+#define TRAINER_PIC_RS_TUBER_F 6
+#define TRAINER_PIC_TUBER_M 7
+#define TRAINER_PIC_RS_COOLTRAINER_M 8
+#define TRAINER_PIC_RS_COOLTRAINER_F 9
+#define TRAINER_PIC_HEX_MANIAC 10
+#define TRAINER_PIC_RS_LADY 11
+#define TRAINER_PIC_RS_BEAUTY 12
+#define TRAINER_PIC_RICH_BOY 13
+#define TRAINER_PIC_RS_POKEMANIAC 14
+#define TRAINER_PIC_RS_SWIMMER_M 15
+#define TRAINER_PIC_RS_BLACK_BELT 16
+#define TRAINER_PIC_GUITARIST 17
+#define TRAINER_PIC_KINDLER 18
+#define TRAINER_PIC_RS_CAMPER 19
+#define TRAINER_PIC_BUG_MANIAC 20
+#define TRAINER_PIC_RS_PSYCHIC_M 21
+#define TRAINER_PIC_RS_PSYCHIC_F 22
+#define TRAINER_PIC_RS_GENTLEMAN 23
+#define TRAINER_PIC_ELITE_FOUR_SIDNEY 24
+#define TRAINER_PIC_ELITE_FOUR_PHOEBE 25
+#define TRAINER_PIC_LEADER_ROXANNE 26
+#define TRAINER_PIC_LEADER_BRAWLY 27
+#define TRAINER_PIC_LEADER_TATE_AND_LIZA 28
+#define TRAINER_PIC_SCHOOL_KID_M 29
+#define TRAINER_PIC_SCHOOL_KID_F 30
+#define TRAINER_PIC_SR_AND_JR 31
+#define TRAINER_PIC_POKEFAN_M 32
+#define TRAINER_PIC_POKEFAN_F 33
+#define TRAINER_PIC_EXPERT_M 34
+#define TRAINER_PIC_EXPERT_F 35
+#define TRAINER_PIC_RS_YOUNGSTER 36
+#define TRAINER_PIC_CHAMPION_STEVEN 37
+#define TRAINER_PIC_RS_FISHERMAN 38
+#define TRAINER_PIC_CYCLING_TRIATHLETE_M 39
+#define TRAINER_PIC_CYCLING_TRIATHLETE_F 40
+#define TRAINER_PIC_RUNNING_TRIATHLETE_M 41
+#define TRAINER_PIC_RUNNING_TRIATHLETE_F 42
+#define TRAINER_PIC_SWIMMING_TRIATHLETE_M 43
+#define TRAINER_PIC_SWIMMING_TRIATHLETE_F 44
+#define TRAINER_PIC_DRAGON_TAMER 45
+#define TRAINER_PIC_RS_BIRD_KEEPER 46
+#define TRAINER_PIC_NINJA_BOY 47
+#define TRAINER_PIC_BATTLE_GIRL 48
+#define TRAINER_PIC_PARASOL_LADY 49
+#define TRAINER_PIC_RS_SWIMMER_F 50
+#define TRAINER_PIC_RS_PICNICKER 51
+#define TRAINER_PIC_RS_TWINS 52
+#define TRAINER_PIC_RS_SAILOR 53
+#define TRAINER_PIC_COLLECTOR 54
+#define TRAINER_PIC_WALLY 55
+#define TRAINER_PIC_RS_BRENDAN_1 56
+#define TRAINER_PIC_RS_MAY_1 57
+#define TRAINER_PIC_POKEMON_BREEDER_M 58
+#define TRAINER_PIC_RS_POKEMON_BREEDER_F 59
+#define TRAINER_PIC_RS_POKEMON_RANGER_M 60
+#define TRAINER_PIC_RS_POKEMON_RANGER_F 61
+#define TRAINER_PIC_MAGMA_LEADER_MAXIE 62
+#define TRAINER_PIC_MAGMA_GRUNT_M 63
+#define TRAINER_PIC_MAGMA_GRUNT_F 64
+#define TRAINER_PIC_RS_LASS 65
+#define TRAINER_PIC_RS_BUG_CATCHER 66
+#define TRAINER_PIC_RS_HIKER 67
+#define TRAINER_PIC_RS_YOUNG_COUPLE 68
+#define TRAINER_PIC_OLD_COUPLE 69
+#define TRAINER_PIC_RS_SIS_AND_BRO 70
+#define TRAINER_PIC_AQUA_ADMIN_M 71
+#define TRAINER_PIC_AQUA_ADMIN_F 72
+#define TRAINER_PIC_MAGMA_ADMIN_M 73
+#define TRAINER_PIC_MAGMA_ADMIN_F 74
+#define TRAINER_PIC_LEADER_WATTSON 75
+#define TRAINER_PIC_LEADER_FLANNERY 76
+#define TRAINER_PIC_LEADER_NORMAN 77
+#define TRAINER_PIC_LEADER_WINONA 78
+#define TRAINER_PIC_LEADER_WALLACE 79
+#define TRAINER_PIC_ELITE_FOUR_GLACIA 80
+#define TRAINER_PIC_ELITE_FOUR_DRAKE 81
+#define TRAINER_PIC_YOUNGSTER 82
+#define TRAINER_PIC_BUG_CATCHER 83
+#define TRAINER_PIC_LASS 84
+#define TRAINER_PIC_SAILOR 85
+#define TRAINER_PIC_CAMPER 86
+#define TRAINER_PIC_PICNICKER 87
+#define TRAINER_PIC_POKEMANIAC 88
+#define TRAINER_PIC_SUPER_NERD 89
+#define TRAINER_PIC_HIKER 90
+#define TRAINER_PIC_BIKER 91
+#define TRAINER_PIC_BURGLAR 92
+#define TRAINER_PIC_ENGINEER 93
+#define TRAINER_PIC_FISHERMAN 94
+#define TRAINER_PIC_SWIMMER_M 95
+#define TRAINER_PIC_CUE_BALL 96
+#define TRAINER_PIC_GAMER 97
+#define TRAINER_PIC_BEAUTY 98
+#define TRAINER_PIC_SWIMMER_F 99
+#define TRAINER_PIC_PSYCHIC_M 100
+#define TRAINER_PIC_ROCKER 101
+#define TRAINER_PIC_JUGGLER 102
+#define TRAINER_PIC_TAMER 103
+#define TRAINER_PIC_BIRD_KEEPER 104
+#define TRAINER_PIC_BLACK_BELT 105
+#define TRAINER_PIC_RIVAL_1 106
+#define TRAINER_PIC_SCIENTIST 107
+#define TRAINER_PIC_LEADER_GIOVANNI 108
+#define TRAINER_PIC_ROCKET_GRUNT_M 109
+#define TRAINER_PIC_COOLTRAINER_M 110
+#define TRAINER_PIC_COOLTRAINER_F 111
+#define TRAINER_PIC_ELITE_FOUR_LORELEI 112
+#define TRAINER_PIC_ELITE_FOUR_BRUNO 113
+#define TRAINER_PIC_ELITE_FOUR_AGATHA 114
+#define TRAINER_PIC_ELITE_FOUR_LANCE 115
+#define TRAINER_PIC_LEADER_BROCK 116
+#define TRAINER_PIC_LEADER_MISTY 117
+#define TRAINER_PIC_LEADER_LT_SURGE 118
+#define TRAINER_PIC_LEADER_ERIKA 119
+#define TRAINER_PIC_LEADER_KOGA 120
+#define TRAINER_PIC_LEADER_BLAINE 121
+#define TRAINER_PIC_LEADER_SABRINA 122
+#define TRAINER_PIC_GENTLEMAN 123
+#define TRAINER_PIC_RIVAL_2 124
+#define TRAINER_PIC_CHAMPION_RIVAL 125
+#define TRAINER_PIC_CHANNELER 126
+#define TRAINER_PIC_TWINS 127
+#define TRAINER_PIC_COOL_COUPLE 128
+#define TRAINER_PIC_YOUNG_COUPLE 129
+#define TRAINER_PIC_CRUSH_KIN 130
+#define TRAINER_PIC_SIS_AND_BRO 131
+#define TRAINER_PIC_PROFESSOR_OAK 132
+#define TRAINER_PIC_RS_BRENDAN_2 133
+#define TRAINER_PIC_RS_MAY_2 134
+#define TRAINER_PIC_RED 135
+#define TRAINER_PIC_LEAF 136
+#define TRAINER_PIC_ROCKET_GRUNT_F 137
+#define TRAINER_PIC_PSYCHIC_F 138
+#define TRAINER_PIC_CRUSH_GIRL 139
+#define TRAINER_PIC_TUBER_F 140
+#define TRAINER_PIC_POKEMON_BREEDER_F 141
+#define TRAINER_PIC_POKEMON_RANGER_M 142
+#define TRAINER_PIC_POKEMON_RANGER_F 143
+#define TRAINER_PIC_AROMA_LADY 144
+#define TRAINER_PIC_RUIN_MANIAC 145
+#define TRAINER_PIC_LADY 146
+#define TRAINER_PIC_PAINTER 147
+
+#define TRAINER_PKMN_TRAINER_1 0
+#define TRAINER_AQUA_LEADER_1 1
+#define TRAINER_TEAM_AQUA_1 2
+#define TRAINER_TEAM_AQUA_2 3
+#define TRAINER_AROMA_LADY_1 4
+#define TRAINER_RUIN_MANIAC_1 5
+#define TRAINER_INTERVIEWER_1 6
+#define TRAINER_TUBER_1 7
+#define TRAINER_TUBER_2 8
+#define TRAINER_COOLTRAINER_1 9
+#define TRAINER_COOLTRAINER_2 10
+#define TRAINER_HEX_MANIAC_1 11
+#define TRAINER_LADY_1 12
+#define TRAINER_BEAUTY_1 13
+#define TRAINER_RICH_BOY_1 14
+#define TRAINER_POKEMANIAC_1 15
+#define TRAINER_SWIMMER_MALE_1 16
+#define TRAINER_BLACK_BELT_1 17
+#define TRAINER_GUITARIST_1 18
+#define TRAINER_KINDLER_1 19
+#define TRAINER_CAMPER_1 20
+#define TRAINER_BUG_MANIAC_1 21
+#define TRAINER_PSYCHIC_1 22
+#define TRAINER_PSYCHIC_2 23
+#define TRAINER_GENTLEMAN_1 24
+#define TRAINER_ELITE_FOUR_SIDNEY 25
+#define TRAINER_ELITE_FOUR_PHOEBE 26
+#define TRAINER_LEADER_ROXANNE 27
+#define TRAINER_LEADER_BRAWLY 28
+#define TRAINER_LEADER_TATE_LIZA 29
+#define TRAINER_SCHOOL_KID_1 30
+#define TRAINER_SCHOOL_KID_2 31
+#define TRAINER_SR_AND_JR_1 32
+#define TRAINER_POKEFAN_1 33
+#define TRAINER_POKEFAN_2 34
+#define TRAINER_EXPERT_1 35
+#define TRAINER_EXPERT_2 36
+#define TRAINER_YOUNGSTER_1 37
+#define TRAINER_CHAMPION_1 38
+#define TRAINER_FISHERMAN_1 39
+#define TRAINER_TRIATHLETE_1 40
+#define TRAINER_TRIATHLETE_2 41
+#define TRAINER_TRIATHLETE_3 42
+#define TRAINER_TRIATHLETE_4 43
+#define TRAINER_TRIATHLETE_5 44
+#define TRAINER_TRIATHLETE_6 45
+#define TRAINER_DRAGON_TAMER_1 46
+#define TRAINER_BIRD_KEEPER_1 47
+#define TRAINER_NINJA_BOY_1 48
+#define TRAINER_BATTLE_GIRL_1 49
+#define TRAINER_PARASOL_LADY_1 50
+#define TRAINER_SWIMMER_FEMALE_1 51
+#define TRAINER_PICNICKER_1 52
+#define TRAINER_TWINS_1 53
+#define TRAINER_SAILOR_1 54
+#define TRAINER_BOARDER_1 55
+#define TRAINER_BOARDER_2 56
+#define TRAINER_COLLECTOR_1 57
+#define TRAINER_PKMN_TRAINER_2 58
+#define TRAINER_PKMN_TRAINER_3 59
+#define TRAINER_PKMN_TRAINER_4 60
+#define TRAINER_PKMN_TRAINER_5 61
+#define TRAINER_PKMN_TRAINER_6 62
+#define TRAINER_PKMN_TRAINER_7 63
+#define TRAINER_PKMN_TRAINER_8 64
+#define TRAINER_PKMN_BREEDER_1 65
+#define TRAINER_PKMN_BREEDER_2 66
+#define TRAINER_PKMN_RANGER_1 67
+#define TRAINER_PKMN_RANGER_2 68
+#define TRAINER_MAGMA_LEADER_1 69
+#define TRAINER_TEAM_MAGMA_1 70
+#define TRAINER_TEAM_MAGMA_2 71
+#define TRAINER_LASS_1 72
+#define TRAINER_BUG_CATCHER_1 73
+#define TRAINER_HIKER_1 74
+#define TRAINER_YOUNG_COUPLE_1 75
+#define TRAINER_OLD_COUPLE_1 76
+#define TRAINER_SIS_AND_BRO_1 77
+#define TRAINER_AQUA_ADMIN_MATT 78
+#define TRAINER_AQUA_ADMIN_SHELLY 79
+#define TRAINER_MAGMA_ADMIN_TABITHA 80
+#define TRAINER_MAGMA_ADMIN_COURTNEY 81
+#define TRAINER_LEADER_WATTSON 82
+#define TRAINER_LEADER_FLANNERY 83
+#define TRAINER_LEADER_NORMAN 84
+#define TRAINER_LEADER_WINONA 85
+#define TRAINER_LEADER_WALLACE 86
+#define TRAINER_ELITE_FOUR_GLACIA 87
+#define TRAINER_ELITE_FOUR_DRAKE 88
+#define TRAINER_YOUNGSTER_BEN 89
+#define TRAINER_YOUNGSTER_CALVIN 90
+#define TRAINER_YOUNGSTER_JOSH 91
+#define TRAINER_YOUNGSTER_TIMMY 92
+#define TRAINER_YOUNGSTER_JOEY 93
+#define TRAINER_YOUNGSTER_DAN 94
+#define TRAINER_YOUNGSTER_CHAD 95
+#define TRAINER_YOUNGSTER_TYLER 96
+#define TRAINER_YOUNGSTER_EDDIE 97
+#define TRAINER_YOUNGSTER_DILLON 98
+#define TRAINER_YOUNGSTER_YASU 99
+#define TRAINER_YOUNGSTER_DAVE 100
+#define TRAINER_YOUNGSTER_BEN_2 101
+#define TRAINER_BUG_CATCHER_RICK 102
+#define TRAINER_BUG_CATCHER_DOUG 103
+#define TRAINER_BUG_CATCHER_SAMMY 104
+#define TRAINER_BUG_CATCHER_COLTON 105
+#define TRAINER_BUG_CATCHER_GREG 106
+#define TRAINER_BUG_CATCHER_JAMES 107
+#define TRAINER_BUG_CATCHER_KENT 108
+#define TRAINER_BUG_CATCHER_ROBBY 109
+#define TRAINER_BUG_CATCHER_CALE 110
+#define TRAINER_BUG_CATCHER_KEIGO 111
+#define TRAINER_BUG_CATCHER_ELIJAH 112
+#define TRAINER_BUG_CATCHER_2 113
+#define TRAINER_BUG_CATCHER_BRENT 114
+#define TRAINER_BUG_CATCHER_CONNER 115
+#define TRAINER_LASS_JANICE 116
+#define TRAINER_LASS_SALLY 117
+#define TRAINER_LASS_ROBIN 118
+#define TRAINER_LASS_CRISSY 119
+#define TRAINER_LASS_MIRIAM 120
+#define TRAINER_LASS_IRIS 121
+#define TRAINER_LASS_RELI 122
+#define TRAINER_LASS_ALI 123
+#define TRAINER_LASS_2 124
+#define TRAINER_LASS_HALEY 125
+#define TRAINER_LASS_ANN 126
+#define TRAINER_LASS_DAWN 127
+#define TRAINER_LASS_PAIGE 128
+#define TRAINER_LASS_ANDREA 129
+#define TRAINER_LASS_MEGAN 130
+#define TRAINER_LASS_JULIA 131
+#define TRAINER_LASS_KAY 132
+#define TRAINER_LASS_LISA 133
+#define TRAINER_SAILOR_EDMOND 134
+#define TRAINER_SAILOR_TREVOR 135
+#define TRAINER_SAILOR_LEONARD 136
+#define TRAINER_SAILOR_DUNCAN 137
+#define TRAINER_SAILOR_HUEY 138
+#define TRAINER_SAILOR_DYLAN 139
+#define TRAINER_SAILOR_PHILLIP 140
+#define TRAINER_SAILOR_DWAYNE 141
+#define TRAINER_CAMPER_LIAM 142
+#define TRAINER_CAMPER_SHANE 143
+#define TRAINER_CAMPER_ETHAN 144
+#define TRAINER_CAMPER_RICKY 145
+#define TRAINER_CAMPER_JEFF 146
+#define TRAINER_CAMPER_2 147
+#define TRAINER_CAMPER_CHRIS 148
+#define TRAINER_CAMPER_DREW 149
+#define TRAINER_PICNICKER_DIANA 150
+#define TRAINER_PICNICKER_NANCY 151
+#define TRAINER_PICNICKER_ISABELLE 152
+#define TRAINER_PICNICKER_KELSEY 153
+#define TRAINER_PICNICKER_ALICIA 154
+#define TRAINER_PICNICKER_CAITLIN 155
+#define TRAINER_PICNICKER_HEIDI 156
+#define TRAINER_PICNICKER_CAROL 157
+#define TRAINER_PICNICKER_SOFIA 158
+#define TRAINER_PICNICKER_MARTHA 159
+#define TRAINER_PICNICKER_TINA 160
+#define TRAINER_PICNICKER_HANNAH 161
+#define TRAINER_POKEMANIAC_MARK 162
+#define TRAINER_POKEMANIAC_HERMAN 163
+#define TRAINER_POKEMANIAC_COOPER 164
+#define TRAINER_POKEMANIAC_STEVE 165
+#define TRAINER_POKEMANIAC_WINSTON 166
+#define TRAINER_POKEMANIAC_DAWSON 167
+#define TRAINER_POKEMANIAC_ASHTON 168
+#define TRAINER_SUPER_NERD_JOVAN 169
+#define TRAINER_SUPER_NERD_MIGUEL 170
+#define TRAINER_SUPER_NERD_AIDAN 171
+#define TRAINER_SUPER_NERD_GLENN 172
+#define TRAINER_SUPER_NERD_LESLIE 173
+#define TRAINER_SUPER_NERD_1 174
+#define TRAINER_SUPER_NERD_2 175
+#define TRAINER_SUPER_NERD_3 176
+#define TRAINER_SUPER_NERD_ERIK 177
+#define TRAINER_SUPER_NERD_AVERY 178
+#define TRAINER_SUPER_NERD_DEREK 179
+#define TRAINER_SUPER_NERD_ZAC 180
+#define TRAINER_HIKER_MARCOS 181
+#define TRAINER_HIKER_FRANKLIN 182
+#define TRAINER_HIKER_NOB 183
+#define TRAINER_HIKER_WAYNE 184
+#define TRAINER_HIKER_ALAN 185
+#define TRAINER_HIKER_BRICE 186
+#define TRAINER_HIKER_CLARK 187
+#define TRAINER_HIKER_TRENT 188
+#define TRAINER_HIKER_DUDLEY 189
+#define TRAINER_HIKER_ALLEN 190
+#define TRAINER_HIKER_ERIC 191
+#define TRAINER_HIKER_LENNY 192
+#define TRAINER_HIKER_OLIVER 193
+#define TRAINER_HIKER_LUCAS 194
+#define TRAINER_BIKER_JARED 195
+#define TRAINER_BIKER_MALIK 196
+#define TRAINER_BIKER_ERNEST 197
+#define TRAINER_BIKER_ALEX 198
+#define TRAINER_BIKER_LAO 199
+#define TRAINER_BIKER_1 200
+#define TRAINER_BIKER_HIDEO 201
+#define TRAINER_BIKER_RUBEN 202
+#define TRAINER_BIKER_BILLY 203
+#define TRAINER_BIKER_NIKOLAS 204
+#define TRAINER_BIKER_JAXON 205
+#define TRAINER_BIKER_WILLIAM 206
+#define TRAINER_BIKER_LUKAS 207
+#define TRAINER_BIKER_ISAAC 208
+#define TRAINER_BIKER_GERALD 209
+#define TRAINER_BURGLAR_1 210
+#define TRAINER_BURGLAR_2 211
+#define TRAINER_BURGLAR_3 212
+#define TRAINER_BURGLAR_QUINN 213
+#define TRAINER_BURGLAR_RAMON 214
+#define TRAINER_BURGLAR_DUSTY 215
+#define TRAINER_BURGLAR_ARNIE 216
+#define TRAINER_BURGLAR_4 217
+#define TRAINER_BURGLAR_SIMON 218
+#define TRAINER_BURGLAR_LEWIS 219
+#define TRAINER_ENGINEER_BAILY 220
+#define TRAINER_ENGINEER_BRAXTON 221
+#define TRAINER_ENGINEER_BERNIE 222
+#define TRAINER_FISHERMAN_DALE 223
+#define TRAINER_FISHERMAN_BARNY 224
+#define TRAINER_FISHERMAN_NED 225
+#define TRAINER_FISHERMAN_CHIP 226
+#define TRAINER_FISHERMAN_HANK 227
+#define TRAINER_FISHERMAN_ELLIOT 228
+#define TRAINER_FISHERMAN_RONALD 229
+#define TRAINER_FISHERMAN_CLAUDE 230
+#define TRAINER_FISHERMAN_WADE 231
+#define TRAINER_FISHERMAN_NOLAN 232
+#define TRAINER_FISHERMAN_ANDREW 233
+#define TRAINER_SWIMMER_MALE_LUIS 234
+#define TRAINER_SWIMMER_MALE_RICHARD 235
+#define TRAINER_SWIMMER_MALE_REECE 236
+#define TRAINER_SWIMMER_MALE_MATTHEW 237
+#define TRAINER_SWIMMER_MALE_DOUGLAS 238
+#define TRAINER_SWIMMER_MALE_DAVID 239
+#define TRAINER_SWIMMER_MALE_TONY 240
+#define TRAINER_SWIMMER_MALE_AXLE 241
+#define TRAINER_SWIMMER_MALE_BARRY 242
+#define TRAINER_SWIMMER_MALE_DEAN 243
+#define TRAINER_SWIMMER_MALE_DARRIN 244
+#define TRAINER_SWIMMER_MALE_SPENCER 245
+#define TRAINER_SWIMMER_MALE_JACK 246
+#define TRAINER_SWIMMER_MALE_JEROME 247
+#define TRAINER_SWIMMER_MALE_ROLAND 248
+#define TRAINER_CUE_BALL_KOJI 249
+#define TRAINER_CUE_BALL_LUKE 250
+#define TRAINER_CUE_BALL_CAMRON 251
+#define TRAINER_CUE_BALL_RAUL 252
+#define TRAINER_CUE_BALL_ISAIAH 253
+#define TRAINER_CUE_BALL_ZEEK 254
+#define TRAINER_CUE_BALL_JAMAL 255
+#define TRAINER_CUE_BALL_COREY 256
+#define TRAINER_CUE_BALL_CHASE 257
+#define TRAINER_GAMER_HUGO 258
+#define TRAINER_GAMER_JASPER 259
+#define TRAINER_GAMER_DIRK 260
+#define TRAINER_GAMER_DARIAN 261
+#define TRAINER_GAMER_STAN 262
+#define TRAINER_GAMER_1 263
+#define TRAINER_GAMER_RICH 264
+#define TRAINER_BEAUTY_BRIDGET 265
+#define TRAINER_BEAUTY_TAMIA 266
+#define TRAINER_BEAUTY_LORI 267
+#define TRAINER_BEAUTY_LOLA 268
+#define TRAINER_BEAUTY_SHEILA 269
+#define TRAINER_SWIMMER_FEMALE_TIFFANY 270
+#define TRAINER_SWIMMER_FEMALE_NORA 271
+#define TRAINER_SWIMMER_FEMALE_MELISSA 272
+#define TRAINER_BEAUTY_GRACE 273
+#define TRAINER_BEAUTY_OLIVIA 274
+#define TRAINER_BEAUTY_LAUREN 275
+#define TRAINER_SWIMMER_FEMALE_ANYA 276
+#define TRAINER_SWIMMER_FEMALE_ALICE 277
+#define TRAINER_SWIMMER_FEMALE_CONNIE 278
+#define TRAINER_SWIMMER_FEMALE_SHIRLEY 279
+#define TRAINER_PSYCHIC_JOHAN 280
+#define TRAINER_PSYCHIC_TYRON 281
+#define TRAINER_PSYCHIC_CAMERON 282
+#define TRAINER_PSYCHIC_PRESTON 283
+#define TRAINER_ROCKER_RANDALL 284
+#define TRAINER_ROCKER_LUCA 285
+#define TRAINER_JUGGLER_DALTON 286
+#define TRAINER_JUGGLER_NELSON 287
+#define TRAINER_JUGGLER_KIRK 288
+#define TRAINER_JUGGLER_SHAWN 289
+#define TRAINER_JUGGLER_GREGORY 290
+#define TRAINER_JUGGLER_EDWARD 291
+#define TRAINER_JUGGLER_KAYDEN 292
+#define TRAINER_JUGGLER_NATE 293
+#define TRAINER_TAMER_PHIL 294
+#define TRAINER_TAMER_EDGAR 295
+#define TRAINER_TAMER_JASON 296
+#define TRAINER_TAMER_COLE 297
+#define TRAINER_TAMER_VINCENT 298
+#define TRAINER_TAMER_JOHN 299
+#define TRAINER_BIRD_KEEPER_SEBASTIAN 300
+#define TRAINER_BIRD_KEEPER_PERRY 301
+#define TRAINER_BIRD_KEEPER_ROBERT 302
+#define TRAINER_BIRD_KEEPER_DONALD 303
+#define TRAINER_BIRD_KEEPER_BENNY 304
+#define TRAINER_BIRD_KEEPER_EDWIN 305
+#define TRAINER_BIRD_KEEPER_CHESTER 306
+#define TRAINER_BIRD_KEEPER_WILTON 307
+#define TRAINER_BIRD_KEEPER_RAMIRO 308
+#define TRAINER_BIRD_KEEPER_JACOB 309
+#define TRAINER_BIRD_KEEPER_ROGER 310
+#define TRAINER_BIRD_KEEPER_REED 311
+#define TRAINER_BIRD_KEEPER_KEITH 312
+#define TRAINER_BIRD_KEEPER_CARTER 313
+#define TRAINER_BIRD_KEEPER_MITCH 314
+#define TRAINER_BIRD_KEEPER_BECK 315
+#define TRAINER_BIRD_KEEPER_MARLON 316
+#define TRAINER_BLACK_BELT_KOICHI 317
+#define TRAINER_BLACK_BELT_MIKE 318
+#define TRAINER_BLACK_BELT_HIDEKI 319
+#define TRAINER_BLACK_BELT_AARON 320
+#define TRAINER_BLACK_BELT_HITOSHI 321
+#define TRAINER_BLACK_BELT_ATSUSHI 322
+#define TRAINER_BLACK_BELT_KIYO 323
+#define TRAINER_BLACK_BELT_TAKASHI 324
+#define TRAINER_BLACK_BELT_DAISUKE 325
+#define TRAINER_RIVAL_TERRY 326
+#define TRAINER_RIVAL_TERRY_2 327
+#define TRAINER_RIVAL_TERRY_3 328
+#define TRAINER_RIVAL_TERRY_4 329
+#define TRAINER_RIVAL_TERRY_5 330
+#define TRAINER_RIVAL_TERRY_6 331
+#define TRAINER_RIVAL_TERRY_7 332
+#define TRAINER_RIVAL_TERRY_8 333
+#define TRAINER_RIVAL_TERRY_9 334
+#define TRAINER_SCIENTIST_TED 335
+#define TRAINER_SCIENTIST_CONNOR 336
+#define TRAINER_SCIENTIST_JERRY 337
+#define TRAINER_SCIENTIST_JOSE 338
+#define TRAINER_SCIENTIST_RODNEY 339
+#define TRAINER_SCIENTIST_BEAU 340
+#define TRAINER_SCIENTIST_TAYLOR 341
+#define TRAINER_SCIENTIST_JOSHUA 342
+#define TRAINER_SCIENTIST_PARKER 343
+#define TRAINER_SCIENTIST_ED 344
+#define TRAINER_SCIENTIST_TRAVIS 345
+#define TRAINER_SCIENTIST_BRAYDON 346
+#define TRAINER_SCIENTIST_IVAN 347
+#define TRAINER_BOSS_GIOVANNI 348
+#define TRAINER_BOSS_GIOVANNI_2 349
+#define TRAINER_LEADER_GIOVANNI 350
+#define TRAINER_TEAM_ROCKET_GRUNT 351
+#define TRAINER_TEAM_ROCKET_GRUNT_2 352
+#define TRAINER_TEAM_ROCKET_GRUNT_3 353
+#define TRAINER_TEAM_ROCKET_GRUNT_4 354
+#define TRAINER_TEAM_ROCKET_GRUNT_5 355
+#define TRAINER_TEAM_ROCKET_GRUNT_6 356
+#define TRAINER_TEAM_ROCKET_GRUNT_7 357
+#define TRAINER_TEAM_ROCKET_GRUNT_8 358
+#define TRAINER_TEAM_ROCKET_GRUNT_9 359
+#define TRAINER_TEAM_ROCKET_GRUNT_10 360
+#define TRAINER_TEAM_ROCKET_GRUNT_11 361
+#define TRAINER_TEAM_ROCKET_GRUNT_12 362
+#define TRAINER_TEAM_ROCKET_GRUNT_13 363
+#define TRAINER_TEAM_ROCKET_GRUNT_14 364
+#define TRAINER_TEAM_ROCKET_GRUNT_15 365
+#define TRAINER_TEAM_ROCKET_GRUNT_16 366
+#define TRAINER_TEAM_ROCKET_GRUNT_17 367
+#define TRAINER_TEAM_ROCKET_GRUNT_18 368
+#define TRAINER_TEAM_ROCKET_GRUNT_19 369
+#define TRAINER_TEAM_ROCKET_GRUNT_20 370
+#define TRAINER_TEAM_ROCKET_GRUNT_21 371
+#define TRAINER_TEAM_ROCKET_GRUNT_22 372
+#define TRAINER_TEAM_ROCKET_GRUNT_23 373
+#define TRAINER_TEAM_ROCKET_GRUNT_24 374
+#define TRAINER_TEAM_ROCKET_GRUNT_25 375
+#define TRAINER_TEAM_ROCKET_GRUNT_26 376
+#define TRAINER_TEAM_ROCKET_GRUNT_27 377
+#define TRAINER_TEAM_ROCKET_GRUNT_28 378
+#define TRAINER_TEAM_ROCKET_GRUNT_29 379
+#define TRAINER_TEAM_ROCKET_GRUNT_30 380
+#define TRAINER_TEAM_ROCKET_GRUNT_31 381
+#define TRAINER_TEAM_ROCKET_GRUNT_32 382
+#define TRAINER_TEAM_ROCKET_GRUNT_33 383
+#define TRAINER_TEAM_ROCKET_GRUNT_34 384
+#define TRAINER_TEAM_ROCKET_GRUNT_35 385
+#define TRAINER_TEAM_ROCKET_GRUNT_36 386
+#define TRAINER_TEAM_ROCKET_GRUNT_37 387
+#define TRAINER_TEAM_ROCKET_GRUNT_38 388
+#define TRAINER_TEAM_ROCKET_GRUNT_39 389
+#define TRAINER_TEAM_ROCKET_GRUNT_40 390
+#define TRAINER_TEAM_ROCKET_GRUNT_41 391
+#define TRAINER_COOLTRAINER_SAMUEL 392
+#define TRAINER_COOLTRAINER_GEORGE 393
+#define TRAINER_COOLTRAINER_COLBY 394
+#define TRAINER_COOLTRAINER_PAUL 395
+#define TRAINER_COOLTRAINER_ROLANDO 396
+#define TRAINER_COOLTRAINER_GILBERT 397
+#define TRAINER_COOLTRAINER_OWEN 398
+#define TRAINER_COOLTRAINER_BERKE 399
+#define TRAINER_COOLTRAINER_YUJI 400
+#define TRAINER_COOLTRAINER_WARREN 401
+#define TRAINER_COOLTRAINER_MARY 402
+#define TRAINER_COOLTRAINER_CAROLINE 403
+#define TRAINER_COOLTRAINER_ALEXA 404
+#define TRAINER_COOLTRAINER_SHANNON 405
+#define TRAINER_COOLTRAINER_NAOMI 406
+#define TRAINER_COOLTRAINER_BROOKE 407
+#define TRAINER_COOLTRAINER_AUSTINA 408
+#define TRAINER_COOLTRAINER_JULIE 409
+#define TRAINER_ELITE_FOUR_LORELEI 410
+#define TRAINER_ELITE_FOUR_BRUNO 411
+#define TRAINER_ELITE_FOUR_AGATHA 412
+#define TRAINER_ELITE_FOUR_LANCE 413
+#define TRAINER_LEADER_BROCK 414
+#define TRAINER_LEADER_MISTY 415
+#define TRAINER_LEADER_LT_SURGE 416
+#define TRAINER_LEADER_ERIKA 417
+#define TRAINER_LEADER_KOGA 418
+#define TRAINER_LEADER_BLAINE 419
+#define TRAINER_LEADER_SABRINA 420
+#define TRAINER_GENTLEMAN_THOMAS 421
+#define TRAINER_GENTLEMAN_ARTHUR 422
+#define TRAINER_GENTLEMAN_TUCKER 423
+#define TRAINER_GENTLEMAN_NORTON 424
+#define TRAINER_GENTLEMAN_WALTER 425
+#define TRAINER_RIVAL_TERRY_10 426
+#define TRAINER_RIVAL_TERRY_11 427
+#define TRAINER_RIVAL_TERRY_12 428
+#define TRAINER_RIVAL_TERRY_13 429
+#define TRAINER_RIVAL_TERRY_14 430
+#define TRAINER_RIVAL_TERRY_15 431
+#define TRAINER_RIVAL_TERRY_16 432
+#define TRAINER_RIVAL_TERRY_17 433
+#define TRAINER_RIVAL_TERRY_18 434
+#define TRAINER_RIVAL_TERRY_19 435
+#define TRAINER_RIVAL_TERRY_20 436
+#define TRAINER_RIVAL_TERRY_21 437
+#define TRAINER_CHAMPION_TERRY 438
+#define TRAINER_CHAMPION_TERRY_2 439
+#define TRAINER_CHAMPION_TERRY_3 440
+#define TRAINER_CHANNELER_PATRICIA 441
+#define TRAINER_CHANNELER_CARLY 442
+#define TRAINER_CHANNELER_HOPE 443
+#define TRAINER_CHANNELER_PAULA 444
+#define TRAINER_CHANNELER_LAUREL 445
+#define TRAINER_CHANNELER_JODY 446
+#define TRAINER_CHANNELER_TAMMY 447
+#define TRAINER_CHANNELER_RUTH 448
+#define TRAINER_CHANNELER_KARINA 449
+#define TRAINER_CHANNELER_JANAE 450
+#define TRAINER_CHANNELER_ANGELICA 451
+#define TRAINER_CHANNELER_EMILIA 452
+#define TRAINER_CHANNELER_JENNIFER 453
+#define TRAINER_CHANNELER_1 454
+#define TRAINER_CHANNELER_2 455
+#define TRAINER_CHANNELER_3 456
+#define TRAINER_CHANNELER_4 457
+#define TRAINER_CHANNELER_5 458
+#define TRAINER_CHANNELER_6 459
+#define TRAINER_CHANNELER_7 460
+#define TRAINER_CHANNELER_8 461
+#define TRAINER_CHANNELER_AMANDA 462
+#define TRAINER_CHANNELER_STACY 463
+#define TRAINER_CHANNELER_TASHA 464
+#define TRAINER_HIKER_JEREMY 465
+#define TRAINER_PICNICKER_ALMA 466
+#define TRAINER_PICNICKER_SUSIE 467
+#define TRAINER_PICNICKER_VALERIE 468
+#define TRAINER_PICNICKER_GWEN 469
+#define TRAINER_BIKER_VIRGIL 470
+#define TRAINER_CAMPER_FLINT 471
+#define TRAINER_PICNICKER_MISSY 472
+#define TRAINER_PICNICKER_IRENE 473
+#define TRAINER_PICNICKER_DANA 474
+#define TRAINER_PICNICKER_ARIANA 475
+#define TRAINER_PICNICKER_LEAH 476
+#define TRAINER_CAMPER_JUSTIN 477
+#define TRAINER_PICNICKER_YAZMIN 478
+#define TRAINER_PICNICKER_KINDRA 479
+#define TRAINER_PICNICKER_BECKY 480
+#define TRAINER_PICNICKER_CELIA 481
+#define TRAINER_GENTLEMAN_BROOKS 482
+#define TRAINER_GENTLEMAN_LAMAR 483
+#define TRAINER_TWINS_ELI_ANNE 484
+#define TRAINER_COOL_COUPLE_RAY_TYRA 485
+#define TRAINER_YOUNG_COUPLE_GIA_JES 486
+#define TRAINER_TWINS_KIRI_JAN 487
+#define TRAINER_CRUSH_KIN_RON_MYA 488
+#define TRAINER_YOUNG_COUPLE_LEA_JED 489
+#define TRAINER_SIS_AND_BRO_LIA_LUC 490
+#define TRAINER_SIS_AND_BRO_LIL_IAN 491
+#define TRAINER_BUG_CATCHER_3 492
+#define TRAINER_BUG_CATCHER_4 493
+#define TRAINER_BUG_CATCHER_5 494
+#define TRAINER_BUG_CATCHER_6 495
+#define TRAINER_BUG_CATCHER_7 496
+#define TRAINER_BUG_CATCHER_8 497
+#define TRAINER_YOUNGSTER_BEN_3 498
+#define TRAINER_YOUNGSTER_BEN_4 499
+#define TRAINER_YOUNGSTER_CHAD_2 500
+#define TRAINER_LASS_RELI_2 501
+#define TRAINER_LASS_RELI_3 502
+#define TRAINER_YOUNGSTER_TIMMY_2 503
+#define TRAINER_YOUNGSTER_TIMMY_3 504
+#define TRAINER_YOUNGSTER_TIMMY_4 505
+#define TRAINER_YOUNGSTER_CHAD_3 506
+#define TRAINER_LASS_JANICE_2 507
+#define TRAINER_LASS_JANICE_3 508
+#define TRAINER_YOUNGSTER_CHAD_4 509
+#define TRAINER_HIKER_FRANKLIN_2 510
+#define TRAINER_PKMN_PROF_PROF_OAK 511
+#define TRAINER_PLAYER_BRENDAN 512
+#define TRAINER_PLAYER_MAY 513
+#define TRAINER_PLAYER_RED 514
+#define TRAINER_PLAYER_LEAF 515
+#define TRAINER_TEAM_ROCKET_GRUNT_42 516
+#define TRAINER_PSYCHIC_JACLYN 517
+#define TRAINER_CRUSH_GIRL_SHARON 518
+#define TRAINER_TUBER_AMIRA 519
+#define TRAINER_PKMN_BREEDER_ALIZE 520
+#define TRAINER_PKMN_RANGER_NICOLAS 521
+#define TRAINER_PKMN_RANGER_MADELINE 522
+#define TRAINER_AROMA_LADY_NIKKI 523
+#define TRAINER_RUIN_MANIAC_STANLY 524
+#define TRAINER_LADY_JACKI 525
+#define TRAINER_PAINTER_DAISY 526
+#define TRAINER_BIKER_GOON 527
+#define TRAINER_BIKER_GOON_2 528
+#define TRAINER_BIKER_GOON_3 529
+#define TRAINER_BIKER_2 530
+#define TRAINER_BUG_CATCHER_ANTHONY 531
+#define TRAINER_BUG_CATCHER_CHARLIE 532
+#define TRAINER_TWINS_ELI_ANNE_2 533
+#define TRAINER_YOUNGSTER_JOHNSON 534
+#define TRAINER_BIKER_RICARDO 535
+#define TRAINER_BIKER_JAREN 536
+#define TRAINER_TEAM_ROCKET_GRUNT_43 537
+#define TRAINER_TEAM_ROCKET_GRUNT_44 538
+#define TRAINER_TEAM_ROCKET_GRUNT_45 539
+#define TRAINER_TEAM_ROCKET_GRUNT_46 540
+#define TRAINER_TEAM_ROCKET_GRUNT_47 541
+#define TRAINER_TEAM_ROCKET_GRUNT_48 542
+#define TRAINER_TEAM_ROCKET_ADMIN 543
+#define TRAINER_TEAM_ROCKET_ADMIN_2 544
+#define TRAINER_SCIENTIST_GIDEON 545
+#define TRAINER_SWIMMER_FEMALE_AMARA 546
+#define TRAINER_SWIMMER_FEMALE_MARIA 547
+#define TRAINER_SWIMMER_FEMALE_ABIGAIL 548
+#define TRAINER_SWIMMER_MALE_FINN 549
+#define TRAINER_SWIMMER_MALE_GARRETT 550
+#define TRAINER_FISHERMAN_TOMMY 551
+#define TRAINER_CRUSH_GIRL_TANYA 552
+#define TRAINER_BLACK_BELT_SHEA 553
+#define TRAINER_BLACK_BELT_HUGH 554
+#define TRAINER_CAMPER_BRYCE 555
+#define TRAINER_PICNICKER_CLAIRE 556
+#define TRAINER_CRUSH_KIN_MIK_KIA 557
+#define TRAINER_AROMA_LADY_VIOLET 558
+#define TRAINER_TUBER_ALEXIS 559
+#define TRAINER_TWINS_JOY_MEG 560
+#define TRAINER_SWIMMER_FEMALE_TISHA 561
+#define TRAINER_PAINTER_CELINA 562
+#define TRAINER_PAINTER_RAYNA 563
+#define TRAINER_LADY_GILLIAN 564
+#define TRAINER_YOUNGSTER_DESTIN 565
+#define TRAINER_SWIMMER_MALE_TOBY 566
+#define TRAINER_TEAM_ROCKET_GRUNT_49 567
+#define TRAINER_TEAM_ROCKET_GRUNT_50 568
+#define TRAINER_TEAM_ROCKET_GRUNT_51 569
+#define TRAINER_BIRD_KEEPER_MILO 570
+#define TRAINER_BIRD_KEEPER_CHAZ 571
+#define TRAINER_BIRD_KEEPER_HAROLD 572
+#define TRAINER_FISHERMAN_TYLOR 573
+#define TRAINER_SWIMMER_MALE_MYMO 574
+#define TRAINER_SWIMMER_FEMALE_NICOLE 575
+#define TRAINER_SIS_AND_BRO_AVA_GEB 576
+#define TRAINER_AROMA_LADY_ROSE 577
+#define TRAINER_SWIMMER_MALE_SAMIR 578
+#define TRAINER_SWIMMER_FEMALE_DENISE 579
+#define TRAINER_TWINS_MIU_MIA 580
+#define TRAINER_HIKER_EARL 581
+#define TRAINER_RUIN_MANIAC_FOSTER 582
+#define TRAINER_RUIN_MANIAC_LARRY 583
+#define TRAINER_HIKER_DARYL 584
+#define TRAINER_POKEMANIAC_HECTOR 585
+#define TRAINER_PSYCHIC_DARIO 586
+#define TRAINER_PSYCHIC_RODETTE 587
+#define TRAINER_AROMA_LADY_MIAH 588
+#define TRAINER_YOUNG_COUPLE_EVE_JON 589
+#define TRAINER_JUGGLER_MASON 590
+#define TRAINER_CRUSH_GIRL_CYNDY 591
+#define TRAINER_CRUSH_GIRL_JOCELYN 592
+#define TRAINER_TAMER_EVAN 593
+#define TRAINER_POKEMANIAC_MARK_2 594
+#define TRAINER_PKMN_RANGER_LOGAN 595
+#define TRAINER_PKMN_RANGER_JACKSON 596
+#define TRAINER_PKMN_RANGER_BETH 597
+#define TRAINER_PKMN_RANGER_KATELYN 598
+#define TRAINER_COOLTRAINER_LEROY 599
+#define TRAINER_COOLTRAINER_MICHELLE 600
+#define TRAINER_COOL_COUPLE_LEX_NYA 601
+#define TRAINER_RUIN_MANIAC_BRANDON 602
+#define TRAINER_RUIN_MANIAC_BENJAMIN 603
+#define TRAINER_PAINTER_EDNA 604
+#define TRAINER_GENTLEMAN_CLIFFORD 605
+#define TRAINER_LADY_SELPHY 606
+#define TRAINER_RUIN_MANIAC_LAWSON 607
+#define TRAINER_PSYCHIC_LAURA 608
+#define TRAINER_PKMN_BREEDER_BETHANY 609
+#define TRAINER_PKMN_BREEDER_ALLISON 610
+#define TRAINER_BUG_CATCHER_GARRET 611
+#define TRAINER_BUG_CATCHER_JONAH 612
+#define TRAINER_BUG_CATCHER_VANCE 613
+#define TRAINER_YOUNGSTER_NASH 614
+#define TRAINER_YOUNGSTER_CORDELL 615
+#define TRAINER_LASS_DALIA 616
+#define TRAINER_LASS_JOANA 617
+#define TRAINER_CAMPER_RILEY 618
+#define TRAINER_PICNICKER_MARCY 619
+#define TRAINER_RUIN_MANIAC_LAYTON 620
+#define TRAINER_PICNICKER_KELSEY_2 621
+#define TRAINER_PICNICKER_KELSEY_3 622
+#define TRAINER_PICNICKER_KELSEY_4 623
+#define TRAINER_CAMPER_RICKY_2 624
+#define TRAINER_CAMPER_RICKY_3 625
+#define TRAINER_CAMPER_RICKY_4 626
+#define TRAINER_CAMPER_JEFF_2 627
+#define TRAINER_CAMPER_JEFF_3 628
+#define TRAINER_CAMPER_JEFF_4 629
+#define TRAINER_PICNICKER_ISABELLE_2 630
+#define TRAINER_PICNICKER_ISABELLE_3 631
+#define TRAINER_PICNICKER_ISABELLE_4 632
+#define TRAINER_YOUNGSTER_YASU_2 633
+#define TRAINER_YOUNGSTER_YASU_3 634
+#define TRAINER_ENGINEER_BERNIE_2 635
+#define TRAINER_GAMER_DARIAN_2 636
+#define TRAINER_CAMPER_CHRIS_2 637
+#define TRAINER_CAMPER_CHRIS_3 638
+#define TRAINER_CAMPER_CHRIS_4 639
+#define TRAINER_PICNICKER_ALICIA_2 640
+#define TRAINER_PICNICKER_ALICIA_3 641
+#define TRAINER_PICNICKER_ALICIA_4 642
+#define TRAINER_HIKER_JEREMY_2 643
+#define TRAINER_POKEMANIAC_MARK_3 644
+#define TRAINER_POKEMANIAC_HERMAN_2 645
+#define TRAINER_POKEMANIAC_HERMAN_3 646
+#define TRAINER_HIKER_TRENT_2 647
+#define TRAINER_LASS_MEGAN_2 648
+#define TRAINER_LASS_MEGAN_3 649
+#define TRAINER_SUPER_NERD_GLENN_2 650
+#define TRAINER_GAMER_RICH_2 651
+#define TRAINER_BIKER_JAREN_2 652
+#define TRAINER_FISHERMAN_ELLIOT_2 653
+#define TRAINER_ROCKER_LUCA_2 654
+#define TRAINER_BEAUTY_SHEILA_2 655
+#define TRAINER_BIRD_KEEPER_ROBERT_2 656
+#define TRAINER_BIRD_KEEPER_ROBERT_3 657
+#define TRAINER_PICNICKER_SUSIE_2 658
+#define TRAINER_PICNICKER_SUSIE_3 659
+#define TRAINER_PICNICKER_SUSIE_4 660
+#define TRAINER_BIKER_LUKAS_2 661
+#define TRAINER_BIRD_KEEPER_BENNY_2 662
+#define TRAINER_BIRD_KEEPER_BENNY_3 663
+#define TRAINER_BIRD_KEEPER_MARLON_2 664
+#define TRAINER_BIRD_KEEPER_MARLON_3 665
+#define TRAINER_BEAUTY_GRACE_2 666
+#define TRAINER_BIRD_KEEPER_CHESTER_2 667
+#define TRAINER_BIRD_KEEPER_CHESTER_3 668
+#define TRAINER_PICNICKER_BECKY_2 669
+#define TRAINER_PICNICKER_BECKY_3 670
+#define TRAINER_PICNICKER_BECKY_4 671
+#define TRAINER_CRUSH_KIN_RON_MYA_2 672
+#define TRAINER_CRUSH_KIN_RON_MYA_3 673
+#define TRAINER_CRUSH_KIN_RON_MYA_4 674
+#define TRAINER_BIKER_RUBEN_2 675
+#define TRAINER_CUE_BALL_CAMRON_2 676
+#define TRAINER_BIKER_JAXON_2 677
+#define TRAINER_CUE_BALL_ISAIAH_2 678
+#define TRAINER_CUE_BALL_COREY_2 679
+#define TRAINER_BIRD_KEEPER_JACOB_2 680
+#define TRAINER_BIRD_KEEPER_JACOB_3 681
+#define TRAINER_SWIMMER_FEMALE_ALICE_2 682
+#define TRAINER_SWIMMER_MALE_DARRIN_2 683
+#define TRAINER_PICNICKER_MISSY_2 684
+#define TRAINER_PICNICKER_MISSY_3 685
+#define TRAINER_FISHERMAN_WADE_2 686
+#define TRAINER_SWIMMER_MALE_JACK_2 687
+#define TRAINER_SIS_AND_BRO_LIL_IAN_2 688
+#define TRAINER_SIS_AND_BRO_LIL_IAN_3 689
+#define TRAINER_SWIMMER_MALE_FINN_2 690
+#define TRAINER_CRUSH_GIRL_SHARON_2 691
+#define TRAINER_CRUSH_GIRL_SHARON_3 692
+#define TRAINER_CRUSH_GIRL_TANYA_2 693
+#define TRAINER_CRUSH_GIRL_TANYA_3 694
+#define TRAINER_BLACK_BELT_SHEA_2 695
+#define TRAINER_BLACK_BELT_SHEA_3 696
+#define TRAINER_BLACK_BELT_HUGH_2 697
+#define TRAINER_BLACK_BELT_HUGH_3 698
+#define TRAINER_CRUSH_KIN_MIK_KIA_2 699
+#define TRAINER_CRUSH_KIN_MIK_KIA_3 700
+#define TRAINER_TUBER_AMIRA_2 701
+#define TRAINER_TWINS_JOY_MEG_2 702
+#define TRAINER_PAINTER_RAYNA_2 703
+#define TRAINER_YOUNGSTER_DESTIN_2 704
+#define TRAINER_PKMN_BREEDER_ALIZE_2 705
+#define TRAINER_YOUNG_COUPLE_GIA_JES_2 706
+#define TRAINER_YOUNG_COUPLE_GIA_JES_3 707
+#define TRAINER_BIRD_KEEPER_MILO_2 708
+#define TRAINER_BIRD_KEEPER_CHAZ_2 709
+#define TRAINER_BIRD_KEEPER_HAROLD_2 710
+#define TRAINER_SWIMMER_FEMALE_NICOLE_2 711
+#define TRAINER_PSYCHIC_JACLYN_2 712
+#define TRAINER_SWIMMER_MALE_SAMIR_2 713
+#define TRAINER_HIKER_EARL_2 714
+#define TRAINER_RUIN_MANIAC_LARRY_2 715
+#define TRAINER_POKEMANIAC_HECTOR_2 716
+#define TRAINER_PSYCHIC_DARIO_2 717
+#define TRAINER_PSYCHIC_RODETTE_2 718
+#define TRAINER_JUGGLER_MASON_2 719
+#define TRAINER_PKMN_RANGER_NICOLAS_2 720
+#define TRAINER_PKMN_RANGER_MADELINE_2 721
+#define TRAINER_CRUSH_GIRL_CYNDY_2 722
+#define TRAINER_TAMER_EVAN_2 723
+#define TRAINER_PKMN_RANGER_JACKSON_2 724
+#define TRAINER_PKMN_RANGER_KATELYN_2 725
+#define TRAINER_COOLTRAINER_LEROY_2 726
+#define TRAINER_COOLTRAINER_MICHELLE_2 727
+#define TRAINER_COOL_COUPLE_LEX_NYA_2 728
+#define TRAINER_BUG_CATCHER_COLTON_2 729
+#define TRAINER_BUG_CATCHER_COLTON_3 730
+#define TRAINER_BUG_CATCHER_COLTON_4 731
+#define TRAINER_SWIMMER_MALE_MATTHEW_2 732
+#define TRAINER_SWIMMER_MALE_TONY_2 733
+#define TRAINER_SWIMMER_FEMALE_MELISSA_2 734
+#define TRAINER_ELITE_FOUR_LORELEI_2 735
+#define TRAINER_ELITE_FOUR_BRUNO_2 736
+#define TRAINER_ELITE_FOUR_AGATHA_2 737
+#define TRAINER_ELITE_FOUR_LANCE_2 738
+#define TRAINER_CHAMPION_TERRY_4 739
+#define TRAINER_CHAMPION_TERRY_5 740
+#define TRAINER_CHAMPION_TERRY_6 741
+#define TRAINER_CUE_BALL_PAXTON 742
+#define NUM_TRAINERS 743
+
// All trainer parties specify the IV, level, and species for each Pokémon in the
// party. Some trainer parties also specify held items and custom moves for each
// Pokémon.
#define F_TRAINER_PARTY_CUSTOM_MOVESET (1 << 0)
#define F_TRAINER_PARTY_HELD_ITEM (1 << 1)
-#endif // GUARD_TRAINERS_H
+#endif // GUARD_CONSTANTS_TRAINERS_H