summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/constants/flags.h210
-rw-r--r--include/constants/global.h2
-rw-r--r--include/constants/opponents.h755
-rw-r--r--include/constants/trainers.h747
-rw-r--r--include/constants/vars.h5
-rw-r--r--include/data.h1
-rw-r--r--include/event_data.h3
-rw-r--r--include/global.h16
-rw-r--r--src/battle_ai_script_commands.c1
-rw-r--r--src/battle_ai_switch_items.c1
-rw-r--r--src/battle_anim_effects_3.c1
-rw-r--r--src/battle_anim_mons.c1
-rw-r--r--src/battle_anim_sound_tasks.c1
-rw-r--r--src/battle_controller_pokedude.c1
-rw-r--r--src/battle_controllers.c1
-rw-r--r--src/battle_gfx_sfx_util.c1
-rw-r--r--src/battle_intro.c1
-rw-r--r--src/battle_main.c2
-rw-r--r--src/battle_script_commands.c2
-rw-r--r--src/battle_setup.c13
-rw-r--r--src/battle_tower.c2
-rw-r--r--src/battle_util.c2
-rw-r--r--src/credits.c1
-rw-r--r--src/data.c2
-rw-r--r--src/data/easy_chat/easy_chat_group_pokemon.h2
-rw-r--r--src/data/easy_chat/easy_chat_group_pokemon2.h2
-rw-r--r--src/daycare.c1
-rw-r--r--src/decompress.c1
-rw-r--r--src/dodrio_berry_picking.c1
-rw-r--r--src/easy_chat.c2
-rw-r--r--src/event_data.c2
-rw-r--r--src/evolution_scene.c1
-rw-r--r--src/fame_checker.c1
-rw-r--r--src/field_player_avatar.c2
-rw-r--r--src/field_poison.c1
-rw-r--r--src/field_specials.c1
-rw-r--r--src/field_tasks.c2
-rw-r--r--src/hall_of_fame.c3
-rw-r--r--src/heal_location.c1
-rw-r--r--src/intro.c1
-rw-r--r--src/item_use.c1
-rw-r--r--src/link_rfu_2.c1
-rw-r--r--src/link_rfu_3.c1
-rw-r--r--src/mail.c1
-rw-r--r--src/mail_data.c1
-rw-r--r--src/map_name_popup.c1
-rw-r--r--src/menu2.c1
-rw-r--r--src/mevent.c1
-rw-r--r--src/mevent_show_card.c1
-rw-r--r--src/mystery_event_script.c1
-rw-r--r--src/naming_screen.c1
-rw-r--r--src/oak_speech.c1
-rw-r--r--src/overworld.c2
-rw-r--r--src/party_menu.c2
-rw-r--r--src/pokedex.c1
-rw-r--r--src/pokedex_screen.c1
-rw-r--r--src/pokemon.c14
-rw-r--r--src/pokemon_icon.c1
-rw-r--r--src/pokemon_jump_2.c1
-rw-r--r--src/pokemon_size_record.c1
-rw-r--r--src/pokemon_storage_system.c1
-rw-r--r--src/pokemon_storage_system_2.c1
-rw-r--r--src/pokemon_storage_system_3.c2
-rw-r--r--src/pokemon_storage_system_4.c3
-rw-r--r--src/pokemon_storage_system_7.c1
-rw-r--r--src/pokemon_summary_screen.c1
-rw-r--r--src/post_battle_event_funcs.c1
-rw-r--r--src/prof_pc.c1
-rw-r--r--src/quest_log.c5
-rw-r--r--src/quest_log_battle.c1
-rw-r--r--src/quest_log_events.c2
-rw-r--r--src/region_map.c1
-rw-r--r--src/renewable_hidden_items.c1
-rw-r--r--src/rfu_union_tool.c1
-rw-r--r--src/roamer.c1
-rw-r--r--src/save_menu_util.c1
-rw-r--r--src/script_menu.c1
-rw-r--r--src/script_pokemon_util.c1
-rw-r--r--src/start_menu.c1
-rw-r--r--src/title_screen.c1
-rw-r--r--src/trade_scene.c1
-rw-r--r--src/trainer_card.c3
-rw-r--r--src/trainer_fan_club.c2
-rw-r--r--src/trainer_tower.c3
-rw-r--r--src/union_room.c1
-rw-r--r--src/vs_seeker.c1
-rw-r--r--src/wild_encounter.c2
-rw-r--r--src/wild_pokemon_area.c2
88 files changed, 929 insertions, 945 deletions
diff --git a/include/constants/flags.h b/include/constants/flags.h
index d7b4195e2..12bb5801c 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -1307,74 +1307,97 @@
#define FLAG_0x4FE 0x4FE
#define FLAG_0x4FF 0x4FF
-#define FLAG_TRAINER_FLAG_START 0x500
-
-// Vanilla: SYS_FLAGS = 0x800
-//#define SYS_FLAGS (FLAG_TRAINER_FLAG_START + ((NUM_TRAINERS) + 31) / 32 * 32)
-#define SYS_FLAGS 0x800
+#define TRAINER_FLAGS_START (FLAG_0x4FF + 1)
+#define TRAINER_FLAGS_END (TRAINER_FLAGS_START + MAX_TRAINERS_COUNT - 1) // 0x7FF
// SYSTEM FLAGS
-// 0x800
+#define SYS_FLAGS (TRAINER_FLAGS_END + 1) // 0x800
+
+// Temporary system flags
+#define FLAG_SYS_SAFARI_MODE (SYS_FLAGS + 0x0)
+#define FLAG_SYS_VS_SEEKER_CHARGING (SYS_FLAGS + 0x1)
+#define FLAG_SYS_CRUISE_MODE (SYS_FLAGS + 0x2)
+#define FLAG_SYS_WHITE_FLUTE_ACTIVE (SYS_FLAGS + 0x3)
+#define FLAG_SYS_BLACK_FLUTE_ACTIVE (SYS_FLAGS + 0x4)
+#define FLAG_SYS_USE_STRENGTH (SYS_FLAGS + 0x5)
+#define FLAG_SYS_FLASH_ACTIVE (SYS_FLAGS + 0x6)
+#define FLAG_SYS_SPECIAL_WILD_BATTLE (SYS_FLAGS + 0x7)
-#define FLAG_SYS_SAFARI_MODE (SYS_FLAGS + 0x0)
-#define FLAG_SYS_VS_SEEKER_CHARGING (SYS_FLAGS + 0x1)
-#define FLAG_SYS_CRUISE_MODE (SYS_FLAGS + 0x2)
-#define FLAG_SYS_WHITE_FLUTE_ACTIVE (SYS_FLAGS + 0x3)
-#define FLAG_SYS_BLACK_FLUTE_ACTIVE (SYS_FLAGS + 0x4)
-#define FLAG_SYS_USE_STRENGTH (SYS_FLAGS + 0x5)
-#define FLAG_SYS_FLASH_ACTIVE (SYS_FLAGS + 0x6)
-#define FLAG_SYS_SPECIAL_WILD_BATTLE (SYS_FLAGS + 0x7)
-#define FLAG_0x808 (SYS_FLAGS + 0x8)
+#define FLAG_0x808 (SYS_FLAGS + 0x8)
+#define FLAG_0x809 (SYS_FLAGS + 0x9)
+#define FLAG_0x80A (SYS_FLAGS + 0xA)
+#define FLAG_0x80B (SYS_FLAGS + 0xB)
+#define FLAG_0x80C (SYS_FLAGS + 0xC)
+#define FLAG_0x80D (SYS_FLAGS + 0xD)
+#define FLAG_0x80E (SYS_FLAGS + 0xE)
+#define FLAG_0x80F (SYS_FLAGS + 0xF)
+#define FLAG_0x810 (SYS_FLAGS + 0x10)
+#define FLAG_0x811 (SYS_FLAGS + 0x11)
+#define FLAG_0x812 (SYS_FLAGS + 0x12)
+#define FLAG_0x813 (SYS_FLAGS + 0x13)
+#define FLAG_0x814 (SYS_FLAGS + 0x14)
+#define FLAG_0x815 (SYS_FLAGS + 0x15)
+#define FLAG_0x816 (SYS_FLAGS + 0x16)
+#define FLAG_0x817 (SYS_FLAGS + 0x17)
+#define FLAG_0x818 (SYS_FLAGS + 0x18)
+#define FLAG_0x819 (SYS_FLAGS + 0x19)
+#define FLAG_0x81A (SYS_FLAGS + 0x1A)
+#define FLAG_0x81B (SYS_FLAGS + 0x1B)
+#define FLAG_0x81C (SYS_FLAGS + 0x1C)
+#define FLAG_0x81D (SYS_FLAGS + 0x1D)
+#define FLAG_0x81E (SYS_FLAGS + 0x1E)
+#define FLAG_0x81F (SYS_FLAGS + 0x1F)
-#define PERMA_SYS_FLAGS_START 0x820
+// Permanent system flags
+#define PERMA_SYS_FLAGS_START (FLAG_0x81F + 1)
-#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 NUM_BADGES (1 + FLAG_BADGE08_GET - FLAG_BADGE01_GET)
+#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 NUM_BADGES (1 + FLAG_BADGE08_GET - FLAG_BADGE01_GET)
-#define FLAG_SYS_POKEMON_GET (SYS_FLAGS + 0x28)
-#define FLAG_SYS_POKEDEX_GET (SYS_FLAGS + 0x29)
-#define FLAG_0x82A (SYS_FLAGS + 0x2A)
-#define FLAG_0x82B (SYS_FLAGS + 0x2B)
-#define FLAG_SYS_GAME_CLEAR (SYS_FLAGS + 0x2C)
-#define FLAG_SYS_SET_TRAINER_CARD_PROFILE (SYS_FLAGS + 0x2D)
-#define FLAG_0x82E (SYS_FLAGS + 0x2E)
-#define FLAG_SYS_B_DASH (SYS_FLAGS + 0x2F)
-#define FLAG_SYS_ON_CYCLING_ROAD (SYS_FLAGS + 0x30)
-#define FLAG_0x831 (SYS_FLAGS + 0x31)
-#define FLAG_0x832 (SYS_FLAGS + 0x32)
-#define FLAG_0x833 (SYS_FLAGS + 0x33)
-#define FLAG_SYS_NOT_SOMEONES_PC (SYS_FLAGS + 0x34)
-#define FLAG_0x835 (SYS_FLAGS + 0x35)
-#define FLAG_0x836 (SYS_FLAGS + 0x36)
-#define FLAG_0x837 (SYS_FLAGS + 0x37)
-#define FLAG_0x838 (SYS_FLAGS + 0x38)
-#define FLAG_SYS_MYSTERY_GIFT_ENABLED (SYS_FLAGS + 0x39)
-#define FLAG_0x83A (SYS_FLAGS + 0x3A)
-#define FLAG_SYS_RIBBON_GET (SYS_FLAGS + 0x3B)
-#define FLAG_SYS_SAW_HELP_SYSTEM_INTRO (SYS_FLAGS + 0x3C)
-#define FLAG_0x83D (SYS_FLAGS + 0x3D)
-#define FLAG_OPENED_START_MENU (SYS_FLAGS + 0x3E)
-#define FLAG_0x83F (SYS_FLAGS + 0x3F)
-#define FLAG_SYS_NATIONAL_DEX (SYS_FLAGS + 0x40)
-#define FLAG_SYS_PC_STORAGE_DISABLED (SYS_FLAGS + 0x41)
-#define FLAG_SYS_INFORMED_OF_LOCAL_WIRELESS_PLAYER (SYS_FLAGS + 0x42)
-#define FLAG_SHOWN_BOX_WAS_FULL_MESSAGE (SYS_FLAGS + 0x43)
-#define FLAG_SYS_CAN_LINK_WITH_RS (SYS_FLAGS + 0x44)
-#define FLAG_SYS_SEVII_MAP_123 (SYS_FLAGS + 0x45)
-#define FLAG_SYS_SEVII_MAP_4567 (SYS_FLAGS + 0x46)
-#define FLAG_SYS_GOT_BERRY_POUCH (SYS_FLAGS + 0x47)
-#define FLAG_SYS_DEOXYS_AWAKENED (SYS_FLAGS + 0x48)
-#define FLAG_SYS_UNLOCKED_TANOBY_RUINS (SYS_FLAGS + 0x49)
-#define FLAG_ENABLE_SHIP_NAVEL_ROCK (SYS_FLAGS + 0x4A)
-#define FLAG_ENABLE_SHIP_BIRTH_ISLAND (SYS_FLAGS + 0x4B)
+#define FLAG_SYS_POKEMON_GET (SYS_FLAGS + 0x28)
+#define FLAG_SYS_POKEDEX_GET (SYS_FLAGS + 0x29)
+#define FLAG_0x82A (SYS_FLAGS + 0x2A)
+#define FLAG_0x82B (SYS_FLAGS + 0x2B)
+#define FLAG_SYS_GAME_CLEAR (SYS_FLAGS + 0x2C)
+#define FLAG_SYS_SET_TRAINER_CARD_PROFILE (SYS_FLAGS + 0x2D)
+#define FLAG_0x82E (SYS_FLAGS + 0x2E)
+#define FLAG_SYS_B_DASH (SYS_FLAGS + 0x2F)
+#define FLAG_SYS_ON_CYCLING_ROAD (SYS_FLAGS + 0x30)
+#define FLAG_0x831 (SYS_FLAGS + 0x31)
+#define FLAG_0x832 (SYS_FLAGS + 0x32)
+#define FLAG_0x833 (SYS_FLAGS + 0x33)
+#define FLAG_SYS_NOT_SOMEONES_PC (SYS_FLAGS + 0x34)
+#define FLAG_0x835 (SYS_FLAGS + 0x35)
+#define FLAG_0x836 (SYS_FLAGS + 0x36)
+#define FLAG_0x837 (SYS_FLAGS + 0x37)
+#define FLAG_0x838 (SYS_FLAGS + 0x38)
+#define FLAG_SYS_MYSTERY_GIFT_ENABLED (SYS_FLAGS + 0x39)
+#define FLAG_0x83A (SYS_FLAGS + 0x3A)
+#define FLAG_SYS_RIBBON_GET (SYS_FLAGS + 0x3B)
+#define FLAG_SYS_SAW_HELP_SYSTEM_INTRO (SYS_FLAGS + 0x3C)
+#define FLAG_0x83D (SYS_FLAGS + 0x3D)
+#define FLAG_OPENED_START_MENU (SYS_FLAGS + 0x3E)
+#define FLAG_0x83F (SYS_FLAGS + 0x3F)
+#define FLAG_SYS_NATIONAL_DEX (SYS_FLAGS + 0x40)
+#define FLAG_SYS_PC_STORAGE_DISABLED (SYS_FLAGS + 0x41)
+#define FLAG_SYS_INFORMED_OF_LOCAL_WIRELESS_PLAYER (SYS_FLAGS + 0x42)
+#define FLAG_SHOWN_BOX_WAS_FULL_MESSAGE (SYS_FLAGS + 0x43)
+#define FLAG_SYS_CAN_LINK_WITH_RS (SYS_FLAGS + 0x44)
+#define FLAG_SYS_SEVII_MAP_123 (SYS_FLAGS + 0x45)
+#define FLAG_SYS_SEVII_MAP_4567 (SYS_FLAGS + 0x46)
+#define FLAG_SYS_GOT_BERRY_POUCH (SYS_FLAGS + 0x47)
+#define FLAG_SYS_DEOXYS_AWAKENED (SYS_FLAGS + 0x48)
+#define FLAG_SYS_UNLOCKED_TANOBY_RUINS (SYS_FLAGS + 0x49)
+#define FLAG_ENABLE_SHIP_NAVEL_ROCK (SYS_FLAGS + 0x4A)
+#define FLAG_ENABLE_SHIP_BIRTH_ISLAND (SYS_FLAGS + 0x4B)
// World Map Flags
#define FLAG_WORLD_MAP_PALLET_TOWN (SYS_FLAGS + 0x90)
@@ -1429,10 +1452,69 @@
#define FLAG_WORLD_MAP_SEVEN_ISLAND_SEVAULT_CANYON_TANOBY_KEY (SYS_FLAGS + 0xC1)
#define FLAG_WORLD_MAP_BIRTH_ISLAND_EXTERIOR (SYS_FLAGS + 0xC2)
-#define FLAG_0x8D5 (SYS_FLAGS + 0xD5)
-#define FLAG_0x8D6 (SYS_FLAGS + 0xD6)
+#define FLAG_0x8C3 (SYS_FLAGS + 0xC3)
+#define FLAG_0x8C4 (SYS_FLAGS + 0xC4)
+#define FLAG_0x8C5 (SYS_FLAGS + 0xC5)
+#define FLAG_0x8C6 (SYS_FLAGS + 0xC6)
+#define FLAG_0x8C7 (SYS_FLAGS + 0xC7)
+#define FLAG_0x8C8 (SYS_FLAGS + 0xC8)
+#define FLAG_0x8C9 (SYS_FLAGS + 0xC9)
+#define FLAG_0x8CA (SYS_FLAGS + 0xCA)
+#define FLAG_0x8CB (SYS_FLAGS + 0xCB)
+#define FLAG_0x8CC (SYS_FLAGS + 0xCC)
+#define FLAG_0x8CD (SYS_FLAGS + 0xCD)
+#define FLAG_0x8CE (SYS_FLAGS + 0xCE)
+#define FLAG_0x8CF (SYS_FLAGS + 0xCF)
+#define FLAG_0x8D0 (SYS_FLAGS + 0xD0)
+#define FLAG_0x8D1 (SYS_FLAGS + 0xD1)
+#define FLAG_0x8D2 (SYS_FLAGS + 0xD2)
+#define FLAG_0x8D3 (SYS_FLAGS + 0xD3)
+#define FLAG_0x8D4 (SYS_FLAGS + 0xD4)
+#define FLAG_0x8D5 (SYS_FLAGS + 0xD5)
+#define FLAG_0x8D6 (SYS_FLAGS + 0xD6)
+#define FLAG_0x8D7 (SYS_FLAGS + 0xD7)
+#define FLAG_0x8D8 (SYS_FLAGS + 0xD8)
+#define FLAG_0x8D9 (SYS_FLAGS + 0xD9)
+#define FLAG_0x8DA (SYS_FLAGS + 0xDA)
+#define FLAG_0x8DB (SYS_FLAGS + 0xDB)
+#define FLAG_0x8DC (SYS_FLAGS + 0xDC)
+#define FLAG_0x8DD (SYS_FLAGS + 0xDD)
+#define FLAG_0x8DE (SYS_FLAGS + 0xDE)
+#define FLAG_0x8DF (SYS_FLAGS + 0xDF)
+#define FLAG_0x8E0 (SYS_FLAGS + 0xE0)
+#define FLAG_0x8E1 (SYS_FLAGS + 0xE1)
+#define FLAG_0x8E2 (SYS_FLAGS + 0xE2)
+#define FLAG_0x8E3 (SYS_FLAGS + 0xE3)
+#define FLAG_0x8E4 (SYS_FLAGS + 0xE4)
+#define FLAG_0x8E5 (SYS_FLAGS + 0xE5)
+#define FLAG_0x8E6 (SYS_FLAGS + 0xE6)
+#define FLAG_0x8E7 (SYS_FLAGS + 0xE7)
+#define FLAG_0x8E8 (SYS_FLAGS + 0xE8)
+#define FLAG_0x8E9 (SYS_FLAGS + 0xE9)
+#define FLAG_0x8EA (SYS_FLAGS + 0xEA)
+#define FLAG_0x8EB (SYS_FLAGS + 0xEB)
+#define FLAG_0x8EC (SYS_FLAGS + 0xEC)
+#define FLAG_0x8ED (SYS_FLAGS + 0xED)
+#define FLAG_0x8EE (SYS_FLAGS + 0xEE)
+#define FLAG_0x8EF (SYS_FLAGS + 0xEF)
+#define FLAG_0x8F0 (SYS_FLAGS + 0xF0)
+#define FLAG_0x8F1 (SYS_FLAGS + 0xF1)
+#define FLAG_0x8F2 (SYS_FLAGS + 0xF2)
+#define FLAG_0x8F3 (SYS_FLAGS + 0xF3)
+#define FLAG_0x8F4 (SYS_FLAGS + 0xF4)
+#define FLAG_0x8F5 (SYS_FLAGS + 0xF5)
+#define FLAG_0x8F6 (SYS_FLAGS + 0xF6)
+#define FLAG_0x8F7 (SYS_FLAGS + 0xF7)
+#define FLAG_0x8F8 (SYS_FLAGS + 0xF8)
+#define FLAG_0x8F9 (SYS_FLAGS + 0xF9)
+#define FLAG_0x8FA (SYS_FLAGS + 0xFA)
+#define FLAG_0x8FB (SYS_FLAGS + 0xFB)
+#define FLAG_0x8FC (SYS_FLAGS + 0xFC)
+#define FLAG_0x8FD (SYS_FLAGS + 0xFD)
+#define FLAG_0x8FE (SYS_FLAGS + 0xFE)
+#define FLAG_0x8FF (SYS_FLAGS + 0xFF)
-#define FLAG_0x8E0 (SYS_FLAGS + 0xE0)
+#define FLAGS_COUNT (FLAG_0x8FF + 1)
// SPECIAL FLAGS (unknown purpose)
#define SPECIAL_FLAGS_START 0x4000
diff --git a/include/constants/global.h b/include/constants/global.h
index 6a05d169e..689848912 100644
--- a/include/constants/global.h
+++ b/include/constants/global.h
@@ -1,8 +1,6 @@
#ifndef GUARD_CONSTANTS_GLOBAL_H
#define GUARD_CONSTANTS_GLOBAL_H
-#define POKEMON_SLOTS_NUMBER 412
-
#define ITEM_NAME_LENGTH 14
#define POKEMON_NAME_LENGTH 10
#define OT_NAME_LENGTH 7
diff --git a/include/constants/opponents.h b/include/constants/opponents.h
new file mode 100644
index 000000000..6262ab817
--- /dev/null
+++ b/include/constants/opponents.h
@@ -0,0 +1,755 @@
+#ifndef GUARD_CONSTANTS_OPPONENTS_H
+#define GUARD_CONSTANTS_OPPONENTS_H
+
+#define TRAINER_NONE 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_OAKS_LAB_SQUIRTLE 326
+#define TRAINER_RIVAL_OAKS_LAB_BULBASAUR 327
+#define TRAINER_RIVAL_OAKS_LAB_CHARMANDER 328
+#define TRAINER_RIVAL_ROUTE22_EARLY_SQUIRTLE 329
+#define TRAINER_RIVAL_ROUTE22_EARLY_BULBASAUR 330
+#define TRAINER_RIVAL_ROUTE22_EARLY_CHARMANDER 331
+#define TRAINER_RIVAL_CERULEAN_SQUIRTLE 332
+#define TRAINER_RIVAL_CERULEAN_BULBASAUR 333
+#define TRAINER_RIVAL_CERULEAN_CHARMANDER 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_SS_ANNE_SQUIRTLE 426
+#define TRAINER_RIVAL_SS_ANNE_BULBASAUR 427
+#define TRAINER_RIVAL_SS_ANNE_CHARMANDER 428
+#define TRAINER_RIVAL_POKENON_TOWER_SQUIRTLE 429
+#define TRAINER_RIVAL_POKENON_TOWER_BULBASAUR 430
+#define TRAINER_RIVAL_POKENON_TOWER_CHARMANDER 431
+#define TRAINER_RIVAL_SILPH_SQUIRTLE 432
+#define TRAINER_RIVAL_SILPH_BULBASAUR 433
+#define TRAINER_RIVAL_SILPH_CHARMANDER 434
+#define TRAINER_RIVAL_ROUTE22_LATE_SQUIRTLE 435
+#define TRAINER_RIVAL_ROUTE22_LATE_BULBASAUR 436
+#define TRAINER_RIVAL_ROUTE22_LATE_CHARMANDER 437
+#define TRAINER_CHAMPION_FIRST_SQUIRTLE 438
+#define TRAINER_CHAMPION_FIRST_BULBASAUR 439
+#define TRAINER_CHAMPION_FIRST_CHARMANDER 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_REMATCH_SQUIRTLE 739
+#define TRAINER_CHAMPION_REMATCH_BULBASAUR 740
+#define TRAINER_CHAMPION_REMATCH_CHARMANDER 741
+#define TRAINER_CUE_BALL_PAXTON 742
+
+// NOTE: Because each Trainer uses a flag to determine when they are defeated, there is
+// only space for 25 additional trainers before trainer flag space overflows.
+// MAX_TRAINERS_COUNT can be increased but will take up additional saveblock space
+
+#define NUM_TRAINERS 743
+#define MAX_TRAINERS_COUNT 768
+
+#endif // GUARD_CONSTANTS_OPPONENTS_H
diff --git a/include/constants/trainers.h b/include/constants/trainers.h
index f75c4bab8..cc62fbcbe 100644
--- a/include/constants/trainers.h
+++ b/include/constants/trainers.h
@@ -1,6 +1,8 @@
#ifndef GUARD_CONSTANTS_TRAINERS_H
#define GUARD_CONSTANTS_TRAINERS_H
+#include "constants/opponents.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
@@ -170,751 +172,6 @@
#define F_TRAINER_FEMALE (1 << 7)
-#define TRAINER_NONE 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_OAKS_LAB_SQUIRTLE 326
-#define TRAINER_RIVAL_OAKS_LAB_BULBASAUR 327
-#define TRAINER_RIVAL_OAKS_LAB_CHARMANDER 328
-#define TRAINER_RIVAL_ROUTE22_EARLY_SQUIRTLE 329
-#define TRAINER_RIVAL_ROUTE22_EARLY_BULBASAUR 330
-#define TRAINER_RIVAL_ROUTE22_EARLY_CHARMANDER 331
-#define TRAINER_RIVAL_CERULEAN_SQUIRTLE 332
-#define TRAINER_RIVAL_CERULEAN_BULBASAUR 333
-#define TRAINER_RIVAL_CERULEAN_CHARMANDER 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_SS_ANNE_SQUIRTLE 426
-#define TRAINER_RIVAL_SS_ANNE_BULBASAUR 427
-#define TRAINER_RIVAL_SS_ANNE_CHARMANDER 428
-#define TRAINER_RIVAL_POKENON_TOWER_SQUIRTLE 429
-#define TRAINER_RIVAL_POKENON_TOWER_BULBASAUR 430
-#define TRAINER_RIVAL_POKENON_TOWER_CHARMANDER 431
-#define TRAINER_RIVAL_SILPH_SQUIRTLE 432
-#define TRAINER_RIVAL_SILPH_BULBASAUR 433
-#define TRAINER_RIVAL_SILPH_CHARMANDER 434
-#define TRAINER_RIVAL_ROUTE22_LATE_SQUIRTLE 435
-#define TRAINER_RIVAL_ROUTE22_LATE_BULBASAUR 436
-#define TRAINER_RIVAL_ROUTE22_LATE_CHARMANDER 437
-#define TRAINER_CHAMPION_FIRST_SQUIRTLE 438
-#define TRAINER_CHAMPION_FIRST_BULBASAUR 439
-#define TRAINER_CHAMPION_FIRST_CHARMANDER 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_REMATCH_SQUIRTLE 739
-#define TRAINER_CHAMPION_REMATCH_BULBASAUR 740
-#define TRAINER_CHAMPION_REMATCH_CHARMANDER 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.
diff --git a/include/constants/vars.h b/include/constants/vars.h
index 358209eaf..8b7ffbfbd 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -1,8 +1,6 @@
#ifndef GUARD_CONSTANTS_VARS_H
#define GUARD_CONSTANTS_VARS_H
-#define VAR_0x3F20 0x3F20
-
#define VARS_START 0x4000
// Temporary variables. Reset on map load.
@@ -132,7 +130,7 @@
#define VAR_MAP_SCENE_PALLET_TOWN_OAK 0x4050
#define VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN 0x4051
#define VAR_MAP_SCENE_CERULEAN_CITY_RIVAL 0x4052
-#define VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER 0x4053
+#define VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER 0x4053
#define VAR_MAP_SCENE_ROUTE22 0x4054
#define VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB 0x4055
#define VAR_MAP_SCENE_PALLET_TOWN_PLAYERS_HOUSE_2F 0x4056
@@ -308,6 +306,7 @@
#define VAR_0x40FF 0x40FF
#define VARS_END 0x40FF
+#define VARS_COUNT (VARS_END - VARS_START + 1)
#define SPECIAL_VARS_START 0x8000
diff --git a/include/data.h b/include/data.h
index 90c8e0ace..1a91d6f62 100644
--- a/include/data.h
+++ b/include/data.h
@@ -2,7 +2,6 @@
#define GUARD_DATA_H
#include "global.h"
-#include "constants/species.h"
#define SPECIES_SHINY_TAG 500
#define TRAINER_ENCOUNTER_MUSIC(trainer)((gTrainers[trainer].encounterMusic_gender & 0x7F))
diff --git a/include/event_data.h b/include/event_data.h
index 269762b23..794a99097 100644
--- a/include/event_data.h
+++ b/include/event_data.h
@@ -3,9 +3,6 @@
#include "global.h"
-#include "constants/flags.h"
-#include "constants/vars.h"
-
extern u16 gSpecialVar_0x8000;
extern u16 gSpecialVar_0x8001;
extern u16 gSpecialVar_0x8002;
diff --git a/include/global.h b/include/global.h
index e88cc620b..deaf70ea7 100644
--- a/include/global.h
+++ b/include/global.h
@@ -5,6 +5,9 @@
#include "gba/gba.h"
#include <string.h>
#include "constants/global.h"
+#include "constants/flags.h"
+#include "constants/vars.h"
+#include "constants/species.h"
// Prevent cross-jump optimization.
#define BLOCK_CROSS_JUMP asm("");
@@ -87,6 +90,11 @@ extern u8 gStringVar2[];
extern u8 gStringVar3[];
extern u8 gStringVar4[];
+#define ROUND_BITS_TO_BYTES(numBits)(((numBits) / 8) + (((numBits) % 8) ? 1 : 0))
+
+#define DEX_FLAGS_NO (ROUND_BITS_TO_BYTES(NUM_SPECIES))
+#define NUM_FLAG_BYTES (ROUND_BITS_TO_BYTES(FLAGS_COUNT))
+
struct Coords8
{
s8 x;
@@ -131,8 +139,6 @@ struct Time
/*0x04*/ s8 seconds;
};
-#define DEX_FLAGS_NO ((POKEMON_SLOTS_NUMBER / 8) + ((POKEMON_SLOTS_NUMBER % 8) ? 1 : 0))
-
struct Pokedex
{
/*0x00*/ u8 order;
@@ -549,8 +555,6 @@ struct QuestLogNPCData
};
#define BERRY_TREES_COUNT 128
-#define FLAGS_COUNT 288 // 300
-#define VARS_COUNT 256
#define MAIL_COUNT (PARTY_SIZE + 10)
#define PC_MAIL_NUM(i) (PARTY_SIZE + (i))
@@ -603,7 +607,7 @@ struct QuestLog
// These arrays hold the game state for
// playing back the quest log
- /*0x0148*/ u8 flags[FLAGS_COUNT];
+ /*0x0148*/ u8 flags[NUM_FLAG_BYTES];
/*0x02c8*/ u16 vars[VARS_COUNT];
/*0x0468*/ struct QuestLogNPCData npcData[64];
/*0x0568*/ u16 script[128];
@@ -744,7 +748,7 @@ struct SaveBlock1
/*0x063A*/ u8 ALIGNED(2) trainerRematches[100];
/*0x06A0*/ struct ObjectEvent objectEvents[OBJECT_EVENTS_COUNT];
/*0x08E0*/ struct ObjectEventTemplate objectEventTemplates[64];
- /*0x0EE0*/ u8 flags[FLAGS_COUNT];
+ /*0x0EE0*/ u8 flags[NUM_FLAG_BYTES];
/*0x1000*/ u16 vars[VARS_COUNT];
/*0x1200*/ u32 gameStats[NUM_GAME_STATS];
/*0x1300*/ struct QuestLog questLog[QUEST_LOG_SCENE_COUNT];
diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c
index 877fba80a..952c1487f 100644
--- a/src/battle_ai_script_commands.c
+++ b/src/battle_ai_script_commands.c
@@ -5,7 +5,6 @@
#include "item.h"
#include "random.h"
#include "battle_ai_script_commands.h"
-#include "constants/species.h"
#include "constants/abilities.h"
#include "constants/battle_ai.h"
#include "constants/battle_move_effects.h"
diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c
index e689d2353..a77a4cf56 100644
--- a/src/battle_ai_switch_items.c
+++ b/src/battle_ai_switch_items.c
@@ -8,7 +8,6 @@
#include "constants/item_effects.h"
#include "constants/items.h"
#include "constants/moves.h"
-#include "constants/species.h"
#include "constants/pokemon.h"
static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng);
diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c
index 07b44d53a..c259755df 100644
--- a/src/battle_anim_effects_3.c
+++ b/src/battle_anim_effects_3.c
@@ -13,7 +13,6 @@
#include "util.h"
#include "constants/battle_anim.h"
#include "constants/songs.h"
-#include "constants/species.h"
#include "constants/weather.h"
// Function Declarations
diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c
index 036e1b052..ee5d4017d 100644
--- a/src/battle_anim_mons.c
+++ b/src/battle_anim_mons.c
@@ -8,7 +8,6 @@
#include "trig.h"
#include "util.h"
#include "constants/battle_anim.h"
-#include "constants/species.h"
#define GET_UNOWN_LETTER(personality) (( \
(((personality & 0x03000000) >> 24) << 6) \
diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c
index ee99b75a6..44deed318 100644
--- a/src/battle_anim_sound_tasks.c
+++ b/src/battle_anim_sound_tasks.c
@@ -4,7 +4,6 @@
#include "battle_anim.h"
#include "task.h"
#include "constants/battle_anim.h"
-#include "constants/species.h"
static void sub_80DCE78(u8 taskId);
static void sub_80DCEE4(u8 taskId);
diff --git a/src/battle_controller_pokedude.c b/src/battle_controller_pokedude.c
index 2e55c5bfa..e6af71b6c 100644
--- a/src/battle_controller_pokedude.c
+++ b/src/battle_controller_pokedude.c
@@ -20,7 +20,6 @@
#include "constants/songs.h"
#include "constants/moves.h"
#include "constants/pokemon.h"
-#include "constants/trainers.h"
struct Unk_84790E8
{
diff --git a/src/battle_controllers.c b/src/battle_controllers.c
index b7737090a..583a64eaa 100644
--- a/src/battle_controllers.c
+++ b/src/battle_controllers.c
@@ -13,7 +13,6 @@
#include "task.h"
#include "util.h"
#include "constants/abilities.h"
-#include "constants/species.h"
#include "constants/battle.h"
static EWRAM_DATA u8 sLinkSendTaskId = 0;
diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c
index 9795c52ff..4340703e3 100644
--- a/src/battle_gfx_sfx_util.c
+++ b/src/battle_gfx_sfx_util.c
@@ -14,7 +14,6 @@
#include "battle_anim.h"
#include "battle_interface.h"
#include "constants/battle_anim.h"
-#include "constants/species.h"
#include "constants/moves.h"
#include "constants/songs.h"
diff --git a/src/battle_intro.c b/src/battle_intro.c
index 25fdbafda..04c7072d9 100644
--- a/src/battle_intro.c
+++ b/src/battle_intro.c
@@ -6,7 +6,6 @@
#include "scanline_effect.h"
#include "task.h"
#include "trig.h"
-#include "constants/trainers.h"
static EWRAM_DATA u16 sBgCnt = 0;
diff --git a/src/battle_main.c b/src/battle_main.c
index 0d14d9b5b..08bf6e345 100644
--- a/src/battle_main.c
+++ b/src/battle_main.c
@@ -42,8 +42,6 @@
#include "constants/moves.h"
#include "constants/pokemon.h"
#include "constants/songs.h"
-#include "constants/species.h"
-#include "constants/trainers.h"
#include "constants/trainer_classes.h"
static void sub_80111EC(struct Sprite *sprite);
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index a56163180..90ee8e561 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -33,11 +33,9 @@
#include "constants/items.h"
#include "constants/hold_effects.h"
#include "constants/songs.h"
-#include "constants/species.h"
#include "constants/moves.h"
#include "constants/abilities.h"
#include "constants/pokemon.h"
-#include "constants/trainers.h"
#include "constants/maps.h"
#define DEFENDER_IS_PROTECTED ((gProtectStructs[gBattlerTarget].protected) && (gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED))
diff --git a/src/battle_setup.c b/src/battle_setup.c
index 8ee061361..058573aaf 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -27,13 +27,10 @@
#include "battle_transition.h"
#include "battle_controllers.h"
#include "constants/battle_setup.h"
-#include "constants/flags.h"
#include "constants/items.h"
#include "constants/maps.h"
#include "constants/songs.h"
-#include "constants/species.h"
#include "constants/pokemon.h"
-#include "constants/trainers.h"
#include "constants/trainer_classes.h"
enum
@@ -671,7 +668,7 @@ static u8 TrainerBattleLoadArg8(const u8 *ptr)
static u16 GetTrainerAFlag(void)
{
- return FLAG_TRAINER_FLAG_START + gTrainerBattleOpponent_A;
+ return TRAINER_FLAGS_START + gTrainerBattleOpponent_A;
}
static bool32 IsPlayerDefeated(u32 battleOutcome)
@@ -828,7 +825,7 @@ bool32 GetTrainerFlagFromScriptPointer(const u8 *data)
{
u32 flag = TrainerBattleLoadArg16(data + 2);
- return FlagGet(FLAG_TRAINER_FLAG_START + flag);
+ return FlagGet(TRAINER_FLAGS_START + flag);
}
void SetUpTrainerMovement(void)
@@ -866,17 +863,17 @@ static void SetBattledTrainerFlag2(void)
bool8 HasTrainerBeenFought(u16 trainerId)
{
- return FlagGet(FLAG_TRAINER_FLAG_START + trainerId);
+ return FlagGet(TRAINER_FLAGS_START + trainerId);
}
void SetTrainerFlag(u16 trainerId)
{
- FlagSet(FLAG_TRAINER_FLAG_START + trainerId);
+ FlagSet(TRAINER_FLAGS_START + trainerId);
}
void ClearTrainerFlag(u16 trainerId)
{
- FlagClear(FLAG_TRAINER_FLAG_START + trainerId);
+ FlagClear(TRAINER_FLAGS_START + trainerId);
}
void StartTrainerBattle(void)
diff --git a/src/battle_tower.c b/src/battle_tower.c
index 818c909aa..04f3019b1 100644
--- a/src/battle_tower.c
+++ b/src/battle_tower.c
@@ -19,11 +19,9 @@
#include "save.h"
#include "item.h"
#include "script_pokemon_util.h"
-#include "constants/species.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/pokemon.h"
-#include "constants/vars.h"
#include "constants/event_objects.h"
static EWRAM_DATA u16 sSpecialVar_0x8004_Copy = 0;
diff --git a/src/battle_util.c b/src/battle_util.c
index d28e524a8..45025ae1a 100644
--- a/src/battle_util.c
+++ b/src/battle_util.c
@@ -20,8 +20,6 @@
#include "constants/battle.h"
#include "constants/moves.h"
#include "constants/items.h"
-#include "constants/flags.h"
-#include "constants/species.h"
#include "constants/weather.h"
#include "constants/abilities.h"
#include "constants/pokemon.h"
diff --git a/src/credits.c b/src/credits.c
index 4ef4a1a9d..fc45781ad 100644
--- a/src/credits.c
+++ b/src/credits.c
@@ -11,7 +11,6 @@
#include "trainer_pokemon_sprites.h"
#include "menu.h"
#include "field_weather.h"
-#include "constants/species.h"
#include "constants/maps.h"
#include "constants/field_weather.h"
diff --git a/src/data.c b/src/data.c
index 54c67c875..6b4e113af 100644
--- a/src/data.c
+++ b/src/data.c
@@ -5,8 +5,6 @@
#include "graphics.h"
#include "constants/items.h"
#include "constants/moves.h"
-#include "constants/species.h"
-#include "constants/trainers.h"
#include "constants/battle_ai.h"
#include "constants/trainer_classes.h"
diff --git a/src/data/easy_chat/easy_chat_group_pokemon.h b/src/data/easy_chat/easy_chat_group_pokemon.h
index 15a182889..e3f54c19e 100644
--- a/src/data/easy_chat/easy_chat_group_pokemon.h
+++ b/src/data/easy_chat/easy_chat_group_pokemon.h
@@ -1,5 +1,3 @@
-#include "constants/species.h"
-
static const u16 sEasyChatGroup_Pokemon[] = {
SPECIES_ABRA,
SPECIES_ABSOL,
diff --git a/src/data/easy_chat/easy_chat_group_pokemon2.h b/src/data/easy_chat/easy_chat_group_pokemon2.h
index fbd3c0564..26211eec5 100644
--- a/src/data/easy_chat/easy_chat_group_pokemon2.h
+++ b/src/data/easy_chat/easy_chat_group_pokemon2.h
@@ -1,5 +1,3 @@
-#include "constants/species.h"
-
static const u16 sEasyChatGroup_Pokemon2[] = {
SPECIES_ABRA,
SPECIES_AERODACTYL,
diff --git a/src/daycare.c b/src/daycare.c
index 05d83c571..fe0de9bc6 100644
--- a/src/daycare.c
+++ b/src/daycare.c
@@ -1,7 +1,6 @@
#include "global.h"
#include "gflib.h"
#include "battle.h"
-#include "constants/species.h"
#include "constants/items.h"
#include "mail_data.h"
#include "pokemon_storage_system.h"
diff --git a/src/decompress.c b/src/decompress.c
index a49b5d290..3af15cfc8 100644
--- a/src/decompress.c
+++ b/src/decompress.c
@@ -2,7 +2,6 @@
#include "gflib.h"
#include "decompress.h"
#include "pokemon.h"
-#include "constants/species.h"
extern const struct CompressedSpriteSheet gMonFrontPicTable[];
extern const struct CompressedSpriteSheet gMonBackPicTable[];
diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c
index 5a95c8549..f9ea77003 100644
--- a/src/dodrio_berry_picking.c
+++ b/src/dodrio_berry_picking.c
@@ -15,7 +15,6 @@
#include "constants/songs.h"
#include "constants/fanfares.h"
#include "constants/items.h"
-#include "constants/species.h"
struct DodrioStruct
{
diff --git a/src/easy_chat.c b/src/easy_chat.c
index c34ace10d..bf617a854 100644
--- a/src/easy_chat.c
+++ b/src/easy_chat.c
@@ -11,8 +11,6 @@
#include "random.h"
#include "strings.h"
#include "constants/easy_chat.h"
-#include "constants/flags.h"
-#include "constants/species.h"
struct Unk203A120
{
diff --git a/src/event_data.c b/src/event_data.c
index 6cd6f277b..df5d2fce5 100644
--- a/src/event_data.c
+++ b/src/event_data.c
@@ -33,7 +33,7 @@ extern u16 *const gSpecialVars[];
void InitEventData(void)
{
- memset(gSaveBlock1Ptr->flags, 0, FLAGS_COUNT);
+ memset(gSaveBlock1Ptr->flags, 0, NUM_FLAG_BYTES);
memset(gSaveBlock1Ptr->vars, 0, VARS_COUNT * 2);
memset(sSpecialFlags, 0, SPECIAL_FLAGS_COUNT);
}
diff --git a/src/evolution_scene.c b/src/evolution_scene.c
index 8a1f89685..639194773 100644
--- a/src/evolution_scene.c
+++ b/src/evolution_scene.c
@@ -23,7 +23,6 @@
#include "text_window.h"
#include "trig.h"
#include "battle_string_ids.h"
-#include "constants/species.h"
#include "constants/songs.h"
#include "constants/pokemon.h"
diff --git a/src/fame_checker.c b/src/fame_checker.c
index 15052c964..48e5cf00a 100644
--- a/src/fame_checker.c
+++ b/src/fame_checker.c
@@ -18,7 +18,6 @@
#include "text_window.h"
#include "fame_checker.h"
#include "strings.h"
-#include "constants/trainers.h"
#define SPRITETAG_SELECTOR_CURSOR 1000
#define SPRITETAG_QUESTION_MARK 1001
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index 8e87cdf0e..9d2cb5620 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -23,9 +23,7 @@
#include "constants/event_object_movement.h"
#include "constants/event_objects.h"
#include "constants/songs.h"
-#include "constants/flags.h"
#include "constants/metatile_behaviors.h"
-#include "constants/species.h"
#include "constants/moves.h"
static EWRAM_DATA struct ObjectEvent * gUnknown_2036E30 = NULL;
diff --git a/src/field_poison.c b/src/field_poison.c
index ed2a9360d..d4ed5e45f 100644
--- a/src/field_poison.c
+++ b/src/field_poison.c
@@ -8,7 +8,6 @@
#include "fldeff.h"
#include "party_menu.h"
#include "field_poison.h"
-#include "constants/species.h"
#include "constants/battle.h"
static bool32 IsMonValidSpecies(struct Pokemon *pokemon)
diff --git a/src/field_specials.c b/src/field_specials.c
index 98f9852cd..020a0d54d 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -34,7 +34,6 @@
#include "dynamic_placeholder_text_util.h"
#include "new_menu_helpers.h"
#include "constants/songs.h"
-#include "constants/species.h"
#include "constants/items.h"
#include "constants/maps.h"
#include "constants/region_map_sections.h"
diff --git a/src/field_tasks.c b/src/field_tasks.c
index 3f22fd3b9..20fc8de27 100644
--- a/src/field_tasks.c
+++ b/src/field_tasks.c
@@ -12,10 +12,8 @@
#include "script.h"
#include "task.h"
#include "constants/field_tasks.h"
-#include "constants/flags.h"
#include "constants/metatile_labels.h"
#include "constants/songs.h"
-#include "constants/vars.h"
// TODO: Metatile IDs in this file
diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c
index 305da6206..8480edfaf 100644
--- a/src/hall_of_fame.c
+++ b/src/hall_of_fame.c
@@ -24,9 +24,6 @@
#include "random.h"
#include "graphics.h"
#include "constants/songs.h"
-#include "constants/species.h"
-#include "constants/flags.h"
-#include "constants/vars.h"
#include "constants/maps.h"
struct HallofFameMon
diff --git a/src/heal_location.c b/src/heal_location.c
index ae02c7844..75a826a4a 100644
--- a/src/heal_location.c
+++ b/src/heal_location.c
@@ -1,7 +1,6 @@
#include "global.h"
#include "heal_location.h"
#include "event_data.h"
-#include "constants/vars.h"
#include "constants/maps.h"
#include "constants/heal_locations.h"
diff --git a/src/intro.c b/src/intro.c
index b32db2e07..e2cdb56f5 100644
--- a/src/intro.c
+++ b/src/intro.c
@@ -14,7 +14,6 @@
#include "util.h"
#include "trig.h"
#include "constants/songs.h"
-#include "constants/species.h"
struct IntroSequenceData;
diff --git a/src/item_use.c b/src/item_use.c
index bd1a46d7e..9c434acdb 100644
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -32,7 +32,6 @@
#include "tm_case.h"
#include "vs_seeker.h"
#include "constants/fanfares.h"
-#include "constants/flags.h"
#include "constants/items.h"
#include "constants/maps.h"
#include "constants/moves.h"
diff --git a/src/link_rfu_2.c b/src/link_rfu_2.c
index 77672f5d8..31e76dfd0 100644
--- a/src/link_rfu_2.c
+++ b/src/link_rfu_2.c
@@ -9,7 +9,6 @@
#include "quest_log.h"
#include "random.h"
#include "task.h"
-#include "constants/species.h"
#include "constants/union_room.h"
struct SioInfo
diff --git a/src/link_rfu_3.c b/src/link_rfu_3.c
index 81528c6c3..7aac44593 100644
--- a/src/link_rfu_3.c
+++ b/src/link_rfu_3.c
@@ -5,7 +5,6 @@
#include "link.h"
#include "link_rfu.h"
#include "random.h"
-#include "constants/flags.h"
static EWRAM_DATA u8 gWirelessStatusIndicatorSpriteId = 0;
diff --git a/src/mail.c b/src/mail.c
index 34242f1b6..7575072b6 100644
--- a/src/mail.c
+++ b/src/mail.c
@@ -18,7 +18,6 @@
#include "string_util.h"
#include "strings.h"
#include "constants/items.h"
-#include "constants/species.h"
enum MailIconParam
{
diff --git a/src/mail_data.c b/src/mail_data.c
index a032cdd95..e6495dc72 100644
--- a/src/mail_data.c
+++ b/src/mail_data.c
@@ -2,7 +2,6 @@
#include "gflib.h"
#include "mail.h"
#include "mail_data.h"
-#include "constants/species.h"
#include "constants/items.h"
#include "pokemon_icon.h"
diff --git a/src/map_name_popup.c b/src/map_name_popup.c
index 6629fcac5..a7da18beb 100644
--- a/src/map_name_popup.c
+++ b/src/map_name_popup.c
@@ -6,7 +6,6 @@
#include "quest_log.h"
#include "region_map.h"
#include "strings.h"
-#include "constants/flags.h"
static void Task_MapNamePopup(u8 taskId);
static u16 MapNamePopupCreateWindow(bool32 palIntoFadedBuffer);
diff --git a/src/menu2.c b/src/menu2.c
index cc596dba4..b7b3adeb9 100644
--- a/src/menu2.c
+++ b/src/menu2.c
@@ -2,7 +2,6 @@
#include "gflib.h"
#include "task.h"
#include "wild_encounter.h"
-#include "constants/species.h"
static void Task_SmoothBlendLayers(u8 taskId);
diff --git a/src/mevent.c b/src/mevent.c
index 3069c4d0a..04fcb4b19 100644
--- a/src/mevent.c
+++ b/src/mevent.c
@@ -1,7 +1,6 @@
#include "global.h"
#include "gflib.h"
#include "constants/songs.h"
-#include "constants/species.h"
#include "easy_chat.h"
#include "task.h"
#include "decompress.h"
diff --git a/src/mevent_show_card.c b/src/mevent_show_card.c
index a23f26f42..f6687eab7 100644
--- a/src/mevent_show_card.c
+++ b/src/mevent_show_card.c
@@ -1,6 +1,5 @@
#include "global.h"
#include "gflib.h"
-#include "constants/species.h"
#include "decompress.h"
#include "menu.h"
#include "new_menu_helpers.h"
diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c
index 1fea39b60..b959821d7 100644
--- a/src/mystery_event_script.c
+++ b/src/mystery_event_script.c
@@ -9,7 +9,6 @@
#include "pokedex.h"
#include "pokemon_size_record.h"
#include "script.h"
-#include "constants/species.h"
#include "strings.h"
#include "util.h"
#include "mystery_event_msg.h"
diff --git a/src/naming_screen.c b/src/naming_screen.c
index 2fdf457f9..76c1a241e 100644
--- a/src/naming_screen.c
+++ b/src/naming_screen.c
@@ -21,7 +21,6 @@
#include "text_window.h"
#include "trig.h"
#include "constants/help_system.h"
-#include "constants/flags.h"
#include "constants/songs.h"
#include "constants/event_objects.h"
diff --git a/src/oak_speech.c b/src/oak_speech.c
index 2b034d017..35864576f 100644
--- a/src/oak_speech.c
+++ b/src/oak_speech.c
@@ -15,7 +15,6 @@
#include "overworld.h"
#include "random.h"
#include "data.h"
-#include "constants/species.h"
#include "constants/songs.h"
struct OakSpeechResources
diff --git a/src/overworld.c b/src/overworld.c
index 0e50a984d..7bdd0ddb4 100644
--- a/src/overworld.c
+++ b/src/overworld.c
@@ -48,8 +48,6 @@
#include "vs_seeker.h"
#include "wild_encounter.h"
#include "constants/maps.h"
-#include "constants/flags.h"
-#include "constants/species.h"
#include "constants/region_map_sections.h"
#include "constants/songs.h"
diff --git a/src/party_menu.c b/src/party_menu.c
index 43ee671b0..ec782a03d 100644
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -60,7 +60,6 @@
#include "constants/battle.h"
#include "constants/easy_chat.h"
#include "constants/field_effects.h"
-#include "constants/flags.h"
#include "constants/item_effects.h"
#include "constants/items.h"
#include "constants/maps.h"
@@ -68,7 +67,6 @@
#include "constants/pokemon.h"
#include "constants/quest_log.h"
#include "constants/songs.h"
-#include "constants/species.h"
#define PARTY_PAL_SELECTED (1 << 0)
#define PARTY_PAL_FAINTED (1 << 1)
diff --git a/src/pokedex.c b/src/pokedex.c
index 8586382b5..c49767ea9 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -1,7 +1,6 @@
#include "global.h"
#include "pokedex.h"
#include "pokedex_screen.h"
-#include "constants/species.h"
const u8 *sub_8088E20(u16 dexNum)
{
diff --git a/src/pokedex_screen.c b/src/pokedex_screen.c
index 0d140cfe3..e44cc6d50 100644
--- a/src/pokedex_screen.c
+++ b/src/pokedex_screen.c
@@ -16,7 +16,6 @@
#include "pokedex.h"
#include "trainer_pokemon_sprites.h"
#include "constants/songs.h"
-#include "constants/species.h"
struct PokedexScreenData
{
diff --git a/src/pokemon.c b/src/pokemon.c
index ac0699e56..fda83ee3d 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -25,11 +25,9 @@
#include "field_specials.h"
#include "constants/items.h"
#include "constants/item_effects.h"
-#include "constants/species.h"
#include "constants/hoenn_cries.h"
#include "constants/pokemon.h"
#include "constants/abilities.h"
-#include "constants/flags.h"
#include "constants/moves.h"
#include "constants/songs.h"
#include "constants/trainer_classes.h"
@@ -5020,10 +5018,10 @@ static u16 HoennPokedexNumToSpecies(u16 var)
species = 0;
- while (species < POKEMON_SLOTS_NUMBER - 1 && sSpeciesToHoennPokedexNum[species] != var)
+ while (species < NUM_SPECIES - 1 && sSpeciesToHoennPokedexNum[species] != var)
species++;
- if (species == POKEMON_SLOTS_NUMBER - 1)
+ if (species == NUM_SPECIES - 1)
return 0;
return species + 1;
@@ -5038,10 +5036,10 @@ u16 NationalPokedexNumToSpecies(u16 nationalNum)
species = 0;
- while (species < POKEMON_SLOTS_NUMBER - 1 && sSpeciesToNationalPokedexNum[species] != nationalNum)
+ while (species < NUM_SPECIES - 1 && sSpeciesToNationalPokedexNum[species] != nationalNum)
species++;
- if (species == POKEMON_SLOTS_NUMBER - 1)
+ if (species == NUM_SPECIES - 1)
return 0;
return species + 1;
@@ -5056,10 +5054,10 @@ static u16 NationalToHoennOrder(u16 nationalNum)
hoennNum = 0;
- while (hoennNum < POKEMON_SLOTS_NUMBER - 1 && sHoennToNationalOrder[hoennNum] != nationalNum)
+ while (hoennNum < NUM_SPECIES - 1 && sHoennToNationalOrder[hoennNum] != nationalNum)
hoennNum++;
- if (hoennNum == POKEMON_SLOTS_NUMBER - 1)
+ if (hoennNum == NUM_SPECIES - 1)
return 0;
return hoennNum + 1;
diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c
index 133caeb63..2ca312ae0 100644
--- a/src/pokemon_icon.c
+++ b/src/pokemon_icon.c
@@ -3,7 +3,6 @@
#include "mail_data.h"
#include "pokemon_icon.h"
#include "graphics.h"
-#include "constants/species.h"
#define POKE_ICON_BASE_PAL_TAG 56000
diff --git a/src/pokemon_jump_2.c b/src/pokemon_jump_2.c
index 862416c65..e51d79814 100644
--- a/src/pokemon_jump_2.c
+++ b/src/pokemon_jump_2.c
@@ -9,7 +9,6 @@
#include "task.h"
#include "pokemon_jump.h"
#include "constants/songs.h"
-#include "constants/species.h"
struct PokemonJump1
{
diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c
index 6041ce7ff..3d0495327 100644
--- a/src/pokemon_size_record.c
+++ b/src/pokemon_size_record.c
@@ -5,7 +5,6 @@
#include "pokedex.h"
#include "text.h"
#include "strings.h"
-#include "constants/species.h"
#define DEFAULT_MAX_SIZE 0 // was 0x8100 in Ruby/Sapphire, 0x8000 in Emerald
diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c
index 0ce31b712..1ac8a86dc 100644
--- a/src/pokemon_storage_system.c
+++ b/src/pokemon_storage_system.c
@@ -1,7 +1,6 @@
#include "global.h"
#include "gflib.h"
#include "pokemon_storage_system_internal.h"
-#include "constants/species.h"
void BackupPokemonStorage(struct PokemonStorage * dest)
{
diff --git a/src/pokemon_storage_system_2.c b/src/pokemon_storage_system_2.c
index d8be81b62..397bdda41 100644
--- a/src/pokemon_storage_system_2.c
+++ b/src/pokemon_storage_system_2.c
@@ -11,7 +11,6 @@
#include "script.h"
#include "strings.h"
#include "task.h"
-#include "constants/species.h"
#include "constants/songs.h"
#include "constants/field_weather.h"
#include "constants/help_system.h"
diff --git a/src/pokemon_storage_system_3.c b/src/pokemon_storage_system_3.c
index dcf56186e..262040a85 100644
--- a/src/pokemon_storage_system_3.c
+++ b/src/pokemon_storage_system_3.c
@@ -25,8 +25,6 @@
#include "constants/items.h"
#include "constants/help_system.h"
#include "constants/songs.h"
-#include "constants/flags.h"
-#include "constants/vars.h"
EWRAM_DATA struct PokemonStorageSystemData *gPSSData = NULL;
static EWRAM_DATA bool8 sInPartyMenu = 0;
diff --git a/src/pokemon_storage_system_4.c b/src/pokemon_storage_system_4.c
index b1b5408fe..5f88fff95 100644
--- a/src/pokemon_storage_system_4.c
+++ b/src/pokemon_storage_system_4.c
@@ -8,9 +8,6 @@
#include "strings.h"
#include "task.h"
#include "trig.h"
-#include "constants/species.h"
-#include "constants/vars.h"
-#include "constants/flags.h"
static void sub_8090324(struct Sprite * sprite);
static void SetBoxSpeciesAndPersonalities(u8 boxId);
diff --git a/src/pokemon_storage_system_7.c b/src/pokemon_storage_system_7.c
index 769787c24..3d0472230 100644
--- a/src/pokemon_storage_system_7.c
+++ b/src/pokemon_storage_system_7.c
@@ -4,7 +4,6 @@
#include "pokemon_icon.h"
#include "pokemon_storage_system_internal.h"
#include "text_window.h"
-#include "constants/species.h"
struct MoveMons
{
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index 3d53f9ecc..f3898464c 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -11,7 +11,6 @@
#include "strings.h"
#include "new_menu_helpers.h"
#include "menu.h"
-#include "constants/species.h"
#include "constants/items.h"
#include "data.h"
#include "item.h"
diff --git a/src/post_battle_event_funcs.c b/src/post_battle_event_funcs.c
index 7d154f815..ae61d68a6 100644
--- a/src/post_battle_event_funcs.c
+++ b/src/post_battle_event_funcs.c
@@ -5,7 +5,6 @@
#include "overworld.h"
#include "hall_of_fame.h"
#include "load_save.h"
-#include "constants/flags.h"
#include "constants/heal_locations.h"
bool8 EnterHallOfFame(void)
diff --git a/src/prof_pc.c b/src/prof_pc.c
index c7eed8878..713912fe5 100644
--- a/src/prof_pc.c
+++ b/src/prof_pc.c
@@ -2,7 +2,6 @@
#include "event_data.h"
#include "pokedex.h"
#include "field_message_box.h"
-#include "constants/species.h"
extern const u8 PokedexRating_Text_LessThan10[];
extern const u8 PokedexRating_Text_LessThan20[];
diff --git a/src/quest_log.c b/src/quest_log.c
index c149217d9..3ea558356 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -27,7 +27,6 @@
#include "constants/event_objects.h"
#include "constants/maps.h"
#include "constants/quest_log.h"
-#include "constants/species.h"
#include "constants/field_weather.h"
#include "constants/event_object_movement.h"
@@ -348,7 +347,7 @@ static void SetGameStateAtScene(u8 sceneNum)
{
struct QuestLog * questLog = &gSaveBlock1Ptr->questLog[sceneNum];
- CpuCopy16(gSaveBlock1Ptr->flags, questLog->flags, FLAGS_COUNT * sizeof(u8));
+ CpuCopy16(gSaveBlock1Ptr->flags, questLog->flags, NUM_FLAG_BYTES * sizeof(u8));
CpuCopy16(gSaveBlock1Ptr->vars, questLog->vars, VARS_COUNT * sizeof(u16));
}
@@ -584,7 +583,7 @@ void sub_81113E4(void)
{
struct QuestLog * questLog = &gSaveBlock1Ptr->questLog[sCurrentSceneNum];
- CpuCopy16(questLog->flags, gSaveBlock1Ptr->flags, FLAGS_COUNT * sizeof(u8));
+ CpuCopy16(questLog->flags, gSaveBlock1Ptr->flags, NUM_FLAG_BYTES * sizeof(u8));
CpuCopy16(questLog->vars, gSaveBlock1Ptr->vars, VARS_COUNT * sizeof(u16));
sub_8111688();
}
diff --git a/src/quest_log_battle.c b/src/quest_log_battle.c
index fc3390508..f844d555e 100644
--- a/src/quest_log_battle.c
+++ b/src/quest_log_battle.c
@@ -1,6 +1,5 @@
#include "global.h"
#include "gflib.h"
-#include "constants/species.h"
#include "battle.h"
#include "battle_anim.h"
#include "link.h"
diff --git a/src/quest_log_events.c b/src/quest_log_events.c
index a223804c4..8eaf331e5 100644
--- a/src/quest_log_events.c
+++ b/src/quest_log_events.c
@@ -14,9 +14,7 @@
#include "region_map.h"
#include "strings.h"
#include "constants/maps.h"
-#include "constants/flags.h"
#include "constants/trainer_classes.h"
-#include "constants/species.h"
#include "constants/items.h"
#include "constants/region_map_sections.h"
diff --git a/src/region_map.c b/src/region_map.c
index ad152562b..c964fcf5a 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -12,7 +12,6 @@
#include "menu.h"
#include "strings.h"
#include "map_preview_screen.h"
-#include "constants/flags.h"
#include "constants/songs.h"
#include "constants/region_map_sections.h"
#include "constants/heal_locations.h"
diff --git a/src/renewable_hidden_items.c b/src/renewable_hidden_items.c
index c0406fe94..19eec3c29 100644
--- a/src/renewable_hidden_items.c
+++ b/src/renewable_hidden_items.c
@@ -2,7 +2,6 @@
#include "event_data.h"
#include "random.h"
#include "constants/maps.h"
-#include "constants/flags.h"
struct RenewableHiddenItemData
{
diff --git a/src/rfu_union_tool.c b/src/rfu_union_tool.c
index 132ac7b85..21d095a9e 100644
--- a/src/rfu_union_tool.c
+++ b/src/rfu_union_tool.c
@@ -6,7 +6,6 @@
#include "rfu_union_tool.h"
#include "script.h"
#include "task.h"
-#include "constants/flags.h"
#include "constants/event_object_movement.h"
#include "constants/union_room.h"
#include "constants/event_objects.h"
diff --git a/src/roamer.c b/src/roamer.c
index f3e8bbccd..074ac22cf 100644
--- a/src/roamer.c
+++ b/src/roamer.c
@@ -2,7 +2,6 @@
#include "random.h"
#include "overworld.h"
#include "field_specials.h"
-#include "constants/species.h"
#include "constants/maps.h"
#include "constants/region_map_sections.h"
diff --git a/src/save_menu_util.c b/src/save_menu_util.c
index 5f5f1f492..9bbb36d3d 100644
--- a/src/save_menu_util.c
+++ b/src/save_menu_util.c
@@ -4,7 +4,6 @@
#include "pokedex.h"
#include "region_map.h"
#include "save_menu_util.h"
-#include "constants/flags.h"
void SaveStatToString(u8 gameStatId, u8 *dest0, u8 color)
{
diff --git a/src/script_menu.c b/src/script_menu.c
index 4e5ba905c..6a59fc8d4 100644
--- a/src/script_menu.c
+++ b/src/script_menu.c
@@ -11,7 +11,6 @@
#include "field_effect.h"
#include "event_scripts.h"
#include "constants/songs.h"
-#include "constants/species.h"
#include "constants/seagallop.h"
#include "constants/menu.h"
diff --git a/src/script_pokemon_util.c b/src/script_pokemon_util.c
index f0bfad455..561621c1f 100644
--- a/src/script_pokemon_util.c
+++ b/src/script_pokemon_util.c
@@ -9,7 +9,6 @@
#include "pokedex.h"
#include "script_pokemon_util.h"
#include "constants/items.h"
-#include "constants/species.h"
#include "constants/pokemon.h"
static void CB2_ReturnFromChooseHalfParty(void);
diff --git a/src/start_menu.c b/src/start_menu.c
index 1cc06aa99..6280ba7b4 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -35,7 +35,6 @@
#include "save_menu_util.h"
#include "help_system.h"
#include "constants/songs.h"
-#include "constants/flags.h"
#include "constants/field_weather.h"
enum StartMenuOption
diff --git a/src/title_screen.c b/src/title_screen.c
index 673dd9ed3..9cb538f55 100644
--- a/src/title_screen.c
+++ b/src/title_screen.c
@@ -15,7 +15,6 @@
#include "berry_fix_program.h"
#include "decompress.h"
#include "constants/songs.h"
-#include "constants/species.h"
enum TitleScreenScene
{
diff --git a/src/trade_scene.c b/src/trade_scene.c
index 9860fcc39..f068b17d4 100644
--- a/src/trade_scene.c
+++ b/src/trade_scene.c
@@ -28,7 +28,6 @@
#include "load_save.h"
#include "random.h"
#include "trade_scene.h"
-#include "constants/species.h"
#include "constants/items.h"
#include "constants/easy_chat.h"
#include "constants/songs.h"
diff --git a/src/trainer_card.c b/src/trainer_card.c
index 830625655..e42385243 100644
--- a/src/trainer_card.c
+++ b/src/trainer_card.c
@@ -17,10 +17,7 @@
#include "trainer_pokemon_sprites.h"
#include "new_menu_helpers.h"
#include "constants/songs.h"
-#include "constants/flags.h"
#include "constants/game_stat.h"
-#include "constants/vars.h"
-#include "constants/species.h"
#include "constants/facility_trainer_classes.h"
// Trainer Card Strings
diff --git a/src/trainer_fan_club.c b/src/trainer_fan_club.c
index 9040d3405..cdb5dac85 100644
--- a/src/trainer_fan_club.c
+++ b/src/trainer_fan_club.c
@@ -4,8 +4,6 @@
#include "event_data.h"
#include "event_scripts.h"
#include "random.h"
-#include "constants/vars.h"
-#include "constants/flags.h"
struct TrainerFanClub
{
diff --git a/src/trainer_tower.c b/src/trainer_tower.c
index 0d6f0f93e..36468a34d 100644
--- a/src/trainer_tower.c
+++ b/src/trainer_tower.c
@@ -12,12 +12,9 @@
#include "item.h"
#include "menu.h"
#include "new_menu_helpers.h"
-#include "constants/vars.h"
#include "constants/items.h"
-#include "constants/species.h"
#include "constants/songs.h"
#include "constants/layouts.h"
-#include "constants/trainers.h"
#include "constants/facility_trainer_classes.h"
#include "constants/event_objects.h"
#include "constants/trainer_tower.h"
diff --git a/src/union_room.c b/src/union_room.c
index f123def90..772af688b 100644
--- a/src/union_room.c
+++ b/src/union_room.c
@@ -45,7 +45,6 @@
#include "constants/maps.h"
#include "constants/cable_club.h"
#include "constants/field_weather.h"
-#include "constants/species.h"
#include "constants/trainer_card.h"
#include "constants/union_room.h"
diff --git a/src/vs_seeker.c b/src/vs_seeker.c
index b31b691dc..24e2b8c2f 100644
--- a/src/vs_seeker.c
+++ b/src/vs_seeker.c
@@ -21,7 +21,6 @@
#include "vs_seeker.h"
#include "constants/event_object_movement.h"
#include "constants/event_objects.h"
-#include "constants/trainers.h"
#include "constants/maps.h"
#include "constants/items.h"
#include "constants/quest_log.h"
diff --git a/src/wild_encounter.c b/src/wild_encounter.c
index 5e1daaf36..4754d9d4f 100644
--- a/src/wild_encounter.c
+++ b/src/wild_encounter.c
@@ -12,9 +12,7 @@
#include "script.h"
#include "link.h"
#include "quest_log.h"
-#include "constants/species.h"
#include "constants/maps.h"
-#include "constants/vars.h"
#include "constants/abilities.h"
#include "constants/items.h"
diff --git a/src/wild_pokemon_area.c b/src/wild_pokemon_area.c
index b2efb107d..0cb4a10b1 100644
--- a/src/wild_pokemon_area.c
+++ b/src/wild_pokemon_area.c
@@ -5,9 +5,7 @@
#include "roamer.h"
#include "overworld.h"
#include "pokedex_area_markers.h"
-#include "constants/vars.h"
#include "constants/region_map_sections.h"
-#include "constants/species.h"
struct SeviiDexArea
{