summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-10-24 01:42:52 +0800
committerjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-10-24 01:42:52 +0800
commit1dc0b25c1e58e422883e16ce7fb4f6bea1e9a0bb (patch)
tree867d72df6ebe9b2d1f3ff72503879640322ec224 /include
parent9a53686a4eb595c288758486af5fea9b7805283f (diff)
parent6e36c229200e083ca005cbc448e99210d111f3b2 (diff)
Merge branch 'master' into battle
Diffstat (limited to 'include')
-rw-r--r--include/battle.h10
-rw-r--r--include/cereader_tool.h36
-rw-r--r--include/constants/fame_checker.h26
-rw-r--r--include/constants/field_effects.h72
-rw-r--r--include/constants/flags.h2180
-rw-r--r--include/constants/layouts.h2
-rw-r--r--include/constants/map_objects.h415
-rw-r--r--include/constants/moves.h19
-rw-r--r--include/constants/seagallop.h16
-rw-r--r--include/constants/trainers.h1064
-rw-r--r--include/constants/vars.h257
-rw-r--r--include/data.h32
-rw-r--r--include/event_data.h45
-rw-r--r--include/event_scripts.h2
-rw-r--r--include/fame_checker.h27
-rw-r--r--include/field_effect.h71
-rw-r--r--include/global.h8
-rw-r--r--include/graphics.h3142
-rw-r--r--include/menews_jisan.h6
-rw-r--r--include/mevent.h2
-rw-r--r--include/overworld.h2
-rw-r--r--include/pokemon_icon.h13
-rw-r--r--include/quest_log.h6
-rw-r--r--include/renewable_hidden_items.h9
-rw-r--r--include/seagallop.h15
-rw-r--r--include/trainer_tower.h1
-rw-r--r--include/unk_8159F40.h2
27 files changed, 5723 insertions, 1757 deletions
diff --git a/include/battle.h b/include/battle.h
index f1f53e57d..4c28c24a0 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -179,10 +179,10 @@ struct TrainerMonItemCustomMoves
union TrainerMonPtr
{
- struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves;
- struct TrainerMonNoItemCustomMoves *NoItemCustomMoves;
- struct TrainerMonItemDefaultMoves *ItemDefaultMoves;
- struct TrainerMonItemCustomMoves *ItemCustomMoves;
+ const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves;
+ const struct TrainerMonNoItemCustomMoves *NoItemCustomMoves;
+ const struct TrainerMonItemDefaultMoves *ItemDefaultMoves;
+ const struct TrainerMonItemCustomMoves *ItemCustomMoves;
};
struct Trainer
@@ -196,7 +196,7 @@ struct Trainer
/*0x18*/ bool8 doubleBattle;
/*0x1C*/ u32 aiFlags;
/*0x20*/ u8 partySize;
- /*0x24*/ union TrainerMonPtr party;
+ /*0x24*/ const union TrainerMonPtr party;
};
#define PARTY_FLAG_CUSTOM_MOVES 0x1
diff --git a/include/cereader_tool.h b/include/cereader_tool.h
index f223bdaa5..5ae797ac0 100644
--- a/include/cereader_tool.h
+++ b/include/cereader_tool.h
@@ -3,25 +3,25 @@
#include "global.h"
-struct TrainerTowerTrainer_004
+struct TrainerTowerTrainer
{
- /* 0x000 */ u8 unk_000[11];
- /* 0x00B */ u8 unk_00B;
- /* 0x00C */ u8 unk_00C;
- /* 0x00E */ u16 unk_00E[6];
- /* 0x01A */ u16 unk_01A[6];
- /* 0x026 */ u16 unk_026[6];
- /* 0x032 */ u16 unk_032[6];
- /* 0x040 */ struct BattleTowerPokemon unk_040[PARTY_SIZE];
+ /* 0x000 */ u8 name[11];
+ /* 0x00B */ u8 facilityClass;
+ /* 0x00C */ u8 gender;
+ /* 0x00E */ u16 speechBefore[6];
+ /* 0x01A */ u16 speechWin[6];
+ /* 0x026 */ u16 speechLose[6];
+ /* 0x032 */ u16 speechAfter[6];
+ /* 0x040 */ struct BattleTowerPokemon mons[PARTY_SIZE];
}; // size: 328
-struct TrainerTowerTrainer
+struct TrainerTowerFloor
{
/* 0x000 */ u8 unk_000;
- /* 0x000 */ u8 unk_001;
- /* 0x002 */ u8 unk_002;
- /* 0x003 */ u8 unk_003;
- /* 0x004 */ struct TrainerTowerTrainer_004 unk_004[3];
+ /* 0x001 */ u8 floorIdx;
+ /* 0x002 */ u8 challengeType;
+ /* 0x003 */ u8 prize;
+ /* 0x004 */ struct TrainerTowerTrainer trainers[3];
/* 0x3DC */ u32 checksum;
};
@@ -32,16 +32,16 @@ struct Unk_203F458_Header
u32 unk4;
};
-struct TrainerTowerData
+struct EReaderTrainerHillSet
{
u8 count;
u8 id;
u16 dummy;
u32 checksum;
- struct TrainerTowerTrainer trainers[8];
+ struct TrainerTowerFloor floors[8];
};
-bool32 ValidateTrainerTowerData(struct TrainerTowerData * a0);
-bool32 CEReaderTool_SaveTrainerTower(struct TrainerTowerData * a0);
+bool32 ValidateTrainerTowerData(struct EReaderTrainerHillSet * a0);
+bool32 CEReaderTool_SaveTrainerTower(struct EReaderTrainerHillSet * a0);
#endif //GUARD_CEREADER_TOOL_H
diff --git a/include/constants/fame_checker.h b/include/constants/fame_checker.h
new file mode 100644
index 000000000..e09279bb4
--- /dev/null
+++ b/include/constants/fame_checker.h
@@ -0,0 +1,26 @@
+#ifndef GUARD_CONSTANTS_FAME_CHECKER_H
+#define GUARD_CONSTANTS_FAME_CHECKER_H
+
+#define FAMECHECKER_OAK 0
+#define FAMECHECKER_DAISY 1
+#define FAMECHECKER_BROCK 2
+#define FAMECHECKER_MISTY 3
+#define FAMECHECKER_LTSURGE 4
+#define FAMECHECKER_ERIKA 5
+#define FAMECHECKER_KOGA 6
+#define FAMECHECKER_SABRINA 7
+#define FAMECHECKER_BLAINE 8
+#define FAMECHECKER_LORELEI 9
+#define FAMECHECKER_BRUNO 10
+#define FAMECHECKER_AGATHA 11
+#define FAMECHECKER_LANCE 12
+#define FAMECHECKER_BILL 13
+#define FAMECHECKER_MRFUJI 14
+#define FAMECHECKER_GIOVANNI 15
+#define NUM_FAMECHECKER_PERSONS 16
+
+#define FCPICKSTATE_NO_DRAW 0
+#define FCPICKSTATE_SILHOUETTE 1
+#define FCPICKSTATE_COLORED 2
+
+#endif //GUARD_CONSTANTS_FAME_CHECKER_H
diff --git a/include/constants/field_effects.h b/include/constants/field_effects.h
new file mode 100644
index 000000000..62ab5af0c
--- /dev/null
+++ b/include/constants/field_effects.h
@@ -0,0 +1,72 @@
+#ifndef GUARD_CONSTANTS_FIELD_EFFECTS_H
+#define GUARD_CONSTANTS_FIELD_EFFECTS_H
+
+#define FLDEFF_EXCLAMATION_MARK_ICON_1 0
+#define FLDEFF_USE_CUT_ON_GRASS 1
+#define FLDEFF_USE_CUT_ON_TREE 2
+#define FLDEFF_SHADOW 3
+#define FLDEFF_TALL_GRASS 4
+#define FLDEFF_RIPPLE 5
+#define FLDEFF_FIELD_MOVE_SHOW_MON 6
+#define FLDEFF_ASH 7
+#define FLDEFF_SURF_BLOB 8
+#define FLDEFF_USE_SURF 9
+#define FLDEFF_DUST 10
+#define FLDEFF_USE_SECRET_POWER_CAVE 11
+#define FLDEFF_JUMP_TALL_GRASS 12
+#define FLDEFF_SAND_FOOTPRINTS 13
+#define FLDEFF_JUMP_BIG_SPLASH 14
+#define FLDEFF_SPLASH 15
+#define FLDEFF_JUMP_SMALL_SPLASH 16
+#define FLDEFF_LONG_GRASS 17
+#define FLDEFF_JUMP_LONG_GRASS 18
+#define FLDEFF_UNKNOWN_19 19
+#define FLDEFF_UNKNOWN_20 20
+#define FLDEFF_UNKNOWN_21 21
+#define FLDEFF_UNKNOWN_22 22
+#define FLDEFF_BERRY_TREE_GROWTH_SPARKLE 23
+#define FLDEFF_DEEP_SAND_FOOTPRINTS 24
+#define FLDEFF_POKECENTER_HEAL 25
+#define FLDEFF_USE_SECRET_POWER_TREE 26
+#define FLDEFF_USE_SECRET_POWER_SHRUB 27
+#define FLDEFF_TREE_DISGUISE 28
+#define FLDEFF_MOUNTAIN_DISGUISE 29
+#define FLDEFF_NPCFLY_OUT 30
+#define FLDEFF_USE_FLY 31
+#define FLDEFF_FLY_IN 32
+#define FLDEFF_EXCLAMATION_MARK_ICON_2 33
+#define FLDEFF_FEET_IN_FLOWING_WATER 34
+#define FLDEFF_BIKE_TIRE_TRACKS 35
+#define FLDEFF_SAND_DISGUISE 36
+#define FLDEFF_USE_ROCK_SMASH 37
+#define FLDEFF_USE_DIG 38
+#define FLDEFF_SAND_PILE 39
+#define FLDEFF_USE_STRENGTH 40
+#define FLDEFF_SHORT_GRASS 41
+#define FLDEFF_HOT_SPRINGS_WATER 42
+#define FLDEFF_USE_WATERFALL 43
+#define FLDEFF_USE_DIVE 44
+#define FLDEFF_POKEBALL 45
+#define FLDEFF_HEART_ICON 46
+#define FLDEFF_NOP_47 47
+#define FLDEFF_NOP_48 48
+#define FLDEFF_POP_OUT_OF_ASH 49
+#define FLDEFF_LAVARIDGE_GYM_WARP 50
+#define FLDEFF_SWEET_SCENT 51
+#define FLDEFF_SAND_PILLAR 52
+#define FLDEFF_BUBBLES 53
+#define FLDEFF_SPARKLE 54
+#define FLDEFF_SECRET_POWER_CAVE 55
+#define FLDEFF_SECRET_POWER_TREE 56
+#define FLDEFF_SECRET_POWER_SHRUB 57
+#define FLDEFF_CUT_GRASS 58
+#define FLDEFF_FIELD_MOVE_SHOW_MON_INIT 59
+#define FLDEFF_USE_FLY_ANCIENT_TOMB 60
+#define FLDEFF_PCTURN_ON 61
+#define FLDEFF_HALL_OF_FAME_RECORD 62
+#define FLDEFF_USE_TELEPORT 63
+#define FLDEFF_UNK_40 64
+#define FLDEFF_UNK_41 65 // TODO: related to vs_seeker
+#define FLDEFF_UNK_45 69 // TODO: related to fame checker photos
+
+#endif // GUARD_CONSTANTS_FIELD_EFFECTS_H
diff --git a/include/constants/flags.h b/include/constants/flags.h
index a4b891aca..994221afd 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -1,350 +1,268 @@
#ifndef GUARD_CONSTANTS_FLAGS_H
#define GUARD_CONSTANTS_FLAGS_H
-// Sys Flags Maybe
-#define FLAG_SYS_SAFARI_MODE 0x800
-#define FLAG_WHITE_FLUTE_ACTIVE 0x803
-#define FLAG_BLACK_FLUTE_ACTIVE 0x804
-
-// World Map Flags
-#define FLAG_WORLD_MAP_PALLET_TOWN 0x890
-#define FLAG_WORLD_MAP_VIRIDIAN_CITY 0x891
-#define FLAG_WORLD_MAP_PEWTER_CITY 0x892
-#define FLAG_WORLD_MAP_CERULEAN_CITY 0x893
-#define FLAG_WORLD_MAP_LAVENDER_TOWN 0x894
-#define FLAG_WORLD_MAP_VERMILION_CITY 0x895
-#define FLAG_WORLD_MAP_CELADON_CITY 0x896
-#define FLAG_WORLD_MAP_FUCHSIA_CITY 0x897
-#define FLAG_WORLD_MAP_CINNABAR_ISLAND 0x898
-#define FLAG_WORLD_MAP_INDIGO_PLATEAU_EXTERIOR 0x899
-#define FLAG_WORLD_MAP_SAFFRON_CITY 0x89a
-#define FLAG_WORLD_MAP_ONE_ISLAND 0x89b
-#define FLAG_WORLD_MAP_TWO_ISLAND 0x89c
-#define FLAG_WORLD_MAP_THREE_ISLAND 0x89d
-#define FLAG_WORLD_MAP_FOUR_ISLAND 0x89e
-#define FLAG_WORLD_MAP_FIVE_ISLAND 0x89f
-#define FLAG_WORLD_MAP_SEVEN_ISLAND 0x8a0
-#define FLAG_WORLD_MAP_SIX_ISLAND 0x8a1
-#define FLAG_WORLD_MAP_ROUTE4_POKEMON_CENTER_1F 0x8a2
-#define FLAG_WORLD_MAP_ROUTE10_POKEMON_CENTER_1F 0x8a3
-#define FLAG_WORLD_MAP_VIRIDIAN_FOREST 0x8a4
-#define FLAG_WORLD_MAP_MT_MOON_1F 0x8a5
-#define FLAG_WORLD_MAP_SSANNE_EXTERIOR 0x8a6
-#define FLAG_WORLD_MAP_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL 0x8a7
-#define FLAG_WORLD_MAP_UNDERGROUND_PATH_EAST_WEST_TUNNEL 0x8a8
-#define FLAG_WORLD_MAP_DIGLETTS_CAVE_B1F 0x8a9
-#define FLAG_WORLD_MAP_VICTORY_ROAD_1F 0x8aa
-#define FLAG_WORLD_MAP_ROCKET_HIDEOUT_B1F 0x8ab
-#define FLAG_WORLD_MAP_SILPH_CO_1F 0x8ac
-#define FLAG_WORLD_MAP_POKEMON_MANSION_1F 0x8ad
-#define FLAG_WORLD_MAP_SAFARI_ZONE_CENTER 0x8ae
-#define FLAG_WORLD_MAP_POKEMON_LEAGUE_LORELEIS_ROOM 0x8af
-#define FLAG_WORLD_MAP_ROCK_TUNNEL_1F 0x8b0
-#define FLAG_WORLD_MAP_SEAFOAM_ISLANDS_1F 0x8b1
-#define FLAG_WORLD_MAP_POKEMON_TOWER_1F 0x8b2
-#define FLAG_WORLD_MAP_CERULEAN_CAVE_1F 0x8b3
-#define FLAG_WORLD_MAP_POWER_PLANT 0x8b4
-#define FLAG_WORLD_MAP_NAVEL_ROCK_EXTERIOR 0x8b5
-#define FLAG_WORLD_MAP_MT_EMBER_EXTERIOR 0x8b6
-#define FLAG_WORLD_MAP_THREE_ISLAND_BERRY_FOREST 0x8b7
-#define FLAG_WORLD_MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE 0x8b8
-#define FLAG_WORLD_MAP_FIVE_ISLAND_ROCKET_WAREHOUSE 0x8b9
-#define FLAG_WORLD_MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY 0x8ba
-#define FLAG_WORLD_MAP_SIX_ISLAND_DOTTED_HOLE_1F 0x8bb
-#define FLAG_WORLD_MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE 0x8bc
-#define FLAG_WORLD_MAP_SIX_ISLAND_PATTERN_BUSH 0x8bd
-#define FLAG_WORLD_MAP_SIX_ISLAND_ALTERING_CAVE 0x8be
-#define FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER 0x8bf
-#define FLAG_WORLD_MAP_THREE_ISLAND_DUNSPARCE_TUNNEL 0x8c0
-#define FLAG_WORLD_MAP_SEVEN_ISLAND_SEAVAULT_CANYON_TANOBY_KEY 0x8c1
-#define FLAG_WORLD_MAP_BIRTH_ISLAND_EXTERIOR 0x8c2
-
-// Unknown
-
-#define FLAG_0x807 0x807
-#define FLAG_0x821 0x821
-#define FLAG_0x822 0x822
-#define FLAG_0x823 0x823
-#define FLAG_0x825 0x825
-#define FLAG_0x827 0x827
-#define FLAG_0x828 0x828
-#define FLAG_0x829 0x829
-#define FLAG_0x82C 0x82C
-#define FLAG_0x82F 0x82F
-#define FLAG_0x830 0x830
-#define FLAG_SYS_NOT_SOMEONES_PC 0x834
-#define FLAG_0x83C 0x83C
-#define FLAG_0x83E 0x83E
-#define FLAG_0x841 0x841
-#define FLAG_0x844 0x844
-#define FLAG_0x845 0x845
-#define FLAG_0x846 0x846
-#define FLAG_0x847 0x847
-#define FLAG_0x848 0x848
-#define FLAG_0x849 0x849
-#define FLAG_0x84A 0x84A
-#define FLAG_0x84B 0x84B
+// TODO: Get correct names and numbers
+#define FLAG_TEMP_1 0x001
+#define FLAG_TEMP_2 0x002
+#define FLAG_TEMP_3 0x003
+#define FLAG_TEMP_4 0x004
+#define FLAG_TEMP_5 0x005
+#define FLAG_TEMP_6 0x006
+#define FLAG_TEMP_7 0x007
+#define FLAG_TEMP_8 0x008
+#define FLAG_TEMP_9 0x009
+#define FLAG_TEMP_A 0x00A
+#define FLAG_TEMP_B 0x00B
+#define FLAG_TEMP_C 0x00C
+#define FLAG_TEMP_D 0x00D
+#define FLAG_TEMP_E 0x00E
+#define FLAG_TEMP_F 0x00F
+#define FLAG_TEMP_10 0x010
+#define FLAG_TEMP_11 0x011
+#define FLAG_TEMP_12 0x012
+#define FLAG_TEMP_13 0x013
+#define FLAG_TEMP_14 0x014
+#define FLAG_TEMP_15 0x015
+#define FLAG_TEMP_16 0x016
+#define FLAG_TEMP_17 0x017
+#define FLAG_TEMP_18 0x018
+#define FLAG_TEMP_19 0x019
+#define FLAG_TEMP_1A 0x01A
+#define FLAG_TEMP_1B 0x01B
+#define FLAG_TEMP_1C 0x01C
+#define FLAG_TEMP_1D 0x01D
+#define FLAG_TEMP_1E 0x01E
+#define FLAG_TEMP_1F 0x01F
-// Emerald Flags
+#define FLAG_0x020 0x020
+#define FLAG_0x021 0x021
+#define FLAG_0x022 0x022
+#define FLAG_0x023 0x023
+#define FLAG_0x024 0x024
+#define FLAG_0x025 0x025
+#define FLAG_0x026 0x026
+#define FLAG_0x027 0x027
-// TODO: Get correct names and numbers
+// Hide/show flags
+#define FLAG_HIDE_BULBASAUR_BALL 0x028
+#define FLAG_HIDE_SQUIRTLE_BALL 0x029
+#define FLAG_HIDE_CHARMANDER_BALL 0x02A
+#define FLAG_HIDE_OAK_IN_HIS_LAB 0x02B
+#define FLAG_HIDE_OAK_IN_PALLET_TOWN 0x02C
+#define FLAG_HIDE_RIVAL_IN_LAB 0x02D
+#define FLAG_HIDE_PEWTER_CITY_GYM_GUIDE 0x02E
+#define FLAG_HIDE_DOME_FOSSIL 0x02F
+#define FLAG_HIDE_HELIX_FOSSIL 0x030
+#define FLAG_HIDE_NUGGET_BRIDGE_ROCKET 0x031
+#define FLAG_HIDE_BILL_CLEFAIRY 0x032
+#define FLAG_HIDE_BILL_HUMAN_SEA_COTTAGE 0x033
+#define FLAG_HIDE_TOWER_FUJI 0x034
+#define FLAG_HIDE_POKEHOUSE_FUJI 0x035
+#define FLAG_HIDE_LIFT_KEY 0x036
+#define FLAG_HIDE_SILPH_SCOPE 0x037
+#define FLAG_HIDE_HIDEOUT_GIOVANNI 0x038
+#define FLAG_HIDE_TOWN_MAP 0x039
+#define FLAG_HIDE_POKEDEX 0x03A
+#define FLAG_HIDE_CERULEAN_ROCKET 0x03B
+#define FLAG_HIDE_CERULEAN_RIVAL 0x03C
+#define FLAG_HIDE_SS_ANNE_RIVAL 0x03D
+#define FLAG_HIDE_SAFFRON_ROCKETS 0x03E
+#define FLAG_HIDE_SAFFRON_CIVILIANS 0x03F
+#define FLAG_HIDE_SEAFOAM_1F_BOULDER_1 0x040
+#define FLAG_HIDE_SEAFOAM_1F_BOULDER_2 0x041
+#define FLAG_HIDE_SEAFOAM_B1F_BOULDER_1 0x042
+#define FLAG_HIDE_SEAFOAM_B1F_BOULDER_2 0x043
+#define FLAG_HIDE_SEAFOAM_B2F_BOULDER_1 0x044
+#define FLAG_HIDE_SEAFOAM_B2F_BOULDER_2 0x045
+#define FLAG_HIDE_SEAFOAM_B3F_BOULDER_1 0x046
+#define FLAG_HIDE_SEAFOAM_B3F_BOULDER_2 0x047
+#define FLAG_HIDE_SEAFOAM_B3F_BOULDER_3 0x048
+#define FLAG_HIDE_SEAFOAM_B3F_BOULDER_4 0x049
+#define FLAG_HIDE_SEAFOAM_B3F_BOULDER_5 0x04A
+#define FLAG_HIDE_SEAFOAM_B3F_BOULDER_6 0x04B
+#define FLAG_HIDE_SEAFOAM_B4F_BOULDER_1 0x04C
+#define FLAG_HIDE_SEAFOAM_B4F_BOULDER_2 0x04D
+#define FLAG_HIDE_SILPH_RIVAL 0x04E
+#define FLAG_HIDE_ROUTE_22_RIVAL 0x04F
+#define FLAG_HIDE_PEWTER_MUSEUM_GUIDE 0x050
+#define FLAG_HIDE_TOWER_RIVAL 0x051
+#define FLAG_HIDE_MOLTRES 0x052
+#define FLAG_HIDE_SILPH_ROCKETS 0x053
+#define FLAG_HIDE_ROUTE_12_SNORLAX 0x054
+#define FLAG_HIDE_VIRIDIAN_GIOVANNI 0x055
+#define FLAG_HIDE_OLD_AMBER 0x056
+#define FLAG_HIDE_EEVEE_BALL 0x057
+#define FLAG_HIDE_VICTORY_ROAD_2F_BOULDER 0x058
+#define FLAG_HIDE_VICTORY_ROAD_3F_BOULDER 0x059
+#define FLAG_HIDE_OAK_IN_CHAMP_ROOM 0x05A
+#define FLAG_HIDE_GAME_CORNER_ROCKET 0x05B
+#define FLAG_HIDE_CERULEAN_CAVE_GUARD 0x05C
+#define FLAG_HIDE_ZAPDOS 0x05D
+#define FLAG_HIDE_TOWER_ROCKET_1 0x05E
+#define FLAG_HIDE_CELADON_ROCKETS 0x05F
+#define FLAG_HIDE_DOJO_HITMONLEE_BALL 0x060
+#define FLAG_HIDE_DOJO_HITMONCHAN_BALL 0x061
+#define FLAG_HIDE_CINNABAR_BILL 0x062
+#define FLAG_HIDE_UNION_ROOM_1 0x063
+#define FLAG_HIDE_UNION_ROOM_2 0x064
+#define FLAG_HIDE_UNION_ROOM_3 0x065
+#define FLAG_HIDE_UNION_ROOM_4 0x066
+#define FLAG_HIDE_UNION_ROOM_5 0x067
+#define FLAG_HIDE_UNION_ROOM_6 0x068
+#define FLAG_HIDE_UNION_ROOM_7 0x069
+#define FLAG_HIDE_UNION_ROOM_8 0x06A
+#define FLAG_HIDE_CINNABAR_SEAGALLOP 0x06B
+#define FLAG_HIDE_SAFFRON_FAN_CLUB_BLACKBELT 0x06C
+#define FLAG_HIDE_SAFFRON_FAN_CLUB_ROCKER 0x06D
+#define FLAG_HIDE_SAFFRON_FAN_CLUB_WOMAN 0x06E
+#define FLAG_HIDE_SAFFRON_FAN_CLUB_BEAUTY 0x06F
+#define FLAG_HIDE_MG_DELIVERYMEN 0x070
+#define FLAG_HIDE_ONE_ISLAND_BILL 0x071
+#define FLAG_HIDE_ONE_ISLAND_POKECENTER_BILL 0x072
+#define FLAG_HIDE_ONE_ISLAND_POKECENTER_CELIO 0x073
+#define FLAG_HIDE_TWO_ISLAND_GAME_CORNER_BIKER 0x074
+#define FLAG_HIDE_TWO_ISLAND_GAME_CORNER_LOSTELLE 0x075
+#define FLAG_HIDE_LOSTELLE_IN_HER_HOME 0x076
+#define FLAG_0x077 0x077
+#define FLAG_0x078 0x078
+#define FLAG_HIDE_THREE_ISLAND_BIKERS 0x079
+#define FLAG_HIDE_LOSTELLE_IN_BERRY_FOREST 0x07A
+#define FLAG_HIDE_TWO_ISLAND_WOMAN 0x07B
+#define FLAG_HIDE_TWO_ISLAND_BEAUTY 0x07C
+#define FLAG_HIDE_TWO_ISLAND_SUPER_NERD 0x07D
+#define FLAG_HIDE_THREE_ISLAND_ANTIBIKERS 0x07E
+#define FLAG_0x07F 0x07F
+#define FLAG_HIDE_ROUTE_16_SNORLAX 0x080
+#define FLAG_HIDE_MEWTWO 0x081
+#define FLAG_HIDE_ARTICUNO 0x082
+#define FLAG_HIDE_TOWER_ROCKET_2 0x083
+#define FLAG_HIDE_TOWER_ROCKET_3 0x084
+#define FLAG_HIDE_POWER_PLANT_ELECTRODE_1 0x085
+#define FLAG_HIDE_POWER_PLANT_ELECTRODE_2 0x086
+#define FLAG_HIDE_SS_ANNE 0x087
+#define FLAG_HIDE_FIVE_ISLAND_ROCKETS 0x088
+#define FLAG_HIDE_MT_EMBER_EXTERIOR_ROCKETS 0x089
+#define FLAG_HIDE_RUBY 0x08A
+#define FLAG_HIDE_ICEFALL_CAVE_LORELEI 0x08B
+#define FLAG_HIDE_LORELEI_IN_HER_HOUSE 0x08C
+#define FLAG_HIDE_ICEFALL_CAVE_ROCKETS 0x08D
+#define FLAG_HIDE_RUIN_VALLEY_SCIENTIST 0x08E
+#define FLAG_HIDE_SAPPHIRE 0x08F
+#define FLAG_HIDE_DOTTED_HOLE_SCIENTIST 0x090
+#define FLAG_HIDE_THREE_ISLAND_LONE_BIKER 0x091
+#define FLAG_HIDE_PEWTER_CITY_RUNNING_SHOES_GUY 0x092
+#define FLAG_HIDE_LOST_CAVE_SELPHY 0x093
+#define FLAG_HIDE_RESORT_GORGEOUS_SELPHY 0x094
+#define FLAG_HIDE_RESORT_GORGEOUS_INSIDE_SELPHY 0x095
+#define FLAG_HIDE_SELPHYS_BUTLER 0x096
+#define FLAG_HIDE_FOUR_ISLAND_RIVAL 0x097
+#define FLAG_HIDE_SIX_ISLAND_POKECENTER_RIVAL 0x098
+#define FLAG_HIDE_DEOXYS 0x099
+#define FLAG_HIDE_BIRTH_ISLAND_METEORITE 0x09A
+#define FLAG_HIDE_LUGIA 0x09B
+#define FLAG_HIDE_HO_OH 0x09C
+#define FLAG_HIDE_POSTGAME_GOSSIPERS 0x09D
+#define FLAG_HIDE_FAME_CHECKER_ERIKA_JOURNALS 0x09E
+#define FLAG_HIDE_FAME_CHECKER_KOGA_JOURNAL 0x09F
+#define FLAG_HIDE_FAME_CHECKER_LT_SURGE_JOURNAL 0x0A0
+#define FLAG_HIDE_VERMILION_CITY_OAKS_AIDE 0x0A1
+#define FLAG_HIDE_CINNABAR_POKECENTER_BILL 0x0A2
+#define FLAG_HIDE_CREDITS_RIVAL 0x0A3
+#define FLAG_HIDE_CREDITS_OAK 0x0A4
+#define FLAG_HIDE_LORELEI_HOUSE_MEOWTH_DOLL 0x0A5
+#define FLAG_HIDE_LORELEI_HOUSE_CHANSEY_DOLL 0x0A6
+#define FLAG_HIDE_LORELEIS_HOUSE_NIDORAN_F_DOLL 0x0A7
+#define FLAG_HIDE_LORELEI_HOUSE_JIGGLYPUFF_DOLL 0x0A8
+#define FLAG_HIDE_LORELEIS_HOUSE_NIDORAN_M_DOLL 0x0A9
+#define FLAG_HIDE_LORELEIS_HOUSE_FEAROW_DOLL 0x0AA
+#define FLAG_HIDE_LORELEIS_HOUSE_PIDGEOT_DOLL 0x0AB
+#define FLAG_HIDE_LORELEIS_HOUSE_LAPRAS_DOLL 0x0AC
+#define FLAG_HIDE_MISC_KANTO_ROCKETS 0x0AD
+#define FLAG_HIDE_SAFFRON_CITY_POKECENTER_SABRINA_JOURNALS 0x0AE
-#define FLAG_0x001 0x1
-#define FLAG_0x002 0x2
-#define FLAG_0x003 0x3
-#define FLAG_0x004 0x4
-#define FLAG_0x005 0x5
-#define FLAG_0x006 0x6
-#define FLAG_0x007 0x7
-#define FLAG_0x008 0x8
-#define FLAG_0x009 0x9
-#define FLAG_0x00A 0xA
-#define FLAG_0x00B 0xB
-#define FLAG_0x00C 0xC
-#define FLAG_0x00D 0xD
-#define FLAG_0x00E 0xE
-#define FLAG_0x00F 0xF
-#define FLAG_0x010 0x10
-#define FLAG_0x011 0x11
-#define FLAG_0x012 0x12
-#define FLAG_0x013 0x13
-#define FLAG_0x014 0x14
-#define FLAG_0x015 0x15
-#define FLAG_0x016 0x16
-#define FLAG_0x017 0x17
-#define FLAG_0x018 0x18
-#define FLAG_0x019 0x19
-#define FLAG_0x01A 0x1A
-#define FLAG_0x01B 0x1B
-#define FLAG_0x01C 0x1C
-#define FLAG_0x01D 0x1D
-#define FLAG_0x01E 0x1E
-#define FLAG_0x01F 0x1F
-#define FLAG_0x020 0x20
-#define FLAG_0x021 0x21
-#define FLAG_0x022 0x22
-#define FLAG_0x023 0x23
-#define FLAG_0x024 0x24
-#define FLAG_0x025 0x25
-#define FLAG_0x026 0x26
-#define FLAG_0x027 0x27
-#define FLAG_0x028 0x28
-#define FLAG_0x029 0x29
-#define FLAG_0x02A 0x2A
-#define FLAG_0x02B 0x2B
-#define FLAG_0x02C 0x2C
-#define FLAG_0x02D 0x2D
-#define FLAG_0x02E 0x2E
-#define FLAG_0x02F 0x2F
-#define FLAG_0x030 0x30
-#define FLAG_0x031 0x31
-#define FLAG_0x032 0x32
-#define FLAG_0x033 0x33
-#define FLAG_0x034 0x34
-#define FLAG_0x035 0x35
-#define FLAG_0x036 0x36
-#define FLAG_0x037 0x37
-#define FLAG_0x038 0x38
-#define FLAG_0x039 0x39
-#define FLAG_0x03A 0x3A
-#define FLAG_0x03B 0x3B
-#define FLAG_0x03C 0x3C
-#define FLAG_0x03D 0x3D
-#define FLAG_0x03E 0x3E
-#define FLAG_0x03F 0x3F
-#define FLAG_0x040 0x40
-#define FLAG_0x041 0x41
-#define FLAG_0x042 0x42
-#define FLAG_0x043 0x43
-#define FLAG_0x044 0x44
-#define FLAG_0x045 0x45
-#define FLAG_0x046 0x46
-#define FLAG_0x047 0x47
-#define FLAG_0x048 0x48
-#define FLAG_0x049 0x49
-#define FLAG_0x04A 0x4A
-#define FLAG_0x04B 0x4B
-#define FLAG_0x04C 0x4C
-#define FLAG_0x04D 0x4D
-#define FLAG_0x04E 0x4E
-#define FLAG_0x04F 0x4F
-#define FLAG_0x050 0x50
-#define FLAG_0x051 0x51
-#define FLAG_0x052 0x52
-#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53
-#define FLAG_0x054 0x54
-#define FLAG_0x055 0x55
-#define FLAG_0x056 0x56
-#define FLAG_0x057 0x57
-#define FLAG_0x058 0x58
-#define FLAG_0x059 0x59
-#define FLAG_0x05A 0x5A
-#define FLAG_0x05B 0x5B
-#define FLAG_0x05C 0x5C
-#define FLAG_0x05D 0x5D
-#define FLAG_0x05E 0x5E
-#define FLAG_0x05F 0x5F
-#define FLAG_0x060 0x60
-#define FLAG_0x061 0x61
-#define FLAG_0x062 0x62
-#define FLAG_0x063 0x63
-#define FLAG_0x064 0x64
-#define FLAG_0x065 0x65
-#define FLAG_0x066 0x66
-#define FLAG_0x067 0x67
-#define FLAG_0x068 0x68
-#define FLAG_0x069 0x69
-#define FLAG_0x06A 0x6A
-#define FLAG_0x06B 0x6B
-#define FLAG_0x06C 0x6C
-#define FLAG_0x06D 0x6D
-#define FLAG_0x06E 0x6E
-#define FLAG_0x06F 0x6F
-#define FLAG_0x070 0x70
-#define FLAG_0x071 0x71
-#define FLAG_0x072 0x72
-#define FLAG_0x073 0x73
-#define FLAG_0x074 0x74
-#define FLAG_0x075 0x75
-#define FLAG_0x076 0x76
-#define FLAG_0x077 0x77
-#define FLAG_0x078 0x78
-#define FLAG_0x079 0x79
-#define FLAG_0x07A 0x7A
-#define FLAG_0x07B 0x7B
-#define FLAG_0x07C 0x7C
-#define FLAG_0x07D 0x7D
-#define FLAG_0x07E 0x7E
-#define FLAG_0x07F 0x7F
-#define FLAG_0x080 0x80
-#define FLAG_0x081 0x81
-#define FLAG_0x082 0x82
-#define FLAG_0x083 0x83
-#define FLAG_0x084 0x84
-#define FLAG_0x085 0x85
-#define FLAG_0x086 0x86
-#define FLAG_0x087 0x87
-#define FLAG_0x088 0x88
-#define FLAG_0x089 0x89
-#define FLAG_0x08A 0x8A
-#define FLAG_0x08B 0x8B
-#define FLAG_0x08C 0x8C
-#define FLAG_0x08D 0x8D
-#define FLAG_0x08E 0x8E
-#define FLAG_0x08F 0x8F
-#define FLAG_0x090 0x90
-#define FLAG_0x091 0x91
-#define FLAG_0x092 0x92
-#define FLAG_0x093 0x93
-#define FLAG_0x094 0x94
-#define FLAG_0x095 0x95
-#define FLAG_0x096 0x96
-#define FLAG_0x097 0x97
-#define FLAG_0x098 0x98
-#define FLAG_0x099 0x99
-#define FLAG_0x09A 0x9A
-#define FLAG_0x09B 0x9B
-#define FLAG_0x09C 0x9C
-#define FLAG_0x09D 0x9D
-#define FLAG_0x09E 0x9E
-#define FLAG_0x09F 0x9F
-#define FLAG_0x0A0 0xA0
-#define FLAG_0x0A1 0xA1
-#define FLAG_0x0A2 0xA2
-#define FLAG_0x0A3 0xA3
-#define FLAG_0x0A4 0xA4
-#define FLAG_0x0A5 0xA5
-#define FLAG_0x0A6 0xA6
-#define FLAG_0x0A7 0xA7
-#define FLAG_0x0A8 0xA8
-#define FLAG_0x0A9 0xA9
-#define FLAG_0x0AA 0xAA
-#define FLAG_0x0AB 0xAB
-#define FLAG_0x0AC 0xAC
-#define FLAG_0x0AD 0xAD
-#define FLAG_0x0AE 0xAE
-#define FLAG_0x0AF 0xAF
-#define FLAG_0x0B0 0xB0
-#define FLAG_0x0B1 0xB1
-#define FLAG_0x0B2 0xB2
-#define FLAG_0x0B3 0xB3
-#define FLAG_0x0B4 0xB4
-#define FLAG_0x0B5 0xB5
-#define FLAG_0x0B6 0xB6
-#define FLAG_0x0B7 0xB7
-#define FLAG_0x0B8 0xB8
-#define FLAG_0x0B9 0xB9
-#define FLAG_0x0BA 0xBA
-#define FLAG_0x0BB 0xBB
-#define FLAG_0x0BC 0xBC
-#define FLAG_0x0BD 0xBD
-#define FLAG_0x0BE 0xBE
-#define FLAG_0x0BF 0xBF
-#define FLAG_0x0C0 0xC0
-#define FLAG_0x0C1 0xC1
-#define FLAG_0x0C2 0xC2
-#define FLAG_0x0C3 0xC3
-#define FLAG_0x0C4 0xC4
-#define FLAG_0x0C5 0xC5
-#define FLAG_0x0C6 0xC6
-#define FLAG_0x0C7 0xC7
-#define FLAG_0x0C8 0xC8
-#define FLAG_0x0C9 0xC9
-#define FLAG_0x0CA 0xCA
-#define FLAG_0x0CB 0xCB
-#define FLAG_0x0CC 0xCC
-#define FLAG_0x0CD 0xCD
-#define FLAG_0x0CE 0xCE
-#define FLAG_0x0CF 0xCF
-#define FLAG_0x0D0 0xD0
-#define FLAG_0x0D1 0xD1
-#define FLAG_0x0D2 0xD2
-#define FLAG_0x0D3 0xD3
-#define FLAG_0x0D4 0xD4
-#define FLAG_0x0D5 0xD5
-#define FLAG_0x0D6 0xD6
-#define FLAG_0x0D7 0xD7
-#define FLAG_0x0D8 0xD8
-#define FLAG_0x0D9 0xD9
-#define FLAG_0x0DA 0xDA
-#define FLAG_0x0DB 0xDB
-#define FLAG_0x0DC 0xDC
-#define FLAG_0x0DD 0xDD
-#define FLAG_0x0DE 0xDE
-#define FLAG_0x0DF 0xDF
-#define FLAG_0x0E0 0xE0
-#define FLAG_0x0E1 0xE1
-#define FLAG_0x0E2 0xE2
-#define FLAG_0x0E3 0xE3
-#define FLAG_0x0E4 0xE4
-#define FLAG_0x0E5 0xE5
-#define FLAG_0x0E6 0xE6
-#define FLAG_0x0E7 0xE7
-#define FLAG_0x0E8 0xE8
-#define FLAG_0x0E9 0xE9
-#define FLAG_0x0EA 0xEA
-#define FLAG_0x0EB 0xEB
-#define FLAG_0x0EC 0xEC
-#define FLAG_0x0ED 0xED
-#define FLAG_0x0EE 0xEE
-#define FLAG_0x0EF 0xEF
-#define FLAG_0x0F0 0xF0
-#define FLAG_0x0F1 0xF1
-#define FLAG_0x0F2 0xF2
-#define FLAG_0x0F3 0xF3
-#define FLAG_0x0F4 0xF4
-#define FLAG_0x0F5 0xF5
-#define FLAG_0x0F6 0xF6
-#define FLAG_0x0F7 0xF7
-#define FLAG_0x0F8 0xF8
-#define FLAG_0x0F9 0xF9
-#define FLAG_0x0FA 0xFA
-#define FLAG_0x0FB 0xFB
-#define FLAG_0x0FC 0xFC
-#define FLAG_0x0FD 0xFD
-#define FLAG_0x0FE 0xFE
-#define FLAG_0x0FF 0xFF
+// Unused?
+#define FLAG_0x0AF 0x0AF
+#define FLAG_0x0B0 0x0B0
+#define FLAG_0x0B1 0x0B1
+#define FLAG_0x0B2 0x0B2
+#define FLAG_0x0B3 0x0B3
+#define FLAG_0x0B4 0x0B4
+#define FLAG_0x0B5 0x0B5
+#define FLAG_0x0B6 0x0B6
+#define FLAG_0x0B7 0x0B7
+#define FLAG_0x0B8 0x0B8
+#define FLAG_0x0B9 0x0B9
+#define FLAG_0x0BA 0x0BA
+#define FLAG_0x0BB 0x0BB
+#define FLAG_0x0BC 0x0BC
+#define FLAG_0x0BD 0x0BD
+#define FLAG_0x0BE 0x0BE
+#define FLAG_0x0BF 0x0BF
+#define FLAG_0x0C0 0x0C0
+#define FLAG_0x0C1 0x0C1
+#define FLAG_0x0C2 0x0C2
+#define FLAG_0x0C3 0x0C3
+#define FLAG_0x0C4 0x0C4
+#define FLAG_0x0C5 0x0C5
+#define FLAG_0x0C6 0x0C6
+#define FLAG_0x0C7 0x0C7
+#define FLAG_0x0C8 0x0C8
+#define FLAG_0x0C9 0x0C9
+#define FLAG_0x0CA 0x0CA
+#define FLAG_0x0CB 0x0CB
+#define FLAG_0x0CC 0x0CC
+#define FLAG_0x0CD 0x0CD
+#define FLAG_0x0CE 0x0CE
+#define FLAG_0x0CF 0x0CF
+#define FLAG_0x0D0 0x0D0
+#define FLAG_0x0D1 0x0D1
+#define FLAG_0x0D2 0x0D2
+#define FLAG_0x0D3 0x0D3
+#define FLAG_0x0D4 0x0D4
+#define FLAG_0x0D5 0x0D5
+#define FLAG_0x0D6 0x0D6
+#define FLAG_0x0D7 0x0D7
+#define FLAG_0x0D8 0x0D8
+#define FLAG_0x0D9 0x0D9
+#define FLAG_0x0DA 0x0DA
+#define FLAG_0x0DB 0x0DB
+#define FLAG_0x0DC 0x0DC
+#define FLAG_0x0DD 0x0DD
+#define FLAG_0x0DE 0x0DE
+#define FLAG_0x0DF 0x0DF
+#define FLAG_0x0E0 0x0E0
+#define FLAG_0x0E1 0x0E1
+#define FLAG_0x0E2 0x0E2
+#define FLAG_0x0E3 0x0E3
+#define FLAG_0x0E4 0x0E4
+#define FLAG_0x0E5 0x0E5
+#define FLAG_0x0E6 0x0E6
+#define FLAG_0x0E7 0x0E7
+#define FLAG_0x0E8 0x0E8
+#define FLAG_0x0E9 0x0E9
+#define FLAG_0x0EA 0x0EA
+#define FLAG_0x0EB 0x0EB
+#define FLAG_0x0EC 0x0EC
+#define FLAG_0x0ED 0x0ED
+#define FLAG_0x0EE 0x0EE
+#define FLAG_0x0EF 0x0EF
+#define FLAG_0x0F0 0x0F0
+#define FLAG_0x0F1 0x0F1
+#define FLAG_0x0F2 0x0F2
+#define FLAG_0x0F3 0x0F3
+#define FLAG_0x0F4 0x0F4
+#define FLAG_0x0F5 0x0F5
+#define FLAG_0x0F6 0x0F6
+#define FLAG_0x0F7 0x0F7
+#define FLAG_0x0F8 0x0F8
+#define FLAG_0x0F9 0x0F9
+#define FLAG_0x0FA 0x0FA
+#define FLAG_0x0FB 0x0FB
+#define FLAG_0x0FC 0x0FC
+#define FLAG_0x0FD 0x0FD
+#define FLAG_0x0FE 0x0FE
+#define FLAG_0x0FF 0x0FF
#define FLAG_0x100 0x100
#define FLAG_0x101 0x101
#define FLAG_0x102 0x102
@@ -429,177 +347,181 @@
#define FLAG_0x151 0x151
#define FLAG_0x152 0x152
#define FLAG_0x153 0x153
-#define FLAG_0x154 0x154
-#define FLAG_0x155 0x155
-#define FLAG_0x156 0x156
-#define FLAG_0x157 0x157
-#define FLAG_0x158 0x158
-#define FLAG_0x159 0x159
-#define FLAG_0x15A 0x15A
-#define FLAG_0x15B 0x15B
-#define FLAG_0x15C 0x15C
-#define FLAG_0x15D 0x15D
-#define FLAG_0x15E 0x15E
-#define FLAG_0x15F 0x15F
-#define FLAG_0x160 0x160
-#define FLAG_0x161 0x161
-#define FLAG_0x162 0x162
-#define FLAG_0x163 0x163
-#define FLAG_0x164 0x164
-#define FLAG_0x165 0x165
-#define FLAG_0x166 0x166
-#define FLAG_0x167 0x167
-#define FLAG_0x168 0x168
-#define FLAG_0x169 0x169
-#define FLAG_0x16A 0x16A
-#define FLAG_0x16B 0x16B
-#define FLAG_0x16C 0x16C
-#define FLAG_0x16D 0x16D
-#define FLAG_0x16E 0x16E
-#define FLAG_0x16F 0x16F
-#define FLAG_0x170 0x170
-#define FLAG_0x171 0x171
-#define FLAG_0x172 0x172
-#define FLAG_0x173 0x173
-#define FLAG_0x174 0x174
-#define FLAG_0x175 0x175
-#define FLAG_0x176 0x176
-#define FLAG_0x177 0x177
-#define FLAG_0x178 0x178
-#define FLAG_0x179 0x179
-#define FLAG_0x17A 0x17A
-#define FLAG_0x17B 0x17B
-#define FLAG_0x17C 0x17C
-#define FLAG_0x17D 0x17D
-#define FLAG_0x17E 0x17E
-#define FLAG_0x17F 0x17F
-#define FLAG_0x180 0x180
-#define FLAG_0x181 0x181
-#define FLAG_0x182 0x182
-#define FLAG_0x183 0x183
-#define FLAG_0x184 0x184
-#define FLAG_0x185 0x185
-#define FLAG_0x186 0x186
-#define FLAG_0x187 0x187
-#define FLAG_0x188 0x188
-#define FLAG_0x189 0x189
-#define FLAG_0x18A 0x18A
-#define FLAG_0x18B 0x18B
-#define FLAG_0x18C 0x18C
-#define FLAG_0x18D 0x18D
-#define FLAG_0x18E 0x18E
-#define FLAG_0x18F 0x18F
-#define FLAG_0x190 0x190
-#define FLAG_0x191 0x191
-#define FLAG_0x192 0x192
-#define FLAG_0x193 0x193
-#define FLAG_0x194 0x194
-#define FLAG_0x195 0x195
-#define FLAG_0x196 0x196
-#define FLAG_0x197 0x197
-#define FLAG_0x198 0x198
-#define FLAG_0x199 0x199
-#define FLAG_0x19A 0x19A
-#define FLAG_0x19B 0x19B
-#define FLAG_0x19C 0x19C
-#define FLAG_0x19D 0x19D
-#define FLAG_0x19E 0x19E
-#define FLAG_0x19F 0x19F
-#define FLAG_0x1A0 0x1A0
-#define FLAG_0x1A1 0x1A1
-#define FLAG_0x1A2 0x1A2
-#define FLAG_0x1A3 0x1A3
-#define FLAG_0x1A4 0x1A4
-#define FLAG_0x1A5 0x1A5
-#define FLAG_0x1A6 0x1A6
-#define FLAG_0x1A7 0x1A7
-#define FLAG_0x1A8 0x1A8
-#define FLAG_0x1A9 0x1A9
-#define FLAG_0x1AA 0x1AA
-#define FLAG_0x1AB 0x1AB
-#define FLAG_0x1AC 0x1AC
-#define FLAG_0x1AD 0x1AD
-#define FLAG_0x1AE 0x1AE
-#define FLAG_0x1AF 0x1AF
-#define FLAG_0x1B0 0x1B0
-#define FLAG_0x1B1 0x1B1
-#define FLAG_0x1B2 0x1B2
-#define FLAG_0x1B3 0x1B3
-#define FLAG_0x1B4 0x1B4
-#define FLAG_0x1B5 0x1B5
-#define FLAG_0x1B6 0x1B6
-#define FLAG_0x1B7 0x1B7
-#define FLAG_0x1B8 0x1B8
-#define FLAG_0x1B9 0x1B9
-#define FLAG_0x1BA 0x1BA
-#define FLAG_0x1BB 0x1BB
-#define FLAG_0x1BC 0x1BC
-#define FLAG_0x1BD 0x1BD
-#define FLAG_0x1BE 0x1BE
-#define FLAG_0x1BF 0x1BF
-#define FLAG_0x1C0 0x1C0
-#define FLAG_0x1C1 0x1C1
-#define FLAG_0x1C2 0x1C2
-#define FLAG_0x1C3 0x1C3
-#define FLAG_0x1C4 0x1C4
-#define FLAG_0x1C5 0x1C5
-#define FLAG_0x1C6 0x1C6
-#define FLAG_0x1C7 0x1C7
-#define FLAG_0x1C8 0x1C8
-#define FLAG_0x1C9 0x1C9
-#define FLAG_0x1CA 0x1CA
-#define FLAG_0x1CB 0x1CB
-#define FLAG_0x1CC 0x1CC
-#define FLAG_0x1CD 0x1CD
-#define FLAG_0x1CE 0x1CE
-#define FLAG_0x1CF 0x1CF
-#define FLAG_0x1D0 0x1D0
-#define FLAG_0x1D1 0x1D1
-#define FLAG_0x1D2 0x1D2
-#define FLAG_0x1D3 0x1D3
-#define FLAG_0x1D4 0x1D4
-#define FLAG_0x1D5 0x1D5
-#define FLAG_0x1D6 0x1D6
-#define FLAG_0x1D7 0x1D7
-#define FLAG_0x1D8 0x1D8
-#define FLAG_0x1D9 0x1D9
-#define FLAG_0x1DA 0x1DA
-#define FLAG_0x1DB 0x1DB
-#define FLAG_0x1DC 0x1DC
-#define FLAG_0x1DD 0x1DD
-#define FLAG_0x1DE 0x1DE
-#define FLAG_0x1DF 0x1DF
-#define FLAG_0x1E0 0x1E0
-#define FLAG_0x1E1 0x1E1
-#define FLAG_0x1E2 0x1E2
-#define FLAG_0x1E3 0x1E3
-#define FLAG_0x1E4 0x1E4
-#define FLAG_0x1E5 0x1E5
-#define FLAG_0x1E6 0x1E6
-#define FLAG_0x1E7 0x1E7
-#define FLAG_0x1E8 0x1E8
-#define FLAG_0x1E9 0x1E9
-#define FLAG_0x1EA 0x1EA
-#define FLAG_0x1EB 0x1EB
-#define FLAG_0x1EC 0x1EC
-#define FLAG_0x1ED 0x1ED
-#define FLAG_0x1EE 0x1EE
-#define FLAG_0x1EF 0x1EF
-#define FLAG_0x1F0 0x1F0
-#define FLAG_0x1F1 0x1F1
-#define FLAG_0x1F2 0x1F2
-#define FLAG_0x1F3 0x1F3
-#define FLAG_0x1F4 0x1F4
-#define FLAG_0x1F5 0x1F5
-#define FLAG_0x1F6 0x1F6
-#define FLAG_0x1F7 0x1F7
-#define FLAG_0x1F8 0x1F8
-#define FLAG_0x1F9 0x1F9
-#define FLAG_0x1FA 0x1FA
-#define FLAG_0x1FB 0x1FB
-#define FLAG_0x1FC 0x1FC
-#define FLAG_0x1FD 0x1FD
-#define FLAG_0x1FE 0x1FE
+
+// Item ball hide/show
+#define FLAG_HIDE_ROUTE2_ETHER 0x154
+#define FLAG_HIDE_ROUTE2_PARALYZE_HEAL 0x155
+#define FLAG_HIDE_VIRIDIAN_FOREST_POKE_BALL 0x156
+#define FLAG_HIDE_VIRIDIAN_FOREST_ANTIDOTE 0x157
+#define FLAG_HIDE_VIRIDIAN_FOREST_POTION 0x158
+#define FLAG_HIDE_MT_MOON_1F_PARALYZE_HEAL 0x159
+#define FLAG_HIDE_MT_MOON_1F_TM09 0x15A
+#define FLAG_HIDE_MT_MOON_1F_POTION 0x15B
+#define FLAG_HIDE_MT_MOON_1F_RARE_CANDY 0x15C
+#define FLAG_HIDE_MT_MOON_1F_ESCAPE_ROPE 0x15D
+#define FLAG_HIDE_MT_MOON_1F_MOON_STONE 0x15E
+#define FLAG_HIDE_MT_MOON_B2F_STAR_PIECE 0x15F
+#define FLAG_HIDE_MT_MOON_B2F_TM46 0x160
+#define FLAG_HIDE_ROUTE4_TM05 0x161
+#define FLAG_HIDE_ROUTE24_TM45 0x162
+#define FLAG_HIDE_ROUTE25_TM43 0x163
+#define FLAG_HIDE_SSANNE_1F_ROOM2_TM31 0x164
+#define FLAG_HIDE_SSANNE_2F_ROOM2_STARDUST 0x165
+#define FLAG_HIDE_SSANNE_2F_ROOM4_X_ATTACK 0x166
+#define FLAG_HIDE_SSANNE_B1F_ROOM2_TM44 0x167
+#define FLAG_HIDE_SSANNE_B1F_ROOM3_ETHER 0x168
+#define FLAG_HIDE_SSANNE_B1F_ROOM5_SUPER_POTION 0x169
+#define FLAG_HIDE_SSANNE_KITCHEN_GREAT_BALL 0x16A
+#define FLAG_HIDE_ROUTE9_TM40 0x16B
+#define FLAG_HIDE_ROCKET_HIDEOUT_B1F_ESCAPE_ROPE 0x16C
+#define FLAG_HIDE_ROCKET_HIDEOUT_B1F_HYPER_POTION 0x16D
+#define FLAG_HIDE_ROCKET_HIDEOUT_B2F_X_SPEED 0x16E
+#define FLAG_HIDE_ROCKET_HIDEOUT_B2F_MOON_STONE 0x16F
+#define FLAG_HIDE_ROCKET_HIDEOUT_B2F_TM12 0x170
+#define FLAG_HIDE_ROCKET_HIDEOUT_B2F_SUPER_POTION 0x171
+#define FLAG_HIDE_ROCKET_HIDEOUT_B3F_RARE_CANDY 0x172
+#define FLAG_HIDE_ROCKET_HIDEOUT_B3F_TM21 0x173
+#define FLAG_HIDE_ROCKET_HIDEOUT_B4F_TM49 0x174
+#define FLAG_HIDE_ROCKET_HIDEOUT_B4F_MAX_ETHER 0x175
+#define FLAG_HIDE_ROCKET_HIDEOUT_B4F_CALCIUM 0x176
+#define FLAG_HIDE_POKEMON_TOWER_3F_ESCAPE_ROPE 0x177
+#define FLAG_HIDE_POKEMON_TOWER_4F_ELIXIR 0x178
+#define FLAG_HIDE_POKEMON_TOWER_4F_AWAKENING 0x179
+#define FLAG_HIDE_POKEMON_TOWER_4F_GREAT_BALL 0x17A
+#define FLAG_HIDE_POKEMON_TOWER_5F_NUGGET 0x17B
+#define FLAG_HIDE_POKEMON_TOWER_6F_RARE_CANDY 0x17C
+#define FLAG_HIDE_POKEMON_TOWER_6F_X_ACCURACY 0x17D
+#define FLAG_HIDE_ROUTE12_TM48 0x17E
+#define FLAG_HIDE_ROUTE12_IRON 0x17F
+#define FLAG_HIDE_ROUTE15_TM18 0x180
+#define FLAG_HIDE_SAFARI_ZONE_CENTER_NUGGET 0x181
+#define FLAG_HIDE_SAFARI_ZONE_EAST_MAX_POTION 0x182
+#define FLAG_HIDE_SAFARI_ZONE_EAST_FULL_RESTORE 0x183
+#define FLAG_HIDE_SAFARI_ZONE_EAST_TM11 0x184
+#define FLAG_HIDE_SAFARI_ZONE_EAST_LEAF_STONE 0x185
+#define FLAG_HIDE_SAFARI_ZONE_NORTH_PROTEIN 0x186
+#define FLAG_HIDE_SAFARI_ZONE_NORTH_TM47 0x187
+#define FLAG_HIDE_SAFARI_ZONE_WEST_TM32 0x188
+#define FLAG_HIDE_SAFARI_ZONE_WEST_GOLD_TEETH 0x189
+#define FLAG_HIDE_SAFARI_ZONE_WEST_MAX_POTION 0x18A
+#define FLAG_HIDE_SAFARI_ZONE_WEST_MAX_REVIVE 0x18B
+#define FLAG_HIDE_SILPH_CO_3F_HYPER_POTION 0x18C
+#define FLAG_HIDE_SILPH_CO_4F_MAX_REVIVE 0x18D
+#define FLAG_HIDE_SILPH_CO_4F_ESCAPE_ROPE 0x18E
+#define FLAG_HIDE_SILPH_CO_4F_FULL_HEAL 0x18F
+#define FLAG_HIDE_SILPH_CO_5F_PROTEIN 0x190
+#define FLAG_HIDE_SILPH_CO_5F_TM01 0x191
+#define FLAG_HIDE_SILPH_CO_5F_CARD_KEY 0x192
+#define FLAG_HIDE_SILPH_CO_6F_HP_UP 0x193
+#define FLAG_HIDE_SILPH_CO_6F_X_SPECIAL 0x194
+#define FLAG_HIDE_SILPH_CO_7F_CALCIUM 0x195
+#define FLAG_HIDE_SILPH_CO_7F_TM08 0x196
+#define FLAG_HIDE_SILPH_CO_10F_CARBOS 0x197
+#define FLAG_HIDE_SILPH_CO_10F_ULTRA_BALL 0x198
+#define FLAG_HIDE_SILPH_CO_10F_RARE_CANDY 0x199
+#define FLAG_HIDE_POWER_PLANT_MAX_POTION 0x19A
+#define FLAG_HIDE_POWER_PLANT_TM17 0x19B
+#define FLAG_HIDE_POWER_PLANT_TM25 0x19C
+#define FLAG_HIDE_POWER_PLANT_THUNDER_STONE 0x19D
+#define FLAG_HIDE_POWER_PLANT_ELIXIR 0x19E
+#define FLAG_HIDE_POKEMON_MANSION_1F_CARBOS 0x19F
+#define FLAG_HIDE_POKEMON_MANSION_1F_ESCAPE_ROPE 0x1A0
+#define FLAG_HIDE_POKEMON_MANSION_2F_CALCIUM 0x1A1
+#define FLAG_HIDE_POKEMON_MANSION_3F_MAX_POTION 0x1A2
+#define FLAG_HIDE_POKEMON_MANSION_3F_IRON 0x1A3
+#define FLAG_HIDE_POKEMON_MANSION_B1F_TM14 0x1A4
+#define FLAG_HIDE_POKEMON_MANSION_B1F_FULL_RESTORE 0x1A5
+#define FLAG_0x1A6 0x1A6
+#define FLAG_HIDE_POKEMON_MANSION_B1F_TM22 0x1A7
+#define FLAG_HIDE_POKEMON_MANSION_B1F_SECRET_KEY 0x1A8
+#define FLAG_HIDE_VICTORY_ROAD_1F_RARE_CANDY 0x1A9
+#define FLAG_HIDE_VICTORY_ROAD_1F_TM02 0x1AA
+#define FLAG_HIDE_VICTORY_ROAD_2F_GUARD_SPEC 0x1AB
+#define FLAG_HIDE_VICTORY_ROAD_2F_TM07 0x1AC
+#define FLAG_HIDE_VICTORY_ROAD_2F_FULL_HEAL 0x1AD
+#define FLAG_HIDE_VICTORY_ROAD_2F_TM37 0x1AE
+#define FLAG_HIDE_VICTORY_ROAD_3F_MAX_REVIVE 0x1AF
+#define FLAG_HIDE_VICTORY_ROAD_3F_TM50 0x1B0
+#define FLAG_HIDE_CERULEAN_CAVE_1F_MAX_ELIXIR 0x1B1
+#define FLAG_HIDE_CERULEAN_CAVE_1F_NUGGET 0x1B2
+#define FLAG_HIDE_CERULEAN_CAVE_1F_FULL_RESTORE 0x1B3
+#define FLAG_HIDE_CERULEAN_CAVE_2F_FULL_RESTORE 0x1B4
+#define FLAG_HIDE_CERULEAN_CAVE_2F_PP_UP 0x1B5
+#define FLAG_HIDE_CERULEAN_CAVE_2F_ULTRA_BALL 0x1B6
+#define FLAG_HIDE_CERULEAN_CAVE_B1F_MAX_REVIVE 0x1B7
+#define FLAG_HIDE_CERULEAN_CAVE_B1F_ULTRA_BALL 0x1B8
+#define FLAG_HIDE_FUCHSIA_CITY_BUILDING1_RARE_CANDY 0x1B9
+#define FLAG_HIDE_TWO_ISLAND_REVIVE 0x1BA
+#define FLAG_HIDE_THREE_ISLAND_ZINC 0x1BB
+#define FLAG_0x1BC 0x1BC
+#define FLAG_0x1BD 0x1BD
+#define FLAG_HIDE_VIRIDIAN_FOREST_POTION_2 0x1BE
+#define FLAG_HIDE_MT_MOON_B2F_REVIVE 0x1BF
+#define FLAG_HIDE_MT_MOON_B2F_ANTIDOTE 0x1C0
+#define FLAG_HIDE_ROUTE11_X_DEFEND 0x1C1
+#define FLAG_HIDE_ROUTE9_BURN_HEAL 0x1C2
+#define FLAG_HIDE_ROCK_TUNNEL_1F_REPEL 0x1C3
+#define FLAG_HIDE_ROCK_TUNNEL_1F_PEARL 0x1C4
+#define FLAG_HIDE_ROCK_TUNNEL_1F_ESCAPE_ROPE 0x1C5
+#define FLAG_HIDE_ROCK_TUNNEL_B1F_REVIVE 0x1C6
+#define FLAG_HIDE_ROCK_TUNNEL_B1F_MAX_ETHER 0x1C7
+#define FLAG_HIDE_SILPH_CO_8F_IRON 0x1C8
+#define FLAG_HIDE_SILPH_CO_11F_ZINC 0x1C9
+#define FLAG_HIDE_POKEMON_MANSION_1F_PROTEIN 0x1CA
+#define FLAG_HIDE_POKEMON_MANSION_2F_ZINC 0x1CB
+#define FLAG_HIDE_POKEMON_MANSION_2F_HP_UP 0x1CC
+#define FLAG_HIDE_VIRIDIAN_CITY_POTION 0x1CD
+#define FLAG_HIDE_ROUTE11_GREAT_BALL 0x1CE
+#define FLAG_HIDE_ROUTE11_AWAKENING 0x1CF
+#define FLAG_HIDE_POKEMON_TOWER_5F_CLEANSE_TAG 0x1D0
+#define FLAG_HIDE_CELADON_CITY_ETHER 0x1D1
+#define FLAG_HIDE_ROCKET_HIDEOUT_B3F_BLACK_GLASSES 0x1D2
+#define FLAG_HIDE_SAFARI_ZONE_NORTH_QUICK_CLAW 0x1D3
+#define FLAG_HIDE_SEAFOAM_ISLANDS_1F_ICE_HEAL 0x1D4
+#define FLAG_HIDE_SEAFOAM_ISLANDS_B1F_WATER_STONE 0x1D5
+#define FLAG_HIDE_SEAFOAM_ISLANDS_B1F_REVIVE 0x1D6
+#define FLAG_HIDE_SEAFOAM_ISLANDS_B2F_BIG_PEARL 0x1D7
+#define FLAG_HIDE_SEAFOAM_ISLANDS_B4F_ULTRA_BALL 0x1D8
+#define FLAG_HIDE_FOUR_ISLAND_STAR_PIECE 0x1D9
+#define FLAG_HIDE_FOUR_ISLAND_STARDUST 0x1DA
+#define FLAG_HIDE_ONE_ISLAND_KINDLE_ROAD_ETHER 0x1DB
+#define FLAG_HIDE_ONE_ISLAND_KINDLE_ROAD_MAX_REPEL 0x1DC
+#define FLAG_HIDE_ONE_ISLAND_KINDLE_ROAD_CARBOS 0x1DD
+#define FLAG_HIDE_FIVE_ISLAND_MEADOW_MAX_POTION 0x1DE
+#define FLAG_HIDE_FIVE_ISLAND_MEADOW_PP_UP 0x1DF
+#define FLAG_HIDE_FIVE_ISLAND_MEMORIAL_PILLAR_METAL_COAT 0x1E0
+#define FLAG_HIDE_SIX_ISLAND_OUTCAST_ISLAND_PP_UP 0x1E1
+#define FLAG_HIDE_SIX_ISLAND_WATER_PATH_ELIXIR 0x1E2
+#define FLAG_HIDE_SIX_ISLAND_WATER_PATH_DRAGON_SCALE 0x1E3
+#define FLAG_HIDE_SIX_ISLAND_RUIN_VALLEY_FULL_RESTORE 0x1E4
+#define FLAG_HIDE_SIX_ISLAND_RUIN_VALLEY_HP_UP 0x1E5
+#define FLAG_HIDE_SIX_ISLAND_RUIN_VALLEY_SUN_STONE 0x1E6
+#define FLAG_HIDE_SEVEN_ISLAND_SEVAULT_CANYON_KINGS_ROCK 0x1E7
+#define FLAG_HIDE_SEVEN_ISLAND_SEVAULT_CANYON_MAX_ELIXIR 0x1E8
+#define FLAG_HIDE_SEVEN_ISLAND_SEVAULT_CANYON_NUGGET 0x1E9
+#define FLAG_HIDE_THREE_ISLAND_BERRY_FOREST_MAX_ETHER 0x1EA
+#define FLAG_HIDE_THREE_ISLAND_BERRY_FOREST_FULL_HEAL 0x1EB
+#define FLAG_HIDE_THREE_ISLAND_BERRY_FOREST_MAX_ELIXIR 0x1EC
+#define FLAG_HIDE_MT_EMBER_EXTERIOR_ULTRA_BALL 0x1ED
+#define FLAG_HIDE_MT_EMBER_EXTERIOR_FIRE_STONE 0x1EE
+#define FLAG_HIDE_MT_EMBER_EXTERIOR_DIRE_HIT 0x1EF
+#define FLAG_HIDE_FOUR_ISLAND_ICEFALL_CAVE_1F_ULTRA_BALL 0x1F0
+#define FLAG_HIDE_FOUR_ISLAND_ICEFALL_CAVE_1F_HM07 0x1F1
+#define FLAG_HIDE_FOUR_ISLAND_ICEFALL_CAVE_B1F_FULL_RESTORE 0x1F2
+#define FLAG_HIDE_FOUR_ISLAND_ICEFALL_CAVE_B1F_NEVER_MELT_ICE 0x1F3
+#define FLAG_HIDE_FIVE_ISLAND_ROCKET_WAREHOUSE_BIG_PEARL 0x1F4
+#define FLAG_HIDE_FIVE_ISLAND_ROCKET_WAREHOUSE_TM36 0x1F5
+#define FLAG_HIDE_FIVE_ISLAND_ROCKET_WAREHOUSE_PEARL 0x1F6
+#define FLAG_HIDE_FIVE_ISLAND_ROCKET_WAREHOUSE_UP_GRADE 0x1F7
+#define FLAG_HIDE_FIVE_ISLAND_LOST_CAVE_ROOM10_SILK_SCARF 0x1F8
+#define FLAG_HIDE_FIVE_ISLAND_LOST_CAVE_ROOM11_LAX_INCENSE 0x1F9
+#define FLAG_HIDE_FIVE_ISLAND_LOST_CAVE_ROOM12_SEA_INCENSE 0x1FA
+#define FLAG_HIDE_FIVE_ISLAND_LOST_CAVE_ROOM13_MAX_REVIVE 0x1FB
+#define FLAG_HIDE_FIVE_ISLAND_LOST_CAVE_ROOM14_RARE_CANDY 0x1FC
+#define FLAG_HIDE_SEVEN_ISLAND_SEVAULT_CANYON_HOUSE_LUCKY_PUNCH 0x1FD
+#define FLAG_HIDE_SILPH_CO_4F_TM41 0x1FE
+
+// Unused?
#define FLAG_0x1FF 0x1FF
#define FLAG_0x200 0x200
#define FLAG_0x201 0x201
@@ -649,214 +571,219 @@
#define FLAG_0x22D 0x22D
#define FLAG_0x22E 0x22E
#define FLAG_0x22F 0x22F
-#define FLAG_0x230 0x230
-#define FLAG_0x231 0x231
-#define FLAG_0x232 0x232
-#define FLAG_0x233 0x233
-#define FLAG_0x234 0x234
-#define FLAG_0x235 0x235
-#define FLAG_0x236 0x236
-#define FLAG_0x237 0x237
-#define FLAG_0x238 0x238
-#define FLAG_0x239 0x239
-#define FLAG_0x23A 0x23A
-#define FLAG_0x23B 0x23B
-#define FLAG_0x23C 0x23C
-#define FLAG_0x23D 0x23D
-#define FLAG_0x23E 0x23E
-#define FLAG_0x23F 0x23F
-#define FLAG_0x240 0x240
-#define FLAG_0x241 0x241
-#define FLAG_0x242 0x242
-#define FLAG_GOT_COIN_CASE 0x243
-#define FLAG_0x244 0x244
-#define FLAG_0x245 0x245
-#define FLAG_0x246 0x246
-#define FLAG_0x247 0x247
-#define FLAG_0x248 0x248
-#define FLAG_0x249 0x249
-#define FLAG_0x24A 0x24A
-#define FLAG_0x24B 0x24B
-#define FLAG_0x24C 0x24C
-#define FLAG_0x24D 0x24D
-#define FLAG_0x24E 0x24E
-#define FLAG_0x24F 0x24F
-#define FLAG_0x250 0x250
-#define FLAG_0x251 0x251
-#define FLAG_0x252 0x252
-#define FLAG_0x253 0x253
-#define FLAG_0x254 0x254
-#define FLAG_0x255 0x255
-#define FLAG_0x256 0x256
-#define FLAG_0x257 0x257
-#define FLAG_0x258 0x258
-#define FLAG_0x259 0x259
-#define FLAG_0x25A 0x25A
-#define FLAG_0x25B 0x25B
-#define FLAG_0x25C 0x25C
-#define FLAG_0x25D 0x25D
-#define FLAG_0x25E 0x25E
-#define FLAG_0x25F 0x25F
-#define FLAG_0x260 0x260
-#define FLAG_0x261 0x261
-#define FLAG_0x262 0x262
-#define FLAG_0x263 0x263
-#define FLAG_0x264 0x264
-#define FLAG_0x265 0x265
-#define FLAG_PENDING_DAYCARE_EGG 0x266
-#define FLAG_0x267 0x267
-#define FLAG_0x268 0x268
-#define FLAG_0x269 0x269
-#define FLAG_0x26A 0x26A
-#define FLAG_0x26B 0x26B
-#define FLAG_0x26C 0x26C
-#define FLAG_0x26D 0x26D
-#define FLAG_0x26E 0x26E
-#define FLAG_0x26F 0x26F
-#define FLAG_0x270 0x270
-#define FLAG_0x271 0x271
-#define FLAG_0x272 0x272
-#define FLAG_0x273 0x273
-#define FLAG_0x274 0x274
-#define FLAG_0x275 0x275
-#define FLAG_0x276 0x276
-#define FLAG_0x277 0x277
-#define FLAG_0x278 0x278
-#define FLAG_0x279 0x279
-#define FLAG_0x27A 0x27A
-#define FLAG_0x27B 0x27B
-#define FLAG_0x27C 0x27C
-#define FLAG_0x27D 0x27D
-#define FLAG_0x27E 0x27E
-#define FLAG_0x27F 0x27F
-#define FLAG_0x280 0x280
-#define FLAG_0x281 0x281
-#define FLAG_0x282 0x282
-#define FLAG_0x283 0x283
-#define FLAG_0x284 0x284
-#define FLAG_0x285 0x285
-#define FLAG_0x286 0x286
-#define FLAG_0x287 0x287
-#define FLAG_0x288 0x288
-#define FLAG_0x289 0x289
-#define FLAG_0x28A 0x28A
-#define FLAG_0x28B 0x28B
-#define FLAG_0x28C 0x28C
-#define FLAG_0x28D 0x28D
-#define FLAG_0x28E 0x28E
-#define FLAG_0x28F 0x28F
-#define FLAG_0x290 0x290
-#define FLAG_0x291 0x291
-#define FLAG_0x292 0x292
-#define FLAG_0x293 0x293
-#define FLAG_0x294 0x294
-#define FLAG_0x295 0x295
-#define FLAG_0x296 0x296
-#define FLAG_0x297 0x297
-#define FLAG_0x298 0x298
-#define FLAG_0x299 0x299
-#define FLAG_0x29A 0x29A
-#define FLAG_0x29B 0x29B
-#define FLAG_0x29C 0x29C
-#define FLAG_0x29D 0x29D
-#define FLAG_0x29E 0x29E
-#define FLAG_0x29F 0x29F
-#define FLAG_0x2A0 0x2A0
-#define FLAG_0x2A1 0x2A1
-#define FLAG_0x2A2 0x2A2
-#define FLAG_0x2A3 0x2A3
-#define FLAG_0x2A4 0x2A4
-#define FLAG_0x2A5 0x2A5
-#define FLAG_0x2A6 0x2A6
-#define FLAG_0x2A7 0x2A7
-#define FLAG_0x2A8 0x2A8
-#define FLAG_0x2A9 0x2A9
-#define FLAG_0x2AA 0x2AA
-#define FLAG_0x2AB 0x2AB
-#define FLAG_0x2AC 0x2AC
-#define FLAG_0x2AD 0x2AD
-#define FLAG_0x2AE 0x2AE
-#define FLAG_0x2AF 0x2AF
-#define FLAG_0x2B0 0x2B0
-#define FLAG_0x2B1 0x2B1
-#define FLAG_0x2B2 0x2B2
-#define FLAG_0x2B3 0x2B3
-#define FLAG_0x2B4 0x2B4
-#define FLAG_0x2B5 0x2B5
-#define FLAG_0x2B6 0x2B6
-#define FLAG_0x2B7 0x2B7
-#define FLAG_0x2B8 0x2B8
-#define FLAG_0x2B9 0x2B9
-#define FLAG_0x2BA 0x2BA
-#define FLAG_0x2BB 0x2BB
-#define FLAG_0x2BC 0x2BC
-#define FLAG_0x2BD 0x2BD
-#define FLAG_0x2BE 0x2BE
-#define FLAG_0x2BF 0x2BF
-#define FLAG_0x2C0 0x2C0
-#define FLAG_0x2C1 0x2C1
-#define FLAG_0x2C2 0x2C2
-#define FLAG_0x2C3 0x2C3
-#define FLAG_0x2C4 0x2C4
-#define FLAG_0x2C5 0x2C5
-#define FLAG_0x2C6 0x2C6
-#define FLAG_0x2C7 0x2C7
-#define FLAG_0x2C8 0x2C8
-#define FLAG_0x2C9 0x2C9
-#define FLAG_0x2CA 0x2CA
-#define FLAG_0x2CB 0x2CB
-#define FLAG_0x2CC 0x2CC
-#define FLAG_0x2CD 0x2CD
-#define FLAG_0x2CE 0x2CE
-#define FLAG_0x2CF 0x2CF
-#define FLAG_0x2D0 0x2D0
-#define FLAG_0x2D1 0x2D1
-#define FLAG_0x2D2 0x2D2
-#define FLAG_0x2D3 0x2D3
-#define FLAG_0x2D4 0x2D4
-#define FLAG_0x2D5 0x2D5
-#define FLAG_0x2D6 0x2D6
-#define FLAG_0x2D7 0x2D7
-#define FLAG_0x2D8 0x2D8
-#define FLAG_0x2D9 0x2D9
-#define FLAG_0x2DA 0x2DA
-#define FLAG_0x2DB 0x2DB
-#define FLAG_0x2DC 0x2DC
-#define FLAG_0x2DD 0x2DD
-#define FLAG_0x2DE 0x2DE
-#define FLAG_0x2DF 0x2DF
-#define FLAG_0x2E0 0x2E0
-#define FLAG_0x2E1 0x2E1
-#define FLAG_0x2E2 0x2E2
-#define FLAG_0x2E3 0x2E3
-#define FLAG_0x2E4 0x2E4
-#define FLAG_0x2E5 0x2E5
-#define FLAG_0x2E6 0x2E6
-#define FLAG_0x2E7 0x2E7
-#define FLAG_0x2E8 0x2E8
-#define FLAG_0x2E9 0x2E9
-#define FLAG_0x2EA 0x2EA
-#define FLAG_0x2EB 0x2EB
-#define FLAG_0x2EC 0x2EC
-#define FLAG_0x2ED 0x2ED
-#define FLAG_0x2EE 0x2EE
-#define FLAG_0x2EF 0x2EF
-#define FLAG_0x2F0 0x2F0
-#define FLAG_0x2F1 0x2F1
-#define FLAG_0x2F2 0x2F2
-#define FLAG_0x2F3 0x2F3
-#define FLAG_0x2F4 0x2F4
-#define FLAG_0x2F5 0x2F5
-#define FLAG_0x2F6 0x2F6
-#define FLAG_0x2F7 0x2F7
-#define FLAG_0x2F8 0x2F8
-#define FLAG_0x2F9 0x2F9
-#define FLAG_0x2FA 0x2FA
-#define FLAG_0x2FB 0x2FB
-#define FLAG_0x2FC 0x2FC
-#define FLAG_0x2FD 0x2FD
-#define FLAG_0x2FE 0x2FE
-#define FLAG_0x2FF 0x2FF
+
+// Story flags
+#define STORY_FLAGS_START 0x230
+#define FLAG_GOT_POTION_ON_ROUTE_1 0x230
+#define FLAG_GOT_TM34_FROM_SURGE 0x231
+#define FLAG_GOT_FOSSIL_FROM_MT_MOON 0x232
+#define FLAG_HELPED_BILL_IN_SEA_COTTAGE 0x233
+#define FLAG_GOT_SS_TICKET 0x234
+#define FLAG_GOT_SS_TICKET_DUP 0x235
+#define FLAG_GOT_TM42_AT_MEMORIAL_PILLAR 0x236
+#define FLAG_GOT_HM01 0x237
+#define FLAG_GOT_HM02 0x238
+#define FLAG_GOT_HM03 0x239
+#define FLAG_GOT_HM04 0x23A
+#define FLAG_GOT_HM05 0x23B
+#define FLAG_RESCUED_MR_FUJI 0x23C
+#define FLAG_GOT_POKE_FLUTE 0x23D
+#define FLAG_0x23E 0x23E
+#define FLAG_GOT_TM28_FROM_ROCKET 0x23F
+#define FLAG_GOT_OLD_ROD 0x240
+#define FLAG_GOT_BIKE_VOUCHER 0x241
+#define FLAG_0x242 0x242
+#define FLAG_GOT_COIN_CASE 0x243
+#define FLAG_GOT_GOOD_ROD 0x244
+#define FLAG_GOT_TM29_FROM_MR_PSYCHIC 0x245
+#define FLAG_GOT_LAPRAS_FROM_SILPH 0x246
+#define FLAG_GOT_POKEBALLS_FROM_OAK_AFTER_22_RIVAL 0x247
+#define FLAG_DID_MIMIEN_TRADE 0x248
+#define FLAG_BOUGHT_MAGIKARP 0x249
+#define FLAG_DID_ZYNX_TRADE 0x24A
+#define FLAG_DID_MS_NIDO_TRADE 0x24B
+#define FLAG_0x24C 0x24C
+#define FLAG_DID_CH_DING_TRADE 0x24D
+#define FLAG_GOT_TM38_FROM_BLAINE 0x24E
+#define FLAG_OAK_SKIP_22_RIVAL_CHECK 0x24F
+#define FLAG_GOT_MASTER_BALL_FROM_SILPH 0x250
+#define FLAG_DID_NINA_TRADE 0x251
+#define FLAG_GOT_ITEMFINDER 0x252
+#define FLAG_WOKE_UP_ROUTE_12_SNORLAX 0x253
+#define FLAG_GOT_TM39_FROM_BROCK 0x254
+#define FLAG_GOT_SUPER_ROD 0x255
+#define FLAG_GOT_EXP_SHARE_FROM_OAKS_AIDE 0x256
+#define FLAG_DID_MARC_TRADE 0x257
+#define FLAG_BEAT_RIVAL_IN_OAKS_LAB 0x258
+#define FLAG_GOT_TM06_FROM_KOGA 0x259
+#define FLAG_0x25A 0x25A
+#define FLAG_GOT_TM27 0x25B
+#define FLAG_0x25C 0x25C
+#define FLAG_0x25D 0x25D
+#define FLAG_GOT_OLD_AMBER 0x25E
+#define FLAG_0x25F 0x25F
+#define FLAG_0x260 0x260
+#define FLAG_0x261 0x261
+#define FLAG_0x262 0x262
+#define FLAG_GOT_EEVEE 0x263
+#define FLAG_FOUND_BOTH_VERMILION_GYM_SWITCHES 0x264
+#define FLAG_CINNABAR_GYM_QUIZ_1 0x265
+#define FLAG_PENDING_DAYCARE_EGG 0x266
+#define FLAG_CINNABAR_GYM_QUIZ_2 0x267
+#define FLAG_CINNABAR_GYM_QUIZ_3 0x268
+#define FLAG_CINNABAR_GYM_QUIZ_4 0x269
+#define FLAG_CINNABAR_GYM_QUIZ_5 0x26A
+#define FLAG_CINNABAR_GYM_QUIZ_6 0x26B
+#define FLAG_POKEMON_MANSION_SWITCH_STATE 0x26C
+#define FLAG_OPENED_ROCKET_HIDEOUT 0x26D
+#define FLAG_GOT_10_COINS_FROM_GAMBLER 0x26E
+#define FLAG_GOT_20_COINS_FROM_GAMBLER 0x26F
+#define FLAG_GOT_20_COINS_FROM_GAMBLER_2 0x270
+#define FLAG_GOT_BICYCLE 0x271
+#define FLAG_GOT_DOME_FOSSIL 0x272
+#define FLAG_GOT_HELIX_FOSSIL 0x273
+#define FLAG_DID_ESPHERE_TRADE 0x274
+#define FLAG_DID_TANGENY_TRADE 0x275
+#define FLAG_DID_SEELOR_TRADE 0x276
+#define FLAG_0x277 0x277
+#define FLAG_GOT_HITMON_FROM_DOJO 0x278
+#define FLAG_0x279 0x279
+#define FLAG_SILPH_2F_DOOR_1 0x27A
+#define FLAG_SILPH_2F_DOOR_2 0x27B
+#define FLAG_SILPH_3F_DOOR_1 0x27C
+#define FLAG_SILPH_3F_DOOR_2 0x27D
+#define FLAG_SILPH_4F_DOOR_1 0x27E
+#define FLAG_SILPH_4F_DOOR_2 0x27F
+#define FLAG_SILPH_5F_DOOR_1 0x280
+#define FLAG_SILPH_5F_DOOR_2 0x281
+#define FLAG_SILPH_5F_DOOR_3 0x282
+#define FLAG_SILPH_6F_DOOR 0x283
+#define FLAG_SILPH_7F_DOOR_1 0x284
+#define FLAG_SILPH_7F_DOOR_2 0x285
+#define FLAG_SILPH_7F_DOOR_3 0x286
+#define FLAG_SILPH_8F_DOOR 0x287
+#define FLAG_SILPH_9F_DOOR_1 0x288
+#define FLAG_SILPH_9F_DOOR_2 0x289
+#define FLAG_SILPH_9F_DOOR_3 0x28A
+#define FLAG_SILPH_9F_DOOR_4 0x28B
+#define FLAG_SILPH_10F_DOOR 0x28C
+#define FLAG_SILPH_11F_DOOR 0x28D
+#define FLAG_0x28E 0x28E
+#define FLAG_0x28F 0x28F
+#define FLAG_MET_STICKER_LADY 0x290
+#define FLAG_PALLET_LADY_NOT_BLOCKING_SIGN 0x291
+#define FLAG_GOT_VS_SEEKER 0x292
+#define FLAG_GOT_TM19_FROM_ERIKA 0x293
+#define FLAG_GOT_TM33_FROM_THIRSTY_GIRL 0x294
+#define FLAG_GOT_TM20_FROM_THIRSTY_GIRL 0x295
+#define FLAG_GOT_TM16_FROM_THIRSTY_GIRL 0x296
+#define FLAG_GOT_TM03_FROM_MISTY 0x297
+#define FLAG_GOT_TM26_FROM_GIOVANNI 0x298
+#define FLAG_0x299 0x299
+#define FLAG_GOT_TM04_FROM_SABRINA 0x29A
+#define FLAG_GOT_FAME_CHECKER 0x29B
+#define FLAG_GOT_RECORD_SETTING_MAGIKARP 0x29C
+#define FLAG_TWO_ISLAND_SHOP_INTRODUCED 0x29D
+#define FLAG_TWO_ISLAND_SHOP_EXPANDED_1 0x29E
+#define FLAG_TWO_ISLAND_SHOP_EXPANDED_2 0x29F
+#define FLAG_TWO_ISLAND_SHOP_EXPANDED_3 0x2A0
+#define FLAG_SEVII_DETOUR_FINISHED 0x2A1
+#define FLAG_VISITED_TWO_ISLAND 0x2A2
+#define FLAG_RESCUED_LOSTELLE 0x2A3
+#define FLAG_0x2A4 0x2A4
+#define FLAG_CAN_USE_ROCKET_HIDEOUT_LIFT 0x2A5
+#define FLAG_GOT_TEA 0x2A6
+#define FLAG_GOT_AURORA_TICKET 0x2A7
+#define FLAG_GOT_MYSTIC_TICKET 0x2A8
+#define FLAG_0x2A9 0x2A9
+#define FLAG_0x2AA 0x2AA
+#define FLAG_0x2AB 0x2AB
+#define FLAG_0x2AC 0x2AC
+#define FLAG_0x2AD 0x2AD
+#define FLAG_0x2AE 0x2AE
+#define FLAG_0x2AF 0x2AF
+#define FLAG_0x2B0 0x2B0
+#define FLAG_0x2B1 0x2B1
+#define FLAG_0x2B2 0x2B2
+#define FLAG_0x2B3 0x2B3
+#define FLAG_0x2B4 0x2B4
+#define FLAG_0x2B5 0x2B5
+#define FLAG_0x2B6 0x2B6
+#define FLAG_0x2B7 0x2B7
+#define FLAG_0x2B8 0x2B8
+#define FLAG_0x2B9 0x2B9
+#define FLAG_0x2BA 0x2BA
+#define FLAG_GOT_POWDER_JAR 0x2BB
+#define FLAG_FOUGHT_MEWTWO 0x2BC
+#define FLAG_FOUGHT_MOLTRES 0x2BD
+#define FLAG_FOUGHT_ARTICUNO 0x2BE
+#define FLAG_FOUGHT_ZAPDOS 0x2BF
+#define FLAG_TUTOR_DOUBLE_EDGE 0x2C0
+#define FLAG_TUTOR_THUNDER_WAVE 0x2C1
+#define FLAG_TUTOR_ROCK_SLIDE 0x2C2
+#define FLAG_TUTOR_EXPLOSION 0x2C3
+#define FLAG_TUTOR_META_PUNCH 0x2C4
+#define FLAG_TUTOR_MEGA_KICK 0x2C5
+#define FLAG_TUTOR_DREAM_EATER 0x2C6
+#define FLAG_TUTOR_SOFT_BOILED 0x2C7
+#define FLAG_TUTOR_SUBSTITUTE 0x2C8
+#define FLAG_TUTOR_SWORDS_DANCE 0x2C9
+#define FLAG_TUTOR_SEISMIC_TOSS 0x2CA
+#define FLAG_TUTOR_COUNTER 0x2CB
+#define FLAG_TUTOR_METRONOME 0x2CC
+#define FLAG_TUTOR_MIMIC 0x2CD
+#define FLAG_TUTOR_BODY_SLAM 0x2CE
+#define FLAG_VISITED_OAKS_LAB 0x2CF
+#define FLAG_FOUGHT_POWER_PLANT_ELECTRODE_1 0x2D0
+#define FLAG_FOUGHT_POWER_PLANT_ELECTRODE_2 0x2D1
+#define FLAG_STOPPED_SEAFOAM_B3F_CURRENT 0x2D2
+#define FLAG_STOPPED_SEAFOAM_B4F_CURRENT 0x2D3
+#define FLAG_TALKED_TO_LORELEI_AFTER_WAREHOUSE 0x2D4
+#define FLAG_DEFEATED_ROCKETS_IN_WAREHOUSE 0x2D5
+#define FLAG_UNLOCKED_ROCKET_WAREHOUSE 0x2D6
+#define FLAG_NO_ROOM_FOR_TM42_AT_MEMORIAL_PILLAR 0x2D7
+#define FLAG_LEARNED_YES_NAH_CHANSEY 0x2D8
+#define FLAG_GOT_NEST_BALL_FROM_WATER_PATH_HOUSE_1 0x2D9
+#define FLAG_GOT_TOGEPI_EGG 0x2DA
+#define FLAG_NO_ROOM_FOR_TOGEPI_EGG 0x2DB
+#define FLAG_RECOVERED_SAPPHIRE 0x2DC
+#define FLAG_GOT_RUBY 0x2DD
+#define FLAG_0x2DE 0x2DE
+#define FLAG_0x2DF 0x2DF
+#define FLAG_0x2E0 0x2E0
+#define FLAG_LEARNED_MOVE_AT_CAPE_BRINK 0x2E1
+#define FLAG_GOT_NUGGET_FROM_DUNSPARCE_TUNNEL 0x2E2
+#define FLAG_USED_CUT_ON_RUIN_VALLEY_BRAILLE 0x2E3
+#define FLAG_FOUGHT_DEOXYS 0x2E4
+#define FLAG_0x2E5 0x2E5
+#define FLAG_0x2E6 0x2E6
+#define FLAG_0x2E7 0x2E7
+#define FLAG_0x2E8 0x2E8
+#define FLAG_0x2E9 0x2E9
+#define FLAG_0x2EA 0x2EA
+#define FLAG_0x2EB 0x2EB
+#define FLAG_REVIVED_DOME 0x2EC
+#define FLAG_REVIVED_HELIX 0x2ED
+#define FLAG_REVIVED_AMBER 0x2EE
+#define FLAG_GOT_HM06 0x2EF
+#define FLAG_SHOWED_MYSTICTICKET_TO_CAPTAIN 0x2F0
+#define FLAG_SHOWED_AURORATICKET_TO_CAPTAIN 0x2F1
+#define FLAG_FOUGHT_LUGIA 0x2F2
+#define FLAG_FOUGHT_HO_OH 0x2F3
+#define FLAG_OAK_SAW_DEX_COMPLETION 0x2F4
+#define FLAG_LUGIA_FLEW_AWAY 0x2F5
+#define FLAG_HO_OH_FLEW_AWAY 0x2F6
+#define FLAG_DEOXYS_FLEW_AWAY 0x2F7
+#define FLAG_TALKED_TO_TEA_LADY_AFTER_HOF 0x2F8
+#define FLAG_TALKED_TO_OAKS_AIDE_IN_VERMILION 0x2F9
+#define FLAG_GOT_EVERSTONE_FROM_OAKS_AIDE 0x2FA
+#define FLAG_GOT_MOON_STONE_FROM_JOYFUL_GAME_CORNER 0x2FB
+#define FLAG_GOT_FULL_RESTORE_FROM_THREE_ISLAND_DEFENDER 0x2FC
+#define FLAG_GOT_AMULET_COIN_FROM_OAKS_AIDE 0x2FD
+#define FLAG_NO_ROOM_FOR_JOYFUL_GAME_CORNER_MOON_STONE 0x2FE
+#define FLAG_OAKS_RATING_IS_VIA_PC 0x2FF
+
+// Unused?
#define FLAG_0x300 0x300
#define FLAG_0x301 0x301
#define FLAG_0x302 0x302
@@ -1073,7 +1000,7 @@
#define FLAG_0x3D5 0x3D5
#define FLAG_0x3D6 0x3D6
#define FLAG_0x3D7 0x3D7
-#define FLAG_0x3D8 0x3D8
+#define FLAG_MYSTERY_EVENT_DONE 0x3D8
#define FLAG_0x3D9 0x3D9
#define FLAG_0x3DA 0x3DA
#define FLAG_0x3DB 0x3DB
@@ -1090,198 +1017,202 @@
#define FLAG_0x3E6 0x3E6
#define FLAG_0x3E7 0x3E7
-#define FLAG_TRAINER_TOWER_START 1000 // 0x3E8
-#define FLAG_0x3E8 0x3E8
-#define FLAG_0x3E9 0x3E9
-#define FLAG_0x3EA 0x3EA
-#define FLAG_0x3EB 0x3EB
-#define FLAG_0x3EC 0x3EC
-#define FLAG_0x3ED 0x3ED
-#define FLAG_0x3EE 0x3EE
-#define FLAG_0x3EF 0x3EF
-#define FLAG_0x3F0 0x3F0
-#define FLAG_0x3F1 0x3F1
-#define FLAG_0x3F2 0x3F2
-#define FLAG_0x3F3 0x3F3
-#define FLAG_0x3F4 0x3F4
-#define FLAG_0x3F5 0x3F5
-#define FLAG_0x3F6 0x3F6
-#define FLAG_0x3F7 0x3F7
-#define FLAG_0x3F8 0x3F8
-#define FLAG_0x3F9 0x3F9
-#define FLAG_0x3FA 0x3FA
-#define FLAG_0x3FB 0x3FB
-#define FLAG_0x3FC 0x3FC
-#define FLAG_0x3FD 0x3FD
-#define FLAG_0x3FE 0x3FE
-#define FLAG_0x3FF 0x3FF
-#define FLAG_0x400 0x400
-#define FLAG_0x401 0x401
-#define FLAG_0x402 0x402
-#define FLAG_0x403 0x403
-#define FLAG_0x404 0x404
-#define FLAG_0x405 0x405
-#define FLAG_0x406 0x406
-#define FLAG_0x407 0x407
-#define FLAG_0x408 0x408
-#define FLAG_0x409 0x409
-#define FLAG_0x40A 0x40A
-#define FLAG_0x40B 0x40B
-#define FLAG_0x40C 0x40C
-#define FLAG_0x40D 0x40D
-#define FLAG_0x40E 0x40E
-#define FLAG_0x40F 0x40F
-#define FLAG_0x410 0x410
-#define FLAG_0x411 0x411
-#define FLAG_0x412 0x412
-#define FLAG_0x413 0x413
-#define FLAG_0x414 0x414
-#define FLAG_0x415 0x415
-#define FLAG_0x416 0x416
-#define FLAG_0x417 0x417
-#define FLAG_0x418 0x418
-#define FLAG_0x419 0x419
-#define FLAG_0x41A 0x41A
-#define FLAG_0x41B 0x41B
-#define FLAG_0x41C 0x41C
-#define FLAG_0x41D 0x41D
-#define FLAG_0x41E 0x41E
-#define FLAG_0x41F 0x41F
-#define FLAG_0x420 0x420
-#define FLAG_0x421 0x421
-#define FLAG_0x422 0x422
-#define FLAG_0x423 0x423
-#define FLAG_0x424 0x424
-#define FLAG_0x425 0x425
-#define FLAG_0x426 0x426
-#define FLAG_0x427 0x427
-#define FLAG_0x428 0x428
-#define FLAG_0x429 0x429
-#define FLAG_0x42A 0x42A
-#define FLAG_0x42B 0x42B
-#define FLAG_0x42C 0x42C
-#define FLAG_0x42D 0x42D
-#define FLAG_0x42E 0x42E
-#define FLAG_0x42F 0x42F
-#define FLAG_0x430 0x430
-#define FLAG_0x431 0x431
-#define FLAG_0x432 0x432
-#define FLAG_0x433 0x433
-#define FLAG_0x434 0x434
-#define FLAG_0x435 0x435
-#define FLAG_0x436 0x436
-#define FLAG_0x437 0x437
-#define FLAG_0x438 0x438
-#define FLAG_0x439 0x439
-#define FLAG_0x43A 0x43A
-#define FLAG_0x43B 0x43B
-#define FLAG_0x43C 0x43C
-#define FLAG_0x43D 0x43D
-#define FLAG_0x43E 0x43E
-#define FLAG_0x43F 0x43F
-#define FLAG_0x440 0x440
-#define FLAG_0x441 0x441
-#define FLAG_0x442 0x442
-#define FLAG_0x443 0x443
-#define FLAG_0x444 0x444
-#define FLAG_0x445 0x445
-#define FLAG_0x446 0x446
-#define FLAG_0x447 0x447
-#define FLAG_0x448 0x448
-#define FLAG_0x449 0x449
-#define FLAG_0x44A 0x44A
-#define FLAG_0x44B 0x44B
-#define FLAG_0x44C 0x44C
-#define FLAG_0x44D 0x44D
-#define FLAG_0x44E 0x44E
-#define FLAG_0x44F 0x44F
-#define FLAG_0x450 0x450
-#define FLAG_0x451 0x451
-#define FLAG_0x452 0x452
-#define FLAG_0x453 0x453
-#define FLAG_0x454 0x454
-#define FLAG_0x455 0x455
-#define FLAG_0x456 0x456
-#define FLAG_0x457 0x457
-#define FLAG_0x458 0x458
-#define FLAG_0x459 0x459
-#define FLAG_0x45A 0x45A
-#define FLAG_0x45B 0x45B
-#define FLAG_0x45C 0x45C
-#define FLAG_0x45D 0x45D
-#define FLAG_0x45E 0x45E
-#define FLAG_0x45F 0x45F
-#define FLAG_0x460 0x460
-#define FLAG_0x461 0x461
-#define FLAG_0x462 0x462
-#define FLAG_0x463 0x463
-#define FLAG_0x464 0x464
-#define FLAG_0x465 0x465
-#define FLAG_0x466 0x466
-#define FLAG_0x467 0x467
-#define FLAG_0x468 0x468
-#define FLAG_0x469 0x469
-#define FLAG_0x46A 0x46A
-#define FLAG_0x46B 0x46B
-#define FLAG_0x46C 0x46C
-#define FLAG_0x46D 0x46D
-#define FLAG_0x46E 0x46E
-#define FLAG_0x46F 0x46F
-#define FLAG_0x470 0x470
-#define FLAG_0x471 0x471
-#define FLAG_0x472 0x472
-#define FLAG_0x473 0x473
-#define FLAG_0x474 0x474
-#define FLAG_0x475 0x475
-#define FLAG_0x476 0x476
-#define FLAG_0x477 0x477
-#define FLAG_0x478 0x478
-#define FLAG_0x479 0x479
-#define FLAG_0x47A 0x47A
-#define FLAG_0x47B 0x47B
-#define FLAG_0x47C 0x47C
-#define FLAG_0x47D 0x47D
-#define FLAG_0x47E 0x47E
-#define FLAG_0x47F 0x47F
-#define FLAG_0x480 0x480
-#define FLAG_0x481 0x481
-#define FLAG_0x482 0x482
-#define FLAG_0x483 0x483
-#define FLAG_0x484 0x484
-#define FLAG_0x485 0x485
-#define FLAG_0x486 0x486
-#define FLAG_0x487 0x487
-#define FLAG_0x488 0x488
-#define FLAG_0x489 0x489
-#define FLAG_0x48A 0x48A
-#define FLAG_0x48B 0x48B
-#define FLAG_0x48C 0x48C
-#define FLAG_0x48D 0x48D
-#define FLAG_0x48E 0x48E
-#define FLAG_0x48F 0x48F
-#define FLAG_0x490 0x490
-#define FLAG_0x491 0x491
-#define FLAG_0x492 0x492
-#define FLAG_0x493 0x493
-#define FLAG_0x494 0x494
-#define FLAG_0x495 0x495
-#define FLAG_0x496 0x496
-#define FLAG_0x497 0x497
-#define FLAG_0x498 0x498
-#define FLAG_0x499 0x499
-#define FLAG_0x49A 0x49A
-#define FLAG_0x49B 0x49B
-#define FLAG_0x49C 0x49C
-#define FLAG_0x49D 0x49D
-#define FLAG_0x49E 0x49E
-#define FLAG_0x49F 0x49F
-#define FLAG_0x4A0 0x4A0
-#define FLAG_0x4A1 0x4A1
-#define FLAG_0x4A2 0x4A2
-#define FLAG_0x4A3 0x4A3
-#define FLAG_0x4A4 0x4A4
-#define FLAG_0x4A5 0x4A5
-#define FLAG_0x4A6 0x4A6
+#define FLAG_HIDDEN_ITEMS_START 1000 // 0x3E8
+#define FLAG_HIDDEN_ITEM(map, item) (FLAG_HIDDEN_ITEMS_START + HIDDEN_ITEM_##map##_##item)
+
+#define HIDDEN_ITEM_VIRIDIAN_FOREST_POTION 0
+#define HIDDEN_ITEM_VIRIDIAN_FOREST_ANTIDOTE 1
+#define HIDDEN_ITEM_MT_MOON_B2F_MOON_STONE 2
+#define HIDDEN_ITEM_MT_MOON_B2F_ETHER 3
+#define HIDDEN_ITEM_ROUTE25_ELIXIR 4
+#define HIDDEN_ITEM_ROUTE25_ETHER 5
+#define HIDDEN_ITEM_ROUTE9_ETHER 6
+#define HIDDEN_ITEM_UNUSED_0x07 7
+#define HIDDEN_ITEM_SSANNE_B1F_CORRIDOR_HYPER_POTION 8
+#define HIDDEN_ITEM_ROUTE10_SUPER_POTION 9
+#define HIDDEN_ITEM_ROUTE10_MAX_ETHER 10
+#define HIDDEN_ITEM_ROCKET_HIDEOUT_B1F_PP_UP 11
+#define HIDDEN_ITEM_ROCKET_HIDEOUT_B3F_NUGGET 12
+#define HIDDEN_ITEM_ROCKET_HIDEOUT_B4F_NEST_BALL 13
+#define HIDDEN_ITEM_POKEMON_TOWER_5F_BIG_MUSHROOM 14
+#define HIDDEN_ITEM_ROUTE13_PP_UP 15
+#define HIDDEN_ITEM_UNUSED_0x10 16
+#define HIDDEN_ITEM_ROUTE17_RARE_CANDY 17
+#define HIDDEN_ITEM_ROUTE17_FULL_RESTORE 18
+#define HIDDEN_ITEM_ROUTE17_PP_UP 19
+#define HIDDEN_ITEM_ROUTE17_MAX_REVIVE 20
+#define HIDDEN_ITEM_ROUTE17_MAX_ELIXIR 21
+#define HIDDEN_ITEM_SAFARI_ZONE_CENTER_LEAF_STONE 22
+#define HIDDEN_ITEM_SAFARI_ZONE_WEST_REVIVE 23
+#define HIDDEN_ITEM_SILPH_CO_5F_ELIXIR 24
+#define HIDDEN_ITEM_SILPH_CO_9F_MAX_POTION 25
+#define HIDDEN_ITEM_SAFFRON_CITY_HOUSE1_2F_NUGGET 26
+#define HIDDEN_ITEM_POWER_PLANT_MAX_ELIXIR 27
+#define HIDDEN_ITEM_POWER_PLANT_THUNDER_STONE 28
+#define HIDDEN_ITEM_SEAFOAM_ISLANDS_B3F_NUGGET 29
+#define HIDDEN_ITEM_SEAFOAM_ISLANDS_B4F_WATER_STONE 30
+#define HIDDEN_ITEM_POKEMON_MANSION_1F_MOON_STONE 31
+#define HIDDEN_ITEM_POKEMON_MANSION_3F_RARE_CANDY 32
+#define HIDDEN_ITEM_POKEMON_MANSION_B1F_ELIXIR 33
+#define HIDDEN_ITEM_ROUTE23_FULL_RESTORE 34
+#define HIDDEN_ITEM_ROUTE23_ULTRA_BALL 35
+#define HIDDEN_ITEM_ROUTE23_MAX_ETHER 36
+#define HIDDEN_ITEM_VICTORY_ROAD_1F_ULTRA_BALL 37
+#define HIDDEN_ITEM_VICTORY_ROAD_1F_FULL_RESTORE 38
+#define HIDDEN_ITEM_CERULEAN_CAVE_1F_ULTRA_BALL 39
+#define HIDDEN_ITEM_UNUSED_0x28 40
+#define HIDDEN_ITEM_ROUTE11_ESCAPE_ROPE 41
+#define HIDDEN_ITEM_ROUTE12_HYPER_POTION 42
+#define HIDDEN_ITEM_UNUSED_0x2B 43
+#define HIDDEN_ITEM_UNUSED_0x2C 44
+#define HIDDEN_ITEM_UNUSED_0x2D 45
+#define HIDDEN_ITEM_UNUSED_0x2E 46
+#define HIDDEN_ITEM_CELADON_CITY_PP_UP 47
+#define HIDDEN_ITEM_VERMILION_CITY_MAX_ETHER 48
+#define HIDDEN_ITEM_CERULEAN_CITY_RARE_CANDY 49
+#define HIDDEN_ITEM_ROUTE4_GREAT_BALL 50
+#define HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS 51
+#define HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_2 52
+#define HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_3 53
+#define HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_4 54
+#define HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_5 55
+#define HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_6 56
+#define HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_7 57
+#define HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_8 58
+#define HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_9 59
+#define HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_10 60
+#define HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_11 61
+#define HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_12 62
+#define HIDDEN_ITEM_SEVEN_ISLAND_SEVAULT_CANYON_CHERI_BERRY 63
+#define HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_4 64
+#define HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE 65
+#define HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_2 66
+#define HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_3 67
+#define HIDDEN_ITEM_FIVE_ISLAND_ROCKET_WAREHOUSE_NEST_BALL 68
+#define HIDDEN_ITEM_FIVE_ISLAND_ROCKET_WAREHOUSE_NET_BALL 69
+#define HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_POTION 70
+#define HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ANTIDOTE 71
+#define HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_PARALYZE_HEAL 72
+#define HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_AWAKENING 73
+#define HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_BURN_HEAL 74
+#define HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ICE_HEAL 75
+#define HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ETHER 76
+#define HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_POTION 77
+#define HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ANTIDOTE 78
+#define HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_PARALYZE_HEAL 79
+#define HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_AWAKENING 80
+#define HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_BURN_HEAL 81
+#define HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ICE_HEAL 82
+#define HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ETHER 83
+#define HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM 84
+#define HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_2 85
+#define HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_3 86
+#define HIDDEN_ITEM_MT_MOON_B1F_BIG_MUSHROOM 87
+#define HIDDEN_ITEM_MT_MOON_B1F_BIG_MUSHROOM_2 88
+#define HIDDEN_ITEM_MT_MOON_B1F_BIG_MUSHROOM_3 89
+#define HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_RAZZ_BERRY 90
+#define HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_BLUK_BERRY 91
+#define HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_NANAB_BERRY 92
+#define HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_WEPEAR_BERRY 93
+#define HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ORAN_BERRY 94
+#define HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_CHERI_BERRY 95
+#define HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_CHESTO_BERRY 96
+#define HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PECHA_BERRY 97
+#define HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_RAWST_BERRY 98
+#define HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ASPEAR_BERRY 99
+#define HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PERSIM_BERRY 100
+#define HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PINAP_BERRY 101
+#define HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_LUM_BERRY 102
+#define HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STARDUST 103
+#define HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STARDUST_2 104
+#define HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_PEARL 105
+#define HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_PEARL_2 106
+#define HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL 107
+#define HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL_2 108
+#define HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STAR_PIECE 109
+#define HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_BIG_PEARL 110
+#define HIDDEN_ITEM_TWO_ISLAND_CAPE_BRINK_RARE_CANDY 111
+#define HIDDEN_ITEM_PEWTER_CITY_POKE_BALL 112
+#define HIDDEN_ITEM_ROUTE3_ORAN_BERRY 113
+#define HIDDEN_ITEM_ROUTE4_PERSIM_BERRY 114
+#define HIDDEN_ITEM_ROUTE24_PECHA_BERRY 115
+#define HIDDEN_ITEM_ROUTE25_ORAN_BERRY 116
+#define HIDDEN_ITEM_ROUTE25_BLUK_BERRY 117
+#define HIDDEN_ITEM_ROUTE6_SITRUS_BERRY 118
+#define HIDDEN_ITEM_ROUTE6_RARE_CANDY 119
+#define HIDDEN_ITEM_SSANNE_KITCHEN_PECHA_BERRY 120
+#define HIDDEN_ITEM_SSANNE_KITCHEN_CHERI_BERRY 121
+#define HIDDEN_ITEM_SSANNE_KITCHEN_CHESTO_BERRY 122
+#define HIDDEN_ITEM_ROUTE9_RARE_CANDY 123
+#define HIDDEN_ITEM_UNUSED_0x7C 124
+#define HIDDEN_ITEM_ROUTE10_PERSIM_BERRY 125
+#define HIDDEN_ITEM_ROUTE10_CHERI_BERRY 126
+#define HIDDEN_ITEM_ROUTE8_RAWST_BERRY 127
+#define HIDDEN_ITEM_ROUTE8_LUM_BERRY 128
+#define HIDDEN_ITEM_ROUTE8_LEPPA_BERRY 129
+#define HIDDEN_ITEM_ROUTE12_RARE_CANDY 130
+#define HIDDEN_ITEM_ROUTE12_LEFTOVERS 131
+#define HIDDEN_ITEM_ROUTE16_LEFTOVERS 132
+#define HIDDEN_ITEM_FUCHSIA_CITY_MAX_REVIVE 133
+#define HIDDEN_ITEM_ROCKET_HIDEOUT_B4F_NET_BALL 134
+#define HIDDEN_ITEM_SILPH_CO_2F_ULTRA_BALL 135
+#define HIDDEN_ITEM_SILPH_CO_3F_PROTEIN 136
+#define HIDDEN_ITEM_SILPH_CO_4F_IRON 137
+#define HIDDEN_ITEM_SILPH_CO_5F_PP_UP 138
+#define HIDDEN_ITEM_SILPH_CO_6F_CARBOS 139
+#define HIDDEN_ITEM_SILPH_CO_7F_ZINC 140
+#define HIDDEN_ITEM_SILPH_CO_8F_NUGGET 141
+#define HIDDEN_ITEM_SILPH_CO_9F_CALCIUM 142
+#define HIDDEN_ITEM_SILPH_CO_10F_HP_UP 143
+#define HIDDEN_ITEM_SILPH_CO_11F_REVIVE 144
+#define HIDDEN_ITEM_ROUTE23_LUM_BERRY 145
+#define HIDDEN_ITEM_ROUTE23_SITRUS_BERRY 146
+#define HIDDEN_ITEM_ROUTE23_ASPEAR_BERRY 147
+#define HIDDEN_ITEM_ROUTE23_LEPPA_BERRY 148
+#define HIDDEN_ITEM_ROUTE14_ZINC 149
+#define HIDDEN_ITEM_ROUTE9_CHESTO_BERRY 150
+#define HIDDEN_ITEM_ROUTE10_NANAB_BERRY 151
+#define HIDDEN_ITEM_ROUTE7_WEPEAR_BERRY 152
+#define HIDDEN_ITEM_ROUTE20_STARDUST 153
+#define HIDDEN_ITEM_ROUTE21_NORTH_PEARL 154
+#define HIDDEN_ITEM_ROUTE23_MAX_ELIXIR 155
+#define HIDDEN_ITEM_ROUTE4_RAZZ_BERRY 156
+#define HIDDEN_ITEM_ROUTE14_PINAP_BERRY 157
+#define HIDDEN_ITEM_MT_EMBER_EXTERIOR_FIRE_STONE 158
+#define HIDDEN_ITEM_POKEMON_TOWER_7F_SOOTHE_BELL 159
+#define HIDDEN_ITEM_NAVEL_ROCK_SUMMIT_SACRED_ASH 160
+#define HIDDEN_ITEM_TWO_ISLAND_CAPE_BRINK_PP_MAX 161
+#define HIDDEN_ITEM_MT_EMBER_EXTERIOR_ULTRA_BALL 162
+#define HIDDEN_ITEM_THREE_ISLAND_DUNSPARCE_TUNNEL_NUGGET 163
+#define HIDDEN_ITEM_THREE_ISLAND_PP_UP 164
+#define HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_MAX_REPEL 165
+#define HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_PEARL 166
+#define HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_STARDUST 167
+#define HIDDEN_ITEM_FOUR_ISLAND_PEARL 168
+#define HIDDEN_ITEM_FOUR_ISLAND_ULTRA_BALL 169
+#define HIDDEN_ITEM_FIVE_ISLAND_MEMORIAL_PILLAR_BIG_PEARL 170
+#define HIDDEN_ITEM_FIVE_ISLAND_MEMORIAL_PILLAR_RAZZ_BERRY 171
+#define HIDDEN_ITEM_FIVE_ISLAND_MEMORIAL_PILLAR_SITRUS_BERRY 172
+#define HIDDEN_ITEM_FIVE_ISLAND_MEMORIAL_PILLAR_BLUK_BERRY 173
+#define HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_NEST_BALL 174
+#define HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STARDUST 175
+#define HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STAR_PIECE 176
+#define HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STARDUST_2 177
+#define HIDDEN_ITEM_SIX_ISLAND_OUTCAST_ISLAND_STAR_PIECE 178
+#define HIDDEN_ITEM_SIX_ISLAND_OUTCAST_ISLAND_NET_BALL 179
+#define HIDDEN_ITEM_SIX_ISLAND_GREEN_PATH_ULTRA_BALL 180
+#define HIDDEN_ITEM_SIX_ISLAND_WATER_PATH_ASPEAR_BERRY 181
+#define HIDDEN_ITEM_SIX_ISLAND_WATER_PATH_ORAN_BERRY 182
+#define HIDDEN_ITEM_SIX_ISLAND_WATER_PATH_PINAP_BERRY 183
+#define HIDDEN_ITEM_SIX_ISLAND_LEPPA_BERRY 184
+#define HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_BIG_PEARL 185
+#define HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_PEARL 186
+#define HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_NANAB_BERRY 187
+#define HIDDEN_ITEM_SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE_RAWST_BERRY 188
+#define HIDDEN_ITEM_VIRIDIAN_CITY_GYM_MACHO_BRACE 189
+#define HIDDEN_ITEM_SSANNE_EXTERIOR_LAVA_COOKIE 190
+
+// Unused?
#define FLAG_0x4A7 0x4A7
#define FLAG_0x4A8 0x4A8
#define FLAG_0x4A9 0x4A9
@@ -1291,19 +1222,23 @@
#define FLAG_0x4AD 0x4AD
#define FLAG_0x4AE 0x4AE
#define FLAG_0x4AF 0x4AF
-#define FLAG_0x4B0 0x4B0
-#define FLAG_0x4B1 0x4B1
-#define FLAG_0x4B2 0x4B2
-#define FLAG_0x4B3 0x4B3
-#define FLAG_0x4B4 0x4B4
-#define FLAG_0x4B5 0x4B5
-#define FLAG_0x4B6 0x4B6
-#define FLAG_0x4B7 0x4B7
-#define FLAG_0x4B8 0x4B8
-#define FLAG_0x4B9 0x4B9
-#define FLAG_0x4BA 0x4BA
-#define FLAG_0x4BB 0x4BB
-#define FLAG_0x4BC 0x4BC
+
+// Boss clear flags, 1200
+#define FLAG_DEFEATED_BROCK 0x4B0
+#define FLAG_DEFEATED_MISTY 0x4B1
+#define FLAG_DEFEATED_LT_SURGE 0x4B2
+#define FLAG_DEFEATED_ERIKA 0x4B3
+#define FLAG_DEFEATED_KOGA 0x4B4
+#define FLAG_DEFEATED_SABRINA 0x4B5
+#define FLAG_DEFEATED_BLAINE 0x4B6
+#define FLAG_DEFEATED_LEADER_GIOVANNI 0x4B7
+#define FLAG_DEFEATED_LORELEI 0x4B8
+#define FLAG_DEFEATED_BRUNO 0x4B9
+#define FLAG_DEFEATED_AGATHA 0x4BA
+#define FLAG_DEFEATED_LANCE 0x4BB
+#define FLAG_DEFEATED_CHAMP 0x4BC
+
+// Unused?
#define FLAG_0x4BD 0x4BD
#define FLAG_0x4BE 0x4BE
#define FLAG_0x4BF 0x4BF
@@ -1374,299 +1309,130 @@
#define FLAG_TRAINER_FLAG_START 0x500
-#define TRAINERS_FLAG_NO 0x356
-#define CODE_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
+#define TRAINERS_FLAG_NO 0x2E7 // 743
+#define TRAINER_FLAGS_WORDS 0x300
-// TODO: These three are badge flags
-#define FLAG_UNK820 0x820
-#define FLAG_UNK824 0x824
-#define FLAG_UNK826 0x826
-
-#define FLAG_UNK843 0x843
+#define SYS_FLAGS (FLAG_TRAINER_FLAG_START + TRAINER_FLAGS_WORDS) // 0x800
// SYSTEM FLAGS
-// 0x860
-#define FLAG_SYS_POKEMON_GET (CODE_FLAGS + 0)
-#define FLAG_SYS_POKEDEX_GET (CODE_FLAGS + 1)
-#define FLAG_SYS_POKENAV_GET (CODE_FLAGS + 2)
-// third one appears unused
-#define FLAG_SYS_GAME_CLEAR (CODE_FLAGS + 4)
-#define FLAG_SYS_CHAT_USED (CODE_FLAGS + 5)
-#define FLAG_SYS_HIPSTER_MEET (CODE_FLAGS + 6)
-
-// badges
-#define FLAG_BADGE01_GET (CODE_FLAGS + 7)
-#define FLAG_BADGE02_GET (CODE_FLAGS + 8)
-#define FLAG_BADGE03_GET (CODE_FLAGS + 9)
-#define FLAG_BADGE04_GET (CODE_FLAGS + 0xA)
-#define FLAG_BADGE05_GET (CODE_FLAGS + 0xB)
-#define FLAG_BADGE06_GET (CODE_FLAGS + 0xC)
-#define FLAG_BADGE07_GET (CODE_FLAGS + 0xD)
-#define FLAG_BADGE08_GET (CODE_FLAGS + 0xE)
+// 0x800
-// cities and towns
-#define FLAG_VISITED_LITTLEROOT_TOWN (CODE_FLAGS + 0xF)
-#define FLAG_VISITED_OLDALE_TOWN (CODE_FLAGS + 0x10)
-#define FLAG_VISITED_DEWFORD_TOWN (CODE_FLAGS + 0x11)
-#define FLAG_VISITED_LAVARIDGE_TOWN (CODE_FLAGS + 0x12)
-#define FLAG_VISITED_FALLARBOR_TOWN (CODE_FLAGS + 0x13)
-#define FLAG_VISITED_VERDANTURF_TOWN (CODE_FLAGS + 0x14)
-#define FLAG_VISITED_PACIFIDLOG_TOWN (CODE_FLAGS + 0x15)
-#define FLAG_VISITED_PETALBURG_CITY (CODE_FLAGS + 0x16)
-#define FLAG_VISITED_SLATEPORT_CITY (CODE_FLAGS + 0x17)
-#define FLAG_VISITED_MAUVILLE_CITY (CODE_FLAGS + 0x18)
-#define FLAG_VISITED_RUSTBORO_CITY (CODE_FLAGS + 0x19)
-#define FLAG_VISITED_FORTREE_CITY (CODE_FLAGS + 0x1A)
-#define FLAG_VISITED_LILYCOVE_CITY (CODE_FLAGS + 0x1B)
-#define FLAG_VISITED_MOSSDEEP_CITY (CODE_FLAGS + 0x1C)
-#define FLAG_VISITED_SOOTOPOLIS_CITY (CODE_FLAGS + 0x1D)
-#define FLAG_VISITED_EVER_GRANDE_CITY (CODE_FLAGS + 0x1E)
+#define FLAG_SYS_SAFARI_MODE (SYS_FLAGS + 0x0)
+#define FLAG_SYS_VS_SEEKER_CHARGING (SYS_FLAGS + 0x1)
+#define FLAG_SYS_WHITE_FLUTE_ACTIVE (SYS_FLAGS + 0x3)
+#define FLAG_SYS_BLACK_FLUTE_ACTIVE (SYS_FLAGS + 0x4)
+#define FLAG_SYS_STRENGTH_ACTIVE (SYS_FLAGS + 0x5)
+#define FLAG_SYS_FLASH_ACTIVE (SYS_FLAGS + 0x6)
+#define FLAG_SYS_SPECIAL_WILD_BATTLE (SYS_FLAGS + 0x7)
-#define FLAG_0x87F (CODE_FLAGS + 0x1F)
-#define FLAG_0x880 (CODE_FLAGS + 0x20)
-#define FLAG_0x881 (CODE_FLAGS + 0x21)
-#define FLAG_0x882 (CODE_FLAGS + 0x22)
-#define FLAG_0x883 (CODE_FLAGS + 0x23)
-#define FLAG_0x884 (CODE_FLAGS + 0x24)
-#define FLAG_0x885 (CODE_FLAGS + 0x25)
-#define FLAG_0x886 (CODE_FLAGS + 0x26)
-#define FLAG_0x887 (CODE_FLAGS + 0x27)
+#define PERMA_SYS_FLAGS_START 0x820
+#define FLAG_BADGE01_GET (SYS_FLAGS + 0x20)
+#define FLAG_BADGE02_GET (SYS_FLAGS + 0x21)
+#define FLAG_BADGE03_GET (SYS_FLAGS + 0x22)
+#define FLAG_BADGE04_GET (SYS_FLAGS + 0x23)
+#define FLAG_BADGE05_GET (SYS_FLAGS + 0x24)
+#define FLAG_BADGE06_GET (SYS_FLAGS + 0x25)
+#define FLAG_BADGE07_GET (SYS_FLAGS + 0x26)
+#define FLAG_BADGE08_GET (SYS_FLAGS + 0x27)
+#define FLAG_SYS_POKEMON_GET (SYS_FLAGS + 0x28)
+#define FLAG_SYS_POKEDEX_GET (SYS_FLAGS + 0x29)
+#define FLAG_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_RUNNING_SHOES (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_PALLET_TOWN_LADY_MOVED_FROM_SIGN (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_SYS_CHANGED_BOX_TO_STORE_MON (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_SYS_GOT_MYSTIC_TICKET (SYS_FLAGS + 0x4A)
+#define FLAG_SYS_GOT_AURORA_TICKET (SYS_FLAGS + 0x4B)
-#define FLAG_SYS_USE_FLASH (CODE_FLAGS + 0x28)
-#define FLAG_SYS_USE_STRENGTH (CODE_FLAGS + 0x29)
-#define FLAG_SYS_WEATHER_CTRL (CODE_FLAGS + 0x2A)
-#define FLAG_SYS_CYCLING_ROAD (CODE_FLAGS + 0x2B)
-#define FLAG_0x88C (CODE_FLAGS + 0x2C)
-#define FLAG_SYS_CRUISE_MODE (CODE_FLAGS + 0x2D)
-
-#define FLAG_0x88E (CODE_FLAGS + 0x2E)
-#define FLAG_0x88F (CODE_FLAGS + 0x2F)
-
-#define FLAG_SYS_TV_HOME (CODE_FLAGS + 0x30)
-#define FLAG_SYS_TV_WATCH (CODE_FLAGS + 0x31)
-#define FLAG_SYS_TV_START (CODE_FLAGS + 0x32)
-#define FLAG_SYS_POPWORD_INPUT (CODE_FLAGS + 0x33)
-#define FLAG_SYS_MIX_RECORD (CODE_FLAGS + 0x34)
-#define FLAG_SYS_CLOCK_SET (CODE_FLAGS + 0x35)
-#define FLAG_SYS_NATIONAL_DEX (CODE_FLAGS + 0x36)
-#define FLAG_SYS_CAVE_SHIP (CODE_FLAGS + 0x37)
-#define FLAG_SYS_CAVE_WONDER (CODE_FLAGS + 0x38)
-#define FLAG_SYS_CAVE_BATTLE (CODE_FLAGS + 0x39)
-#define FLAG_SYS_SHOAL_TIDE (CODE_FLAGS + 0x3A)
-#define FLAG_SYS_RIBBON_GET (CODE_FLAGS + 0x3B)
-
-#define FLAG_0x89C (CODE_FLAGS + 0x3C)
-#define FLAG_0x89D (CODE_FLAGS + 0x3D)
-#define FLAG_0x89E (CODE_FLAGS + 0x3E)
-#define FLAG_0x89F (CODE_FLAGS + 0x3F)
-#define FLAG_0x8A0 (CODE_FLAGS + 0x40)
-#define FLAG_0x8A1 (CODE_FLAGS + 0x41)
-#define FLAG_0x8A2 (CODE_FLAGS + 0x42)
-#define FLAG_0x8A3 (CODE_FLAGS + 0x43)
-#define FLAG_0x8A4 (CODE_FLAGS + 0x44)
-#define FLAG_0x8A5 (CODE_FLAGS + 0x45)
-#define FLAG_0x8A6 (CODE_FLAGS + 0x46)
-#define FLAG_0x8A7 (CODE_FLAGS + 0x47)
-#define FLAG_UNLOCK_BATTLE_FRONTIER (CODE_FLAGS + 0x48)
-#define FLAG_UNLOCK_SOUTHERN_ISLAND (CODE_FLAGS + 0x49)
-#define FLAG_0x8AA (CODE_FLAGS + 0x4A)
-
-#define FLAG_SYS_PC_LANETTE (CODE_FLAGS + 0x4B)
-#define FLAG_SYS_MYSTERY_EVENT_ENABLE (CODE_FLAGS + 0x4C)
-#define FLAG_SYS_ENC_UP_ITEM (CODE_FLAGS + 0x4D)
-#define FLAG_SYS_ENC_DOWN_ITEM (CODE_FLAGS + 0x4E)
-#define FLAG_SYS_BRAILLE_DIG (CODE_FLAGS + 0x4F)
-#define FLAG_SYS_BRAILLE_STRENGTH (CODE_FLAGS + 0x50)
-#define FLAG_SYS_BRAILLE_WAIT (CODE_FLAGS + 0x51)
-#define FLAG_SYS_BRAILLE_FLY (CODE_FLAGS + 0x52)
-#define FLAG_SYS_HAS_EON_TICKET (CODE_FLAGS + 0x53)
-
-#define FLAG_SYS_POKEMON_LEAGUE_FLY (CODE_FLAGS + 0x54)
-
-#define FLAG_0x8B5 (CODE_FLAGS + 0x55)
-#define FLAG_0x8B6 (CODE_FLAGS + 0x56)
-#define FLAG_0x8B7 (CODE_FLAGS + 0x57)
-#define FLAG_0x8B8 (CODE_FLAGS + 0x58)
-#define FLAG_0x8B9 (CODE_FLAGS + 0x59)
-#define FLAG_0x8BA (CODE_FLAGS + 0x5A)
-#define FLAG_0x8BB (CODE_FLAGS + 0x5B)
-#define FLAG_0x8BC (CODE_FLAGS + 0x5C)
-
-#define FLAG_SYS_TV_LATI (CODE_FLAGS + 0x5D)
-
-#define FLAG_0x8BE (CODE_FLAGS + 0x5E)
-
-#define FLAG_SYS_SHOAL_ITEM (CODE_FLAGS + 0x5F)
-#define FLAG_SYS_B_DASH (CODE_FLAGS + 0x60) // got Running Shoes
-#define FLAG_SYS_CTRL_OBJ_DELETE (CODE_FLAGS + 0x61)
-#define FLAG_SYS_RESET_RTC_ENABLE (CODE_FLAGS + 0x62)
-
-#define FLAG_0x8C3 (CODE_FLAGS + 0x63)
-
-#define FLAG_SYS_TOWER_SILVER (CODE_FLAGS + 0x64)
-#define FLAG_SYS_TOWER_GOLD (CODE_FLAGS + 0x65)
-#define FLAG_SYS_DOME_SILVER (CODE_FLAGS + 0x66)
-#define FLAG_SYS_DOME_GOLD (CODE_FLAGS + 0x67)
-#define FLAG_SYS_PALACE_SILVER (CODE_FLAGS + 0x68)
-#define FLAG_SYS_PALACE_GOLD (CODE_FLAGS + 0x69)
-#define FLAG_SYS_ARENA_SILVER (CODE_FLAGS + 0x6A)
-#define FLAG_SYS_ARENA_GOLD (CODE_FLAGS + 0x6B)
-#define FLAG_SYS_FACTORY_SILVER (CODE_FLAGS + 0x6C)
-#define FLAG_SYS_FACTORY_GOLD (CODE_FLAGS + 0x6D)
-#define FLAG_SYS_PIKE_SILVER (CODE_FLAGS + 0x6E)
-#define FLAG_SYS_PIKE_GOLD (CODE_FLAGS + 0x6F)
-#define FLAG_SYS_PYRAMID_SILVER (CODE_FLAGS + 0x70)
-#define FLAG_SYS_PYRAMID_GOLD (CODE_FLAGS + 0x71)
-#define FLAG_SYS_FRONTIER_PASS (CODE_FLAGS + 0x72)
-
-#define FLAG_0x8D3 (CODE_FLAGS + 0x73)
-#define FLAG_0x8D4 (CODE_FLAGS + 0x74)
-#define FLAG_0x8D5 (CODE_FLAGS + 0x75)
-#define FLAG_0x8D6 (CODE_FLAGS + 0x76)
-
-#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (CODE_FLAGS + 0x77)
-
-#define FLAG_0x8D8 (CODE_FLAGS + 0x78)
-#define FLAG_0x8D9 (CODE_FLAGS + 0x79)
-#define FLAG_0x8DA (CODE_FLAGS + 0x7A)
+// World Map Flags
+#define FLAG_WORLD_MAP_PALLET_TOWN (SYS_FLAGS + 0x90)
+#define FLAG_WORLD_MAP_VIRIDIAN_CITY (SYS_FLAGS + 0x91)
+#define FLAG_WORLD_MAP_PEWTER_CITY (SYS_FLAGS + 0x92)
+#define FLAG_WORLD_MAP_CERULEAN_CITY (SYS_FLAGS + 0x93)
+#define FLAG_WORLD_MAP_LAVENDER_TOWN (SYS_FLAGS + 0x94)
+#define FLAG_WORLD_MAP_VERMILION_CITY (SYS_FLAGS + 0x95)
+#define FLAG_WORLD_MAP_CELADON_CITY (SYS_FLAGS + 0x96)
+#define FLAG_WORLD_MAP_FUCHSIA_CITY (SYS_FLAGS + 0x97)
+#define FLAG_WORLD_MAP_CINNABAR_ISLAND (SYS_FLAGS + 0x98)
+#define FLAG_WORLD_MAP_INDIGO_PLATEAU_EXTERIOR (SYS_FLAGS + 0x99)
+#define FLAG_WORLD_MAP_SAFFRON_CITY (SYS_FLAGS + 0x9A)
+#define FLAG_WORLD_MAP_ONE_ISLAND (SYS_FLAGS + 0x9B)
+#define FLAG_WORLD_MAP_TWO_ISLAND (SYS_FLAGS + 0x9C)
+#define FLAG_WORLD_MAP_THREE_ISLAND (SYS_FLAGS + 0x9D)
+#define FLAG_WORLD_MAP_FOUR_ISLAND (SYS_FLAGS + 0x9E)
+#define FLAG_WORLD_MAP_FIVE_ISLAND (SYS_FLAGS + 0x9F)
+#define FLAG_WORLD_MAP_SEVEN_ISLAND (SYS_FLAGS + 0xA0)
+#define FLAG_WORLD_MAP_SIX_ISLAND (SYS_FLAGS + 0xA1)
+#define FLAG_WORLD_MAP_ROUTE4_POKEMON_CENTER_1F (SYS_FLAGS + 0xA2)
+#define FLAG_WORLD_MAP_ROUTE10_POKEMON_CENTER_1F (SYS_FLAGS + 0xA3)
+#define FLAG_WORLD_MAP_VIRIDIAN_FOREST (SYS_FLAGS + 0xA4)
+#define FLAG_WORLD_MAP_MT_MOON_1F (SYS_FLAGS + 0xA5)
+#define FLAG_WORLD_MAP_SSANNE_EXTERIOR (SYS_FLAGS + 0xA6)
+#define FLAG_WORLD_MAP_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL (SYS_FLAGS + 0xA7)
+#define FLAG_WORLD_MAP_UNDERGROUND_PATH_EAST_WEST_TUNNEL (SYS_FLAGS + 0xA8)
+#define FLAG_WORLD_MAP_DIGLETTS_CAVE_B1F (SYS_FLAGS + 0xA9)
+#define FLAG_WORLD_MAP_VICTORY_ROAD_1F (SYS_FLAGS + 0xAA)
+#define FLAG_WORLD_MAP_ROCKET_HIDEOUT_B1F (SYS_FLAGS + 0xAB)
+#define FLAG_WORLD_MAP_SILPH_CO_1F (SYS_FLAGS + 0xAC)
+#define FLAG_WORLD_MAP_POKEMON_MANSION_1F (SYS_FLAGS + 0xAD)
+#define FLAG_WORLD_MAP_SAFARI_ZONE_CENTER (SYS_FLAGS + 0xAE)
+#define FLAG_WORLD_MAP_POKEMON_LEAGUE_LORELEIS_ROOM (SYS_FLAGS + 0xAF)
+#define FLAG_WORLD_MAP_ROCK_TUNNEL_1F (SYS_FLAGS + 0xB0)
+#define FLAG_WORLD_MAP_SEAFOAM_ISLANDS_1F (SYS_FLAGS + 0xB1)
+#define FLAG_WORLD_MAP_POKEMON_TOWER_1F (SYS_FLAGS + 0xB2)
+#define FLAG_WORLD_MAP_CERULEAN_CAVE_1F (SYS_FLAGS + 0xB3)
+#define FLAG_WORLD_MAP_POWER_PLANT (SYS_FLAGS + 0xB4)
+#define FLAG_WORLD_MAP_NAVEL_ROCK_EXTERIOR (SYS_FLAGS + 0xB5)
+#define FLAG_WORLD_MAP_MT_EMBER_EXTERIOR (SYS_FLAGS + 0xB6)
+#define FLAG_WORLD_MAP_THREE_ISLAND_BERRY_FOREST (SYS_FLAGS + 0xB7)
+#define FLAG_WORLD_MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE (SYS_FLAGS + 0xB8)
+#define FLAG_WORLD_MAP_FIVE_ISLAND_ROCKET_WAREHOUSE (SYS_FLAGS + 0xB9)
+#define FLAG_WORLD_MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY (SYS_FLAGS + 0xBA)
+#define FLAG_WORLD_MAP_SIX_ISLAND_DOTTED_HOLE_1F (SYS_FLAGS + 0xBB)
+#define FLAG_WORLD_MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE (SYS_FLAGS + 0xBC)
+#define FLAG_WORLD_MAP_SIX_ISLAND_PATTERN_BUSH (SYS_FLAGS + 0xBD)
+#define FLAG_WORLD_MAP_SIX_ISLAND_ALTERING_CAVE (SYS_FLAGS + 0xBE)
+#define FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER (SYS_FLAGS + 0xBF)
+#define FLAG_WORLD_MAP_THREE_ISLAND_DUNSPARCE_TUNNEL (SYS_FLAGS + 0xC0)
+#define FLAG_WORLD_MAP_SEVEN_ISLAND_SEAVAULT_CANYON_TANOBY_KEY (SYS_FLAGS + 0xC1)
+#define FLAG_WORLD_MAP_BIRTH_ISLAND_EXTERIOR (SYS_FLAGS + 0xC2)
-#define FLAG_SYS_MYSTERY_GIFT_ENABLE (CODE_FLAGS + 0x7B)
+#define FLAG_0x8D5 (SYS_FLAGS + 0xD5)
+#define FLAG_0x8D6 (SYS_FLAGS + 0xD6)
-#define FLAG_0x8DC (CODE_FLAGS + 0x7C)
-#define FLAG_0x8DD (CODE_FLAGS + 0x7D)
-#define FLAG_0x8DE (CODE_FLAGS + 0x7E)
-#define FLAG_0x8DF (CODE_FLAGS + 0x7F)
-#define FLAG_0x8E0 (CODE_FLAGS + 0x80)
-#define FLAG_0x8E1 (CODE_FLAGS + 0x81)
-#define FLAG_0x8E2 (CODE_FLAGS + 0x82)
-#define FLAG_0x8E3 (CODE_FLAGS + 0x83)
-#define FLAG_0x8E4 (CODE_FLAGS + 0x84)
-#define FLAG_0x8E5 (CODE_FLAGS + 0x85)
-#define FLAG_0x8E6 (CODE_FLAGS + 0x86)
-#define FLAG_0x8E7 (CODE_FLAGS + 0x87)
-#define FLAG_0x8E8 (CODE_FLAGS + 0x88)
-#define FLAG_0x8E9 (CODE_FLAGS + 0x89)
-#define FLAG_0x8EA (CODE_FLAGS + 0x8A)
-#define FLAG_0x8EB (CODE_FLAGS + 0x8B)
-#define FLAG_0x8EC (CODE_FLAGS + 0x8C)
-#define FLAG_0x8ED (CODE_FLAGS + 0x8D)
-#define FLAG_0x8EE (CODE_FLAGS + 0x8E)
-#define FLAG_0x8EF (CODE_FLAGS + 0x8F)
-#define FLAG_0x8F0 (CODE_FLAGS + 0x90)
-#define FLAG_0x8F1 (CODE_FLAGS + 0x91)
-#define FLAG_0x8F2 (CODE_FLAGS + 0x92)
-#define FLAG_0x8F3 (CODE_FLAGS + 0x93)
-#define FLAG_0x8F4 (CODE_FLAGS + 0x94)
-#define FLAG_0x8F5 (CODE_FLAGS + 0x95)
-#define FLAG_0x8F6 (CODE_FLAGS + 0x96)
-#define FLAG_0x8F7 (CODE_FLAGS + 0x97)
-#define FLAG_0x8F8 (CODE_FLAGS + 0x98)
-#define FLAG_0x8F9 (CODE_FLAGS + 0x99)
-#define FLAG_0x8FA (CODE_FLAGS + 0x9A)
-#define FLAG_0x8FB (CODE_FLAGS + 0x9B)
-#define FLAG_0x8FC (CODE_FLAGS + 0x9C)
-#define FLAG_0x8FD (CODE_FLAGS + 0x9D)
-#define FLAG_0x8FE (CODE_FLAGS + 0x9E)
-#define FLAG_0x8FF (CODE_FLAGS + 0x9F)
-#define FLAG_0x900 (CODE_FLAGS + 0xA0)
-#define FLAG_0x901 (CODE_FLAGS + 0xA1)
-#define FLAG_0x902 (CODE_FLAGS + 0xA2)
-#define FLAG_0x903 (CODE_FLAGS + 0xA3)
-#define FLAG_0x904 (CODE_FLAGS + 0xA4)
-#define FLAG_0x905 (CODE_FLAGS + 0xA5)
-#define FLAG_0x906 (CODE_FLAGS + 0xA6)
-#define FLAG_0x907 (CODE_FLAGS + 0xA7)
-#define FLAG_0x908 (CODE_FLAGS + 0xA8)
-#define FLAG_0x909 (CODE_FLAGS + 0xA9)
-#define FLAG_0x90A (CODE_FLAGS + 0xAA)
-#define FLAG_0x90B (CODE_FLAGS + 0xAB)
-#define FLAG_0x90C (CODE_FLAGS + 0xAC)
-#define FLAG_0x90D (CODE_FLAGS + 0xAD)
-#define FLAG_0x90E (CODE_FLAGS + 0xAE)
-#define FLAG_0x90F (CODE_FLAGS + 0xAF)
-#define FLAG_0x910 (CODE_FLAGS + 0xB0)
-#define FLAG_0x911 (CODE_FLAGS + 0xB1)
-#define FLAG_0x912 (CODE_FLAGS + 0xB2)
-#define FLAG_0x913 (CODE_FLAGS + 0xB3)
-#define FLAG_0x914 (CODE_FLAGS + 0xB4)
-#define FLAG_0x915 (CODE_FLAGS + 0xB5)
-#define FLAG_0x916 (CODE_FLAGS + 0xB6)
-#define FLAG_0x917 (CODE_FLAGS + 0xB7)
-#define FLAG_0x918 (CODE_FLAGS + 0xB8)
-#define FLAG_0x919 (CODE_FLAGS + 0xB9)
-#define FLAG_0x91A (CODE_FLAGS + 0xBA)
-#define FLAG_0x91B (CODE_FLAGS + 0xBB)
-#define FLAG_0x91C (CODE_FLAGS + 0xBC)
-#define FLAG_0x91D (CODE_FLAGS + 0xBD)
-#define FLAG_0x91E (CODE_FLAGS + 0xBE)
-#define FLAG_0x91F (CODE_FLAGS + 0xBF)
-#define FLAG_0x920 (CODE_FLAGS + 0xC0)
-#define FLAG_0x921 (CODE_FLAGS + 0xC1)
-#define FLAG_0x922 (CODE_FLAGS + 0xC2)
-#define FLAG_0x923 (CODE_FLAGS + 0xC3)
-#define FLAG_0x924 (CODE_FLAGS + 0xC4)
-#define FLAG_0x925 (CODE_FLAGS + 0xC5)
-#define FLAG_0x926 (CODE_FLAGS + 0xC6)
-#define FLAG_0x927 (CODE_FLAGS + 0xC7)
-#define FLAG_0x928 (CODE_FLAGS + 0xC8)
-#define FLAG_0x929 (CODE_FLAGS + 0xC9)
-#define FLAG_0x92A (CODE_FLAGS + 0xCA)
-#define FLAG_0x92B (CODE_FLAGS + 0xCB)
-#define FLAG_0x92C (CODE_FLAGS + 0xCC)
-#define FLAG_0x92D (CODE_FLAGS + 0xCD)
-#define FLAG_0x92E (CODE_FLAGS + 0xCE)
-#define FLAG_0x92F (CODE_FLAGS + 0xCF)
-#define FLAG_0x930 (CODE_FLAGS + 0xD0)
-#define FLAG_0x931 (CODE_FLAGS + 0xD1)
-#define FLAG_0x932 (CODE_FLAGS + 0xD2)
-#define FLAG_0x933 (CODE_FLAGS + 0xD3)
-#define FLAG_0x934 (CODE_FLAGS + 0xD4)
-#define FLAG_0x935 (CODE_FLAGS + 0xD5)
-#define FLAG_0x936 (CODE_FLAGS + 0xD6)
-#define FLAG_0x937 (CODE_FLAGS + 0xD7)
-#define FLAG_0x938 (CODE_FLAGS + 0xD8)
-#define FLAG_0x939 (CODE_FLAGS + 0xD9)
-#define FLAG_0x93A (CODE_FLAGS + 0xDA)
-#define FLAG_0x93B (CODE_FLAGS + 0xDB)
-#define FLAG_0x93C (CODE_FLAGS + 0xDC)
-#define FLAG_0x93D (CODE_FLAGS + 0xDD)
-#define FLAG_0x93E (CODE_FLAGS + 0xDE)
-#define FLAG_0x93F (CODE_FLAGS + 0xDF)
-#define FLAG_0x940 (CODE_FLAGS + 0xE0)
-#define FLAG_0x941 (CODE_FLAGS + 0xE1)
-#define FLAG_0x942 (CODE_FLAGS + 0xE2)
-#define FLAG_0x943 (CODE_FLAGS + 0xE3)
-#define FLAG_0x944 (CODE_FLAGS + 0xE4)
-#define FLAG_0x945 (CODE_FLAGS + 0xE5)
-#define FLAG_0x946 (CODE_FLAGS + 0xE6)
-#define FLAG_0x947 (CODE_FLAGS + 0xE7)
-#define FLAG_0x948 (CODE_FLAGS + 0xE8)
-#define FLAG_0x949 (CODE_FLAGS + 0xE9)
-#define FLAG_0x94A (CODE_FLAGS + 0xEA)
-#define FLAG_0x94B (CODE_FLAGS + 0xEB)
-#define FLAG_0x94C (CODE_FLAGS + 0xEC)
-#define FLAG_0x94D (CODE_FLAGS + 0xED)
-#define FLAG_0x94E (CODE_FLAGS + 0xEE)
-#define FLAG_0x94F (CODE_FLAGS + 0xEF)
-#define FLAG_0x950 (CODE_FLAGS + 0xF0)
-#define FLAG_0x951 (CODE_FLAGS + 0xF1)
-#define FLAG_0x952 (CODE_FLAGS + 0xF2)
-#define FLAG_0x953 (CODE_FLAGS + 0xF3)
-#define FLAG_0x954 (CODE_FLAGS + 0xF4)
-#define FLAG_0x955 (CODE_FLAGS + 0xF5)
-#define FLAG_0x956 (CODE_FLAGS + 0xF6)
-#define FLAG_0x957 (CODE_FLAGS + 0xF7)
-#define FLAG_0x958 (CODE_FLAGS + 0xF8)
-#define FLAG_0x959 (CODE_FLAGS + 0xF9)
-#define FLAG_0x95A (CODE_FLAGS + 0xFA)
-#define FLAG_0x95B (CODE_FLAGS + 0xFB)
-#define FLAG_0x95C (CODE_FLAGS + 0xFC)
-#define FLAG_0x95D (CODE_FLAGS + 0xFD)
-#define FLAG_0x95E (CODE_FLAGS + 0xFE)
-#define FLAG_0x95F (CODE_FLAGS + 0xFF)
+#define FLAG_0x8E0 (SYS_FLAGS + 0xE0)
// SPECIAL FLAGS (unknown purpose)
+#define SPECIAL_FLAGS_START 0x4000
+#define SPECIAL_FLAGS_COUNT 16
#define FLAG_SPECIAL_FLAG_0x4000 0x4000
#define FLAG_SPECIAL_FLAG_0x4001 0x4001
#define FLAG_SPECIAL_FLAG_0x4002 0x4002
diff --git a/include/constants/layouts.h b/include/constants/layouts.h
index f4f2a8a29..3d17cd441 100644
--- a/include/constants/layouts.h
+++ b/include/constants/layouts.h
@@ -301,7 +301,7 @@
#define LAYOUT_ONE_ISLAND_POKEMON_CENTER_2F 316
#define LAYOUT_SIX_ISLAND_PATTERN_BUSH 317
#define LAYOUT_THREE_ISLAND_DUNSPARCE_TUNNEL 318
-#define LAYOUT_UNUSED_LAYOUT_83453C0 319
+#define LAYOUT_THREE_ISLAND_DUNSPARCE_TUNNEL_2 319
#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ENTRANCE 320
#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM1 321
#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM2 322
diff --git a/include/constants/map_objects.h b/include/constants/map_objects.h
index d5b983005..39c8871e1 100644
--- a/include/constants/map_objects.h
+++ b/include/constants/map_objects.h
@@ -1,252 +1,175 @@
#ifndef GUARD_CONSTANTS_MAP_OBJECTS_H
#define GUARD_CONSTANTS_MAP_OBJECTS_H
-#define MAP_OBJ_GFX_BRENDAN_NORMAL 0
-#define MAP_OBJ_GFX_BRENDAN_MACH_BIKE 1
-#define MAP_OBJ_GFX_BRENDAN_SURFING 2
-#define MAP_OBJ_GFX_BRENDAN_FIELD_MOVE 3
-#define MAP_OBJ_GFX_QUINTY_PLUMP 4
-#define MAP_OBJ_GFX_LITTLE_BOY_1 5
-#define MAP_OBJ_GFX_LITTLE_GIRL_1 6
-#define MAP_OBJ_GFX_BOY_1 7
-#define MAP_OBJ_GFX_GIRL_1 8
-#define MAP_OBJ_GFX_BOY_2 9
-#define MAP_OBJ_GFX_GIRL_2 10
-#define MAP_OBJ_GFX_LITTLE_BOY_2 11
-#define MAP_OBJ_GFX_LITTLE_GIRL_2 12
-#define MAP_OBJ_GFX_BOY_3 13
-#define MAP_OBJ_GFX_GIRL_3 14
-#define MAP_OBJ_GFX_BOY_4 15
-#define MAP_OBJ_GFX_WOMAN_1 16
-#define MAP_OBJ_GFX_FAT_MAN 17
-#define MAP_OBJ_GFX_WOMAN_2 18
-#define MAP_OBJ_GFX_MAN_1 19
-#define MAP_OBJ_GFX_WOMAN_3 20
-#define MAP_OBJ_GFX_OLD_MAN_1 21
-#define MAP_OBJ_GFX_OLD_WOMAN_1 22
-#define MAP_OBJ_GFX_MAN_2 23
-#define MAP_OBJ_GFX_WOMAN_4 24
-#define MAP_OBJ_GFX_MAN_3 25
-#define MAP_OBJ_GFX_WOMAN_5 26
-#define MAP_OBJ_GFX_COOK 27
-#define MAP_OBJ_GFX_WOMAN_6 28
-#define MAP_OBJ_GFX_OLD_MAN_2 29
-#define MAP_OBJ_GFX_OLD_WOMAN_2 30
-#define MAP_OBJ_GFX_CAMPER 31
-#define MAP_OBJ_GFX_PICNICKER 32
-#define MAP_OBJ_GFX_MAN_4 33
-#define MAP_OBJ_GFX_WOMAN_7 34
-#define MAP_OBJ_GFX_YOUNGSTER 35
-#define MAP_OBJ_GFX_BUG_CATCHER 36
-#define MAP_OBJ_GFX_PSYCHIC_M 37
-#define MAP_OBJ_GFX_SCHOOL_KID_M 38
-#define MAP_OBJ_GFX_MANIAC 39
-#define MAP_OBJ_GFX_HEX_MANIAC 40
-#define MAP_OBJ_GFX_RAYQUAZA_1 41
-#define MAP_OBJ_GFX_SWIMMER_M 42
-#define MAP_OBJ_GFX_SWIMMER_F 43
-#define MAP_OBJ_GFX_BLACK_BELT 44
-#define MAP_OBJ_GFX_BEAUTY 45
-#define MAP_OBJ_GFX_SCIENTIST_1 46
-#define MAP_OBJ_GFX_LASS 47
-#define MAP_OBJ_GFX_GENTLEMAN 48
-#define MAP_OBJ_GFX_SAILOR 49
-#define MAP_OBJ_GFX_FISHERMAN 50
-#define MAP_OBJ_GFX_RUNNING_TRIATHLETE_M 51
-#define MAP_OBJ_GFX_RUNNING_TRIATHLETE_F 52
-#define MAP_OBJ_GFX_TUBER_F 53
-#define MAP_OBJ_GFX_TUBER_M 54
-#define MAP_OBJ_GFX_HIKER 55
-#define MAP_OBJ_GFX_CYCLING_TRIATHLETE_M 56
-#define MAP_OBJ_GFX_CYCLING_TRIATHLETE_F 57
-#define MAP_OBJ_GFX_NURSE 58
-#define MAP_OBJ_GFX_ITEM_BALL 59
-#define MAP_OBJ_GFX_BERRY_TREE 60
-#define MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES 61
-#define MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES 62
-#define MAP_OBJ_GFX_BRENDAN_ACRO_BIKE 63
-#define MAP_OBJ_GFX_PROF_BIRCH 64
-#define MAP_OBJ_GFX_MAN_5 65
-#define MAP_OBJ_GFX_MAN_6 66
-#define MAP_OBJ_GFX_REPORTER_M 67
-#define MAP_OBJ_GFX_REPORTER_F 68
-#define MAP_OBJ_GFX_BARD 69
-#define MAP_OBJ_GFX_ANABEL 70
-#define MAP_OBJ_GFX_TUCKER 71
-#define MAP_OBJ_GFX_GRETA 72
-#define MAP_OBJ_GFX_SPENSER 73
-#define MAP_OBJ_GFX_NOLAND 74
-#define MAP_OBJ_GFX_LUCY 75
-#define MAP_OBJ_GFX_UNUSED_NATU_DOLL 76
-#define MAP_OBJ_GFX_UNUSED_MAGNEMITE_DOLL 77
-#define MAP_OBJ_GFX_UNUSED_SQUIRTLE_DOLL 78
-#define MAP_OBJ_GFX_UNUSED_WOOPER_DOLL 79
-#define MAP_OBJ_GFX_UNUSED_PIKACHU_DOLL 80
-#define MAP_OBJ_GFX_UNUSED_PORYGON2_DOLL 81
-#define MAP_OBJ_GFX_CUTTABLE_TREE 82
-#define MAP_OBJ_GFX_MART_EMPLOYEE 83
-#define MAP_OBJ_GFX_ROOFTOP_SALE_WOMAN 84
-#define MAP_OBJ_GFX_TEALA 85
-#define MAP_OBJ_GFX_BREAKABLE_ROCK 86
-#define MAP_OBJ_GFX_PUSHABLE_BOULDER 87
-#define MAP_OBJ_GFX_MR_BRINEYS_BOAT 88
-#define MAP_OBJ_GFX_MAY_NORMAL 89
-#define MAP_OBJ_GFX_MAY_MACH_BIKE 90
-#define MAP_OBJ_GFX_MAY_ACRO_BIKE 91
-#define MAP_OBJ_GFX_MAY_SURFING 92
-#define MAP_OBJ_GFX_MAY_FIELD_MOVE 93
-#define MAP_OBJ_GFX_TRUCK 94
-#define MAP_OBJ_GFX_VIGAROTH_CARRYING_BOX 95
-#define MAP_OBJ_GFX_VIGAROTH_FACING_AWAY 96
-#define MAP_OBJ_GFX_BIRCHS_BAG 97
-#define MAP_OBJ_GFX_ZIGZAGOON_1 98
-#define MAP_OBJ_GFX_ARTIST 99
-#define MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL 100
-#define MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE 101
-#define MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE 102
-#define MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING 103
-#define MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE 104
-#define MAP_OBJ_GFX_RIVAL_MAY_NORMAL 105
-#define MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE 106
-#define MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE 107
-#define MAP_OBJ_GFX_RIVAL_MAY_SURFING 108
-#define MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE 109
-#define MAP_OBJ_GFX_CAMERAMAN 110
-#define MAP_OBJ_GFX_BRENDAN_UNDERWATER 111
-#define MAP_OBJ_GFX_MAY_UNDERWATER 112
-#define MAP_OBJ_GFX_MOVING_BOX 113
-#define MAP_OBJ_GFX_CABLE_CAR 114
-#define MAP_OBJ_GFX_SCIENTIST_2 115
-#define MAP_OBJ_GFX_MAN_7 116
-#define MAP_OBJ_GFX_AQUA_MEMBER_M 117
-#define MAP_OBJ_GFX_AQUA_MEMBER_F 118
-#define MAP_OBJ_GFX_MAGMA_MEMBER_M 119
-#define MAP_OBJ_GFX_MAGMA_MEMBER_F 120
-#define MAP_OBJ_GFX_SIDNEY 121
-#define MAP_OBJ_GFX_PHOEBE 122
-#define MAP_OBJ_GFX_GLACIA 123
-#define MAP_OBJ_GFX_DRAKE 124
-#define MAP_OBJ_GFX_ROXANNE 125
-#define MAP_OBJ_GFX_BRAWLY 126
-#define MAP_OBJ_GFX_WATTSON 127
-#define MAP_OBJ_GFX_FLANNERY 128
-#define MAP_OBJ_GFX_NORMAN 129
-#define MAP_OBJ_GFX_WINONA 130
-#define MAP_OBJ_GFX_LIZA 131
-#define MAP_OBJ_GFX_TATE 132
-#define MAP_OBJ_GFX_WALLACE 133
-#define MAP_OBJ_GFX_STEVEN 134
-#define MAP_OBJ_GFX_WALLY 135
-#define MAP_OBJ_GFX_LITTLE_BOY_3 136
-#define MAP_OBJ_GFX_BRENDAN_FISHING 137
-#define MAP_OBJ_GFX_MAY_FISHING 138
-#define MAP_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN 139
-#define MAP_OBJ_GFX_SS_TIDAL 140
-#define MAP_OBJ_GFX_SUBMARINE_SHADOW 141
-#define MAP_OBJ_GFX_PICHU_DOLL 142
-#define MAP_OBJ_GFX_PIKACHU_DOLL 143
-#define MAP_OBJ_GFX_MARILL_DOLL 144
-#define MAP_OBJ_GFX_TOGEPI_DOLL 145
-#define MAP_OBJ_GFX_CYNDAQUIL_DOLL 146
-#define MAP_OBJ_GFX_CHIKORITA_DOLL 147
-#define MAP_OBJ_GFX_TOTODILE_DOLL 148
-#define MAP_OBJ_GFX_JIGGLYPUFF_DOLL 149
-#define MAP_OBJ_GFX_MEOWTH_DOLL 150
-#define MAP_OBJ_GFX_CLEFAIRY_DOLL 151
-#define MAP_OBJ_GFX_DITTO_DOLL 152
-#define MAP_OBJ_GFX_SMOOCHUM_DOLL 153
-#define MAP_OBJ_GFX_TREECKO_DOLL 154
-#define MAP_OBJ_GFX_TORCHIC_DOLL 155
-#define MAP_OBJ_GFX_MUDKIP_DOLL 156
-#define MAP_OBJ_GFX_DUSKULL_DOLL 157
-#define MAP_OBJ_GFX_WYNAUT_DOLL 158
-#define MAP_OBJ_GFX_BALTOY_DOLL 159
-#define MAP_OBJ_GFX_KECLEON_DOLL 160
-#define MAP_OBJ_GFX_AZURILL_DOLL 161
-#define MAP_OBJ_GFX_SKITTY_DOLL 162
-#define MAP_OBJ_GFX_SWABLU_DOLL 163
-#define MAP_OBJ_GFX_GULPIN_DOLL 164
-#define MAP_OBJ_GFX_LOTAD_DOLL 165
-#define MAP_OBJ_GFX_SEEDOT_DOLL 166
-#define MAP_OBJ_GFX_PIKA_CUSHION 167
-#define MAP_OBJ_GFX_ROUND_CUSHION 168
-#define MAP_OBJ_GFX_KISS_CUSHION 169
-#define MAP_OBJ_GFX_ZIGZAG_CUSHION 170
-#define MAP_OBJ_GFX_SPIN_CUSHION 171
-#define MAP_OBJ_GFX_DIAMOND_CUSHION 172
-#define MAP_OBJ_GFX_BALL_CUSHION 173
-#define MAP_OBJ_GFX_GRASS_CUSHION 174
-#define MAP_OBJ_GFX_FIRE_CUSHION 175
-#define MAP_OBJ_GFX_WATER_CUSHION 176
-#define MAP_OBJ_GFX_BIG_SNORLAX_DOLL 177
-#define MAP_OBJ_GFX_BIG_RHYDON_DOLL 178
-#define MAP_OBJ_GFX_BIG_LAPRAS_DOLL 179
-#define MAP_OBJ_GFX_BIG_VENUSAUR_DOLL 180
-#define MAP_OBJ_GFX_BIG_CHARIZARD_DOLL 181
-#define MAP_OBJ_GFX_BIG_BLASTOISE_DOLL 182
-#define MAP_OBJ_GFX_BIG_WAILMER_DOLL 183
-#define MAP_OBJ_GFX_BIG_REGIROCK_DOLL 184
-#define MAP_OBJ_GFX_BIG_REGICE_DOLL 185
-#define MAP_OBJ_GFX_BIG_REGISTEEL_DOLL 186
-#define MAP_OBJ_GFX_LATIAS 187
-#define MAP_OBJ_GFX_LATIOS 188
-#define MAP_OBJ_GFX_BOY_5 189
-#define MAP_OBJ_GFX_CONTEST_JUDGE 190
-#define MAP_OBJ_GFX_BRENDAN_WATERING 191
-#define MAP_OBJ_GFX_MAY_WATERING 192
-#define MAP_OBJ_GFX_BRENDAN_DECORATING 193
-#define MAP_OBJ_GFX_MAY_DECORATING 194
-#define MAP_OBJ_GFX_ARCHIE 195
-#define MAP_OBJ_GFX_MAXIE 196
-#define MAP_OBJ_GFX_KYOGRE_1 197
-#define MAP_OBJ_GFX_GROUDON_1 198
-#define MAP_OBJ_GFX_FOSSIL 199
-#define MAP_OBJ_GFX_REGIROCK 200
-#define MAP_OBJ_GFX_REGICE 201
-#define MAP_OBJ_GFX_REGISTEEL 202
-#define MAP_OBJ_GFX_SKITTY 203
-#define MAP_OBJ_GFX_KECLEON_1 204
-#define MAP_OBJ_GFX_KYOGRE_2 205
-#define MAP_OBJ_GFX_GROUDON_2 206
-#define MAP_OBJ_GFX_RAYQUAZA_2 207
-#define MAP_OBJ_GFX_ZIGZAGOON_2 208
-#define MAP_OBJ_GFX_PIKACHU 209
-#define MAP_OBJ_GFX_AZUMARILL 210
-#define MAP_OBJ_GFX_WINGULL 211
-#define MAP_OBJ_GFX_KECLEON_2 212
-#define MAP_OBJ_GFX_TUBER_M_SWIMMING 213
-#define MAP_OBJ_GFX_AZURILL 214
-#define MAP_OBJ_GFX_MOM 215
-#define MAP_OBJ_GFX_LINK_BRENDAN 216
-#define MAP_OBJ_GFX_LINK_MAY 217
-#define MAP_OBJ_GFX_JUAN 218
-#define MAP_OBJ_GFX_SCOTT 219
-#define MAP_OBJ_GFX_POOCHYENA 220
-#define MAP_OBJ_GFX_KYOGRE_3 221
-#define MAP_OBJ_GFX_GROUDON_3 222
-#define MAP_OBJ_GFX_MYSTERY_GIFT_MAN 223
-#define MAP_OBJ_GFX_TRICK_HOUSE_STATUE 224
-#define MAP_OBJ_GFX_KIRLIA 225
-#define MAP_OBJ_GFX_DUSCLOPS 226
-#define MAP_OBJ_GFX_UNION_ROOM_NURSE 227
-#define MAP_OBJ_GFX_SUDOWOODO 228
-#define MAP_OBJ_GFX_MEW 229
-#define MAP_OBJ_GFX_RED 230
-#define MAP_OBJ_GFX_LEAF 231
-#define MAP_OBJ_GFX_DEOXYS 232
-#define MAP_OBJ_GFX_DEOXYS_TRIANGLE 233
-#define MAP_OBJ_GFX_BRANDON 234
-#define MAP_OBJ_GFX_LINK_RS_BRENDAN 235
-#define MAP_OBJ_GFX_LINK_RS_MAY 236
-#define MAP_OBJ_GFX_LUGIA 237
-#define MAP_OBJ_GFX_HOOH 238
-#define MAP_OBJ_GFX_BARD_2 239
-#define MAP_OBJ_GFX_HIPSTER 240
-#define MAP_OBJ_GFX_TRADER 241
-#define MAP_OBJ_GFX_STORYTELLER 242
-#define MAP_OBJ_GFX_GIDDY 243
-#define MAP_OBJ_GFX_PLACEHOLDER_1 244
-#define MAP_OBJ_GFX_PLACEHOLDER_2 245
+#define MAP_OBJ_GFX_RED_NORMAL 0
+#define MAP_OBJ_GFX_RED_BIKE 1
+#define MAP_OBJ_GFX_RED_RUN 2
+#define MAP_OBJ_GFX_RED_ITEM 3
+#define MAP_OBJ_GFX_RED_FISH 4
+#define MAP_OBJ_GFX_RED_ITEM_COPY 5
+#define MAP_OBJ_GFX_RED_VS_SEEKER 6
+#define MAP_OBJ_GFX_GREEN_NORMAL 7
+#define MAP_OBJ_GFX_GREEN_BIKE 8
+#define MAP_OBJ_GFX_GREEN_RUN 9
+#define MAP_OBJ_GFX_GREEN_ITEM 10
+#define MAP_OBJ_GFX_GREEN_FISH 11
+#define MAP_OBJ_GFX_GREEN_ITEM_COPY 12
+#define MAP_OBJ_GFX_GREEN_VS_SEEKER 13
+#define MAP_OBJ_GFX_RS_BRENDAN 14
+#define MAP_OBJ_GFX_RS_MAY 15
+#define MAP_OBJ_GFX_LITTLE_BOY 16
+#define MAP_OBJ_GFX_LITTLE_GIRL 17
+#define MAP_OBJ_GFX_YOUNGSTER 18
+#define MAP_OBJ_GFX_BOY 19
+#define MAP_OBJ_GFX_BUG_CATCHER 20
+#define MAP_OBJ_GFX_SITTING_BOY 21
+#define MAP_OBJ_GFX_LASS 22
+#define MAP_OBJ_GFX_WOMAN_1 23
+#define MAP_OBJ_GFX_BATTLE_GIRL 24
+#define MAP_OBJ_GFX_MAN 25
+#define MAP_OBJ_GFX_ROCKER 26
+#define MAP_OBJ_GFX_FAT_MAN 27
+#define MAP_OBJ_GFX_WOMAN_2 28
+#define MAP_OBJ_GFX_BEAUTY 29
+#define MAP_OBJ_GFX_BALDING_MAN 30
+#define MAP_OBJ_GFX_WOMAN_3 31
+#define MAP_OBJ_GFX_OLD_MAN_1 32
+#define MAP_OBJ_GFX_OLD_MAN_2 33
+#define MAP_OBJ_GFX_VIRIDIAN_DRUNK 34
+#define MAP_OBJ_GFX_OLD_WOMAN 35
+#define MAP_OBJ_GFX_TUBER_M_1 36
+#define MAP_OBJ_GFX_TUBER_F 37
+#define MAP_OBJ_GFX_TUBER_M_2 38
+#define MAP_OBJ_GFX_CAMPER 39
+#define MAP_OBJ_GFX_PICNICKER 40
+#define MAP_OBJ_GFX_COOLTRAINER_M 41
+#define MAP_OBJ_GFX_COOLTRAINER_F 42
+#define MAP_OBJ_GFX_SWIMMER_M_WATER 43
+#define MAP_OBJ_GFX_SWIMMER_F_WATER 44
+#define MAP_OBJ_GFX_SWIMMER_M_LAND 45
+#define MAP_OBJ_GFX_SWIMMER_F_LAND 46
+#define MAP_OBJ_GFX_WORKER_M 47
+#define MAP_OBJ_GFX_WORKER_F 48
+#define MAP_OBJ_GFX_ROCKET_M 49
+#define MAP_OBJ_GFX_ROCKET_F 50
+#define MAP_OBJ_GFX_GBA_KID 51
+#define MAP_OBJ_GFX_SUPER_NERD 52
+#define MAP_OBJ_GFX_BIKER 53
+#define MAP_OBJ_GFX_BLACKBELT 54
+#define MAP_OBJ_GFX_SCIENTIST 55
+#define MAP_OBJ_GFX_HIKER 56
+#define MAP_OBJ_GFX_FISHER 57
+#define MAP_OBJ_GFX_CHANNELER 58
+#define MAP_OBJ_GFX_CHEF 59
+#define MAP_OBJ_GFX_POLICEMAN 60
+#define MAP_OBJ_GFX_GENTLEMAN 61
+#define MAP_OBJ_GFX_SAILOR 62
+#define MAP_OBJ_GFX_CAPTAIN 63
+#define MAP_OBJ_GFX_NURSE 64
+#define MAP_OBJ_GFX_CABLE_CLUB_RECEPTIONIST 65
+#define MAP_OBJ_GFX_UNION_ROOM_RECEPTIONIST 66
+#define MAP_OBJ_GFX_UNUSED_MALE_RECEPTIONIST 67
+#define MAP_OBJ_GFX_CLERK 68
+#define MAP_OBJ_GFX_MG_DELIVERYMAN 69
+#define MAP_OBJ_GFX_TRAINER_TOWER_DUDE 70
+#define MAP_OBJ_GFX_PROF_OAK 71
+#define MAP_OBJ_GFX_BLUE 72
+#define MAP_OBJ_GFX_BILL 73
+#define MAP_OBJ_GFX_LANCE 74
+#define MAP_OBJ_GFX_AGATHA 75
+#define MAP_OBJ_GFX_DAISY 76
+#define MAP_OBJ_GFX_LORELEI 77
+#define MAP_OBJ_GFX_MR_FUJI 78
+#define MAP_OBJ_GFX_BRUNO 79
+#define MAP_OBJ_GFX_BROCK 80
+#define MAP_OBJ_GFX_MISTY 81
+#define MAP_OBJ_GFX_LT_SURGE 82
+#define MAP_OBJ_GFX_ERIKA 83
+#define MAP_OBJ_GFX_KOGA 84
+#define MAP_OBJ_GFX_SABRINA 85
+#define MAP_OBJ_GFX_BLAINE 86
+#define MAP_OBJ_GFX_GIOVANNI 87
+#define MAP_OBJ_GFX_MOM 88
+#define MAP_OBJ_GFX_CELIO 89
+#define MAP_OBJ_GFX_TEACHY_TV_HOST 90
+#define MAP_OBJ_GFX_GYM_GUY 91
+#define MAP_OBJ_GFX_ITEM_BALL 92
+#define MAP_OBJ_GFX_TOWN_MAP 93
+#define MAP_OBJ_GFX_POKEDEX 94
+#define MAP_OBJ_GFX_CUT_TREE 95
+#define MAP_OBJ_GFX_ROCK_SMASH_ROCK 96
+#define MAP_OBJ_GFX_STRENGTH_BOULDER 97
+#define MAP_OBJ_GFX_FOSSIL 98
+#define MAP_OBJ_GFX_RUBY 99
+#define MAP_OBJ_GFX_SAPPHIRE 100
+#define MAP_OBJ_GFX_OLD_AMBER 101
+#define MAP_OBJ_GFX_GYM_SIGN 102
+#define MAP_OBJ_GFX_SIGN 103
+#define MAP_OBJ_GFX_TRAINER_TIPS 104
+#define MAP_OBJ_GFX_CLIPBOARD 105
+#define MAP_OBJ_GFX_METEORITE 106
+#define MAP_OBJ_GFX_LAPRAS_DOLL 107
+#define MAP_OBJ_GFX_SEAGALLOP 108
+#define MAP_OBJ_GFX_SNORLAX 109
+#define MAP_OBJ_GFX_SPEAROW 110
+#define MAP_OBJ_GFX_CUBONE 111
+#define MAP_OBJ_GFX_POLIWRATH 112
+#define MAP_OBJ_GFX_CLEFAIRY 113
+#define MAP_OBJ_GFX_PIDGEOT 114
+#define MAP_OBJ_GFX_JIGGLYPUFF 115
+#define MAP_OBJ_GFX_PIDGEY 116
+#define MAP_OBJ_GFX_CHANSEY 117
+#define MAP_OBJ_GFX_OMANYTE 118
+#define MAP_OBJ_GFX_KANGASKHAN 119
+#define MAP_OBJ_GFX_PIKACHU 120
+#define MAP_OBJ_GFX_PSYDUCK 121
+#define MAP_OBJ_GFX_NIDORAN_F 122
+#define MAP_OBJ_GFX_NIDORAN_M 123
+#define MAP_OBJ_GFX_NIDORINO 124
+#define MAP_OBJ_GFX_MEOWTH 125
+#define MAP_OBJ_GFX_SEEL 126
+#define MAP_OBJ_GFX_VOLTORB 127
+#define MAP_OBJ_GFX_SLOWPOKE 128
+#define MAP_OBJ_GFX_SLOWBRO 129
+#define MAP_OBJ_GFX_MACHOP 130
+#define MAP_OBJ_GFX_WIGGLYTUFF 131
+#define MAP_OBJ_GFX_DODUO 132
+#define MAP_OBJ_GFX_FEAROW 133
+#define MAP_OBJ_GFX_MACHOKE 134
+#define MAP_OBJ_GFX_LAPRAS 135
+#define MAP_OBJ_GFX_ZAPDOS 136
+#define MAP_OBJ_GFX_MOLTRES 137
+#define MAP_OBJ_GFX_ARTICUNO 138
+#define MAP_OBJ_GFX_MEWTWO 139
+#define MAP_OBJ_GFX_MEW 140
+#define MAP_OBJ_GFX_ENTEI 141
+#define MAP_OBJ_GFX_SUICUNE 142
+#define MAP_OBJ_GFX_RAIKOU 143
+#define MAP_OBJ_GFX_LUGIA 144
+#define MAP_OBJ_GFX_HO_OH 145
+#define MAP_OBJ_GFX_CELEBI 146
+#define MAP_OBJ_GFX_KABUTO 147
+#define MAP_OBJ_GFX_DEOXYS_D 148
+#define MAP_OBJ_GFX_DEOXYS_A 149
+#define MAP_OBJ_GFX_DEOXYS_N 150
+#define MAP_OBJ_GFX_SS_ANNE 151
+
+#define MAP_OBJ_GFX_VAR_0 240
+#define MAP_OBJ_GFX_VAR_1 241
+#define MAP_OBJ_GFX_VAR_2 242
+#define MAP_OBJ_GFX_VAR_3 243
+#define MAP_OBJ_GFX_VAR_4 244
+#define MAP_OBJ_GFX_VAR_5 245
+#define MAP_OBJ_GFX_VAR_6 246
+#define MAP_OBJ_GFX_VAR_7 247
+#define MAP_OBJ_GFX_VAR_8 248
+#define MAP_OBJ_GFX_VAR_9 249
+#define MAP_OBJ_GFX_VAR_A 250
+#define MAP_OBJ_GFX_VAR_B 251
+#define MAP_OBJ_GFX_VAR_C 252
+#define MAP_OBJ_GFX_VAR_D 253
+#define MAP_OBJ_GFX_VAR_E 254
+#define MAP_OBJ_GFX_VAR_F 255
#define SHADOW_SIZE_S 0
#define SHADOW_SIZE_M 1
diff --git a/include/constants/moves.h b/include/constants/moves.h
index 62eacc5f1..8dace5670 100644
--- a/include/constants/moves.h
+++ b/include/constants/moves.h
@@ -361,4 +361,23 @@
#define MOVES_COUNT 355
+#define MOVETUTOR_MEGA_PUNCH 0
+#define MOVETUTOR_SWORDS_DANCE 1
+#define MOVETUTOR_MEGA_KICK 2
+#define MOVETUTOR_BODY_SLAM 3
+#define MOVETUTOR_DOUBLE_EDGE 4
+#define MOVETUTOR_COUNTER 5
+#define MOVETUTOR_SEISMIC_TOSS 6
+#define MOVETUTOR_MIMIC 7
+#define MOVETUTOR_METRONOME 8
+#define MOVETUTOR_SOFT_BOILED 9
+#define MOVETUTOR_DREAM_EATER 10
+#define MOVETUTOR_THUNDER_WAVE 11
+#define MOVETUTOR_EXPLOSION 12
+#define MOVETUTOR_ROCK_SLIDE 13
+#define MOVETUTOR_SUBSTITUTE 14
+#define MOVETUTOR_FRENZY_PLANT 15
+#define MOVETUTOR_BLAST_BURN 16
+#define MOVETUTOR_HYDRO_CANNON 17
+
#endif // GUARD_CONSTANTS_MOVES_H
diff --git a/include/constants/seagallop.h b/include/constants/seagallop.h
new file mode 100644
index 000000000..eff4eb7a5
--- /dev/null
+++ b/include/constants/seagallop.h
@@ -0,0 +1,16 @@
+#ifndef GUARD_CONSTANTS_SEAGALLOP_H
+#define GUARD_CONSTANTS_SEAGALLOP_H
+
+#define SEAGALLOP_VERMILION_CITY 0
+#define SEAGALLOP_ONE_ISLAND 1
+#define SEAGALLOP_TWO_ISLAND 2
+#define SEAGALLOP_THREE_ISLAND 3
+#define SEAGALLOP_FOUR_ISLAND 4
+#define SEAGALLOP_FIVE_ISLAND 5
+#define SEAGALLOP_SIX_ISLAND 6
+#define SEAGALLOP_SEVEN_ISLAND 7
+#define SEAGALLOP_CINNABAR_ISLAND 8
+#define SEAGALLOP_NAVEL_ROCK 9
+#define SEAGALLOP_BIRTH_ISLAND 10
+
+#endif //GUARD_CONSTANTS_SEAGALLOP_H
diff --git a/include/constants/trainers.h b/include/constants/trainers.h
index 73244ba90..d8c429ed5 100644
--- a/include/constants/trainers.h
+++ b/include/constants/trainers.h
@@ -1,14 +1,1072 @@
-#ifndef GUARD_TRAINERS_H
-#define GUARD_TRAINERS_H
+#ifndef GUARD_CONSTANTS_TRAINERS_H
+#define GUARD_CONSTANTS_TRAINERS_H
+
+#define TRAINER_ENCOUNTER_MUSIC_MALE 0 // standard male encounter music
+#define TRAINER_ENCOUNTER_MUSIC_FEMALE 1 // standard female encounter music
+#define TRAINER_ENCOUNTER_MUSIC_GIRL 2 // used for male Tubers and Young Couples too
+#define TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS 3
+#define TRAINER_ENCOUNTER_MUSIC_INTENSE 4
+#define TRAINER_ENCOUNTER_MUSIC_COOL 5
+#define TRAINER_ENCOUNTER_MUSIC_AQUA 6
+#define TRAINER_ENCOUNTER_MUSIC_MAGMA 7
+#define TRAINER_ENCOUNTER_MUSIC_SWIMMER 8
+#define TRAINER_ENCOUNTER_MUSIC_TWINS 9 // used for other trainer classes too
+#define TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR 10
+#define TRAINER_ENCOUNTER_MUSIC_HIKER 11 // used for other trainer classes too
+#define TRAINER_ENCOUNTER_MUSIC_INTERVIEWER 12
+#define TRAINER_ENCOUNTER_MUSIC_RICH 13 // Rich Boys and Gentlemen
+
+#define TRAINER_PIC_AQUA_LEADER_ARCHIE 0
+#define TRAINER_PIC_AQUA_GRUNT_M 1
+#define TRAINER_PIC_AQUA_GRUNT_F 2
+#define TRAINER_PIC_RS_AROMA_LADY 3
+#define TRAINER_PIC_RS_RUIN_MANIAC 4
+#define TRAINER_PIC_INTERVIEWER 5
+#define TRAINER_PIC_RS_TUBER_F 6
+#define TRAINER_PIC_TUBER_M 7
+#define TRAINER_PIC_RS_COOLTRAINER_M 8
+#define TRAINER_PIC_RS_COOLTRAINER_F 9
+#define TRAINER_PIC_HEX_MANIAC 10
+#define TRAINER_PIC_RS_LADY 11
+#define TRAINER_PIC_RS_BEAUTY 12
+#define TRAINER_PIC_RICH_BOY 13
+#define TRAINER_PIC_RS_POKEMANIAC 14
+#define TRAINER_PIC_RS_SWIMMER_M 15
+#define TRAINER_PIC_RS_BLACK_BELT 16
+#define TRAINER_PIC_GUITARIST 17
+#define TRAINER_PIC_KINDLER 18
+#define TRAINER_PIC_RS_CAMPER 19
+#define TRAINER_PIC_BUG_MANIAC 20
+#define TRAINER_PIC_RS_PSYCHIC_M 21
+#define TRAINER_PIC_RS_PSYCHIC_F 22
+#define TRAINER_PIC_RS_GENTLEMAN 23
+#define TRAINER_PIC_ELITE_FOUR_SIDNEY 24
+#define TRAINER_PIC_ELITE_FOUR_PHOEBE 25
+#define TRAINER_PIC_LEADER_ROXANNE 26
+#define TRAINER_PIC_LEADER_BRAWLY 27
+#define TRAINER_PIC_LEADER_TATE_AND_LIZA 28
+#define TRAINER_PIC_SCHOOL_KID_M 29
+#define TRAINER_PIC_SCHOOL_KID_F 30
+#define TRAINER_PIC_SR_AND_JR 31
+#define TRAINER_PIC_POKEFAN_M 32
+#define TRAINER_PIC_POKEFAN_F 33
+#define TRAINER_PIC_EXPERT_M 34
+#define TRAINER_PIC_EXPERT_F 35
+#define TRAINER_PIC_RS_YOUNGSTER 36
+#define TRAINER_PIC_CHAMPION_STEVEN 37
+#define TRAINER_PIC_RS_FISHERMAN 38
+#define TRAINER_PIC_CYCLING_TRIATHLETE_M 39
+#define TRAINER_PIC_CYCLING_TRIATHLETE_F 40
+#define TRAINER_PIC_RUNNING_TRIATHLETE_M 41
+#define TRAINER_PIC_RUNNING_TRIATHLETE_F 42
+#define TRAINER_PIC_SWIMMING_TRIATHLETE_M 43
+#define TRAINER_PIC_SWIMMING_TRIATHLETE_F 44
+#define TRAINER_PIC_DRAGON_TAMER 45
+#define TRAINER_PIC_RS_BIRD_KEEPER 46
+#define TRAINER_PIC_NINJA_BOY 47
+#define TRAINER_PIC_BATTLE_GIRL 48
+#define TRAINER_PIC_PARASOL_LADY 49
+#define TRAINER_PIC_RS_SWIMMER_F 50
+#define TRAINER_PIC_RS_PICNICKER 51
+#define TRAINER_PIC_RS_TWINS 52
+#define TRAINER_PIC_RS_SAILOR 53
+#define TRAINER_PIC_COLLECTOR 54
+#define TRAINER_PIC_WALLY 55
+#define TRAINER_PIC_RS_BRENDAN_1 56
+#define TRAINER_PIC_RS_MAY_1 57
+#define TRAINER_PIC_POKEMON_BREEDER_M 58
+#define TRAINER_PIC_RS_POKEMON_BREEDER_F 59
+#define TRAINER_PIC_RS_POKEMON_RANGER_M 60
+#define TRAINER_PIC_RS_POKEMON_RANGER_F 61
+#define TRAINER_PIC_MAGMA_LEADER_MAXIE 62
+#define TRAINER_PIC_MAGMA_GRUNT_M 63
+#define TRAINER_PIC_MAGMA_GRUNT_F 64
+#define TRAINER_PIC_RS_LASS 65
+#define TRAINER_PIC_RS_BUG_CATCHER 66
+#define TRAINER_PIC_RS_HIKER 67
+#define TRAINER_PIC_RS_YOUNG_COUPLE 68
+#define TRAINER_PIC_OLD_COUPLE 69
+#define TRAINER_PIC_RS_SIS_AND_BRO 70
+#define TRAINER_PIC_AQUA_ADMIN_M 71
+#define TRAINER_PIC_AQUA_ADMIN_F 72
+#define TRAINER_PIC_MAGMA_ADMIN_M 73
+#define TRAINER_PIC_MAGMA_ADMIN_F 74
+#define TRAINER_PIC_LEADER_WATTSON 75
+#define TRAINER_PIC_LEADER_FLANNERY 76
+#define TRAINER_PIC_LEADER_NORMAN 77
+#define TRAINER_PIC_LEADER_WINONA 78
+#define TRAINER_PIC_LEADER_WALLACE 79
+#define TRAINER_PIC_ELITE_FOUR_GLACIA 80
+#define TRAINER_PIC_ELITE_FOUR_DRAKE 81
+#define TRAINER_PIC_YOUNGSTER 82
+#define TRAINER_PIC_BUG_CATCHER 83
+#define TRAINER_PIC_LASS 84
+#define TRAINER_PIC_SAILOR 85
+#define TRAINER_PIC_CAMPER 86
+#define TRAINER_PIC_PICNICKER 87
+#define TRAINER_PIC_POKEMANIAC 88
+#define TRAINER_PIC_SUPER_NERD 89
+#define TRAINER_PIC_HIKER 90
+#define TRAINER_PIC_BIKER 91
+#define TRAINER_PIC_BURGLAR 92
+#define TRAINER_PIC_ENGINEER 93
+#define TRAINER_PIC_FISHERMAN 94
+#define TRAINER_PIC_SWIMMER_M 95
+#define TRAINER_PIC_CUE_BALL 96
+#define TRAINER_PIC_GAMER 97
+#define TRAINER_PIC_BEAUTY 98
+#define TRAINER_PIC_SWIMMER_F 99
+#define TRAINER_PIC_PSYCHIC_M 100
+#define TRAINER_PIC_ROCKER 101
+#define TRAINER_PIC_JUGGLER 102
+#define TRAINER_PIC_TAMER 103
+#define TRAINER_PIC_BIRD_KEEPER 104
+#define TRAINER_PIC_BLACK_BELT 105
+#define TRAINER_PIC_RIVAL_1 106
+#define TRAINER_PIC_SCIENTIST 107
+#define TRAINER_PIC_LEADER_GIOVANNI 108
+#define TRAINER_PIC_ROCKET_GRUNT_M 109
+#define TRAINER_PIC_COOLTRAINER_M 110
+#define TRAINER_PIC_COOLTRAINER_F 111
+#define TRAINER_PIC_ELITE_FOUR_LORELEI 112
+#define TRAINER_PIC_ELITE_FOUR_BRUNO 113
+#define TRAINER_PIC_ELITE_FOUR_AGATHA 114
+#define TRAINER_PIC_ELITE_FOUR_LANCE 115
+#define TRAINER_PIC_LEADER_BROCK 116
+#define TRAINER_PIC_LEADER_MISTY 117
+#define TRAINER_PIC_LEADER_LT_SURGE 118
+#define TRAINER_PIC_LEADER_ERIKA 119
+#define TRAINER_PIC_LEADER_KOGA 120
+#define TRAINER_PIC_LEADER_BLAINE 121
+#define TRAINER_PIC_LEADER_SABRINA 122
+#define TRAINER_PIC_GENTLEMAN 123
+#define TRAINER_PIC_RIVAL_2 124
+#define TRAINER_PIC_CHAMPION_RIVAL 125
+#define TRAINER_PIC_CHANNELER 126
+#define TRAINER_PIC_TWINS 127
+#define TRAINER_PIC_COOL_COUPLE 128
+#define TRAINER_PIC_YOUNG_COUPLE 129
+#define TRAINER_PIC_CRUSH_KIN 130
+#define TRAINER_PIC_SIS_AND_BRO 131
+#define TRAINER_PIC_PROFESSOR_OAK 132
+#define TRAINER_PIC_RS_BRENDAN_2 133
+#define TRAINER_PIC_RS_MAY_2 134
+#define TRAINER_PIC_RED 135
+#define TRAINER_PIC_LEAF 136
+#define TRAINER_PIC_ROCKET_GRUNT_F 137
+#define TRAINER_PIC_PSYCHIC_F 138
+#define TRAINER_PIC_CRUSH_GIRL 139
+#define TRAINER_PIC_TUBER_F 140
+#define TRAINER_PIC_POKEMON_BREEDER_F 141
+#define TRAINER_PIC_POKEMON_RANGER_M 142
+#define TRAINER_PIC_POKEMON_RANGER_F 143
+#define TRAINER_PIC_AROMA_LADY 144
+#define TRAINER_PIC_RUIN_MANIAC 145
+#define TRAINER_PIC_LADY 146
+#define TRAINER_PIC_PAINTER 147
#define TRAINER_SECRET_BASE 1024
#define F_TRAINER_FEMALE (1 << 7)
+#define TRAINER_PIC_AQUA_LEADER_ARCHIE 0
+#define TRAINER_PIC_AQUA_GRUNT_M 1
+#define TRAINER_PIC_AQUA_GRUNT_F 2
+#define TRAINER_PIC_RS_AROMA_LADY 3
+#define TRAINER_PIC_RS_RUIN_MANIAC 4
+#define TRAINER_PIC_INTERVIEWER 5
+#define TRAINER_PIC_RS_TUBER_F 6
+#define TRAINER_PIC_TUBER_M 7
+#define TRAINER_PIC_RS_COOLTRAINER_M 8
+#define TRAINER_PIC_RS_COOLTRAINER_F 9
+#define TRAINER_PIC_HEX_MANIAC 10
+#define TRAINER_PIC_RS_LADY 11
+#define TRAINER_PIC_RS_BEAUTY 12
+#define TRAINER_PIC_RICH_BOY 13
+#define TRAINER_PIC_RS_POKEMANIAC 14
+#define TRAINER_PIC_RS_SWIMMER_M 15
+#define TRAINER_PIC_RS_BLACK_BELT 16
+#define TRAINER_PIC_GUITARIST 17
+#define TRAINER_PIC_KINDLER 18
+#define TRAINER_PIC_RS_CAMPER 19
+#define TRAINER_PIC_BUG_MANIAC 20
+#define TRAINER_PIC_RS_PSYCHIC_M 21
+#define TRAINER_PIC_RS_PSYCHIC_F 22
+#define TRAINER_PIC_RS_GENTLEMAN 23
+#define TRAINER_PIC_ELITE_FOUR_SIDNEY 24
+#define TRAINER_PIC_ELITE_FOUR_PHOEBE 25
+#define TRAINER_PIC_LEADER_ROXANNE 26
+#define TRAINER_PIC_LEADER_BRAWLY 27
+#define TRAINER_PIC_LEADER_TATE_AND_LIZA 28
+#define TRAINER_PIC_SCHOOL_KID_M 29
+#define TRAINER_PIC_SCHOOL_KID_F 30
+#define TRAINER_PIC_SR_AND_JR 31
+#define TRAINER_PIC_POKEFAN_M 32
+#define TRAINER_PIC_POKEFAN_F 33
+#define TRAINER_PIC_EXPERT_M 34
+#define TRAINER_PIC_EXPERT_F 35
+#define TRAINER_PIC_RS_YOUNGSTER 36
+#define TRAINER_PIC_CHAMPION_STEVEN 37
+#define TRAINER_PIC_RS_FISHERMAN 38
+#define TRAINER_PIC_CYCLING_TRIATHLETE_M 39
+#define TRAINER_PIC_CYCLING_TRIATHLETE_F 40
+#define TRAINER_PIC_RUNNING_TRIATHLETE_M 41
+#define TRAINER_PIC_RUNNING_TRIATHLETE_F 42
+#define TRAINER_PIC_SWIMMING_TRIATHLETE_M 43
+#define TRAINER_PIC_SWIMMING_TRIATHLETE_F 44
+#define TRAINER_PIC_DRAGON_TAMER 45
+#define TRAINER_PIC_RS_BIRD_KEEPER 46
+#define TRAINER_PIC_NINJA_BOY 47
+#define TRAINER_PIC_BATTLE_GIRL 48
+#define TRAINER_PIC_PARASOL_LADY 49
+#define TRAINER_PIC_RS_SWIMMER_F 50
+#define TRAINER_PIC_RS_PICNICKER 51
+#define TRAINER_PIC_RS_TWINS 52
+#define TRAINER_PIC_RS_SAILOR 53
+#define TRAINER_PIC_COLLECTOR 54
+#define TRAINER_PIC_WALLY 55
+#define TRAINER_PIC_RS_BRENDAN_1 56
+#define TRAINER_PIC_RS_MAY_1 57
+#define TRAINER_PIC_POKEMON_BREEDER_M 58
+#define TRAINER_PIC_RS_POKEMON_BREEDER_F 59
+#define TRAINER_PIC_RS_POKEMON_RANGER_M 60
+#define TRAINER_PIC_RS_POKEMON_RANGER_F 61
+#define TRAINER_PIC_MAGMA_LEADER_MAXIE 62
+#define TRAINER_PIC_MAGMA_GRUNT_M 63
+#define TRAINER_PIC_MAGMA_GRUNT_F 64
+#define TRAINER_PIC_RS_LASS 65
+#define TRAINER_PIC_RS_BUG_CATCHER 66
+#define TRAINER_PIC_RS_HIKER 67
+#define TRAINER_PIC_RS_YOUNG_COUPLE 68
+#define TRAINER_PIC_OLD_COUPLE 69
+#define TRAINER_PIC_RS_SIS_AND_BRO 70
+#define TRAINER_PIC_AQUA_ADMIN_M 71
+#define TRAINER_PIC_AQUA_ADMIN_F 72
+#define TRAINER_PIC_MAGMA_ADMIN_M 73
+#define TRAINER_PIC_MAGMA_ADMIN_F 74
+#define TRAINER_PIC_LEADER_WATTSON 75
+#define TRAINER_PIC_LEADER_FLANNERY 76
+#define TRAINER_PIC_LEADER_NORMAN 77
+#define TRAINER_PIC_LEADER_WINONA 78
+#define TRAINER_PIC_LEADER_WALLACE 79
+#define TRAINER_PIC_ELITE_FOUR_GLACIA 80
+#define TRAINER_PIC_ELITE_FOUR_DRAKE 81
+#define TRAINER_PIC_YOUNGSTER 82
+#define TRAINER_PIC_BUG_CATCHER 83
+#define TRAINER_PIC_LASS 84
+#define TRAINER_PIC_SAILOR 85
+#define TRAINER_PIC_CAMPER 86
+#define TRAINER_PIC_PICNICKER 87
+#define TRAINER_PIC_POKEMANIAC 88
+#define TRAINER_PIC_SUPER_NERD 89
+#define TRAINER_PIC_HIKER 90
+#define TRAINER_PIC_BIKER 91
+#define TRAINER_PIC_BURGLAR 92
+#define TRAINER_PIC_ENGINEER 93
+#define TRAINER_PIC_FISHERMAN 94
+#define TRAINER_PIC_SWIMMER_M 95
+#define TRAINER_PIC_CUE_BALL 96
+#define TRAINER_PIC_GAMER 97
+#define TRAINER_PIC_BEAUTY 98
+#define TRAINER_PIC_SWIMMER_F 99
+#define TRAINER_PIC_PSYCHIC_M 100
+#define TRAINER_PIC_ROCKER 101
+#define TRAINER_PIC_JUGGLER 102
+#define TRAINER_PIC_TAMER 103
+#define TRAINER_PIC_BIRD_KEEPER 104
+#define TRAINER_PIC_BLACK_BELT 105
+#define TRAINER_PIC_RIVAL_1 106
+#define TRAINER_PIC_SCIENTIST 107
+#define TRAINER_PIC_LEADER_GIOVANNI 108
+#define TRAINER_PIC_ROCKET_GRUNT_M 109
+#define TRAINER_PIC_COOLTRAINER_M 110
+#define TRAINER_PIC_COOLTRAINER_F 111
+#define TRAINER_PIC_ELITE_FOUR_LORELEI 112
+#define TRAINER_PIC_ELITE_FOUR_BRUNO 113
+#define TRAINER_PIC_ELITE_FOUR_AGATHA 114
+#define TRAINER_PIC_ELITE_FOUR_LANCE 115
+#define TRAINER_PIC_LEADER_BROCK 116
+#define TRAINER_PIC_LEADER_MISTY 117
+#define TRAINER_PIC_LEADER_LT_SURGE 118
+#define TRAINER_PIC_LEADER_ERIKA 119
+#define TRAINER_PIC_LEADER_KOGA 120
+#define TRAINER_PIC_LEADER_BLAINE 121
+#define TRAINER_PIC_LEADER_SABRINA 122
+#define TRAINER_PIC_GENTLEMAN 123
+#define TRAINER_PIC_RIVAL_2 124
+#define TRAINER_PIC_CHAMPION_RIVAL 125
+#define TRAINER_PIC_CHANNELER 126
+#define TRAINER_PIC_TWINS 127
+#define TRAINER_PIC_COOL_COUPLE 128
+#define TRAINER_PIC_YOUNG_COUPLE 129
+#define TRAINER_PIC_CRUSH_KIN 130
+#define TRAINER_PIC_SIS_AND_BRO 131
+#define TRAINER_PIC_PROFESSOR_OAK 132
+#define TRAINER_PIC_RS_BRENDAN_2 133
+#define TRAINER_PIC_RS_MAY_2 134
+#define TRAINER_PIC_RED 135
+#define TRAINER_PIC_LEAF 136
+#define TRAINER_PIC_ROCKET_GRUNT_F 137
+#define TRAINER_PIC_PSYCHIC_F 138
+#define TRAINER_PIC_CRUSH_GIRL 139
+#define TRAINER_PIC_TUBER_F 140
+#define TRAINER_PIC_POKEMON_BREEDER_F 141
+#define TRAINER_PIC_POKEMON_RANGER_M 142
+#define TRAINER_PIC_POKEMON_RANGER_F 143
+#define TRAINER_PIC_AROMA_LADY 144
+#define TRAINER_PIC_RUIN_MANIAC 145
+#define TRAINER_PIC_LADY 146
+#define TRAINER_PIC_PAINTER 147
+
+#define TRAINER_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.
#define F_TRAINER_PARTY_CUSTOM_MOVESET (1 << 0)
#define F_TRAINER_PARTY_HELD_ITEM (1 << 1)
-#endif // GUARD_TRAINERS_H
+#endif // GUARD_CONSTANTS_TRAINERS_H
diff --git a/include/constants/vars.h b/include/constants/vars.h
index a354320c2..59dbf8ebb 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -3,47 +3,83 @@
#define VAR_0x3F20 0x3F20
-#define VAR_0x4000 0x4000
-#define VAR_0x4001 0x4001
-#define VAR_0x4002 0x4002
-#define VAR_0x4003 0x4003
-#define VAR_0x4004 0x4004
-#define VAR_0x4005 0x4005
-#define VAR_0x4006 0x4006
-#define VAR_0x4007 0x4007
-#define VAR_0x4008 0x4008
-#define VAR_0x4009 0x4009
-#define VAR_0x400A 0x400A
-#define VAR_0x400B 0x400B
-#define VAR_0x400C 0x400C
-#define VAR_0x400D 0x400D
-#define VAR_0x400E 0x400E
-#define VAR_0x400F 0x400F
-#define VAR_0x4010 0x4010
-#define VAR_0x4011 0x4011
-#define VAR_0x4012 0x4012
-#define VAR_0x4013 0x4013
-#define VAR_0x4014 0x4014
-#define VAR_0x4015 0x4015
-#define VAR_0x4016 0x4016
-#define VAR_0x4017 0x4017
-#define VAR_0x4018 0x4018
-#define VAR_0x4019 0x4019
-#define VAR_0x401A 0x401A
-#define VAR_0x401B 0x401B
-#define VAR_0x401C 0x401C
-#define VAR_0x401D 0x401D
-#define VAR_0x401E 0x401E
-#define VAR_0x401F 0x401F
-#define VAR_REPEL_STEP_COUNT 0x4020
-#define VAR_0x4021 0x4021
-#define VAR_ICE_STEP_COUNT 0x4022
-#define VAR_0x4023 0x4023
-#define VAR_0x4024 0x4024
-#define VAR_0x4025 0x4025
-#define VAR_SECRET_BASE_MAP 0x4026
-#define VAR_0x4027 0x4027
-#define VAR_0x4028 0x4028
+#define VARS_START 0x4000
+
+// Temporary variables. Reset on map load.
+#define VAR_0x4000 0x4000
+#define VAR_0x4001 0x4001
+#define VAR_0x4002 0x4002
+#define VAR_0x4003 0x4003
+#define VAR_0x4004 0x4004
+#define VAR_0x4005 0x4005
+#define VAR_0x4006 0x4006
+#define VAR_0x4007 0x4007
+#define VAR_0x4008 0x4008
+#define VAR_0x4009 0x4009
+#define VAR_0x400A 0x400A
+#define VAR_0x400B 0x400B
+#define VAR_0x400C 0x400C
+#define VAR_0x400D 0x400D
+#define VAR_0x400E 0x400E
+#define VAR_0x400F 0x400F
+
+// Object event graphics IDs which can be changed by
+// script commands.
+#define VAR_OBJ_GFX_ID_0 0x4010
+#define VAR_OBJ_GFX_ID_1 0x4011
+#define VAR_OBJ_GFX_ID_2 0x4012
+#define VAR_OBJ_GFX_ID_3 0x4013
+#define VAR_OBJ_GFX_ID_4 0x4014
+#define VAR_OBJ_GFX_ID_5 0x4015
+#define VAR_OBJ_GFX_ID_6 0x4016
+#define VAR_OBJ_GFX_ID_7 0x4017
+#define VAR_OBJ_GFX_ID_8 0x4018
+#define VAR_OBJ_GFX_ID_9 0x4019
+#define VAR_OBJ_GFX_ID_A 0x401A
+#define VAR_OBJ_GFX_ID_B 0x401B
+#define VAR_OBJ_GFX_ID_C 0x401C
+#define VAR_OBJ_GFX_ID_D 0x401D
+#define VAR_OBJ_GFX_ID_E 0x401E
+#define VAR_OBJ_GFX_ID_F 0x401F
+
+// If nonzero, counts down by one every step.
+// When it hits zero, repel's effect wears off.
+#define VAR_REPEL_STEP_COUNT 0x4020
+
+// Counts up every step. Wraps around at 128.
+// When wraparound occurs, the friendship of
+// every party poke gets a slight boost.
+#define VAR_FRIENDSHIP_STEP_COUNT 0x4021
+
+// Maybe unused?
+#define VAR_ICE_STEP_COUNT 0x4022
+
+// Step counter. Caps at 1500. If you enter a map with
+// renewable hidden items and this counter is capped,
+// the counter resets to 0 and all renewable hidden
+// item flags are resampled.
+#define VAR_RENEWABLE_ITEM_STEP_COUNTER 0x4023
+
+// Determines which wild encounter set to use in the
+// Altering Cave. Incremented by Mystery Event.
+// Wraps around at 10.
+#define VAR_ALTERING_CAVE_WILD_SET 0x4024
+
+// Step counter set to 500 at game start. When you get
+// a massage from Daisy, it resets to 0. Caps at 500.
+#define VAR_MASSAGE_COOLDOWN_STEP_COUNTER 0x4025
+
+// Step counter. Wraps around at 100. Used to
+// determine whether the player has reached the
+// triangle in time.
+#define VAR_DEOXYS_INTERACTION_STEP_COUNTER 0x4026
+
+// Bits 0-11 are the number of mons in all boxes
+// with the species sanity bit set.
+// Bits 12-15 are the same for the player's party.
+// Used by Quest Log.
+#define VAR_QUEST_LOG_MON_COUNTS 0x4027
+#define VAR_MENEWS_JISAN_STEP_COUNTER 0x4028
#define VAR_0x4029 0x4029
#define VAR_HAPPINESS_STEP_COUNTER 0x402A
#define VAR_POISON_STEP_COUNTER 0x402B
@@ -64,11 +100,11 @@
#define VAR_0x4037 0x4037
#define VAR_0x4038 0x4038
#define VAR_0x4039 0x4039
-#define VAR_0x403A 0x403A
+#define VAR_ELEVATOR_FLOOR 0x403A
#define VAR_0x403B 0x403B
#define VAR_0x403C 0x403C
#define VAR_0x403D 0x403D
-#define VAR_ALTERING_CAVE_WILD_SET 0x403E
+#define VAR_DEOXYS_INTERACTION_NUM 0x403E
#define VAR_0x403F 0x403F
#define VAR_DAYS 0x4040
#define VAR_0x4041 0x4041
@@ -79,73 +115,77 @@
#define VAR_NATIONAL_DEX 0x4046
#define VAR_SEEDOT_SIZE_RECORD 0x4047
#define VAR_ASH_GATHER_COUNT 0x4048
-#define VAR_BIRCH_STATE 0x4049
-#define VAR_CRUISE_STEP_COUNT 0x404A
-#define VAR_POKELOT_RND1 0x404B
+#define VAR_HOF_BRAG_STATE 0x4049
+#define VAR_EGG_BRAG_STATE 0x404A
+#define VAR_LINK_WIN_BRAG_STATE 0x404B
#define VAR_POKELOT_RND2 0x404C
#define VAR_0x404D 0x404D
#define VAR_0x404E 0x404E
#define VAR_LOTAD_SIZE_RECORD 0x404F
-#define VAR_MAP_SCENE_PALLET_TOWN 0x4050
-#define VAR_0x4051 0x4051
-#define VAR_0x4052 0x4052
-#define VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER 0x4053
-#define VAR_0x4054 0x4054
-#define VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB 0x4055
-#define VAR_MAP_SCENE_PALLET_TOWN_PLAYERS_HOUSE_2F 0x4056
-#define VAR_MAP_SCENE_VIRIDIAN_CITY_MART 0x4057
-#define VAR_0x4058 0x4058
-#define VAR_0x4059 0x4059
-#define VAR_0x405A 0x405A
-#define VAR_0x405B 0x405B
-#define VAR_0x405C 0x405C
-#define VAR_0x405D 0x405D
-#define VAR_MAP_SCENE_ROUTE16 0x405E
-#define VAR_0x405F 0x405F
-#define VAR_0x4060 0x4060
-#define VAR_0x4061 0x4061
-#define VAR_0x4062 0x4062
-#define VAR_MAP_SCENE_SEAFOAM_ISLANDS_B4F 0x4063
-#define VAR_0x4064 0x4064
-#define VAR_0x4065 0x4065
-#define VAR_0x4066 0x4066
-#define VAR_0x4067 0x4067
-#define VAR_0x4068 0x4068
-#define VAR_0x4069 0x4069
-#define VAR_0x406A 0x406A
-#define VAR_0x406B 0x406B
-#define VAR_0x406C 0x406C
-#define VAR_0x406D 0x406D
-#define VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE 0x406E
-#define VAR_0x406F 0x406F
-#define VAR_0x4070 0x4070
-#define VAR_0x4071 0x4071
-#define VAR_0x4072 0x4072
-#define VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB 0x4073
-#define VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1 0x4074
-#define VAR_MAP_SCENE_ONE_ISLAND_HARBOR 0x4075
-#define VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F 0x4076
-#define VAR_0x4077 0x4077
-#define VAR_0x4078 0x4078
-#define VAR_MAP_SCENE_TWO_ISLAND_JOYFUL_GAME_CORNER 0x4079
-#define VAR_0x407A 0x407A
-#define VAR_0x407B 0x407B
-#define VAR_0x407C 0x407C
-#define VAR_0x407D 0x407D
-#define VAR_MAP_SCENE_VERMILION_CITY 0x407E
-#define VAR_0x407F 0x407F
-#define VAR_0x4080 0x4080
-#define VAR_0x4081 0x4081
-#define VAR_0x4082 0x4082
-#define VAR_MAP_SCENE_FIVE_ISLAND_LOST_CAVE_ROOM10 0x4083
-#define VAR_MAP_SCENE_FIVE_ISLAND_RESORT_GORGEOUS 0x4084
-#define VAR_MAP_SCENE_INDIGO_PLATEAU_EXTERIOR 0x4085
-#define VAR_MAP_SCENE_FOUR_ISLAND 0x4086
-#define VAR_0x4087 0x4087
-#define VAR_0x4088 0x4088
-#define VAR_MAP_SCENE_SIX_ISLAND_POKEMON_CENTER_1F 0x4089
-#define VAR_MAP_SCENE_CINNABAR_ISLAND 0x408A
-#define VAR_0x408B 0x408B
+
+// Map Scene
+#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_MAP_SCENE_ROUTE22 0x4054
+#define VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB 0x4055
+#define VAR_MAP_SCENE_PALLET_TOWN_PLAYERS_HOUSE_2F 0x4056
+#define VAR_MAP_SCENE_VIRIDIAN_CITY_MART 0x4057
+#define VAR_MAP_SCENE_PALLET_TOWN_GARYS_HOUSE 0x4058
+#define VAR_MAP_SCENE_POKEMON_TOWER_6F 0x4059
+#define VAR_MAP_SCENE_VIRIDIAN_CITY_GYM_DOOR 0x405A
+#define VAR_MAP_SCENE_S_S_ANNE_2F_CORRIDOR 0x405B
+#define VAR_MAP_SCENE_SILPH_CO_7F 0x405C
+#define VAR_MAP_SCENE_POKEMON_TOWER_2F 0x405D
+#define VAR_MAP_SCENE_ROUTE16 0x405E
+#define VAR_MAP_SCENE_ROUTE23 0x405F
+#define VAR_MAP_SCENE_SILPH_CO_11F 0x4060
+#define VAR_MAP_SCENE_PEWTER_CITY_MUSEUM_1F 0x4061
+#define VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES 0x4062
+#define VAR_MAP_SCENE_SEAFOAM_ISLANDS_B4F 0x4063
+#define VAR_MAP_SCENE_VICTORY_ROAD_1F 0x4064
+#define VAR_MAP_SCENE_VICTORY_ROAD_2F_BOULDER1 0x4065
+#define VAR_MAP_SCENE_VICTORY_ROAD_2F_BOULDER2 0x4066
+#define VAR_MAP_SCENE_VICTORY_ROAD_3F 0x4067
+#define VAR_MAP_SCENE_POKEMON_LEAGUE 0x4068
+#define VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL 0x4069
+#define VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE 0x406A
+#define VAR_MAP_SCENE_ROUTE24 0x406B
+#define VAR_MAP_SCENE_PEWTER_CITY 0x406C
+#define VAR_0x406D 0x406D
+#define VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE 0x406E
+#define VAR_0x406F 0x406F
+#define VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY 0x4070
+#define VAR_MAP_SCENE_CINNABAR_ISLAND 0x4071
+#define VAR_0x4072 0x4072
+#define VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB 0x4073
+#define VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1 0x4074
+#define VAR_MAP_SCENE_ONE_ISLAND_HARBOR 0x4075
+#define VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F 0x4076
+#define VAR_0x4077 0x4077
+#define VAR_MAP_SCENE_TWO_ISLAND 0x4078
+#define VAR_MAP_SCENE_TWO_ISLAND_JOYFUL_GAME_CORNER 0x4079
+#define VAR_0x407A 0x407A
+#define VAR_MAP_SCENE_THREE_ISLAND 0x407B
+#define VAR_MAP_SCENE_POKEMON_CENTER_TEALA 0x407C
+#define VAR_MAP_SCENE_CERULEAN_CITY_ROCKET 0x407D
+#define VAR_MAP_SCENE_VERMILION_CITY 0x407E
+#define VAR_MAP_SCENE_MT_EMBER_EXTERIOR 0x407F
+#define VAR_MAP_SCENE_ICEFALL_CAVE_BACK 0x4080
+#define VAR_MAP_SCENE_SAFFRON_CITY_DOJO 0x4081
+#define VAR_MAP_SCENE_TRAINER_TOWER 0x4082
+#define VAR_MAP_SCENE_FIVE_ISLAND_LOST_CAVE_ROOM10 0x4083
+#define VAR_MAP_SCENE_FIVE_ISLAND_RESORT_GORGEOUS 0x4084
+#define VAR_MAP_SCENE_INDIGO_PLATEAU_EXTERIOR 0x4085
+#define VAR_MAP_SCENE_FOUR_ISLAND 0x4086
+#define VAR_0x4087 0x4087
+#define VAR_MAP_SCENE_ROCKET_WAREHOUSE 0x4088
+#define VAR_MAP_SCENE_SIX_ISLAND_POKEMON_CENTER_1F 0x4089
+#define VAR_MAP_SCENE_CINNABAR_ISLAND_2 0x408A
+#define VAR_MAP_SCENE_MT_MOON_B2F 0x408B
+
+
#define VAR_0x408C 0x408C
#define VAR_0x408D 0x408D
#define VAR_0x408E 0x408E
@@ -187,7 +227,7 @@
#define VAR_0x40B2 0x40B2
#define VAR_0x40B3 0x40B3
#define VAR_PORTHOLE 0x40B4
-#define VAR_0x40B5 0x40B5
+#define VAR_EVENT_PICHU_SLOT 0x40B5
#define VAR_0x40B6 0x40B6
#define VAR_0x40B7 0x40B7
#define VAR_0x40B8 0x40B8
@@ -263,6 +303,7 @@
#define VAR_0x40FE 0x40FE
#define VAR_0x40FF 0x40FF
+#define SPECIAL_VARS_START 0x8000
#define VAR_0x8000 0x8000
#define VAR_0x8001 0x8001
#define VAR_0x8002 0x8002
@@ -283,6 +324,6 @@
#define VAR_CONTEST_CATEGORY 0x8011
#define VAR_MON_BOX_ID 0x8012
#define VAR_MON_BOX_POS 0x8013
-#define VAR_0x8014 0x8014
+#define VAR_TEXT_COLOR 0x8014
#endif // GUARD_CONSTANTS_VARS_H
diff --git a/include/data.h b/include/data.h
index 82fc527dc..9726b95e5 100644
--- a/include/data.h
+++ b/include/data.h
@@ -4,6 +4,8 @@
#include "global.h"
#include "constants/species.h"
+#define SPECIES_SHINY_TAG 500
+
struct MonCoords
{
// This would use a bitfield, but some function
@@ -12,9 +14,6 @@ struct MonCoords
u8 y_offset;
};
-extern struct MonCoords gTrainerBackPicCoords[];
-extern struct MonCoords gTrainerFrontPicCoords[];
-
extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
extern const u8 gMoveNames[][13];
extern const u16 gUnknown_8251CB8[];
@@ -22,15 +21,19 @@ extern const u16 gUnknown_8251FEE[];
extern const u16 gUnknown_8252324[];
extern const u16 gUnknown_82539D4[];
+extern const struct MonCoords gMonFrontPicCoords[];
extern const struct CompressedSpriteSheet gMonFrontPicTable[];
+extern const struct MonCoords gMonBackPicCoords[];
extern const struct CompressedSpriteSheet gMonBackPicTable[];
extern const struct CompressedSpritePalette gMonPaletteTable[];
extern const struct CompressedSpritePalette gMonShinyPaletteTable[];
+extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[];
+extern const struct MonCoords gTrainerFrontPicCoords[];
extern const struct CompressedSpriteSheet gTrainerFrontPicTable[];
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
+extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[];
+extern const struct MonCoords gTrainerBackPicCoords[];
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
-extern const struct MonCoords gMonFrontPicCoords[];
-extern const struct MonCoords gMonBackPicCoords[];
extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow;
extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow;
@@ -40,11 +43,8 @@ extern const u8 gEnemyMonElevation[NUM_SPECIES];
extern const u8 *const gBattleAnims_General[];
extern const u8 *const gBattleAnims_Special[];
-extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[];
-extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[];
-
-extern const struct OamData gOamData_824F010;
-extern const struct OamData gOamData_824F018;
+extern const struct OamData gUnknown_824F010;
+extern const struct OamData gUnknown_824F018;
extern const union AnimCmd *const gSpriteAnimTable_82349BC[];
extern const union AffineAnimCmd *const gSpriteAffineAnimTable_82348C8[];
extern const union AffineAnimCmd *const gSpriteAffineAnimTable_8234944[];
@@ -52,11 +52,11 @@ extern const struct SpriteFrameImage gUnknown_8234698[];
extern const struct SpriteFrameImage gUnknown_82346B8[];
extern const struct SpriteFrameImage gUnknown_82346D8[];
extern const struct SpriteFrameImage gUnknown_82346F8[];
-extern const struct SpriteFrameImage gUnknown_8234718[];
-extern const struct SpriteFrameImage gUnknown_8234740[];
-extern const struct SpriteFrameImage gUnknown_8234768[];
-extern const struct SpriteFrameImage gUnknown_8234788[];
-extern const struct SpriteFrameImage gUnknown_82347A8[];
-extern const struct SpriteFrameImage gUnknown_82347C8[];
+extern const struct SpriteFrameImage gTrainerBackPicTable_Red[];
+extern const struct SpriteFrameImage gTrainerBackPicTable_Leaf[];
+extern const struct SpriteFrameImage gTrainerBackPicTable_PokeDude[];
+extern const struct SpriteFrameImage gTrainerBackPicTable_OldMan[];
+extern const struct SpriteFrameImage gTrainerBackPicTable_RSBrendan[];
+extern const struct SpriteFrameImage gTrainerBackPicTable_RSMay[];
#endif // GUARD_DATA_H
diff --git a/include/event_data.h b/include/event_data.h
index d1946d173..719ba37b2 100644
--- a/include/event_data.h
+++ b/include/event_data.h
@@ -6,6 +6,26 @@
#include "constants/flags.h"
#include "constants/vars.h"
+extern u16 gSpecialVar_0x8000;
+extern u16 gSpecialVar_0x8001;
+extern u16 gSpecialVar_0x8002;
+extern u16 gSpecialVar_0x8003;
+extern u16 gSpecialVar_0x8004;
+extern u16 gSpecialVar_0x8005;
+extern u16 gSpecialVar_0x8006;
+extern u16 gSpecialVar_0x8007;
+extern u16 gSpecialVar_0x8008;
+extern u16 gSpecialVar_0x8009;
+extern u16 gSpecialVar_0x800A;
+extern u16 gSpecialVar_0x800B;
+extern u16 gSpecialVar_Facing;
+extern u16 gSpecialVar_Result;
+extern u16 gSpecialVar_LastTalked;
+extern u16 gSpecialVar_MonBoxId;
+extern u16 gSpecialVar_MonBoxPos;
+extern u16 gSpecialVar_TextColor;
+extern u16 gSpecialVar_PrevTextColor;
+
void InitEventData(void);
void ClearTempFieldEventData(void);
void ClearUpperFlags(void);
@@ -32,32 +52,11 @@ u8 FlagSet(u16 id);
u8 FlagClear(u16 id);
bool8 FlagGet(u16 id);
u16 * GetVarPointer(u16 id);
-bool32 Flag_0x839_IsSet(void);
-void sub_806E6FC(void);
+bool32 IsMysteryGiftEnabled(void);
+void ResetSpecialVars(void);
void sub_806E2D0(void);
void sub_806E370(void);
bool32 IsNationalPokedexEnabled(void);
void sub_806E190(void);
-extern u16 gSpecialVar_0x8000;
-extern u16 gSpecialVar_0x8001;
-extern u16 gSpecialVar_0x8002;
-extern u16 gSpecialVar_0x8003;
-extern u16 gSpecialVar_0x8004;
-extern u16 gSpecialVar_0x8005;
-extern u16 gSpecialVar_0x8006;
-extern u16 gSpecialVar_0x8007;
-extern u16 gSpecialVar_0x8008;
-extern u16 gSpecialVar_0x8009;
-extern u16 gSpecialVar_0x800A;
-extern u16 gSpecialVar_0x800B;
-extern u16 gSpecialVar_Result;
-extern u16 gSpecialVar_LastTalked;
-extern u16 gSpecialVar_Facing;
-extern u16 gSpecialVar_MonBoxId;
-extern u16 gSpecialVar_MonBoxPos;
-extern u16 gSpecialVar_0x8014;
-
-extern u16 gUnknown_20370DA;
-extern u16 gUnknown_20370DC;
#endif // GUARD_EVENT_DATA_H
diff --git a/include/event_scripts.h b/include/event_scripts.h
index 772b683af..500dd8069 100644
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -1162,7 +1162,7 @@ extern const u8 EventScript_TryDoNormalTrainerBattle[];
extern const u8 EventScript_TryDoDoubleRematchBattle[];
extern const u8 EventScript_TryDoRematchBattle[];
extern const u8 gUnknown_81A4EB4[];
-extern const u8 gUnknown_81C555B[];
+extern const u8 EventScript_1C555B[];
// new_game
extern const u8 EventScript_ResetAllMapFlags[];
diff --git a/include/fame_checker.h b/include/fame_checker.h
index 257431d8b..782a8df18 100644
--- a/include/fame_checker.h
+++ b/include/fame_checker.h
@@ -2,32 +2,7 @@
#define GUARD_FAME_CHECKER_H
#include "main.h"
-
-enum {
- FAMECHECKER_OAK,
- FAMECHECKER_DAISY,
- FAMECHECKER_BROCK,
- FAMECHECKER_MISTY,
- FAMECHECKER_LTSURGE,
- FAMECHECKER_ERIKA,
- FAMECHECKER_KOGA,
- FAMECHECKER_SABRINA,
- FAMECHECKER_BLAINE,
- FAMECHECKER_LORELEI,
- FAMECHECKER_BRUNO,
- FAMECHECKER_AGATHA,
- FAMECHECKER_LANCE,
- FAMECHECKER_BILL,
- FAMECHECKER_MRFUJI,
- FAMECHECKER_GIOVANNI,
- NUM_FAMECHECKER_PERSONS
-};
-
-enum {
- FCPICKSTATE_NO_DRAW,
- FCPICKSTATE_SILHOUETTE,
- FCPICKSTATE_COLORED
-};
+#include "constants/fame_checker.h"
enum {
FCWINDOWID_LIST,
diff --git a/include/field_effect.h b/include/field_effect.h
index 8c89f8c9c..fa66929ea 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -2,76 +2,7 @@
#define GUARD_FIELD_EFFECTS_H
#include "global.h"
-
-enum FieldEffectScriptIdx
-{
- FLDEFF_EXCLAMATION_MARK_ICON_1,
- FLDEFF_USE_CUT_ON_GRASS,
- FLDEFF_USE_CUT_ON_TREE,
- FLDEFF_SHADOW,
- FLDEFF_TALL_GRASS,
- FLDEFF_RIPPLE,
- FLDEFF_FIELD_MOVE_SHOW_MON,
- FLDEFF_ASH,
- FLDEFF_SURF_BLOB,
- FLDEFF_USE_SURF,
- FLDEFF_DUST,
- FLDEFF_USE_SECRET_POWER_CAVE,
- FLDEFF_JUMP_TALL_GRASS,
- FLDEFF_SAND_FOOTPRINTS,
- FLDEFF_JUMP_BIG_SPLASH,
- FLDEFF_SPLASH,
- FLDEFF_JUMP_SMALL_SPLASH,
- FLDEFF_LONG_GRASS,
- FLDEFF_JUMP_LONG_GRASS,
- FLDEFF_UNKNOWN_19,
- FLDEFF_UNKNOWN_20,
- FLDEFF_UNKNOWN_21,
- FLDEFF_UNKNOWN_22,
- FLDEFF_BERRY_TREE_GROWTH_SPARKLE,
- FLDEFF_DEEP_SAND_FOOTPRINTS,
- FLDEFF_POKECENTER_HEAL,
- FLDEFF_USE_SECRET_POWER_TREE,
- FLDEFF_USE_SECRET_POWER_SHRUB,
- FLDEFF_TREE_DISGUISE,
- FLDEFF_MOUNTAIN_DISGUISE,
- FLDEFF_NPCFLY_OUT,
- FLDEFF_USE_FLY,
- FLDEFF_FLY_IN,
- FLDEFF_EXCLAMATION_MARK_ICON_2,
- FLDEFF_FEET_IN_FLOWING_WATER,
- FLDEFF_BIKE_TIRE_TRACKS,
- FLDEFF_SAND_DISGUISE,
- FLDEFF_USE_ROCK_SMASH,
- FLDEFF_USE_DIG,
- FLDEFF_SAND_PILE,
- FLDEFF_USE_STRENGTH,
- FLDEFF_SHORT_GRASS,
- FLDEFF_HOT_SPRINGS_WATER,
- FLDEFF_USE_WATERFALL,
- FLDEFF_USE_DIVE,
- FLDEFF_POKEBALL,
- FLDEFF_HEART_ICON,
- FLDEFF_NOP_47,
- FLDEFF_NOP_48,
- FLDEFF_POP_OUT_OF_ASH,
- FLDEFF_LAVARIDGE_GYM_WARP,
- FLDEFF_SWEET_SCENT,
- FLDEFF_SAND_PILLAR,
- FLDEFF_BUBBLES,
- FLDEFF_SPARKLE,
- FLDEFF_SECRET_POWER_CAVE,
- FLDEFF_SECRET_POWER_TREE,
- FLDEFF_SECRET_POWER_SHRUB,
- FLDEFF_CUT_GRASS,
- FLDEFF_FIELD_MOVE_SHOW_MON_INIT,
- FLDEFF_USE_FLY_ANCIENT_TOMB,
- FLDEFF_PCTURN_ON,
- FLDEFF_HALL_OF_FAME_RECORD,
- FLDEFF_USE_TELEPORT,
- FLDEFF_UNK_40,
- FLDEFF_UNK_41 // TODO: related to vs_seeker
-};
+#include "constants/field_effects.h"
extern u32 gFieldEffectArguments[8];
extern void (*gPostMenuFieldCallback)(void);
diff --git a/include/global.h b/include/global.h
index 4ca2538b2..26c5d9570 100644
--- a/include/global.h
+++ b/include/global.h
@@ -134,7 +134,7 @@ struct Pokedex
/*0x00*/ u8 order;
/*0x01*/ u8 unknown1;
/*0x02*/ u8 nationalMagic; // must equal 0xDA in order to have National mode
- /*0x03*/ u8 unknown2;
+ /*0x03*/ u8 unknown2; // set to 0xB9 when national dex is first enabled
/*0x04*/ u32 unownPersonality; // set when you first see Unown
/*0x08*/ u32 spindaPersonality; // set when you first see Spinda
/*0x0C*/ u32 unknown3;
@@ -500,12 +500,12 @@ struct RecordMixingDayCareMail
bool16 holdsItem[DAYCARE_MON_COUNT];
};
-struct MysteryEventStruct
+struct MENewsJisanStruct
{
u8 unk_0_0:2;
u8 unk_0_2:3;
u8 unk_0_5:3;
- u8 unk_1;
+ u8 berry;
};
struct QuestLogNPCData
@@ -681,7 +681,7 @@ struct MEventBuffers
/*0x1c0 0x32e0*/ struct MEventBuffer_32E0 buffer_1c0;
/*0x310 0x3430*/ struct MEventBuffer_3430 buffer_310;
/*0x338 0x3458*/ u16 unk_338[4];
- /*0x340 0x3460*/ struct MysteryEventStruct unk_340;
+ /*0x340 0x3460*/ struct MENewsJisanStruct unk_340;
/*0x344 0x3464*/ u32 unk_344[2][5];
}; // 0x36C 0x348C
diff --git a/include/graphics.h b/include/graphics.h
index 9af673992..638351be4 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -32,6 +32,2723 @@ extern const u8 gInterfacePal_LuxuryBall[];
extern const u8 gInterfaceGfx_PremierBall[];
extern const u8 gInterfacePal_PremierBall[];
extern const u8 gOpenPokeballGfx[];
+
+// pokemon gfx
+extern const u32 gMonFrontPic_Bulbasaur[];
+extern const u32 gMonPalette_Bulbasaur[];
+extern const u32 gMonBackPic_Bulbasaur[];
+extern const u32 gMonShinyPalette_Bulbasaur[];
+extern const u8 gMonIcon_Bulbasaur[];
+extern const u8 gMonFootprint_Bulbasaur[];
+extern const u32 gMonFrontPic_Ivysaur[];
+extern const u32 gMonPalette_Ivysaur[];
+extern const u32 gMonBackPic_Ivysaur[];
+extern const u32 gMonShinyPalette_Ivysaur[];
+extern const u8 gMonIcon_Ivysaur[];
+extern const u8 gMonFootprint_Ivysaur[];
+extern const u32 gMonFrontPic_Venusaur[];
+extern const u32 gMonPalette_Venusaur[];
+extern const u32 gMonBackPic_Venusaur[];
+extern const u32 gMonShinyPalette_Venusaur[];
+extern const u8 gMonIcon_Venusaur[];
+extern const u8 gMonFootprint_Venusaur[];
+extern const u32 gMonFrontPic_Charmander[];
+extern const u32 gMonPalette_Charmander[];
+extern const u32 gMonBackPic_Charmander[];
+extern const u32 gMonShinyPalette_Charmander[];
+extern const u8 gMonIcon_Charmander[];
+extern const u8 gMonFootprint_Charmander[];
+extern const u32 gMonFrontPic_Charmeleon[];
+extern const u32 gMonPalette_Charmeleon[];
+extern const u32 gMonBackPic_Charmeleon[];
+extern const u32 gMonShinyPalette_Charmeleon[];
+extern const u8 gMonIcon_Charmeleon[];
+extern const u8 gMonFootprint_Charmeleon[];
+extern const u32 gMonFrontPic_Charizard[];
+extern const u32 gMonPalette_Charizard[];
+extern const u32 gMonBackPic_Charizard[];
+extern const u32 gMonShinyPalette_Charizard[];
+extern const u8 gMonIcon_Charizard[];
+extern const u8 gMonFootprint_Charizard[];
+extern const u32 gMonFrontPic_Squirtle[];
+extern const u32 gMonPalette_Squirtle[];
+extern const u32 gMonBackPic_Squirtle[];
+extern const u32 gMonShinyPalette_Squirtle[];
+extern const u8 gMonIcon_Squirtle[];
+extern const u8 gMonFootprint_Squirtle[];
+extern const u32 gMonFrontPic_Wartortle[];
+extern const u32 gMonPalette_Wartortle[];
+extern const u32 gMonBackPic_Wartortle[];
+extern const u32 gMonShinyPalette_Wartortle[];
+extern const u8 gMonIcon_Wartortle[];
+extern const u8 gMonFootprint_Wartortle[];
+extern const u32 gMonFrontPic_Blastoise[];
+extern const u32 gMonPalette_Blastoise[];
+extern const u32 gMonBackPic_Blastoise[];
+extern const u32 gMonShinyPalette_Blastoise[];
+extern const u8 gMonIcon_Blastoise[];
+extern const u8 gMonFootprint_Blastoise[];
+extern const u32 gMonFrontPic_Caterpie[];
+extern const u32 gMonPalette_Caterpie[];
+extern const u32 gMonBackPic_Caterpie[];
+extern const u32 gMonShinyPalette_Caterpie[];
+extern const u8 gMonIcon_Caterpie[];
+extern const u8 gMonFootprint_Caterpie[];
+extern const u32 gMonFrontPic_Metapod[];
+extern const u32 gMonPalette_Metapod[];
+extern const u32 gMonBackPic_Metapod[];
+extern const u32 gMonShinyPalette_Metapod[];
+extern const u8 gMonIcon_Metapod[];
+extern const u8 gMonFootprint_Metapod[];
+extern const u32 gMonFrontPic_Butterfree[];
+extern const u32 gMonPalette_Butterfree[];
+extern const u32 gMonBackPic_Butterfree[];
+extern const u32 gMonShinyPalette_Butterfree[];
+extern const u8 gMonIcon_Butterfree[];
+extern const u8 gMonFootprint_Butterfree[];
+extern const u32 gMonFrontPic_Weedle[];
+extern const u32 gMonPalette_Weedle[];
+extern const u32 gMonBackPic_Weedle[];
+extern const u32 gMonShinyPalette_Weedle[];
+extern const u8 gMonIcon_Weedle[];
+extern const u8 gMonFootprint_Weedle[];
+extern const u32 gMonFrontPic_Kakuna[];
+extern const u32 gMonPalette_Kakuna[];
+extern const u32 gMonBackPic_Kakuna[];
+extern const u32 gMonShinyPalette_Kakuna[];
+extern const u8 gMonIcon_Kakuna[];
+extern const u8 gMonFootprint_Kakuna[];
+extern const u32 gMonFrontPic_Beedrill[];
+extern const u32 gMonPalette_Beedrill[];
+extern const u32 gMonBackPic_Beedrill[];
+extern const u32 gMonShinyPalette_Beedrill[];
+extern const u8 gMonIcon_Beedrill[];
+extern const u8 gMonFootprint_Beedrill[];
+extern const u32 gMonFrontPic_Pidgey[];
+extern const u32 gMonPalette_Pidgey[];
+extern const u32 gMonBackPic_Pidgey[];
+extern const u32 gMonShinyPalette_Pidgey[];
+extern const u8 gMonIcon_Pidgey[];
+extern const u8 gMonFootprint_Pidgey[];
+extern const u32 gMonFrontPic_Pidgeotto[];
+extern const u32 gMonPalette_Pidgeotto[];
+extern const u32 gMonBackPic_Pidgeotto[];
+extern const u32 gMonShinyPalette_Pidgeotto[];
+extern const u8 gMonIcon_Pidgeotto[];
+extern const u8 gMonFootprint_Pidgeotto[];
+extern const u32 gMonFrontPic_Pidgeot[];
+extern const u32 gMonPalette_Pidgeot[];
+extern const u32 gMonBackPic_Pidgeot[];
+extern const u32 gMonShinyPalette_Pidgeot[];
+extern const u8 gMonIcon_Pidgeot[];
+extern const u8 gMonFootprint_Pidgeot[];
+extern const u32 gMonFrontPic_Rattata[];
+extern const u32 gMonPalette_Rattata[];
+extern const u32 gMonBackPic_Rattata[];
+extern const u32 gMonShinyPalette_Rattata[];
+extern const u8 gMonIcon_Rattata[];
+extern const u8 gMonFootprint_Rattata[];
+extern const u32 gMonFrontPic_Raticate[];
+extern const u32 gMonPalette_Raticate[];
+extern const u32 gMonBackPic_Raticate[];
+extern const u32 gMonShinyPalette_Raticate[];
+extern const u8 gMonIcon_Raticate[];
+extern const u8 gMonFootprint_Raticate[];
+extern const u32 gMonFrontPic_Spearow[];
+extern const u32 gMonPalette_Spearow[];
+extern const u32 gMonBackPic_Spearow[];
+extern const u32 gMonShinyPalette_Spearow[];
+extern const u8 gMonIcon_Spearow[];
+extern const u8 gMonFootprint_Spearow[];
+extern const u32 gMonFrontPic_Fearow[];
+extern const u32 gMonPalette_Fearow[];
+extern const u32 gMonBackPic_Fearow[];
+extern const u32 gMonShinyPalette_Fearow[];
+extern const u8 gMonIcon_Fearow[];
+extern const u8 gMonFootprint_Fearow[];
+extern const u32 gMonFrontPic_Ekans[];
+extern const u32 gMonPalette_Ekans[];
+extern const u32 gMonBackPic_Ekans[];
+extern const u32 gMonShinyPalette_Ekans[];
+extern const u8 gMonIcon_Ekans[];
+extern const u8 gMonFootprint_Ekans[];
+extern const u32 gMonFrontPic_Arbok[];
+extern const u32 gMonPalette_Arbok[];
+extern const u32 gMonBackPic_Arbok[];
+extern const u32 gMonShinyPalette_Arbok[];
+extern const u8 gMonIcon_Arbok[];
+extern const u8 gMonFootprint_Arbok[];
+extern const u32 gMonFrontPic_Pikachu[];
+extern const u32 gMonPalette_Pikachu[];
+extern const u32 gMonBackPic_Pikachu[];
+extern const u32 gMonShinyPalette_Pikachu[];
+extern const u8 gMonIcon_Pikachu[];
+extern const u8 gMonFootprint_Pikachu[];
+extern const u32 gMonFrontPic_Raichu[];
+extern const u32 gMonPalette_Raichu[];
+extern const u32 gMonBackPic_Raichu[];
+extern const u32 gMonShinyPalette_Raichu[];
+extern const u8 gMonIcon_Raichu[];
+extern const u8 gMonFootprint_Raichu[];
+extern const u32 gMonFrontPic_Sandshrew[];
+extern const u32 gMonPalette_Sandshrew[];
+extern const u32 gMonBackPic_Sandshrew[];
+extern const u32 gMonShinyPalette_Sandshrew[];
+extern const u8 gMonIcon_Sandshrew[];
+extern const u8 gMonFootprint_Sandshrew[];
+extern const u32 gMonFrontPic_Sandslash[];
+extern const u32 gMonPalette_Sandslash[];
+extern const u32 gMonBackPic_Sandslash[];
+extern const u32 gMonShinyPalette_Sandslash[];
+extern const u8 gMonIcon_Sandslash[];
+extern const u8 gMonFootprint_Sandslash[];
+extern const u32 gMonFrontPic_NidoranF[];
+extern const u32 gMonPalette_NidoranF[];
+extern const u32 gMonBackPic_NidoranF[];
+extern const u32 gMonShinyPalette_NidoranF[];
+extern const u8 gMonIcon_NidoranF[];
+extern const u8 gMonFootprint_NidoranF[];
+extern const u32 gMonFrontPic_Nidorina[];
+extern const u32 gMonPalette_Nidorina[];
+extern const u32 gMonBackPic_Nidorina[];
+extern const u32 gMonShinyPalette_Nidorina[];
+extern const u8 gMonIcon_Nidorina[];
+extern const u8 gMonFootprint_Nidorina[];
+extern const u32 gMonFrontPic_Nidoqueen[];
+extern const u32 gMonPalette_Nidoqueen[];
+extern const u32 gMonBackPic_Nidoqueen[];
+extern const u32 gMonShinyPalette_Nidoqueen[];
+extern const u8 gMonIcon_Nidoqueen[];
+extern const u8 gMonFootprint_Nidoqueen[];
+extern const u32 gMonFrontPic_NidoranM[];
+extern const u32 gMonPalette_NidoranM[];
+extern const u32 gMonBackPic_NidoranM[];
+extern const u32 gMonShinyPalette_NidoranM[];
+extern const u8 gMonIcon_NidoranM[];
+extern const u8 gMonFootprint_NidoranM[];
+extern const u32 gMonFrontPic_Nidorino[];
+extern const u32 gMonPalette_Nidorino[];
+extern const u32 gMonBackPic_Nidorino[];
+extern const u32 gMonShinyPalette_Nidorino[];
+extern const u8 gMonIcon_Nidorino[];
+extern const u8 gMonFootprint_Nidorino[];
+extern const u32 gMonFrontPic_Nidoking[];
+extern const u32 gMonPalette_Nidoking[];
+extern const u32 gMonBackPic_Nidoking[];
+extern const u32 gMonShinyPalette_Nidoking[];
+extern const u8 gMonIcon_Nidoking[];
+extern const u8 gMonFootprint_Nidoking[];
+extern const u32 gMonFrontPic_Clefairy[];
+extern const u32 gMonPalette_Clefairy[];
+extern const u32 gMonBackPic_Clefairy[];
+extern const u32 gMonShinyPalette_Clefairy[];
+extern const u8 gMonIcon_Clefairy[];
+extern const u8 gMonFootprint_Clefairy[];
+extern const u32 gMonFrontPic_Clefable[];
+extern const u32 gMonPalette_Clefable[];
+extern const u32 gMonBackPic_Clefable[];
+extern const u32 gMonShinyPalette_Clefable[];
+extern const u8 gMonIcon_Clefable[];
+extern const u8 gMonFootprint_Clefable[];
+extern const u32 gMonFrontPic_Vulpix[];
+extern const u32 gMonPalette_Vulpix[];
+extern const u32 gMonBackPic_Vulpix[];
+extern const u32 gMonShinyPalette_Vulpix[];
+extern const u8 gMonIcon_Vulpix[];
+extern const u8 gMonFootprint_Vulpix[];
+extern const u32 gMonFrontPic_Ninetales[];
+extern const u32 gMonPalette_Ninetales[];
+extern const u32 gMonBackPic_Ninetales[];
+extern const u32 gMonShinyPalette_Ninetales[];
+extern const u8 gMonIcon_Ninetales[];
+extern const u8 gMonFootprint_Ninetales[];
+extern const u32 gMonFrontPic_Jigglypuff[];
+extern const u32 gMonPalette_Jigglypuff[];
+extern const u32 gMonBackPic_Jigglypuff[];
+extern const u32 gMonShinyPalette_Jigglypuff[];
+extern const u8 gMonIcon_Jigglypuff[];
+extern const u8 gMonFootprint_Jigglypuff[];
+extern const u32 gMonFrontPic_Wigglytuff[];
+extern const u32 gMonPalette_Wigglytuff[];
+extern const u32 gMonBackPic_Wigglytuff[];
+extern const u32 gMonShinyPalette_Wigglytuff[];
+extern const u8 gMonIcon_Wigglytuff[];
+extern const u8 gMonFootprint_Wigglytuff[];
+extern const u32 gMonFrontPic_Zubat[];
+extern const u32 gMonPalette_Zubat[];
+extern const u32 gMonBackPic_Zubat[];
+extern const u32 gMonShinyPalette_Zubat[];
+extern const u8 gMonIcon_Zubat[];
+extern const u8 gMonFootprint_Zubat[];
+extern const u32 gMonFrontPic_Golbat[];
+extern const u32 gMonPalette_Golbat[];
+extern const u32 gMonBackPic_Golbat[];
+extern const u32 gMonShinyPalette_Golbat[];
+extern const u8 gMonIcon_Golbat[];
+extern const u8 gMonFootprint_Golbat[];
+extern const u32 gMonFrontPic_Oddish[];
+extern const u32 gMonPalette_Oddish[];
+extern const u32 gMonBackPic_Oddish[];
+extern const u32 gMonShinyPalette_Oddish[];
+extern const u8 gMonIcon_Oddish[];
+extern const u8 gMonFootprint_Oddish[];
+extern const u32 gMonFrontPic_Gloom[];
+extern const u32 gMonPalette_Gloom[];
+extern const u32 gMonBackPic_Gloom[];
+extern const u32 gMonShinyPalette_Gloom[];
+extern const u8 gMonIcon_Gloom[];
+extern const u8 gMonFootprint_Gloom[];
+extern const u32 gMonFrontPic_Vileplume[];
+extern const u32 gMonPalette_Vileplume[];
+extern const u32 gMonBackPic_Vileplume[];
+extern const u32 gMonShinyPalette_Vileplume[];
+extern const u8 gMonIcon_Vileplume[];
+extern const u8 gMonFootprint_Vileplume[];
+extern const u32 gMonFrontPic_Paras[];
+extern const u32 gMonPalette_Paras[];
+extern const u32 gMonBackPic_Paras[];
+extern const u32 gMonShinyPalette_Paras[];
+extern const u8 gMonIcon_Paras[];
+extern const u8 gMonFootprint_Paras[];
+extern const u32 gMonFrontPic_Parasect[];
+extern const u32 gMonPalette_Parasect[];
+extern const u32 gMonBackPic_Parasect[];
+extern const u32 gMonShinyPalette_Parasect[];
+extern const u8 gMonIcon_Parasect[];
+extern const u8 gMonFootprint_Parasect[];
+extern const u32 gMonFrontPic_Venonat[];
+extern const u32 gMonPalette_Venonat[];
+extern const u32 gMonBackPic_Venonat[];
+extern const u32 gMonShinyPalette_Venonat[];
+extern const u8 gMonIcon_Venonat[];
+extern const u8 gMonFootprint_Venonat[];
+extern const u32 gMonFrontPic_Venomoth[];
+extern const u32 gMonPalette_Venomoth[];
+extern const u32 gMonBackPic_Venomoth[];
+extern const u32 gMonShinyPalette_Venomoth[];
+extern const u8 gMonIcon_Venomoth[];
+extern const u8 gMonFootprint_Venomoth[];
+extern const u32 gMonFrontPic_Diglett[];
+extern const u32 gMonPalette_Diglett[];
+extern const u32 gMonBackPic_Diglett[];
+extern const u32 gMonShinyPalette_Diglett[];
+extern const u8 gMonIcon_Diglett[];
+extern const u8 gMonFootprint_Diglett[];
+extern const u32 gMonFrontPic_Dugtrio[];
+extern const u32 gMonPalette_Dugtrio[];
+extern const u32 gMonBackPic_Dugtrio[];
+extern const u32 gMonShinyPalette_Dugtrio[];
+extern const u8 gMonIcon_Dugtrio[];
+extern const u8 gMonFootprint_Dugtrio[];
+extern const u32 gMonFrontPic_Meowth[];
+extern const u32 gMonPalette_Meowth[];
+extern const u32 gMonBackPic_Meowth[];
+extern const u32 gMonShinyPalette_Meowth[];
+extern const u8 gMonIcon_Meowth[];
+extern const u8 gMonFootprint_Meowth[];
+extern const u32 gMonFrontPic_Persian[];
+extern const u32 gMonPalette_Persian[];
+extern const u32 gMonBackPic_Persian[];
+extern const u32 gMonShinyPalette_Persian[];
+extern const u8 gMonIcon_Persian[];
+extern const u8 gMonFootprint_Persian[];
+extern const u32 gMonFrontPic_Psyduck[];
+extern const u32 gMonPalette_Psyduck[];
+extern const u32 gMonBackPic_Psyduck[];
+extern const u32 gMonShinyPalette_Psyduck[];
+extern const u8 gMonIcon_Psyduck[];
+extern const u8 gMonFootprint_Psyduck[];
+extern const u32 gMonFrontPic_Golduck[];
+extern const u32 gMonPalette_Golduck[];
+extern const u32 gMonBackPic_Golduck[];
+extern const u32 gMonShinyPalette_Golduck[];
+extern const u8 gMonIcon_Golduck[];
+extern const u8 gMonFootprint_Golduck[];
+extern const u32 gMonFrontPic_Mankey[];
+extern const u32 gMonPalette_Mankey[];
+extern const u32 gMonBackPic_Mankey[];
+extern const u32 gMonShinyPalette_Mankey[];
+extern const u8 gMonIcon_Mankey[];
+extern const u8 gMonFootprint_Mankey[];
+extern const u32 gMonFrontPic_Primeape[];
+extern const u32 gMonPalette_Primeape[];
+extern const u32 gMonBackPic_Primeape[];
+extern const u32 gMonShinyPalette_Primeape[];
+extern const u8 gMonIcon_Primeape[];
+extern const u8 gMonFootprint_Primeape[];
+extern const u32 gMonFrontPic_Growlithe[];
+extern const u32 gMonPalette_Growlithe[];
+extern const u32 gMonBackPic_Growlithe[];
+extern const u32 gMonShinyPalette_Growlithe[];
+extern const u8 gMonIcon_Growlithe[];
+extern const u8 gMonFootprint_Growlithe[];
+extern const u32 gMonFrontPic_Arcanine[];
+extern const u32 gMonPalette_Arcanine[];
+extern const u32 gMonBackPic_Arcanine[];
+extern const u32 gMonShinyPalette_Arcanine[];
+extern const u8 gMonIcon_Arcanine[];
+extern const u8 gMonFootprint_Arcanine[];
+extern const u32 gMonFrontPic_Poliwag[];
+extern const u32 gMonPalette_Poliwag[];
+extern const u32 gMonBackPic_Poliwag[];
+extern const u32 gMonShinyPalette_Poliwag[];
+extern const u8 gMonIcon_Poliwag[];
+extern const u8 gMonFootprint_Poliwag[];
+extern const u32 gMonFrontPic_Poliwhirl[];
+extern const u32 gMonPalette_Poliwhirl[];
+extern const u32 gMonBackPic_Poliwhirl[];
+extern const u32 gMonShinyPalette_Poliwhirl[];
+extern const u8 gMonIcon_Poliwhirl[];
+extern const u8 gMonFootprint_Poliwhirl[];
+extern const u32 gMonFrontPic_Poliwrath[];
+extern const u32 gMonPalette_Poliwrath[];
+extern const u32 gMonBackPic_Poliwrath[];
+extern const u32 gMonShinyPalette_Poliwrath[];
+extern const u8 gMonIcon_Poliwrath[];
+extern const u8 gMonFootprint_Poliwrath[];
+extern const u32 gMonFrontPic_Abra[];
+extern const u32 gMonPalette_Abra[];
+extern const u32 gMonBackPic_Abra[];
+extern const u32 gMonShinyPalette_Abra[];
+extern const u8 gMonIcon_Abra[];
+extern const u8 gMonFootprint_Abra[];
+extern const u32 gMonFrontPic_Kadabra[];
+extern const u32 gMonPalette_Kadabra[];
+extern const u32 gMonBackPic_Kadabra[];
+extern const u32 gMonShinyPalette_Kadabra[];
+extern const u8 gMonIcon_Kadabra[];
+extern const u8 gMonFootprint_Kadabra[];
+extern const u32 gMonFrontPic_Alakazam[];
+extern const u32 gMonPalette_Alakazam[];
+extern const u32 gMonBackPic_Alakazam[];
+extern const u32 gMonShinyPalette_Alakazam[];
+extern const u8 gMonIcon_Alakazam[];
+extern const u8 gMonFootprint_Alakazam[];
+extern const u32 gMonFrontPic_Machop[];
+extern const u32 gMonPalette_Machop[];
+extern const u32 gMonBackPic_Machop[];
+extern const u32 gMonShinyPalette_Machop[];
+extern const u8 gMonIcon_Machop[];
+extern const u8 gMonFootprint_Machop[];
+extern const u32 gMonFrontPic_Machoke[];
+extern const u32 gMonPalette_Machoke[];
+extern const u32 gMonBackPic_Machoke[];
+extern const u32 gMonShinyPalette_Machoke[];
+extern const u8 gMonIcon_Machoke[];
+extern const u8 gMonFootprint_Machoke[];
+extern const u32 gMonFrontPic_Machamp[];
+extern const u32 gMonPalette_Machamp[];
+extern const u32 gMonBackPic_Machamp[];
+extern const u32 gMonShinyPalette_Machamp[];
+extern const u8 gMonIcon_Machamp[];
+extern const u8 gMonFootprint_Machamp[];
+extern const u32 gMonFrontPic_Bellsprout[];
+extern const u32 gMonPalette_Bellsprout[];
+extern const u32 gMonBackPic_Bellsprout[];
+extern const u32 gMonShinyPalette_Bellsprout[];
+extern const u8 gMonIcon_Bellsprout[];
+extern const u8 gMonFootprint_Bellsprout[];
+extern const u32 gMonFrontPic_Weepinbell[];
+extern const u32 gMonPalette_Weepinbell[];
+extern const u32 gMonBackPic_Weepinbell[];
+extern const u32 gMonShinyPalette_Weepinbell[];
+extern const u8 gMonIcon_Weepinbell[];
+extern const u8 gMonFootprint_Weepinbell[];
+extern const u32 gMonFrontPic_Victreebel[];
+extern const u32 gMonPalette_Victreebel[];
+extern const u32 gMonBackPic_Victreebel[];
+extern const u32 gMonShinyPalette_Victreebel[];
+extern const u8 gMonIcon_Victreebel[];
+extern const u8 gMonFootprint_Victreebel[];
+extern const u32 gMonFrontPic_Tentacool[];
+extern const u32 gMonPalette_Tentacool[];
+extern const u32 gMonBackPic_Tentacool[];
+extern const u32 gMonShinyPalette_Tentacool[];
+extern const u8 gMonIcon_Tentacool[];
+extern const u8 gMonFootprint_Tentacool[];
+extern const u32 gMonFrontPic_Tentacruel[];
+extern const u32 gMonPalette_Tentacruel[];
+extern const u32 gMonBackPic_Tentacruel[];
+extern const u32 gMonShinyPalette_Tentacruel[];
+extern const u8 gMonIcon_Tentacruel[];
+extern const u8 gMonFootprint_Tentacruel[];
+extern const u32 gMonFrontPic_Geodude[];
+extern const u32 gMonPalette_Geodude[];
+extern const u32 gMonBackPic_Geodude[];
+extern const u32 gMonShinyPalette_Geodude[];
+extern const u8 gMonIcon_Geodude[];
+extern const u8 gMonFootprint_Geodude[];
+extern const u32 gMonFrontPic_Graveler[];
+extern const u32 gMonPalette_Graveler[];
+extern const u32 gMonBackPic_Graveler[];
+extern const u32 gMonShinyPalette_Graveler[];
+extern const u8 gMonIcon_Graveler[];
+extern const u8 gMonFootprint_Graveler[];
+extern const u32 gMonFrontPic_Golem[];
+extern const u32 gMonPalette_Golem[];
+extern const u32 gMonBackPic_Golem[];
+extern const u32 gMonShinyPalette_Golem[];
+extern const u8 gMonIcon_Golem[];
+extern const u8 gMonFootprint_Golem[];
+extern const u32 gMonFrontPic_Ponyta[];
+extern const u32 gMonPalette_Ponyta[];
+extern const u32 gMonBackPic_Ponyta[];
+extern const u32 gMonShinyPalette_Ponyta[];
+extern const u8 gMonIcon_Ponyta[];
+extern const u8 gMonFootprint_Ponyta[];
+extern const u32 gMonFrontPic_Rapidash[];
+extern const u32 gMonPalette_Rapidash[];
+extern const u32 gMonBackPic_Rapidash[];
+extern const u32 gMonShinyPalette_Rapidash[];
+extern const u8 gMonIcon_Rapidash[];
+extern const u8 gMonFootprint_Rapidash[];
+extern const u32 gMonFrontPic_Slowpoke[];
+extern const u32 gMonPalette_Slowpoke[];
+extern const u32 gMonBackPic_Slowpoke[];
+extern const u32 gMonShinyPalette_Slowpoke[];
+extern const u8 gMonIcon_Slowpoke[];
+extern const u8 gMonFootprint_Slowpoke[];
+extern const u32 gMonFrontPic_Slowbro[];
+extern const u32 gMonPalette_Slowbro[];
+extern const u32 gMonBackPic_Slowbro[];
+extern const u32 gMonShinyPalette_Slowbro[];
+extern const u8 gMonIcon_Slowbro[];
+extern const u8 gMonFootprint_Slowbro[];
+extern const u32 gMonFrontPic_Magnemite[];
+extern const u32 gMonPalette_Magnemite[];
+extern const u32 gMonBackPic_Magnemite[];
+extern const u32 gMonShinyPalette_Magnemite[];
+extern const u8 gMonIcon_Magnemite[];
+extern const u8 gMonFootprint_Magnemite[];
+extern const u32 gMonFrontPic_Magneton[];
+extern const u32 gMonPalette_Magneton[];
+extern const u32 gMonBackPic_Magneton[];
+extern const u32 gMonShinyPalette_Magneton[];
+extern const u8 gMonIcon_Magneton[];
+extern const u8 gMonFootprint_Magneton[];
+extern const u32 gMonFrontPic_Farfetchd[];
+extern const u32 gMonPalette_Farfetchd[];
+extern const u32 gMonBackPic_Farfetchd[];
+extern const u32 gMonShinyPalette_Farfetchd[];
+extern const u8 gMonIcon_Farfetchd[];
+extern const u8 gMonFootprint_Farfetchd[];
+extern const u32 gMonFrontPic_Doduo[];
+extern const u32 gMonPalette_Doduo[];
+extern const u32 gMonBackPic_Doduo[];
+extern const u32 gMonShinyPalette_Doduo[];
+extern const u8 gMonIcon_Doduo[];
+extern const u8 gMonFootprint_Doduo[];
+extern const u32 gMonFrontPic_Dodrio[];
+extern const u32 gMonPalette_Dodrio[];
+extern const u32 gMonBackPic_Dodrio[];
+extern const u32 gMonShinyPalette_Dodrio[];
+extern const u8 gMonIcon_Dodrio[];
+extern const u8 gMonFootprint_Dodrio[];
+extern const u32 gMonFrontPic_Seel[];
+extern const u32 gMonPalette_Seel[];
+extern const u32 gMonBackPic_Seel[];
+extern const u32 gMonShinyPalette_Seel[];
+extern const u8 gMonIcon_Seel[];
+extern const u8 gMonFootprint_Seel[];
+extern const u32 gMonFrontPic_Dewgong[];
+extern const u32 gMonPalette_Dewgong[];
+extern const u32 gMonBackPic_Dewgong[];
+extern const u32 gMonShinyPalette_Dewgong[];
+extern const u8 gMonIcon_Dewgong[];
+extern const u8 gMonFootprint_Dewgong[];
+extern const u32 gMonFrontPic_Grimer[];
+extern const u32 gMonPalette_Grimer[];
+extern const u32 gMonBackPic_Grimer[];
+extern const u32 gMonShinyPalette_Grimer[];
+extern const u8 gMonIcon_Grimer[];
+extern const u8 gMonFootprint_Grimer[];
+extern const u32 gMonFrontPic_Muk[];
+extern const u32 gMonPalette_Muk[];
+extern const u32 gMonBackPic_Muk[];
+extern const u32 gMonShinyPalette_Muk[];
+extern const u8 gMonIcon_Muk[];
+extern const u8 gMonFootprint_Muk[];
+extern const u32 gMonFrontPic_Shellder[];
+extern const u32 gMonPalette_Shellder[];
+extern const u32 gMonBackPic_Shellder[];
+extern const u32 gMonShinyPalette_Shellder[];
+extern const u8 gMonIcon_Shellder[];
+extern const u8 gMonFootprint_Shellder[];
+extern const u32 gMonFrontPic_Cloyster[];
+extern const u32 gMonPalette_Cloyster[];
+extern const u32 gMonBackPic_Cloyster[];
+extern const u32 gMonShinyPalette_Cloyster[];
+extern const u8 gMonIcon_Cloyster[];
+extern const u8 gMonFootprint_Cloyster[];
+extern const u32 gMonFrontPic_Gastly[];
+extern const u32 gMonPalette_Gastly[];
+extern const u32 gMonBackPic_Gastly[];
+extern const u32 gMonShinyPalette_Gastly[];
+extern const u8 gMonIcon_Gastly[];
+extern const u8 gMonFootprint_Gastly[];
+extern const u32 gMonFrontPic_Haunter[];
+extern const u32 gMonPalette_Haunter[];
+extern const u32 gMonBackPic_Haunter[];
+extern const u32 gMonShinyPalette_Haunter[];
+extern const u8 gMonIcon_Haunter[];
+extern const u8 gMonFootprint_Haunter[];
+extern const u32 gMonFrontPic_Gengar[];
+extern const u32 gMonPalette_Gengar[];
+extern const u32 gMonBackPic_Gengar[];
+extern const u32 gMonShinyPalette_Gengar[];
+extern const u8 gMonIcon_Gengar[];
+extern const u8 gMonFootprint_Gengar[];
+extern const u32 gMonFrontPic_Onix[];
+extern const u32 gMonPalette_Onix[];
+extern const u32 gMonBackPic_Onix[];
+extern const u32 gMonShinyPalette_Onix[];
+extern const u8 gMonIcon_Onix[];
+extern const u8 gMonFootprint_Onix[];
+extern const u32 gMonFrontPic_Drowzee[];
+extern const u32 gMonPalette_Drowzee[];
+extern const u32 gMonBackPic_Drowzee[];
+extern const u32 gMonShinyPalette_Drowzee[];
+extern const u8 gMonIcon_Drowzee[];
+extern const u8 gMonFootprint_Drowzee[];
+extern const u32 gMonFrontPic_Hypno[];
+extern const u32 gMonPalette_Hypno[];
+extern const u32 gMonBackPic_Hypno[];
+extern const u32 gMonShinyPalette_Hypno[];
+extern const u8 gMonIcon_Hypno[];
+extern const u8 gMonFootprint_Hypno[];
+extern const u32 gMonFrontPic_Krabby[];
+extern const u32 gMonPalette_Krabby[];
+extern const u32 gMonBackPic_Krabby[];
+extern const u32 gMonShinyPalette_Krabby[];
+extern const u8 gMonIcon_Krabby[];
+extern const u8 gMonFootprint_Krabby[];
+extern const u32 gMonFrontPic_Kingler[];
+extern const u32 gMonPalette_Kingler[];
+extern const u32 gMonBackPic_Kingler[];
+extern const u32 gMonShinyPalette_Kingler[];
+extern const u8 gMonIcon_Kingler[];
+extern const u8 gMonFootprint_Kingler[];
+extern const u32 gMonFrontPic_Voltorb[];
+extern const u32 gMonPalette_Voltorb[];
+extern const u32 gMonBackPic_Voltorb[];
+extern const u32 gMonShinyPalette_Voltorb[];
+extern const u8 gMonIcon_Voltorb[];
+extern const u8 gMonFootprint_Voltorb[];
+extern const u32 gMonFrontPic_Electrode[];
+extern const u32 gMonPalette_Electrode[];
+extern const u32 gMonBackPic_Electrode[];
+extern const u32 gMonShinyPalette_Electrode[];
+extern const u8 gMonIcon_Electrode[];
+extern const u8 gMonFootprint_Electrode[];
+extern const u32 gMonFrontPic_Exeggcute[];
+extern const u32 gMonPalette_Exeggcute[];
+extern const u32 gMonBackPic_Exeggcute[];
+extern const u32 gMonShinyPalette_Exeggcute[];
+extern const u8 gMonIcon_Exeggcute[];
+extern const u8 gMonFootprint_Exeggcute[];
+extern const u32 gMonFrontPic_Exeggutor[];
+extern const u32 gMonPalette_Exeggutor[];
+extern const u32 gMonBackPic_Exeggutor[];
+extern const u32 gMonShinyPalette_Exeggutor[];
+extern const u8 gMonIcon_Exeggutor[];
+extern const u8 gMonFootprint_Exeggutor[];
+extern const u32 gMonFrontPic_Cubone[];
+extern const u32 gMonPalette_Cubone[];
+extern const u32 gMonBackPic_Cubone[];
+extern const u32 gMonShinyPalette_Cubone[];
+extern const u8 gMonIcon_Cubone[];
+extern const u8 gMonFootprint_Cubone[];
+extern const u32 gMonFrontPic_Marowak[];
+extern const u32 gMonPalette_Marowak[];
+extern const u32 gMonBackPic_Marowak[];
+extern const u32 gMonShinyPalette_Marowak[];
+extern const u8 gMonIcon_Marowak[];
+extern const u8 gMonFootprint_Marowak[];
+extern const u32 gMonFrontPic_Hitmonlee[];
+extern const u32 gMonPalette_Hitmonlee[];
+extern const u32 gMonBackPic_Hitmonlee[];
+extern const u32 gMonShinyPalette_Hitmonlee[];
+extern const u8 gMonIcon_Hitmonlee[];
+extern const u8 gMonFootprint_Hitmonlee[];
+extern const u32 gMonFrontPic_Hitmonchan[];
+extern const u32 gMonPalette_Hitmonchan[];
+extern const u32 gMonBackPic_Hitmonchan[];
+extern const u32 gMonShinyPalette_Hitmonchan[];
+extern const u8 gMonIcon_Hitmonchan[];
+extern const u8 gMonFootprint_Hitmonchan[];
+extern const u32 gMonFrontPic_Lickitung[];
+extern const u32 gMonPalette_Lickitung[];
+extern const u32 gMonBackPic_Lickitung[];
+extern const u32 gMonShinyPalette_Lickitung[];
+extern const u8 gMonIcon_Lickitung[];
+extern const u8 gMonFootprint_Lickitung[];
+extern const u32 gMonFrontPic_Koffing[];
+extern const u32 gMonPalette_Koffing[];
+extern const u32 gMonBackPic_Koffing[];
+extern const u32 gMonShinyPalette_Koffing[];
+extern const u8 gMonIcon_Koffing[];
+extern const u8 gMonFootprint_Koffing[];
+extern const u32 gMonFrontPic_Weezing[];
+extern const u32 gMonPalette_Weezing[];
+extern const u32 gMonBackPic_Weezing[];
+extern const u32 gMonShinyPalette_Weezing[];
+extern const u8 gMonIcon_Weezing[];
+extern const u8 gMonFootprint_Weezing[];
+extern const u32 gMonFrontPic_Rhyhorn[];
+extern const u32 gMonPalette_Rhyhorn[];
+extern const u32 gMonBackPic_Rhyhorn[];
+extern const u32 gMonShinyPalette_Rhyhorn[];
+extern const u8 gMonIcon_Rhyhorn[];
+extern const u8 gMonFootprint_Rhyhorn[];
+extern const u32 gMonFrontPic_Rhydon[];
+extern const u32 gMonPalette_Rhydon[];
+extern const u32 gMonBackPic_Rhydon[];
+extern const u32 gMonShinyPalette_Rhydon[];
+extern const u8 gMonIcon_Rhydon[];
+extern const u8 gMonFootprint_Rhydon[];
+extern const u32 gMonFrontPic_Chansey[];
+extern const u32 gMonPalette_Chansey[];
+extern const u32 gMonBackPic_Chansey[];
+extern const u32 gMonShinyPalette_Chansey[];
+extern const u8 gMonIcon_Chansey[];
+extern const u8 gMonFootprint_Chansey[];
+extern const u32 gMonFrontPic_Tangela[];
+extern const u32 gMonPalette_Tangela[];
+extern const u32 gMonBackPic_Tangela[];
+extern const u32 gMonShinyPalette_Tangela[];
+extern const u8 gMonIcon_Tangela[];
+extern const u8 gMonFootprint_Tangela[];
+extern const u32 gMonFrontPic_Kangaskhan[];
+extern const u32 gMonPalette_Kangaskhan[];
+extern const u32 gMonBackPic_Kangaskhan[];
+extern const u32 gMonShinyPalette_Kangaskhan[];
+extern const u8 gMonIcon_Kangaskhan[];
+extern const u8 gMonFootprint_Kangaskhan[];
+extern const u32 gMonFrontPic_Horsea[];
+extern const u32 gMonPalette_Horsea[];
+extern const u32 gMonBackPic_Horsea[];
+extern const u32 gMonShinyPalette_Horsea[];
+extern const u8 gMonIcon_Horsea[];
+extern const u8 gMonFootprint_Horsea[];
+extern const u32 gMonFrontPic_Seadra[];
+extern const u32 gMonPalette_Seadra[];
+extern const u32 gMonBackPic_Seadra[];
+extern const u32 gMonShinyPalette_Seadra[];
+extern const u8 gMonIcon_Seadra[];
+extern const u8 gMonFootprint_Seadra[];
+extern const u32 gMonFrontPic_Goldeen[];
+extern const u32 gMonPalette_Goldeen[];
+extern const u32 gMonBackPic_Goldeen[];
+extern const u32 gMonShinyPalette_Goldeen[];
+extern const u8 gMonIcon_Goldeen[];
+extern const u8 gMonFootprint_Goldeen[];
+extern const u32 gMonFrontPic_Seaking[];
+extern const u32 gMonPalette_Seaking[];
+extern const u32 gMonBackPic_Seaking[];
+extern const u32 gMonShinyPalette_Seaking[];
+extern const u8 gMonIcon_Seaking[];
+extern const u8 gMonFootprint_Seaking[];
+extern const u32 gMonFrontPic_Staryu[];
+extern const u32 gMonPalette_Staryu[];
+extern const u32 gMonBackPic_Staryu[];
+extern const u32 gMonShinyPalette_Staryu[];
+extern const u8 gMonIcon_Staryu[];
+extern const u8 gMonFootprint_Staryu[];
+extern const u32 gMonFrontPic_Starmie[];
+extern const u32 gMonPalette_Starmie[];
+extern const u32 gMonBackPic_Starmie[];
+extern const u32 gMonShinyPalette_Starmie[];
+extern const u8 gMonIcon_Starmie[];
+extern const u8 gMonFootprint_Starmie[];
+extern const u32 gMonFrontPic_Mrmime[];
+extern const u32 gMonPalette_Mrmime[];
+extern const u32 gMonBackPic_Mrmime[];
+extern const u32 gMonShinyPalette_Mrmime[];
+extern const u8 gMonIcon_Mrmime[];
+extern const u8 gMonFootprint_Mrmime[];
+extern const u32 gMonFrontPic_Scyther[];
+extern const u32 gMonPalette_Scyther[];
+extern const u32 gMonBackPic_Scyther[];
+extern const u32 gMonShinyPalette_Scyther[];
+extern const u8 gMonIcon_Scyther[];
+extern const u8 gMonFootprint_Scyther[];
+extern const u32 gMonFrontPic_Jynx[];
+extern const u32 gMonPalette_Jynx[];
+extern const u32 gMonBackPic_Jynx[];
+extern const u32 gMonShinyPalette_Jynx[];
+extern const u8 gMonIcon_Jynx[];
+extern const u8 gMonFootprint_Jynx[];
+extern const u32 gMonFrontPic_Electabuzz[];
+extern const u32 gMonPalette_Electabuzz[];
+extern const u32 gMonBackPic_Electabuzz[];
+extern const u32 gMonShinyPalette_Electabuzz[];
+extern const u8 gMonIcon_Electabuzz[];
+extern const u8 gMonFootprint_Electabuzz[];
+extern const u32 gMonFrontPic_Magmar[];
+extern const u32 gMonPalette_Magmar[];
+extern const u32 gMonBackPic_Magmar[];
+extern const u32 gMonShinyPalette_Magmar[];
+extern const u8 gMonIcon_Magmar[];
+extern const u8 gMonFootprint_Magmar[];
+extern const u32 gMonFrontPic_Pinsir[];
+extern const u32 gMonPalette_Pinsir[];
+extern const u32 gMonBackPic_Pinsir[];
+extern const u32 gMonShinyPalette_Pinsir[];
+extern const u8 gMonIcon_Pinsir[];
+extern const u8 gMonFootprint_Pinsir[];
+extern const u32 gMonFrontPic_Tauros[];
+extern const u32 gMonPalette_Tauros[];
+extern const u32 gMonBackPic_Tauros[];
+extern const u32 gMonShinyPalette_Tauros[];
+extern const u8 gMonIcon_Tauros[];
+extern const u8 gMonFootprint_Tauros[];
+extern const u32 gMonFrontPic_Magikarp[];
+extern const u32 gMonPalette_Magikarp[];
+extern const u32 gMonBackPic_Magikarp[];
+extern const u32 gMonShinyPalette_Magikarp[];
+extern const u8 gMonIcon_Magikarp[];
+extern const u8 gMonFootprint_Magikarp[];
+extern const u32 gMonFrontPic_Gyarados[];
+extern const u32 gMonPalette_Gyarados[];
+extern const u32 gMonBackPic_Gyarados[];
+extern const u32 gMonShinyPalette_Gyarados[];
+extern const u8 gMonIcon_Gyarados[];
+extern const u8 gMonFootprint_Gyarados[];
+extern const u32 gMonFrontPic_Lapras[];
+extern const u32 gMonPalette_Lapras[];
+extern const u32 gMonBackPic_Lapras[];
+extern const u32 gMonShinyPalette_Lapras[];
+extern const u8 gMonIcon_Lapras[];
+extern const u8 gMonFootprint_Lapras[];
+extern const u32 gMonFrontPic_Ditto[];
+extern const u32 gMonPalette_Ditto[];
+extern const u32 gMonBackPic_Ditto[];
+extern const u32 gMonShinyPalette_Ditto[];
+extern const u8 gMonIcon_Ditto[];
+extern const u8 gMonFootprint_Ditto[];
+extern const u32 gMonFrontPic_Eevee[];
+extern const u32 gMonPalette_Eevee[];
+extern const u32 gMonBackPic_Eevee[];
+extern const u32 gMonShinyPalette_Eevee[];
+extern const u8 gMonIcon_Eevee[];
+extern const u8 gMonFootprint_Eevee[];
+extern const u32 gMonFrontPic_Vaporeon[];
+extern const u32 gMonPalette_Vaporeon[];
+extern const u32 gMonBackPic_Vaporeon[];
+extern const u32 gMonShinyPalette_Vaporeon[];
+extern const u8 gMonIcon_Vaporeon[];
+extern const u8 gMonFootprint_Vaporeon[];
+extern const u32 gMonFrontPic_Jolteon[];
+extern const u32 gMonPalette_Jolteon[];
+extern const u32 gMonBackPic_Jolteon[];
+extern const u32 gMonShinyPalette_Jolteon[];
+extern const u8 gMonIcon_Jolteon[];
+extern const u8 gMonFootprint_Jolteon[];
+extern const u32 gMonFrontPic_Flareon[];
+extern const u32 gMonPalette_Flareon[];
+extern const u32 gMonBackPic_Flareon[];
+extern const u32 gMonShinyPalette_Flareon[];
+extern const u8 gMonIcon_Flareon[];
+extern const u8 gMonFootprint_Flareon[];
+extern const u32 gMonFrontPic_Porygon[];
+extern const u32 gMonPalette_Porygon[];
+extern const u32 gMonBackPic_Porygon[];
+extern const u32 gMonShinyPalette_Porygon[];
+extern const u8 gMonIcon_Porygon[];
+extern const u8 gMonFootprint_Porygon[];
+extern const u32 gMonFrontPic_Omanyte[];
+extern const u32 gMonPalette_Omanyte[];
+extern const u32 gMonBackPic_Omanyte[];
+extern const u32 gMonShinyPalette_Omanyte[];
+extern const u8 gMonIcon_Omanyte[];
+extern const u8 gMonFootprint_Omanyte[];
+extern const u32 gMonFrontPic_Omastar[];
+extern const u32 gMonPalette_Omastar[];
+extern const u32 gMonBackPic_Omastar[];
+extern const u32 gMonShinyPalette_Omastar[];
+extern const u8 gMonIcon_Omastar[];
+extern const u8 gMonFootprint_Omastar[];
+extern const u32 gMonFrontPic_Kabuto[];
+extern const u32 gMonPalette_Kabuto[];
+extern const u32 gMonBackPic_Kabuto[];
+extern const u32 gMonShinyPalette_Kabuto[];
+extern const u8 gMonIcon_Kabuto[];
+extern const u8 gMonFootprint_Kabuto[];
+extern const u32 gMonFrontPic_Kabutops[];
+extern const u32 gMonPalette_Kabutops[];
+extern const u32 gMonBackPic_Kabutops[];
+extern const u32 gMonShinyPalette_Kabutops[];
+extern const u8 gMonIcon_Kabutops[];
+extern const u8 gMonFootprint_Kabutops[];
+extern const u32 gMonFrontPic_Aerodactyl[];
+extern const u32 gMonPalette_Aerodactyl[];
+extern const u32 gMonBackPic_Aerodactyl[];
+extern const u32 gMonShinyPalette_Aerodactyl[];
+extern const u8 gMonIcon_Aerodactyl[];
+extern const u8 gMonFootprint_Aerodactyl[];
+extern const u32 gMonFrontPic_Snorlax[];
+extern const u32 gMonPalette_Snorlax[];
+extern const u32 gMonBackPic_Snorlax[];
+extern const u32 gMonShinyPalette_Snorlax[];
+extern const u8 gMonIcon_Snorlax[];
+extern const u8 gMonFootprint_Snorlax[];
+extern const u32 gMonFrontPic_Articuno[];
+extern const u32 gMonPalette_Articuno[];
+extern const u32 gMonBackPic_Articuno[];
+extern const u32 gMonShinyPalette_Articuno[];
+extern const u8 gMonIcon_Articuno[];
+extern const u8 gMonFootprint_Articuno[];
+extern const u32 gMonFrontPic_Zapdos[];
+extern const u32 gMonPalette_Zapdos[];
+extern const u32 gMonBackPic_Zapdos[];
+extern const u32 gMonShinyPalette_Zapdos[];
+extern const u8 gMonIcon_Zapdos[];
+extern const u8 gMonFootprint_Zapdos[];
+extern const u32 gMonFrontPic_Moltres[];
+extern const u32 gMonPalette_Moltres[];
+extern const u32 gMonBackPic_Moltres[];
+extern const u32 gMonShinyPalette_Moltres[];
+extern const u8 gMonIcon_Moltres[];
+extern const u8 gMonFootprint_Moltres[];
+extern const u32 gMonFrontPic_Dratini[];
+extern const u32 gMonPalette_Dratini[];
+extern const u32 gMonBackPic_Dratini[];
+extern const u32 gMonShinyPalette_Dratini[];
+extern const u8 gMonIcon_Dratini[];
+extern const u8 gMonFootprint_Dratini[];
+extern const u32 gMonFrontPic_Dragonair[];
+extern const u32 gMonPalette_Dragonair[];
+extern const u32 gMonBackPic_Dragonair[];
+extern const u32 gMonShinyPalette_Dragonair[];
+extern const u8 gMonIcon_Dragonair[];
+extern const u8 gMonFootprint_Dragonair[];
+extern const u32 gMonFrontPic_Dragonite[];
+extern const u32 gMonPalette_Dragonite[];
+extern const u32 gMonBackPic_Dragonite[];
+extern const u32 gMonShinyPalette_Dragonite[];
+extern const u8 gMonIcon_Dragonite[];
+extern const u8 gMonFootprint_Dragonite[];
+extern const u32 gMonFrontPic_Mewtwo[];
+extern const u32 gMonPalette_Mewtwo[];
+extern const u32 gMonBackPic_Mewtwo[];
+extern const u32 gMonShinyPalette_Mewtwo[];
+extern const u8 gMonIcon_Mewtwo[];
+extern const u8 gMonFootprint_Mewtwo[];
+extern const u32 gMonFrontPic_Mew[];
+extern const u32 gMonPalette_Mew[];
+extern const u32 gMonBackPic_Mew[];
+extern const u32 gMonShinyPalette_Mew[];
+extern const u8 gMonIcon_Mew[];
+extern const u8 gMonFootprint_Mew[];
+extern const u32 gMonFrontPic_Chikorita[];
+extern const u32 gMonPalette_Chikorita[];
+extern const u32 gMonBackPic_Chikorita[];
+extern const u32 gMonShinyPalette_Chikorita[];
+extern const u8 gMonIcon_Chikorita[];
+extern const u8 gMonFootprint_Chikorita[];
+extern const u32 gMonFrontPic_Bayleef[];
+extern const u32 gMonPalette_Bayleef[];
+extern const u32 gMonBackPic_Bayleef[];
+extern const u32 gMonShinyPalette_Bayleef[];
+extern const u8 gMonIcon_Bayleef[];
+extern const u8 gMonFootprint_Bayleef[];
+extern const u32 gMonFrontPic_Meganium[];
+extern const u32 gMonPalette_Meganium[];
+extern const u32 gMonBackPic_Meganium[];
+extern const u32 gMonShinyPalette_Meganium[];
+extern const u8 gMonIcon_Meganium[];
+extern const u8 gMonFootprint_Meganium[];
+extern const u32 gMonFrontPic_Cyndaquil[];
+extern const u32 gMonPalette_Cyndaquil[];
+extern const u32 gMonBackPic_Cyndaquil[];
+extern const u32 gMonShinyPalette_Cyndaquil[];
+extern const u8 gMonIcon_Cyndaquil[];
+extern const u8 gMonFootprint_Cyndaquil[];
+extern const u32 gMonFrontPic_Quilava[];
+extern const u32 gMonPalette_Quilava[];
+extern const u32 gMonBackPic_Quilava[];
+extern const u32 gMonShinyPalette_Quilava[];
+extern const u8 gMonIcon_Quilava[];
+extern const u8 gMonFootprint_Quilava[];
+extern const u32 gMonFrontPic_Typhlosion[];
+extern const u32 gMonPalette_Typhlosion[];
+extern const u32 gMonBackPic_Typhlosion[];
+extern const u32 gMonShinyPalette_Typhlosion[];
+extern const u8 gMonIcon_Typhlosion[];
+extern const u8 gMonFootprint_Typhlosion[];
+extern const u32 gMonFrontPic_Totodile[];
+extern const u32 gMonPalette_Totodile[];
+extern const u32 gMonBackPic_Totodile[];
+extern const u32 gMonShinyPalette_Totodile[];
+extern const u8 gMonIcon_Totodile[];
+extern const u8 gMonFootprint_Totodile[];
+extern const u32 gMonFrontPic_Croconaw[];
+extern const u32 gMonPalette_Croconaw[];
+extern const u32 gMonBackPic_Croconaw[];
+extern const u32 gMonShinyPalette_Croconaw[];
+extern const u8 gMonIcon_Croconaw[];
+extern const u8 gMonFootprint_Croconaw[];
+extern const u32 gMonFrontPic_Feraligatr[];
+extern const u32 gMonPalette_Feraligatr[];
+extern const u32 gMonBackPic_Feraligatr[];
+extern const u32 gMonShinyPalette_Feraligatr[];
+extern const u8 gMonIcon_Feraligatr[];
+extern const u8 gMonFootprint_Feraligatr[];
+extern const u32 gMonFrontPic_Sentret[];
+extern const u32 gMonPalette_Sentret[];
+extern const u32 gMonBackPic_Sentret[];
+extern const u32 gMonShinyPalette_Sentret[];
+extern const u8 gMonIcon_Sentret[];
+extern const u8 gMonFootprint_Sentret[];
+extern const u32 gMonFrontPic_Furret[];
+extern const u32 gMonPalette_Furret[];
+extern const u32 gMonBackPic_Furret[];
+extern const u32 gMonShinyPalette_Furret[];
+extern const u8 gMonIcon_Furret[];
+extern const u8 gMonFootprint_Furret[];
+extern const u32 gMonFrontPic_Hoothoot[];
+extern const u32 gMonPalette_Hoothoot[];
+extern const u32 gMonBackPic_Hoothoot[];
+extern const u32 gMonShinyPalette_Hoothoot[];
+extern const u8 gMonIcon_Hoothoot[];
+extern const u8 gMonFootprint_Hoothoot[];
+extern const u32 gMonFrontPic_Noctowl[];
+extern const u32 gMonPalette_Noctowl[];
+extern const u32 gMonBackPic_Noctowl[];
+extern const u32 gMonShinyPalette_Noctowl[];
+extern const u8 gMonIcon_Noctowl[];
+extern const u8 gMonFootprint_Noctowl[];
+extern const u32 gMonFrontPic_Ledyba[];
+extern const u32 gMonPalette_Ledyba[];
+extern const u32 gMonBackPic_Ledyba[];
+extern const u32 gMonShinyPalette_Ledyba[];
+extern const u8 gMonIcon_Ledyba[];
+extern const u8 gMonFootprint_Ledyba[];
+extern const u32 gMonFrontPic_Ledian[];
+extern const u32 gMonPalette_Ledian[];
+extern const u32 gMonBackPic_Ledian[];
+extern const u32 gMonShinyPalette_Ledian[];
+extern const u8 gMonIcon_Ledian[];
+extern const u8 gMonFootprint_Ledian[];
+extern const u32 gMonFrontPic_Spinarak[];
+extern const u32 gMonPalette_Spinarak[];
+extern const u32 gMonBackPic_Spinarak[];
+extern const u32 gMonShinyPalette_Spinarak[];
+extern const u8 gMonIcon_Spinarak[];
+extern const u8 gMonFootprint_Spinarak[];
+extern const u32 gMonFrontPic_Ariados[];
+extern const u32 gMonPalette_Ariados[];
+extern const u32 gMonBackPic_Ariados[];
+extern const u32 gMonShinyPalette_Ariados[];
+extern const u8 gMonIcon_Ariados[];
+extern const u8 gMonFootprint_Ariados[];
+extern const u32 gMonFrontPic_Crobat[];
+extern const u32 gMonPalette_Crobat[];
+extern const u32 gMonBackPic_Crobat[];
+extern const u32 gMonShinyPalette_Crobat[];
+extern const u8 gMonIcon_Crobat[];
+extern const u8 gMonFootprint_Crobat[];
+extern const u32 gMonFrontPic_Chinchou[];
+extern const u32 gMonPalette_Chinchou[];
+extern const u32 gMonBackPic_Chinchou[];
+extern const u32 gMonShinyPalette_Chinchou[];
+extern const u8 gMonIcon_Chinchou[];
+extern const u8 gMonFootprint_Chinchou[];
+extern const u32 gMonFrontPic_Lanturn[];
+extern const u32 gMonPalette_Lanturn[];
+extern const u32 gMonBackPic_Lanturn[];
+extern const u32 gMonShinyPalette_Lanturn[];
+extern const u8 gMonIcon_Lanturn[];
+extern const u8 gMonFootprint_Lanturn[];
+extern const u32 gMonFrontPic_Pichu[];
+extern const u32 gMonPalette_Pichu[];
+extern const u32 gMonBackPic_Pichu[];
+extern const u32 gMonShinyPalette_Pichu[];
+extern const u8 gMonIcon_Pichu[];
+extern const u8 gMonFootprint_Pichu[];
+extern const u32 gMonFrontPic_Cleffa[];
+extern const u32 gMonPalette_Cleffa[];
+extern const u32 gMonBackPic_Cleffa[];
+extern const u32 gMonShinyPalette_Cleffa[];
+extern const u8 gMonIcon_Cleffa[];
+extern const u8 gMonFootprint_Cleffa[];
+extern const u32 gMonFrontPic_Igglybuff[];
+extern const u32 gMonPalette_Igglybuff[];
+extern const u32 gMonBackPic_Igglybuff[];
+extern const u32 gMonShinyPalette_Igglybuff[];
+extern const u8 gMonIcon_Igglybuff[];
+extern const u8 gMonFootprint_Igglybuff[];
+extern const u32 gMonFrontPic_Togepi[];
+extern const u32 gMonPalette_Togepi[];
+extern const u32 gMonBackPic_Togepi[];
+extern const u32 gMonShinyPalette_Togepi[];
+extern const u8 gMonIcon_Togepi[];
+extern const u8 gMonFootprint_Togepi[];
+extern const u32 gMonFrontPic_Togetic[];
+extern const u32 gMonPalette_Togetic[];
+extern const u32 gMonBackPic_Togetic[];
+extern const u32 gMonShinyPalette_Togetic[];
+extern const u8 gMonIcon_Togetic[];
+extern const u8 gMonFootprint_Togetic[];
+extern const u32 gMonFrontPic_Natu[];
+extern const u32 gMonPalette_Natu[];
+extern const u32 gMonBackPic_Natu[];
+extern const u32 gMonShinyPalette_Natu[];
+extern const u8 gMonIcon_Natu[];
+extern const u8 gMonFootprint_Natu[];
+extern const u32 gMonFrontPic_Xatu[];
+extern const u32 gMonPalette_Xatu[];
+extern const u32 gMonBackPic_Xatu[];
+extern const u32 gMonShinyPalette_Xatu[];
+extern const u8 gMonIcon_Xatu[];
+extern const u8 gMonFootprint_Xatu[];
+extern const u32 gMonFrontPic_Mareep[];
+extern const u32 gMonPalette_Mareep[];
+extern const u32 gMonBackPic_Mareep[];
+extern const u32 gMonShinyPalette_Mareep[];
+extern const u8 gMonIcon_Mareep[];
+extern const u8 gMonFootprint_Mareep[];
+extern const u32 gMonFrontPic_Flaaffy[];
+extern const u32 gMonPalette_Flaaffy[];
+extern const u32 gMonBackPic_Flaaffy[];
+extern const u32 gMonShinyPalette_Flaaffy[];
+extern const u8 gMonIcon_Flaaffy[];
+extern const u8 gMonFootprint_Flaaffy[];
+extern const u32 gMonFrontPic_Ampharos[];
+extern const u32 gMonPalette_Ampharos[];
+extern const u32 gMonBackPic_Ampharos[];
+extern const u32 gMonShinyPalette_Ampharos[];
+extern const u8 gMonIcon_Ampharos[];
+extern const u8 gMonFootprint_Ampharos[];
+extern const u32 gMonFrontPic_Bellossom[];
+extern const u32 gMonPalette_Bellossom[];
+extern const u32 gMonBackPic_Bellossom[];
+extern const u32 gMonShinyPalette_Bellossom[];
+extern const u8 gMonIcon_Bellossom[];
+extern const u8 gMonFootprint_Bellossom[];
+extern const u32 gMonFrontPic_Marill[];
+extern const u32 gMonPalette_Marill[];
+extern const u32 gMonBackPic_Marill[];
+extern const u32 gMonShinyPalette_Marill[];
+extern const u8 gMonIcon_Marill[];
+extern const u8 gMonFootprint_Marill[];
+extern const u32 gMonFrontPic_Azumarill[];
+extern const u32 gMonPalette_Azumarill[];
+extern const u32 gMonBackPic_Azumarill[];
+extern const u32 gMonShinyPalette_Azumarill[];
+extern const u8 gMonIcon_Azumarill[];
+extern const u8 gMonFootprint_Azumarill[];
+extern const u32 gMonFrontPic_Sudowoodo[];
+extern const u32 gMonPalette_Sudowoodo[];
+extern const u32 gMonBackPic_Sudowoodo[];
+extern const u32 gMonShinyPalette_Sudowoodo[];
+extern const u8 gMonIcon_Sudowoodo[];
+extern const u8 gMonFootprint_Sudowoodo[];
+extern const u32 gMonFrontPic_Politoed[];
+extern const u32 gMonPalette_Politoed[];
+extern const u32 gMonBackPic_Politoed[];
+extern const u32 gMonShinyPalette_Politoed[];
+extern const u8 gMonIcon_Politoed[];
+extern const u8 gMonFootprint_Politoed[];
+extern const u32 gMonFrontPic_Hoppip[];
+extern const u32 gMonPalette_Hoppip[];
+extern const u32 gMonBackPic_Hoppip[];
+extern const u32 gMonShinyPalette_Hoppip[];
+extern const u8 gMonIcon_Hoppip[];
+extern const u8 gMonFootprint_Hoppip[];
+extern const u32 gMonFrontPic_Skiploom[];
+extern const u32 gMonPalette_Skiploom[];
+extern const u32 gMonBackPic_Skiploom[];
+extern const u32 gMonShinyPalette_Skiploom[];
+extern const u8 gMonIcon_Skiploom[];
+extern const u8 gMonFootprint_Skiploom[];
+extern const u32 gMonFrontPic_Jumpluff[];
+extern const u32 gMonPalette_Jumpluff[];
+extern const u32 gMonBackPic_Jumpluff[];
+extern const u32 gMonShinyPalette_Jumpluff[];
+extern const u8 gMonIcon_Jumpluff[];
+extern const u8 gMonFootprint_Jumpluff[];
+extern const u32 gMonFrontPic_Aipom[];
+extern const u32 gMonPalette_Aipom[];
+extern const u32 gMonBackPic_Aipom[];
+extern const u32 gMonShinyPalette_Aipom[];
+extern const u8 gMonIcon_Aipom[];
+extern const u8 gMonFootprint_Aipom[];
+extern const u32 gMonFrontPic_Sunkern[];
+extern const u32 gMonPalette_Sunkern[];
+extern const u32 gMonBackPic_Sunkern[];
+extern const u32 gMonShinyPalette_Sunkern[];
+extern const u8 gMonIcon_Sunkern[];
+extern const u8 gMonFootprint_Sunkern[];
+extern const u32 gMonFrontPic_Sunflora[];
+extern const u32 gMonPalette_Sunflora[];
+extern const u32 gMonBackPic_Sunflora[];
+extern const u32 gMonShinyPalette_Sunflora[];
+extern const u8 gMonIcon_Sunflora[];
+extern const u8 gMonFootprint_Sunflora[];
+extern const u32 gMonFrontPic_Yanma[];
+extern const u32 gMonPalette_Yanma[];
+extern const u32 gMonBackPic_Yanma[];
+extern const u32 gMonShinyPalette_Yanma[];
+extern const u8 gMonIcon_Yanma[];
+extern const u8 gMonFootprint_Yanma[];
+extern const u32 gMonFrontPic_Wooper[];
+extern const u32 gMonPalette_Wooper[];
+extern const u32 gMonBackPic_Wooper[];
+extern const u32 gMonShinyPalette_Wooper[];
+extern const u8 gMonIcon_Wooper[];
+extern const u8 gMonFootprint_Wooper[];
+extern const u32 gMonFrontPic_Quagsire[];
+extern const u32 gMonPalette_Quagsire[];
+extern const u32 gMonBackPic_Quagsire[];
+extern const u32 gMonShinyPalette_Quagsire[];
+extern const u8 gMonIcon_Quagsire[];
+extern const u8 gMonFootprint_Quagsire[];
+extern const u32 gMonFrontPic_Espeon[];
+extern const u32 gMonPalette_Espeon[];
+extern const u32 gMonBackPic_Espeon[];
+extern const u32 gMonShinyPalette_Espeon[];
+extern const u8 gMonIcon_Espeon[];
+extern const u8 gMonFootprint_Espeon[];
+extern const u32 gMonFrontPic_Umbreon[];
+extern const u32 gMonPalette_Umbreon[];
+extern const u32 gMonBackPic_Umbreon[];
+extern const u32 gMonShinyPalette_Umbreon[];
+extern const u8 gMonIcon_Umbreon[];
+extern const u8 gMonFootprint_Umbreon[];
+extern const u32 gMonFrontPic_Murkrow[];
+extern const u32 gMonPalette_Murkrow[];
+extern const u32 gMonBackPic_Murkrow[];
+extern const u32 gMonShinyPalette_Murkrow[];
+extern const u8 gMonIcon_Murkrow[];
+extern const u8 gMonFootprint_Murkrow[];
+extern const u32 gMonFrontPic_Slowking[];
+extern const u32 gMonPalette_Slowking[];
+extern const u32 gMonBackPic_Slowking[];
+extern const u32 gMonShinyPalette_Slowking[];
+extern const u8 gMonIcon_Slowking[];
+extern const u8 gMonFootprint_Slowking[];
+extern const u32 gMonFrontPic_Misdreavus[];
+extern const u32 gMonPalette_Misdreavus[];
+extern const u32 gMonBackPic_Misdreavus[];
+extern const u32 gMonShinyPalette_Misdreavus[];
+extern const u8 gMonIcon_Misdreavus[];
+extern const u8 gMonFootprint_Misdreavus[];
+extern const u32 gMonFrontPic_UnownA[];
+extern const u32 gMonPalette_Unown[];
+extern const u32 gMonBackPic_UnownA[];
+extern const u32 gMonShinyPalette_Unown[];
+extern const u8 gMonIcon_UnownA[];
+extern const u8 gMonFootprint_Unown[];
+extern const u32 gMonFrontPic_Wobbuffet[];
+extern const u32 gMonPalette_Wobbuffet[];
+extern const u32 gMonBackPic_Wobbuffet[];
+extern const u32 gMonShinyPalette_Wobbuffet[];
+extern const u8 gMonIcon_Wobbuffet[];
+extern const u8 gMonFootprint_Wobbuffet[];
+extern const u32 gMonFrontPic_Girafarig[];
+extern const u32 gMonPalette_Girafarig[];
+extern const u32 gMonBackPic_Girafarig[];
+extern const u32 gMonShinyPalette_Girafarig[];
+extern const u8 gMonIcon_Girafarig[];
+extern const u8 gMonFootprint_Girafarig[];
+extern const u32 gMonFrontPic_Pineco[];
+extern const u32 gMonPalette_Pineco[];
+extern const u32 gMonBackPic_Pineco[];
+extern const u32 gMonShinyPalette_Pineco[];
+extern const u8 gMonIcon_Pineco[];
+extern const u8 gMonFootprint_Pineco[];
+extern const u32 gMonFrontPic_Forretress[];
+extern const u32 gMonPalette_Forretress[];
+extern const u32 gMonBackPic_Forretress[];
+extern const u32 gMonShinyPalette_Forretress[];
+extern const u8 gMonIcon_Forretress[];
+extern const u8 gMonFootprint_Forretress[];
+extern const u32 gMonFrontPic_Dunsparce[];
+extern const u32 gMonPalette_Dunsparce[];
+extern const u32 gMonBackPic_Dunsparce[];
+extern const u32 gMonShinyPalette_Dunsparce[];
+extern const u8 gMonIcon_Dunsparce[];
+extern const u8 gMonFootprint_Dunsparce[];
+extern const u32 gMonFrontPic_Gligar[];
+extern const u32 gMonPalette_Gligar[];
+extern const u32 gMonBackPic_Gligar[];
+extern const u32 gMonShinyPalette_Gligar[];
+extern const u8 gMonIcon_Gligar[];
+extern const u8 gMonFootprint_Gligar[];
+extern const u32 gMonFrontPic_Steelix[];
+extern const u32 gMonPalette_Steelix[];
+extern const u32 gMonBackPic_Steelix[];
+extern const u32 gMonShinyPalette_Steelix[];
+extern const u8 gMonIcon_Steelix[];
+extern const u8 gMonFootprint_Steelix[];
+extern const u32 gMonFrontPic_Snubbull[];
+extern const u32 gMonPalette_Snubbull[];
+extern const u32 gMonBackPic_Snubbull[];
+extern const u32 gMonShinyPalette_Snubbull[];
+extern const u8 gMonIcon_Snubbull[];
+extern const u8 gMonFootprint_Snubbull[];
+extern const u32 gMonFrontPic_Granbull[];
+extern const u32 gMonPalette_Granbull[];
+extern const u32 gMonBackPic_Granbull[];
+extern const u32 gMonShinyPalette_Granbull[];
+extern const u8 gMonIcon_Granbull[];
+extern const u8 gMonFootprint_Granbull[];
+extern const u32 gMonFrontPic_Qwilfish[];
+extern const u32 gMonPalette_Qwilfish[];
+extern const u32 gMonBackPic_Qwilfish[];
+extern const u32 gMonShinyPalette_Qwilfish[];
+extern const u8 gMonIcon_Qwilfish[];
+extern const u8 gMonFootprint_Qwilfish[];
+extern const u32 gMonFrontPic_Scizor[];
+extern const u32 gMonPalette_Scizor[];
+extern const u32 gMonBackPic_Scizor[];
+extern const u32 gMonShinyPalette_Scizor[];
+extern const u8 gMonIcon_Scizor[];
+extern const u8 gMonFootprint_Scizor[];
+extern const u32 gMonFrontPic_Shuckle[];
+extern const u32 gMonPalette_Shuckle[];
+extern const u32 gMonBackPic_Shuckle[];
+extern const u32 gMonShinyPalette_Shuckle[];
+extern const u8 gMonIcon_Shuckle[];
+extern const u8 gMonFootprint_Shuckle[];
+extern const u32 gMonFrontPic_Heracross[];
+extern const u32 gMonPalette_Heracross[];
+extern const u32 gMonBackPic_Heracross[];
+extern const u32 gMonShinyPalette_Heracross[];
+extern const u8 gMonIcon_Heracross[];
+extern const u8 gMonFootprint_Heracross[];
+extern const u32 gMonFrontPic_Sneasel[];
+extern const u32 gMonPalette_Sneasel[];
+extern const u32 gMonBackPic_Sneasel[];
+extern const u32 gMonShinyPalette_Sneasel[];
+extern const u8 gMonIcon_Sneasel[];
+extern const u8 gMonFootprint_Sneasel[];
+extern const u32 gMonFrontPic_Teddiursa[];
+extern const u32 gMonPalette_Teddiursa[];
+extern const u32 gMonBackPic_Teddiursa[];
+extern const u32 gMonShinyPalette_Teddiursa[];
+extern const u8 gMonIcon_Teddiursa[];
+extern const u8 gMonFootprint_Teddiursa[];
+extern const u32 gMonFrontPic_Ursaring[];
+extern const u32 gMonPalette_Ursaring[];
+extern const u32 gMonBackPic_Ursaring[];
+extern const u32 gMonShinyPalette_Ursaring[];
+extern const u8 gMonIcon_Ursaring[];
+extern const u8 gMonFootprint_Ursaring[];
+extern const u32 gMonFrontPic_Slugma[];
+extern const u32 gMonPalette_Slugma[];
+extern const u32 gMonBackPic_Slugma[];
+extern const u32 gMonShinyPalette_Slugma[];
+extern const u8 gMonIcon_Slugma[];
+extern const u8 gMonFootprint_Slugma[];
+extern const u32 gMonFrontPic_Magcargo[];
+extern const u32 gMonPalette_Magcargo[];
+extern const u32 gMonBackPic_Magcargo[];
+extern const u32 gMonShinyPalette_Magcargo[];
+extern const u8 gMonIcon_Magcargo[];
+extern const u8 gMonFootprint_Magcargo[];
+extern const u32 gMonFrontPic_Swinub[];
+extern const u32 gMonPalette_Swinub[];
+extern const u32 gMonBackPic_Swinub[];
+extern const u32 gMonShinyPalette_Swinub[];
+extern const u8 gMonIcon_Swinub[];
+extern const u8 gMonFootprint_Swinub[];
+extern const u32 gMonFrontPic_Piloswine[];
+extern const u32 gMonPalette_Piloswine[];
+extern const u32 gMonBackPic_Piloswine[];
+extern const u32 gMonShinyPalette_Piloswine[];
+extern const u8 gMonIcon_Piloswine[];
+extern const u8 gMonFootprint_Piloswine[];
+extern const u32 gMonFrontPic_Corsola[];
+extern const u32 gMonPalette_Corsola[];
+extern const u32 gMonBackPic_Corsola[];
+extern const u32 gMonShinyPalette_Corsola[];
+extern const u8 gMonIcon_Corsola[];
+extern const u8 gMonFootprint_Corsola[];
+extern const u32 gMonFrontPic_Remoraid[];
+extern const u32 gMonPalette_Remoraid[];
+extern const u32 gMonBackPic_Remoraid[];
+extern const u32 gMonShinyPalette_Remoraid[];
+extern const u8 gMonIcon_Remoraid[];
+extern const u8 gMonFootprint_Remoraid[];
+extern const u32 gMonFrontPic_Octillery[];
+extern const u32 gMonPalette_Octillery[];
+extern const u32 gMonBackPic_Octillery[];
+extern const u32 gMonShinyPalette_Octillery[];
+extern const u8 gMonIcon_Octillery[];
+extern const u8 gMonFootprint_Octillery[];
+extern const u32 gMonFrontPic_Delibird[];
+extern const u32 gMonPalette_Delibird[];
+extern const u32 gMonBackPic_Delibird[];
+extern const u32 gMonShinyPalette_Delibird[];
+extern const u8 gMonIcon_Delibird[];
+extern const u8 gMonFootprint_Delibird[];
+extern const u32 gMonFrontPic_Mantine[];
+extern const u32 gMonPalette_Mantine[];
+extern const u32 gMonBackPic_Mantine[];
+extern const u32 gMonShinyPalette_Mantine[];
+extern const u8 gMonIcon_Mantine[];
+extern const u8 gMonFootprint_Mantine[];
+extern const u32 gMonFrontPic_Skarmory[];
+extern const u32 gMonPalette_Skarmory[];
+extern const u32 gMonBackPic_Skarmory[];
+extern const u32 gMonShinyPalette_Skarmory[];
+extern const u8 gMonIcon_Skarmory[];
+extern const u8 gMonFootprint_Skarmory[];
+extern const u32 gMonFrontPic_Houndour[];
+extern const u32 gMonPalette_Houndour[];
+extern const u32 gMonBackPic_Houndour[];
+extern const u32 gMonShinyPalette_Houndour[];
+extern const u8 gMonIcon_Houndour[];
+extern const u8 gMonFootprint_Houndour[];
+extern const u32 gMonFrontPic_Houndoom[];
+extern const u32 gMonPalette_Houndoom[];
+extern const u32 gMonBackPic_Houndoom[];
+extern const u32 gMonShinyPalette_Houndoom[];
+extern const u8 gMonIcon_Houndoom[];
+extern const u8 gMonFootprint_Houndoom[];
+extern const u32 gMonFrontPic_Kingdra[];
+extern const u32 gMonPalette_Kingdra[];
+extern const u32 gMonBackPic_Kingdra[];
+extern const u32 gMonShinyPalette_Kingdra[];
+extern const u8 gMonIcon_Kingdra[];
+extern const u8 gMonFootprint_Kingdra[];
+extern const u32 gMonFrontPic_Phanpy[];
+extern const u32 gMonPalette_Phanpy[];
+extern const u32 gMonBackPic_Phanpy[];
+extern const u32 gMonShinyPalette_Phanpy[];
+extern const u8 gMonIcon_Phanpy[];
+extern const u8 gMonFootprint_Phanpy[];
+extern const u32 gMonFrontPic_Donphan[];
+extern const u32 gMonPalette_Donphan[];
+extern const u32 gMonBackPic_Donphan[];
+extern const u32 gMonShinyPalette_Donphan[];
+extern const u8 gMonIcon_Donphan[];
+extern const u8 gMonFootprint_Donphan[];
+extern const u32 gMonFrontPic_Porygon2[];
+extern const u32 gMonPalette_Porygon2[];
+extern const u32 gMonBackPic_Porygon2[];
+extern const u32 gMonShinyPalette_Porygon2[];
+extern const u8 gMonIcon_Porygon2[];
+extern const u8 gMonFootprint_Porygon2[];
+extern const u32 gMonFrontPic_Stantler[];
+extern const u32 gMonPalette_Stantler[];
+extern const u32 gMonBackPic_Stantler[];
+extern const u32 gMonShinyPalette_Stantler[];
+extern const u8 gMonIcon_Stantler[];
+extern const u8 gMonFootprint_Stantler[];
+extern const u32 gMonFrontPic_Smeargle[];
+extern const u32 gMonPalette_Smeargle[];
+extern const u32 gMonBackPic_Smeargle[];
+extern const u32 gMonShinyPalette_Smeargle[];
+extern const u8 gMonIcon_Smeargle[];
+extern const u8 gMonFootprint_Smeargle[];
+extern const u32 gMonFrontPic_Tyrogue[];
+extern const u32 gMonPalette_Tyrogue[];
+extern const u32 gMonBackPic_Tyrogue[];
+extern const u32 gMonShinyPalette_Tyrogue[];
+extern const u8 gMonIcon_Tyrogue[];
+extern const u8 gMonFootprint_Tyrogue[];
+extern const u32 gMonFrontPic_Hitmontop[];
+extern const u32 gMonPalette_Hitmontop[];
+extern const u32 gMonBackPic_Hitmontop[];
+extern const u32 gMonShinyPalette_Hitmontop[];
+extern const u8 gMonIcon_Hitmontop[];
+extern const u8 gMonFootprint_Hitmontop[];
+extern const u32 gMonFrontPic_Smoochum[];
+extern const u32 gMonPalette_Smoochum[];
+extern const u32 gMonBackPic_Smoochum[];
+extern const u32 gMonShinyPalette_Smoochum[];
+extern const u8 gMonIcon_Smoochum[];
+extern const u8 gMonFootprint_Smoochum[];
+extern const u32 gMonFrontPic_Elekid[];
+extern const u32 gMonPalette_Elekid[];
+extern const u32 gMonBackPic_Elekid[];
+extern const u32 gMonShinyPalette_Elekid[];
+extern const u8 gMonIcon_Elekid[];
+extern const u8 gMonFootprint_Elekid[];
+extern const u32 gMonFrontPic_Magby[];
+extern const u32 gMonPalette_Magby[];
+extern const u32 gMonBackPic_Magby[];
+extern const u32 gMonShinyPalette_Magby[];
+extern const u8 gMonIcon_Magby[];
+extern const u8 gMonFootprint_Magby[];
+extern const u32 gMonFrontPic_Miltank[];
+extern const u32 gMonPalette_Miltank[];
+extern const u32 gMonBackPic_Miltank[];
+extern const u32 gMonShinyPalette_Miltank[];
+extern const u8 gMonIcon_Miltank[];
+extern const u8 gMonFootprint_Miltank[];
+extern const u32 gMonFrontPic_Blissey[];
+extern const u32 gMonPalette_Blissey[];
+extern const u32 gMonBackPic_Blissey[];
+extern const u32 gMonShinyPalette_Blissey[];
+extern const u8 gMonIcon_Blissey[];
+extern const u8 gMonFootprint_Blissey[];
+extern const u32 gMonFrontPic_Raikou[];
+extern const u32 gMonPalette_Raikou[];
+extern const u32 gMonBackPic_Raikou[];
+extern const u32 gMonShinyPalette_Raikou[];
+extern const u8 gMonIcon_Raikou[];
+extern const u8 gMonFootprint_Raikou[];
+extern const u32 gMonFrontPic_Entei[];
+extern const u32 gMonPalette_Entei[];
+extern const u32 gMonBackPic_Entei[];
+extern const u32 gMonShinyPalette_Entei[];
+extern const u8 gMonIcon_Entei[];
+extern const u8 gMonFootprint_Entei[];
+extern const u32 gMonFrontPic_Suicune[];
+extern const u32 gMonPalette_Suicune[];
+extern const u32 gMonBackPic_Suicune[];
+extern const u32 gMonShinyPalette_Suicune[];
+extern const u8 gMonIcon_Suicune[];
+extern const u8 gMonFootprint_Suicune[];
+extern const u32 gMonFrontPic_Larvitar[];
+extern const u32 gMonPalette_Larvitar[];
+extern const u32 gMonBackPic_Larvitar[];
+extern const u32 gMonShinyPalette_Larvitar[];
+extern const u8 gMonIcon_Larvitar[];
+extern const u8 gMonFootprint_Larvitar[];
+extern const u32 gMonFrontPic_Pupitar[];
+extern const u32 gMonPalette_Pupitar[];
+extern const u32 gMonBackPic_Pupitar[];
+extern const u32 gMonShinyPalette_Pupitar[];
+extern const u8 gMonIcon_Pupitar[];
+extern const u8 gMonFootprint_Pupitar[];
+extern const u32 gMonFrontPic_Tyranitar[];
+extern const u32 gMonPalette_Tyranitar[];
+extern const u32 gMonBackPic_Tyranitar[];
+extern const u32 gMonShinyPalette_Tyranitar[];
+extern const u8 gMonIcon_Tyranitar[];
+extern const u8 gMonFootprint_Tyranitar[];
+extern const u32 gMonFrontPic_Lugia[];
+extern const u32 gMonPalette_Lugia[];
+extern const u32 gMonBackPic_Lugia[];
+extern const u32 gMonShinyPalette_Lugia[];
+extern const u8 gMonIcon_Lugia[];
+extern const u8 gMonFootprint_Lugia[];
+extern const u32 gMonFrontPic_HoOh[];
+extern const u32 gMonPalette_HoOh[];
+extern const u32 gMonBackPic_HoOh[];
+extern const u32 gMonShinyPalette_HoOh[];
+extern const u8 gMonIcon_HoOh[];
+extern const u8 gMonFootprint_HoOh[];
+extern const u32 gMonFrontPic_Celebi[];
+extern const u32 gMonPalette_Celebi[];
+extern const u32 gMonBackPic_Celebi[];
+extern const u32 gMonShinyPalette_Celebi[];
+extern const u8 gMonIcon_Celebi[];
+extern const u8 gMonFootprint_Celebi[];
+extern const u32 gMonFrontPic_Treecko[];
+extern const u32 gMonPalette_Treecko[];
+extern const u32 gMonBackPic_Treecko[];
+extern const u32 gMonShinyPalette_Treecko[];
+extern const u8 gMonIcon_Treecko[];
+extern const u8 gMonFootprint_Treecko[];
+extern const u32 gMonFrontPic_Grovyle[];
+extern const u32 gMonPalette_Grovyle[];
+extern const u32 gMonBackPic_Grovyle[];
+extern const u32 gMonShinyPalette_Grovyle[];
+extern const u8 gMonIcon_Grovyle[];
+extern const u8 gMonFootprint_Grovyle[];
+extern const u32 gMonFrontPic_Sceptile[];
+extern const u32 gMonPalette_Sceptile[];
+extern const u32 gMonBackPic_Sceptile[];
+extern const u32 gMonShinyPalette_Sceptile[];
+extern const u8 gMonIcon_Sceptile[];
+extern const u8 gMonFootprint_Sceptile[];
+extern const u32 gMonFrontPic_Torchic[];
+extern const u32 gMonPalette_Torchic[];
+extern const u32 gMonBackPic_Torchic[];
+extern const u32 gMonShinyPalette_Torchic[];
+extern const u8 gMonIcon_Torchic[];
+extern const u8 gMonFootprint_Torchic[];
+extern const u32 gMonFrontPic_Combusken[];
+extern const u32 gMonPalette_Combusken[];
+extern const u32 gMonBackPic_Combusken[];
+extern const u32 gMonShinyPalette_Combusken[];
+extern const u8 gMonIcon_Combusken[];
+extern const u8 gMonFootprint_Combusken[];
+extern const u32 gMonFrontPic_Blaziken[];
+extern const u32 gMonPalette_Blaziken[];
+extern const u32 gMonBackPic_Blaziken[];
+extern const u32 gMonShinyPalette_Blaziken[];
+extern const u8 gMonIcon_Blaziken[];
+extern const u8 gMonFootprint_Blaziken[];
+extern const u32 gMonFrontPic_Mudkip[];
+extern const u32 gMonPalette_Mudkip[];
+extern const u32 gMonBackPic_Mudkip[];
+extern const u32 gMonShinyPalette_Mudkip[];
+extern const u8 gMonIcon_Mudkip[];
+extern const u8 gMonFootprint_Mudkip[];
+extern const u32 gMonFrontPic_Marshtomp[];
+extern const u32 gMonPalette_Marshtomp[];
+extern const u32 gMonBackPic_Marshtomp[];
+extern const u32 gMonShinyPalette_Marshtomp[];
+extern const u8 gMonIcon_Marshtomp[];
+extern const u8 gMonFootprint_Marshtomp[];
+extern const u32 gMonFrontPic_Swampert[];
+extern const u32 gMonPalette_Swampert[];
+extern const u32 gMonBackPic_Swampert[];
+extern const u32 gMonShinyPalette_Swampert[];
+extern const u8 gMonIcon_Swampert[];
+extern const u8 gMonFootprint_Swampert[];
+extern const u32 gMonFrontPic_Poochyena[];
+extern const u32 gMonPalette_Poochyena[];
+extern const u32 gMonBackPic_Poochyena[];
+extern const u32 gMonShinyPalette_Poochyena[];
+extern const u8 gMonIcon_Poochyena[];
+extern const u8 gMonFootprint_Poochyena[];
+extern const u32 gMonFrontPic_Mightyena[];
+extern const u32 gMonPalette_Mightyena[];
+extern const u32 gMonBackPic_Mightyena[];
+extern const u32 gMonShinyPalette_Mightyena[];
+extern const u8 gMonIcon_Mightyena[];
+extern const u8 gMonFootprint_Mightyena[];
+extern const u32 gMonFrontPic_Zigzagoon[];
+extern const u32 gMonPalette_Zigzagoon[];
+extern const u32 gMonBackPic_Zigzagoon[];
+extern const u32 gMonShinyPalette_Zigzagoon[];
+extern const u8 gMonIcon_Zigzagoon[];
+extern const u8 gMonFootprint_Zigzagoon[];
+extern const u32 gMonFrontPic_Linoone[];
+extern const u32 gMonPalette_Linoone[];
+extern const u32 gMonBackPic_Linoone[];
+extern const u32 gMonShinyPalette_Linoone[];
+extern const u8 gMonIcon_Linoone[];
+extern const u8 gMonFootprint_Linoone[];
+extern const u32 gMonFrontPic_Wurmple[];
+extern const u32 gMonPalette_Wurmple[];
+extern const u32 gMonBackPic_Wurmple[];
+extern const u32 gMonShinyPalette_Wurmple[];
+extern const u8 gMonIcon_Wurmple[];
+extern const u8 gMonFootprint_Wurmple[];
+extern const u32 gMonFrontPic_Silcoon[];
+extern const u32 gMonPalette_Silcoon[];
+extern const u32 gMonBackPic_Silcoon[];
+extern const u32 gMonShinyPalette_Silcoon[];
+extern const u8 gMonIcon_Silcoon[];
+extern const u8 gMonFootprint_Silcoon[];
+extern const u32 gMonFrontPic_Beautifly[];
+extern const u32 gMonPalette_Beautifly[];
+extern const u32 gMonBackPic_Beautifly[];
+extern const u32 gMonShinyPalette_Beautifly[];
+extern const u8 gMonIcon_Beautifly[];
+extern const u8 gMonFootprint_Beautifly[];
+extern const u32 gMonFrontPic_Cascoon[];
+extern const u32 gMonPalette_Cascoon[];
+extern const u32 gMonBackPic_Cascoon[];
+extern const u32 gMonShinyPalette_Cascoon[];
+extern const u8 gMonIcon_Cascoon[];
+extern const u8 gMonFootprint_Cascoon[];
+extern const u32 gMonFrontPic_Dustox[];
+extern const u32 gMonPalette_Dustox[];
+extern const u32 gMonBackPic_Dustox[];
+extern const u32 gMonShinyPalette_Dustox[];
+extern const u8 gMonIcon_Dustox[];
+extern const u8 gMonFootprint_Dustox[];
+extern const u32 gMonFrontPic_Lotad[];
+extern const u32 gMonPalette_Lotad[];
+extern const u32 gMonBackPic_Lotad[];
+extern const u32 gMonShinyPalette_Lotad[];
+extern const u8 gMonIcon_Lotad[];
+extern const u8 gMonFootprint_Lotad[];
+extern const u32 gMonFrontPic_Lombre[];
+extern const u32 gMonPalette_Lombre[];
+extern const u32 gMonBackPic_Lombre[];
+extern const u32 gMonShinyPalette_Lombre[];
+extern const u8 gMonIcon_Lombre[];
+extern const u8 gMonFootprint_Lombre[];
+extern const u32 gMonFrontPic_Ludicolo[];
+extern const u32 gMonPalette_Ludicolo[];
+extern const u32 gMonBackPic_Ludicolo[];
+extern const u32 gMonShinyPalette_Ludicolo[];
+extern const u8 gMonIcon_Ludicolo[];
+extern const u8 gMonFootprint_Ludicolo[];
+extern const u32 gMonFrontPic_Seedot[];
+extern const u32 gMonPalette_Seedot[];
+extern const u32 gMonBackPic_Seedot[];
+extern const u32 gMonShinyPalette_Seedot[];
+extern const u8 gMonIcon_Seedot[];
+extern const u8 gMonFootprint_Seedot[];
+extern const u32 gMonFrontPic_Nuzleaf[];
+extern const u32 gMonPalette_Nuzleaf[];
+extern const u32 gMonBackPic_Nuzleaf[];
+extern const u32 gMonShinyPalette_Nuzleaf[];
+extern const u8 gMonIcon_Nuzleaf[];
+extern const u8 gMonFootprint_Nuzleaf[];
+extern const u32 gMonFrontPic_Shiftry[];
+extern const u32 gMonPalette_Shiftry[];
+extern const u32 gMonBackPic_Shiftry[];
+extern const u32 gMonShinyPalette_Shiftry[];
+extern const u8 gMonIcon_Shiftry[];
+extern const u8 gMonFootprint_Shiftry[];
+extern const u32 gMonFrontPic_Nincada[];
+extern const u32 gMonPalette_Nincada[];
+extern const u32 gMonBackPic_Nincada[];
+extern const u32 gMonShinyPalette_Nincada[];
+extern const u8 gMonIcon_Nincada[];
+extern const u8 gMonFootprint_Nincada[];
+extern const u32 gMonFrontPic_Ninjask[];
+extern const u32 gMonPalette_Ninjask[];
+extern const u32 gMonBackPic_Ninjask[];
+extern const u32 gMonShinyPalette_Ninjask[];
+extern const u8 gMonIcon_Ninjask[];
+extern const u8 gMonFootprint_Ninjask[];
+extern const u32 gMonFrontPic_Shedinja[];
+extern const u32 gMonPalette_Shedinja[];
+extern const u32 gMonBackPic_Shedinja[];
+extern const u32 gMonShinyPalette_Shedinja[];
+extern const u8 gMonIcon_Shedinja[];
+extern const u8 gMonFootprint_Shedinja[];
+extern const u32 gMonFrontPic_Taillow[];
+extern const u32 gMonPalette_Taillow[];
+extern const u32 gMonBackPic_Taillow[];
+extern const u32 gMonShinyPalette_Taillow[];
+extern const u8 gMonIcon_Taillow[];
+extern const u8 gMonFootprint_Taillow[];
+extern const u32 gMonFrontPic_Swellow[];
+extern const u32 gMonPalette_Swellow[];
+extern const u32 gMonBackPic_Swellow[];
+extern const u32 gMonShinyPalette_Swellow[];
+extern const u8 gMonIcon_Swellow[];
+extern const u8 gMonFootprint_Swellow[];
+extern const u32 gMonFrontPic_Shroomish[];
+extern const u32 gMonPalette_Shroomish[];
+extern const u32 gMonBackPic_Shroomish[];
+extern const u32 gMonShinyPalette_Shroomish[];
+extern const u8 gMonIcon_Shroomish[];
+extern const u8 gMonFootprint_Shroomish[];
+extern const u32 gMonFrontPic_Breloom[];
+extern const u32 gMonPalette_Breloom[];
+extern const u32 gMonBackPic_Breloom[];
+extern const u32 gMonShinyPalette_Breloom[];
+extern const u8 gMonIcon_Breloom[];
+extern const u8 gMonFootprint_Breloom[];
+extern const u32 gMonFrontPic_Spinda[];
+extern const u32 gMonPalette_Spinda[];
+extern const u32 gMonBackPic_Spinda[];
+extern const u32 gMonShinyPalette_Spinda[];
+extern const u8 gMonIcon_Spinda[];
+extern const u8 gMonFootprint_Spinda[];
+extern const u32 gMonFrontPic_Wingull[];
+extern const u32 gMonPalette_Wingull[];
+extern const u32 gMonBackPic_Wingull[];
+extern const u32 gMonShinyPalette_Wingull[];
+extern const u8 gMonIcon_Wingull[];
+extern const u8 gMonFootprint_Wingull[];
+extern const u32 gMonFrontPic_Pelipper[];
+extern const u32 gMonPalette_Pelipper[];
+extern const u32 gMonBackPic_Pelipper[];
+extern const u32 gMonShinyPalette_Pelipper[];
+extern const u8 gMonIcon_Pelipper[];
+extern const u8 gMonFootprint_Pelipper[];
+extern const u32 gMonFrontPic_Surskit[];
+extern const u32 gMonPalette_Surskit[];
+extern const u32 gMonBackPic_Surskit[];
+extern const u32 gMonShinyPalette_Surskit[];
+extern const u8 gMonIcon_Surskit[];
+extern const u8 gMonFootprint_Surskit[];
+extern const u32 gMonFrontPic_Masquerain[];
+extern const u32 gMonPalette_Masquerain[];
+extern const u32 gMonBackPic_Masquerain[];
+extern const u32 gMonShinyPalette_Masquerain[];
+extern const u8 gMonIcon_Masquerain[];
+extern const u8 gMonFootprint_Masquerain[];
+extern const u32 gMonFrontPic_Wailmer[];
+extern const u32 gMonPalette_Wailmer[];
+extern const u32 gMonBackPic_Wailmer[];
+extern const u32 gMonShinyPalette_Wailmer[];
+extern const u8 gMonIcon_Wailmer[];
+extern const u8 gMonFootprint_Wailmer[];
+extern const u32 gMonFrontPic_Wailord[];
+extern const u32 gMonPalette_Wailord[];
+extern const u32 gMonBackPic_Wailord[];
+extern const u32 gMonShinyPalette_Wailord[];
+extern const u8 gMonIcon_Wailord[];
+extern const u8 gMonFootprint_Wailord[];
+extern const u32 gMonFrontPic_Skitty[];
+extern const u32 gMonPalette_Skitty[];
+extern const u32 gMonBackPic_Skitty[];
+extern const u32 gMonShinyPalette_Skitty[];
+extern const u8 gMonIcon_Skitty[];
+extern const u8 gMonFootprint_Skitty[];
+extern const u32 gMonFrontPic_Delcatty[];
+extern const u32 gMonPalette_Delcatty[];
+extern const u32 gMonBackPic_Delcatty[];
+extern const u32 gMonShinyPalette_Delcatty[];
+extern const u8 gMonIcon_Delcatty[];
+extern const u8 gMonFootprint_Delcatty[];
+extern const u32 gMonFrontPic_Kecleon[];
+extern const u32 gMonPalette_Kecleon[];
+extern const u32 gMonBackPic_Kecleon[];
+extern const u32 gMonShinyPalette_Kecleon[];
+extern const u8 gMonIcon_Kecleon[];
+extern const u8 gMonFootprint_Kecleon[];
+extern const u32 gMonFrontPic_Baltoy[];
+extern const u32 gMonPalette_Baltoy[];
+extern const u32 gMonBackPic_Baltoy[];
+extern const u32 gMonShinyPalette_Baltoy[];
+extern const u8 gMonIcon_Baltoy[];
+extern const u8 gMonFootprint_Baltoy[];
+extern const u32 gMonFrontPic_Claydol[];
+extern const u32 gMonPalette_Claydol[];
+extern const u32 gMonBackPic_Claydol[];
+extern const u32 gMonShinyPalette_Claydol[];
+extern const u8 gMonIcon_Claydol[];
+extern const u8 gMonFootprint_Claydol[];
+extern const u32 gMonFrontPic_Nosepass[];
+extern const u32 gMonPalette_Nosepass[];
+extern const u32 gMonBackPic_Nosepass[];
+extern const u32 gMonShinyPalette_Nosepass[];
+extern const u8 gMonIcon_Nosepass[];
+extern const u8 gMonFootprint_Nosepass[];
+extern const u32 gMonFrontPic_Torkoal[];
+extern const u32 gMonPalette_Torkoal[];
+extern const u32 gMonBackPic_Torkoal[];
+extern const u32 gMonShinyPalette_Torkoal[];
+extern const u8 gMonIcon_Torkoal[];
+extern const u8 gMonFootprint_Torkoal[];
+extern const u32 gMonFrontPic_Sableye[];
+extern const u32 gMonPalette_Sableye[];
+extern const u32 gMonBackPic_Sableye[];
+extern const u32 gMonShinyPalette_Sableye[];
+extern const u8 gMonIcon_Sableye[];
+extern const u8 gMonFootprint_Sableye[];
+extern const u32 gMonFrontPic_Barboach[];
+extern const u32 gMonPalette_Barboach[];
+extern const u32 gMonBackPic_Barboach[];
+extern const u32 gMonShinyPalette_Barboach[];
+extern const u8 gMonIcon_Barboach[];
+extern const u8 gMonFootprint_Barboach[];
+extern const u32 gMonFrontPic_Whiscash[];
+extern const u32 gMonPalette_Whiscash[];
+extern const u32 gMonBackPic_Whiscash[];
+extern const u32 gMonShinyPalette_Whiscash[];
+extern const u8 gMonIcon_Whiscash[];
+extern const u8 gMonFootprint_Whiscash[];
+extern const u32 gMonFrontPic_Luvdisc[];
+extern const u32 gMonPalette_Luvdisc[];
+extern const u32 gMonBackPic_Luvdisc[];
+extern const u32 gMonShinyPalette_Luvdisc[];
+extern const u8 gMonIcon_Luvdisc[];
+extern const u8 gMonFootprint_Luvdisc[];
+extern const u32 gMonFrontPic_Corphish[];
+extern const u32 gMonPalette_Corphish[];
+extern const u32 gMonBackPic_Corphish[];
+extern const u32 gMonShinyPalette_Corphish[];
+extern const u8 gMonIcon_Corphish[];
+extern const u8 gMonFootprint_Corphish[];
+extern const u32 gMonFrontPic_Crawdaunt[];
+extern const u32 gMonPalette_Crawdaunt[];
+extern const u32 gMonBackPic_Crawdaunt[];
+extern const u32 gMonShinyPalette_Crawdaunt[];
+extern const u8 gMonIcon_Crawdaunt[];
+extern const u8 gMonFootprint_Crawdaunt[];
+extern const u32 gMonFrontPic_Feebas[];
+extern const u32 gMonPalette_Feebas[];
+extern const u32 gMonBackPic_Feebas[];
+extern const u32 gMonShinyPalette_Feebas[];
+extern const u8 gMonIcon_Feebas[];
+extern const u8 gMonFootprint_Feebas[];
+extern const u32 gMonFrontPic_Milotic[];
+extern const u32 gMonPalette_Milotic[];
+extern const u32 gMonBackPic_Milotic[];
+extern const u32 gMonShinyPalette_Milotic[];
+extern const u8 gMonIcon_Milotic[];
+extern const u8 gMonFootprint_Milotic[];
+extern const u32 gMonFrontPic_Carvanha[];
+extern const u32 gMonPalette_Carvanha[];
+extern const u32 gMonBackPic_Carvanha[];
+extern const u32 gMonShinyPalette_Carvanha[];
+extern const u8 gMonIcon_Carvanha[];
+extern const u8 gMonFootprint_Carvanha[];
+extern const u32 gMonFrontPic_Sharpedo[];
+extern const u32 gMonPalette_Sharpedo[];
+extern const u32 gMonBackPic_Sharpedo[];
+extern const u32 gMonShinyPalette_Sharpedo[];
+extern const u8 gMonIcon_Sharpedo[];
+extern const u8 gMonFootprint_Sharpedo[];
+extern const u32 gMonFrontPic_Trapinch[];
+extern const u32 gMonPalette_Trapinch[];
+extern const u32 gMonBackPic_Trapinch[];
+extern const u32 gMonShinyPalette_Trapinch[];
+extern const u8 gMonIcon_Trapinch[];
+extern const u8 gMonFootprint_Trapinch[];
+extern const u32 gMonFrontPic_Vibrava[];
+extern const u32 gMonPalette_Vibrava[];
+extern const u32 gMonBackPic_Vibrava[];
+extern const u32 gMonShinyPalette_Vibrava[];
+extern const u8 gMonIcon_Vibrava[];
+extern const u8 gMonFootprint_Vibrava[];
+extern const u32 gMonFrontPic_Flygon[];
+extern const u32 gMonPalette_Flygon[];
+extern const u32 gMonBackPic_Flygon[];
+extern const u32 gMonShinyPalette_Flygon[];
+extern const u8 gMonIcon_Flygon[];
+extern const u8 gMonFootprint_Flygon[];
+extern const u32 gMonFrontPic_Makuhita[];
+extern const u32 gMonPalette_Makuhita[];
+extern const u32 gMonBackPic_Makuhita[];
+extern const u32 gMonShinyPalette_Makuhita[];
+extern const u8 gMonIcon_Makuhita[];
+extern const u8 gMonFootprint_Makuhita[];
+extern const u32 gMonFrontPic_Hariyama[];
+extern const u32 gMonPalette_Hariyama[];
+extern const u32 gMonBackPic_Hariyama[];
+extern const u32 gMonShinyPalette_Hariyama[];
+extern const u8 gMonIcon_Hariyama[];
+extern const u8 gMonFootprint_Hariyama[];
+extern const u32 gMonFrontPic_Electrike[];
+extern const u32 gMonPalette_Electrike[];
+extern const u32 gMonBackPic_Electrike[];
+extern const u32 gMonShinyPalette_Electrike[];
+extern const u8 gMonIcon_Electrike[];
+extern const u8 gMonFootprint_Electrike[];
+extern const u32 gMonFrontPic_Manectric[];
+extern const u32 gMonPalette_Manectric[];
+extern const u32 gMonBackPic_Manectric[];
+extern const u32 gMonShinyPalette_Manectric[];
+extern const u8 gMonIcon_Manectric[];
+extern const u8 gMonFootprint_Manectric[];
+extern const u32 gMonFrontPic_Numel[];
+extern const u32 gMonPalette_Numel[];
+extern const u32 gMonBackPic_Numel[];
+extern const u32 gMonShinyPalette_Numel[];
+extern const u8 gMonIcon_Numel[];
+extern const u8 gMonFootprint_Numel[];
+extern const u32 gMonFrontPic_Camerupt[];
+extern const u32 gMonPalette_Camerupt[];
+extern const u32 gMonBackPic_Camerupt[];
+extern const u32 gMonShinyPalette_Camerupt[];
+extern const u8 gMonIcon_Camerupt[];
+extern const u8 gMonFootprint_Camerupt[];
+extern const u32 gMonFrontPic_Spheal[];
+extern const u32 gMonPalette_Spheal[];
+extern const u32 gMonBackPic_Spheal[];
+extern const u32 gMonShinyPalette_Spheal[];
+extern const u8 gMonIcon_Spheal[];
+extern const u8 gMonFootprint_Spheal[];
+extern const u32 gMonFrontPic_Sealeo[];
+extern const u32 gMonPalette_Sealeo[];
+extern const u32 gMonBackPic_Sealeo[];
+extern const u32 gMonShinyPalette_Sealeo[];
+extern const u8 gMonIcon_Sealeo[];
+extern const u8 gMonFootprint_Sealeo[];
+extern const u32 gMonFrontPic_Walrein[];
+extern const u32 gMonPalette_Walrein[];
+extern const u32 gMonBackPic_Walrein[];
+extern const u32 gMonShinyPalette_Walrein[];
+extern const u8 gMonIcon_Walrein[];
+extern const u8 gMonFootprint_Walrein[];
+extern const u32 gMonFrontPic_Cacnea[];
+extern const u32 gMonPalette_Cacnea[];
+extern const u32 gMonBackPic_Cacnea[];
+extern const u32 gMonShinyPalette_Cacnea[];
+extern const u8 gMonIcon_Cacnea[];
+extern const u8 gMonFootprint_Cacnea[];
+extern const u32 gMonFrontPic_Cacturne[];
+extern const u32 gMonPalette_Cacturne[];
+extern const u32 gMonBackPic_Cacturne[];
+extern const u32 gMonShinyPalette_Cacturne[];
+extern const u8 gMonIcon_Cacturne[];
+extern const u8 gMonFootprint_Cacturne[];
+extern const u32 gMonFrontPic_Snorunt[];
+extern const u32 gMonPalette_Snorunt[];
+extern const u32 gMonBackPic_Snorunt[];
+extern const u32 gMonShinyPalette_Snorunt[];
+extern const u8 gMonIcon_Snorunt[];
+extern const u8 gMonFootprint_Snorunt[];
+extern const u32 gMonFrontPic_Glalie[];
+extern const u32 gMonPalette_Glalie[];
+extern const u32 gMonBackPic_Glalie[];
+extern const u32 gMonShinyPalette_Glalie[];
+extern const u8 gMonIcon_Glalie[];
+extern const u8 gMonFootprint_Glalie[];
+extern const u32 gMonFrontPic_Lunatone[];
+extern const u32 gMonPalette_Lunatone[];
+extern const u32 gMonBackPic_Lunatone[];
+extern const u32 gMonShinyPalette_Lunatone[];
+extern const u8 gMonIcon_Lunatone[];
+extern const u8 gMonFootprint_Lunatone[];
+extern const u32 gMonFrontPic_Solrock[];
+extern const u32 gMonPalette_Solrock[];
+extern const u32 gMonBackPic_Solrock[];
+extern const u32 gMonShinyPalette_Solrock[];
+extern const u8 gMonIcon_Solrock[];
+extern const u8 gMonFootprint_Solrock[];
+extern const u32 gMonFrontPic_Azurill[];
+extern const u32 gMonPalette_Azurill[];
+extern const u32 gMonBackPic_Azurill[];
+extern const u32 gMonShinyPalette_Azurill[];
+extern const u8 gMonIcon_Azurill[];
+extern const u8 gMonFootprint_Azurill[];
+extern const u32 gMonFrontPic_Spoink[];
+extern const u32 gMonPalette_Spoink[];
+extern const u32 gMonBackPic_Spoink[];
+extern const u32 gMonShinyPalette_Spoink[];
+extern const u8 gMonIcon_Spoink[];
+extern const u8 gMonFootprint_Spoink[];
+extern const u32 gMonFrontPic_Grumpig[];
+extern const u32 gMonPalette_Grumpig[];
+extern const u32 gMonBackPic_Grumpig[];
+extern const u32 gMonShinyPalette_Grumpig[];
+extern const u8 gMonIcon_Grumpig[];
+extern const u8 gMonFootprint_Grumpig[];
+extern const u32 gMonFrontPic_Plusle[];
+extern const u32 gMonPalette_Plusle[];
+extern const u32 gMonBackPic_Plusle[];
+extern const u32 gMonShinyPalette_Plusle[];
+extern const u8 gMonIcon_Plusle[];
+extern const u8 gMonFootprint_Plusle[];
+extern const u32 gMonFrontPic_Minun[];
+extern const u32 gMonPalette_Minun[];
+extern const u32 gMonBackPic_Minun[];
+extern const u32 gMonShinyPalette_Minun[];
+extern const u8 gMonIcon_Minun[];
+extern const u8 gMonFootprint_Minun[];
+extern const u32 gMonFrontPic_Mawile[];
+extern const u32 gMonPalette_Mawile[];
+extern const u32 gMonBackPic_Mawile[];
+extern const u32 gMonShinyPalette_Mawile[];
+extern const u8 gMonIcon_Mawile[];
+extern const u8 gMonFootprint_Mawile[];
+extern const u32 gMonFrontPic_Meditite[];
+extern const u32 gMonPalette_Meditite[];
+extern const u32 gMonBackPic_Meditite[];
+extern const u32 gMonShinyPalette_Meditite[];
+extern const u8 gMonIcon_Meditite[];
+extern const u8 gMonFootprint_Meditite[];
+extern const u32 gMonFrontPic_Medicham[];
+extern const u32 gMonPalette_Medicham[];
+extern const u32 gMonBackPic_Medicham[];
+extern const u32 gMonShinyPalette_Medicham[];
+extern const u8 gMonIcon_Medicham[];
+extern const u8 gMonFootprint_Medicham[];
+extern const u32 gMonFrontPic_Swablu[];
+extern const u32 gMonPalette_Swablu[];
+extern const u32 gMonBackPic_Swablu[];
+extern const u32 gMonShinyPalette_Swablu[];
+extern const u8 gMonIcon_Swablu[];
+extern const u8 gMonFootprint_Swablu[];
+extern const u32 gMonFrontPic_Altaria[];
+extern const u32 gMonPalette_Altaria[];
+extern const u32 gMonBackPic_Altaria[];
+extern const u32 gMonShinyPalette_Altaria[];
+extern const u8 gMonIcon_Altaria[];
+extern const u8 gMonFootprint_Altaria[];
+extern const u32 gMonFrontPic_Wynaut[];
+extern const u32 gMonPalette_Wynaut[];
+extern const u32 gMonBackPic_Wynaut[];
+extern const u32 gMonShinyPalette_Wynaut[];
+extern const u8 gMonIcon_Wynaut[];
+extern const u8 gMonFootprint_Wynaut[];
+extern const u32 gMonFrontPic_Duskull[];
+extern const u32 gMonPalette_Duskull[];
+extern const u32 gMonBackPic_Duskull[];
+extern const u32 gMonShinyPalette_Duskull[];
+extern const u8 gMonIcon_Duskull[];
+extern const u8 gMonFootprint_Duskull[];
+extern const u32 gMonFrontPic_Dusclops[];
+extern const u32 gMonPalette_Dusclops[];
+extern const u32 gMonBackPic_Dusclops[];
+extern const u32 gMonShinyPalette_Dusclops[];
+extern const u8 gMonIcon_Dusclops[];
+extern const u8 gMonFootprint_Dusclops[];
+extern const u32 gMonFrontPic_Roselia[];
+extern const u32 gMonPalette_Roselia[];
+extern const u32 gMonBackPic_Roselia[];
+extern const u32 gMonShinyPalette_Roselia[];
+extern const u8 gMonIcon_Roselia[];
+extern const u8 gMonFootprint_Roselia[];
+extern const u32 gMonFrontPic_Slakoth[];
+extern const u32 gMonPalette_Slakoth[];
+extern const u32 gMonBackPic_Slakoth[];
+extern const u32 gMonShinyPalette_Slakoth[];
+extern const u8 gMonIcon_Slakoth[];
+extern const u8 gMonFootprint_Slakoth[];
+extern const u32 gMonFrontPic_Vigoroth[];
+extern const u32 gMonPalette_Vigoroth[];
+extern const u32 gMonBackPic_Vigoroth[];
+extern const u32 gMonShinyPalette_Vigoroth[];
+extern const u8 gMonIcon_Vigoroth[];
+extern const u8 gMonFootprint_Vigoroth[];
+extern const u32 gMonFrontPic_Slaking[];
+extern const u32 gMonPalette_Slaking[];
+extern const u32 gMonBackPic_Slaking[];
+extern const u32 gMonShinyPalette_Slaking[];
+extern const u8 gMonIcon_Slaking[];
+extern const u8 gMonFootprint_Slaking[];
+extern const u32 gMonFrontPic_Gulpin[];
+extern const u32 gMonPalette_Gulpin[];
+extern const u32 gMonBackPic_Gulpin[];
+extern const u32 gMonShinyPalette_Gulpin[];
+extern const u8 gMonIcon_Gulpin[];
+extern const u8 gMonFootprint_Gulpin[];
+extern const u32 gMonFrontPic_Swalot[];
+extern const u32 gMonPalette_Swalot[];
+extern const u32 gMonBackPic_Swalot[];
+extern const u32 gMonShinyPalette_Swalot[];
+extern const u8 gMonIcon_Swalot[];
+extern const u8 gMonFootprint_Swalot[];
+extern const u32 gMonFrontPic_Tropius[];
+extern const u32 gMonPalette_Tropius[];
+extern const u32 gMonBackPic_Tropius[];
+extern const u32 gMonShinyPalette_Tropius[];
+extern const u8 gMonIcon_Tropius[];
+extern const u8 gMonFootprint_Tropius[];
+extern const u32 gMonFrontPic_Whismur[];
+extern const u32 gMonPalette_Whismur[];
+extern const u32 gMonBackPic_Whismur[];
+extern const u32 gMonShinyPalette_Whismur[];
+extern const u8 gMonIcon_Whismur[];
+extern const u8 gMonFootprint_Whismur[];
+extern const u32 gMonFrontPic_Loudred[];
+extern const u32 gMonPalette_Loudred[];
+extern const u32 gMonBackPic_Loudred[];
+extern const u32 gMonShinyPalette_Loudred[];
+extern const u8 gMonIcon_Loudred[];
+extern const u8 gMonFootprint_Loudred[];
+extern const u32 gMonFrontPic_Exploud[];
+extern const u32 gMonPalette_Exploud[];
+extern const u32 gMonBackPic_Exploud[];
+extern const u32 gMonShinyPalette_Exploud[];
+extern const u8 gMonIcon_Exploud[];
+extern const u8 gMonFootprint_Exploud[];
+extern const u32 gMonFrontPic_Clamperl[];
+extern const u32 gMonPalette_Clamperl[];
+extern const u32 gMonBackPic_Clamperl[];
+extern const u32 gMonShinyPalette_Clamperl[];
+extern const u8 gMonIcon_Clamperl[];
+extern const u8 gMonFootprint_Clamperl[];
+extern const u32 gMonFrontPic_Huntail[];
+extern const u32 gMonPalette_Huntail[];
+extern const u32 gMonBackPic_Huntail[];
+extern const u32 gMonShinyPalette_Huntail[];
+extern const u8 gMonIcon_Huntail[];
+extern const u8 gMonFootprint_Huntail[];
+extern const u32 gMonFrontPic_Gorebyss[];
+extern const u32 gMonPalette_Gorebyss[];
+extern const u32 gMonBackPic_Gorebyss[];
+extern const u32 gMonShinyPalette_Gorebyss[];
+extern const u8 gMonIcon_Gorebyss[];
+extern const u8 gMonFootprint_Gorebyss[];
+extern const u32 gMonFrontPic_Absol[];
+extern const u32 gMonPalette_Absol[];
+extern const u32 gMonBackPic_Absol[];
+extern const u32 gMonShinyPalette_Absol[];
+extern const u8 gMonIcon_Absol[];
+extern const u8 gMonFootprint_Absol[];
+extern const u32 gMonFrontPic_Shuppet[];
+extern const u32 gMonPalette_Shuppet[];
+extern const u32 gMonBackPic_Shuppet[];
+extern const u32 gMonShinyPalette_Shuppet[];
+extern const u8 gMonIcon_Shuppet[];
+extern const u8 gMonFootprint_Shuppet[];
+extern const u32 gMonFrontPic_Banette[];
+extern const u32 gMonPalette_Banette[];
+extern const u32 gMonBackPic_Banette[];
+extern const u32 gMonShinyPalette_Banette[];
+extern const u8 gMonIcon_Banette[];
+extern const u8 gMonFootprint_Banette[];
+extern const u32 gMonFrontPic_Seviper[];
+extern const u32 gMonPalette_Seviper[];
+extern const u32 gMonBackPic_Seviper[];
+extern const u32 gMonShinyPalette_Seviper[];
+extern const u8 gMonIcon_Seviper[];
+extern const u8 gMonFootprint_Seviper[];
+extern const u32 gMonFrontPic_Zangoose[];
+extern const u32 gMonPalette_Zangoose[];
+extern const u32 gMonBackPic_Zangoose[];
+extern const u32 gMonShinyPalette_Zangoose[];
+extern const u8 gMonIcon_Zangoose[];
+extern const u8 gMonFootprint_Zangoose[];
+extern const u32 gMonFrontPic_Relicanth[];
+extern const u32 gMonPalette_Relicanth[];
+extern const u32 gMonBackPic_Relicanth[];
+extern const u32 gMonShinyPalette_Relicanth[];
+extern const u8 gMonIcon_Relicanth[];
+extern const u8 gMonFootprint_Relicanth[];
+extern const u32 gMonFrontPic_Aron[];
+extern const u32 gMonPalette_Aron[];
+extern const u32 gMonBackPic_Aron[];
+extern const u32 gMonShinyPalette_Aron[];
+extern const u8 gMonIcon_Aron[];
+extern const u8 gMonFootprint_Aron[];
+extern const u32 gMonFrontPic_Lairon[];
+extern const u32 gMonPalette_Lairon[];
+extern const u32 gMonBackPic_Lairon[];
+extern const u32 gMonShinyPalette_Lairon[];
+extern const u8 gMonIcon_Lairon[];
+extern const u8 gMonFootprint_Lairon[];
+extern const u32 gMonFrontPic_Aggron[];
+extern const u32 gMonPalette_Aggron[];
+extern const u32 gMonBackPic_Aggron[];
+extern const u32 gMonShinyPalette_Aggron[];
+extern const u8 gMonIcon_Aggron[];
+extern const u8 gMonFootprint_Aggron[];
+extern const u32 gMonFrontPic_Castform[];
+extern const u32 gMonPalette_Castform[];
+extern const u32 gMonBackPic_Castform[];
+extern const u32 gMonShinyPalette_Castform[];
+extern const u8 gMonIcon_Castform[];
+extern const u8 gMonFootprint_Castform[];
+extern const u32 gMonFrontPic_Volbeat[];
+extern const u32 gMonPalette_Volbeat[];
+extern const u32 gMonBackPic_Volbeat[];
+extern const u32 gMonShinyPalette_Volbeat[];
+extern const u8 gMonIcon_Volbeat[];
+extern const u8 gMonFootprint_Volbeat[];
+extern const u32 gMonFrontPic_Illumise[];
+extern const u32 gMonPalette_Illumise[];
+extern const u32 gMonBackPic_Illumise[];
+extern const u32 gMonShinyPalette_Illumise[];
+extern const u8 gMonIcon_Illumise[];
+extern const u8 gMonFootprint_Illumise[];
+extern const u32 gMonFrontPic_Lileep[];
+extern const u32 gMonPalette_Lileep[];
+extern const u32 gMonBackPic_Lileep[];
+extern const u32 gMonShinyPalette_Lileep[];
+extern const u8 gMonIcon_Lileep[];
+extern const u8 gMonFootprint_Lileep[];
+extern const u32 gMonFrontPic_Cradily[];
+extern const u32 gMonPalette_Cradily[];
+extern const u32 gMonBackPic_Cradily[];
+extern const u32 gMonShinyPalette_Cradily[];
+extern const u8 gMonIcon_Cradily[];
+extern const u8 gMonFootprint_Cradily[];
+extern const u32 gMonFrontPic_Anorith[];
+extern const u32 gMonPalette_Anorith[];
+extern const u32 gMonBackPic_Anorith[];
+extern const u32 gMonShinyPalette_Anorith[];
+extern const u8 gMonIcon_Anorith[];
+extern const u8 gMonFootprint_Anorith[];
+extern const u32 gMonFrontPic_Armaldo[];
+extern const u32 gMonPalette_Armaldo[];
+extern const u32 gMonBackPic_Armaldo[];
+extern const u32 gMonShinyPalette_Armaldo[];
+extern const u8 gMonIcon_Armaldo[];
+extern const u8 gMonFootprint_Armaldo[];
+extern const u32 gMonFrontPic_Ralts[];
+extern const u32 gMonPalette_Ralts[];
+extern const u32 gMonBackPic_Ralts[];
+extern const u32 gMonShinyPalette_Ralts[];
+extern const u8 gMonIcon_Ralts[];
+extern const u8 gMonFootprint_Ralts[];
+extern const u32 gMonFrontPic_Kirlia[];
+extern const u32 gMonPalette_Kirlia[];
+extern const u32 gMonBackPic_Kirlia[];
+extern const u32 gMonShinyPalette_Kirlia[];
+extern const u8 gMonIcon_Kirlia[];
+extern const u8 gMonFootprint_Kirlia[];
+extern const u32 gMonFrontPic_Gardevoir[];
+extern const u32 gMonPalette_Gardevoir[];
+extern const u32 gMonBackPic_Gardevoir[];
+extern const u32 gMonShinyPalette_Gardevoir[];
+extern const u8 gMonIcon_Gardevoir[];
+extern const u8 gMonFootprint_Gardevoir[];
+extern const u32 gMonFrontPic_Bagon[];
+extern const u32 gMonPalette_Bagon[];
+extern const u32 gMonBackPic_Bagon[];
+extern const u32 gMonShinyPalette_Bagon[];
+extern const u8 gMonIcon_Bagon[];
+extern const u8 gMonFootprint_Bagon[];
+extern const u32 gMonFrontPic_Shelgon[];
+extern const u32 gMonPalette_Shelgon[];
+extern const u32 gMonBackPic_Shelgon[];
+extern const u32 gMonShinyPalette_Shelgon[];
+extern const u8 gMonIcon_Shelgon[];
+extern const u8 gMonFootprint_Shelgon[];
+extern const u32 gMonFrontPic_Salamence[];
+extern const u32 gMonPalette_Salamence[];
+extern const u32 gMonBackPic_Salamence[];
+extern const u32 gMonShinyPalette_Salamence[];
+extern const u8 gMonIcon_Salamence[];
+extern const u8 gMonFootprint_Salamence[];
+extern const u32 gMonFrontPic_Beldum[];
+extern const u32 gMonPalette_Beldum[];
+extern const u32 gMonBackPic_Beldum[];
+extern const u32 gMonShinyPalette_Beldum[];
+extern const u8 gMonIcon_Beldum[];
+extern const u8 gMonFootprint_Beldum[];
+extern const u32 gMonFrontPic_Metang[];
+extern const u32 gMonPalette_Metang[];
+extern const u32 gMonBackPic_Metang[];
+extern const u32 gMonShinyPalette_Metang[];
+extern const u8 gMonIcon_Metang[];
+extern const u8 gMonFootprint_Metang[];
+extern const u32 gMonFrontPic_Metagross[];
+extern const u32 gMonPalette_Metagross[];
+extern const u32 gMonBackPic_Metagross[];
+extern const u32 gMonShinyPalette_Metagross[];
+extern const u8 gMonIcon_Metagross[];
+extern const u8 gMonFootprint_Metagross[];
+extern const u32 gMonFrontPic_Regirock[];
+extern const u32 gMonPalette_Regirock[];
+extern const u32 gMonBackPic_Regirock[];
+extern const u32 gMonShinyPalette_Regirock[];
+extern const u8 gMonIcon_Regirock[];
+extern const u8 gMonFootprint_Regirock[];
+extern const u32 gMonFrontPic_Regice[];
+extern const u32 gMonPalette_Regice[];
+extern const u32 gMonBackPic_Regice[];
+extern const u32 gMonShinyPalette_Regice[];
+extern const u8 gMonIcon_Regice[];
+extern const u8 gMonFootprint_Regice[];
+extern const u32 gMonFrontPic_Registeel[];
+extern const u32 gMonPalette_Registeel[];
+extern const u32 gMonBackPic_Registeel[];
+extern const u32 gMonShinyPalette_Registeel[];
+extern const u8 gMonIcon_Registeel[];
+extern const u8 gMonFootprint_Registeel[];
+extern const u32 gMonFrontPic_Kyogre[];
+extern const u32 gMonPalette_Kyogre[];
+extern const u32 gMonBackPic_Kyogre[];
+extern const u32 gMonShinyPalette_Kyogre[];
+extern const u8 gMonIcon_Kyogre[];
+extern const u8 gMonFootprint_Kyogre[];
+extern const u32 gMonFrontPic_Groudon[];
+extern const u32 gMonPalette_Groudon[];
+extern const u32 gMonBackPic_Groudon[];
+extern const u32 gMonShinyPalette_Groudon[];
+extern const u8 gMonIcon_Groudon[];
+extern const u8 gMonFootprint_Groudon[];
+extern const u32 gMonFrontPic_Rayquaza[];
+extern const u32 gMonPalette_Rayquaza[];
+extern const u32 gMonBackPic_Rayquaza[];
+extern const u32 gMonShinyPalette_Rayquaza[];
+extern const u8 gMonIcon_Rayquaza[];
+extern const u8 gMonFootprint_Rayquaza[];
+extern const u32 gMonFrontPic_Latias[];
+extern const u32 gMonPalette_Latias[];
+extern const u32 gMonBackPic_Latias[];
+extern const u32 gMonShinyPalette_Latias[];
+extern const u8 gMonIcon_Latias[];
+extern const u8 gMonFootprint_Latias[];
+extern const u32 gMonFrontPic_Latios[];
+extern const u32 gMonPalette_Latios[];
+extern const u32 gMonBackPic_Latios[];
+extern const u32 gMonShinyPalette_Latios[];
+extern const u8 gMonIcon_Latios[];
+extern const u8 gMonFootprint_Latios[];
+extern const u32 gMonFrontPic_Jirachi[];
+extern const u32 gMonPalette_Jirachi[];
+extern const u32 gMonBackPic_Jirachi[];
+extern const u32 gMonShinyPalette_Jirachi[];
+extern const u8 gMonIcon_Jirachi[];
+extern const u8 gMonFootprint_Jirachi[];
+extern const u32 gMonFrontPic_Deoxys[];
+extern const u32 gMonPalette_Deoxys[];
+extern const u32 gMonBackPic_Deoxys[];
+extern const u32 gMonShinyPalette_Deoxys[];
+extern const u8 gMonIcon_Deoxys[];
+extern const u8 gMonFootprint_Deoxys[];
+extern const u32 gMonFrontPic_Chimecho[];
+extern const u32 gMonPalette_Chimecho[];
+extern const u32 gMonBackPic_Chimecho[];
+extern const u32 gMonShinyPalette_Chimecho[];
+extern const u8 gMonIcon_Chimecho[];
+extern const u8 gMonFootprint_Chimecho[];
+extern const u32 gMonFrontPic_Egg[];
+extern const u32 gMonPalette_Egg[];
+extern const u8 gMonIcon_Egg[];
+extern const u32 gMonFrontPic_UnownB[];
+extern const u32 gMonBackPic_UnownB[];
+extern const u8 gMonIcon_UnownB[];
+extern const u32 gMonFrontPic_UnownC[];
+extern const u32 gMonBackPic_UnownC[];
+extern const u8 gMonIcon_UnownC[];
+extern const u32 gMonFrontPic_UnownD[];
+extern const u32 gMonBackPic_UnownD[];
+extern const u8 gMonIcon_UnownD[];
+extern const u32 gMonFrontPic_UnownE[];
+extern const u32 gMonBackPic_UnownE[];
+extern const u8 gMonIcon_UnownE[];
+extern const u32 gMonFrontPic_UnownF[];
+extern const u32 gMonBackPic_UnownF[];
+extern const u8 gMonIcon_UnownF[];
+extern const u32 gMonFrontPic_UnownG[];
+extern const u32 gMonBackPic_UnownG[];
+extern const u8 gMonIcon_UnownG[];
+extern const u32 gMonFrontPic_UnownH[];
+extern const u32 gMonBackPic_UnownH[];
+extern const u8 gMonIcon_UnownH[];
+extern const u32 gMonFrontPic_UnownI[];
+extern const u32 gMonBackPic_UnownI[];
+extern const u8 gMonIcon_UnownI[];
+extern const u32 gMonFrontPic_UnownJ[];
+extern const u32 gMonBackPic_UnownJ[];
+extern const u8 gMonIcon_UnownJ[];
+extern const u32 gMonFrontPic_UnownK[];
+extern const u32 gMonBackPic_UnownK[];
+extern const u8 gMonIcon_UnownK[];
+extern const u32 gMonFrontPic_UnownL[];
+extern const u32 gMonBackPic_UnownL[];
+extern const u8 gMonIcon_UnownL[];
+extern const u32 gMonFrontPic_UnownM[];
+extern const u32 gMonBackPic_UnownM[];
+extern const u8 gMonIcon_UnownM[];
+extern const u32 gMonFrontPic_UnownN[];
+extern const u32 gMonBackPic_UnownN[];
+extern const u8 gMonIcon_UnownN[];
+extern const u32 gMonFrontPic_UnownO[];
+extern const u32 gMonBackPic_UnownO[];
+extern const u8 gMonIcon_UnownO[];
+extern const u32 gMonFrontPic_UnownP[];
+extern const u32 gMonBackPic_UnownP[];
+extern const u8 gMonIcon_UnownP[];
+extern const u32 gMonFrontPic_UnownQ[];
+extern const u32 gMonBackPic_UnownQ[];
+extern const u8 gMonIcon_UnownQ[];
+extern const u32 gMonFrontPic_UnownR[];
+extern const u32 gMonBackPic_UnownR[];
+extern const u8 gMonIcon_UnownR[];
+extern const u32 gMonFrontPic_UnownS[];
+extern const u32 gMonBackPic_UnownS[];
+extern const u8 gMonIcon_UnownS[];
+extern const u32 gMonFrontPic_UnownT[];
+extern const u32 gMonBackPic_UnownT[];
+extern const u8 gMonIcon_UnownT[];
+extern const u32 gMonFrontPic_UnownU[];
+extern const u32 gMonBackPic_UnownU[];
+extern const u8 gMonIcon_UnownU[];
+extern const u32 gMonFrontPic_UnownV[];
+extern const u32 gMonBackPic_UnownV[];
+extern const u8 gMonIcon_UnownV[];
+extern const u32 gMonFrontPic_UnownW[];
+extern const u32 gMonBackPic_UnownW[];
+extern const u8 gMonIcon_UnownW[];
+extern const u32 gMonFrontPic_UnownX[];
+extern const u32 gMonBackPic_UnownX[];
+extern const u8 gMonIcon_UnownX[];
+extern const u32 gMonFrontPic_UnownY[];
+extern const u32 gMonBackPic_UnownY[];
+extern const u8 gMonIcon_UnownY[];
+extern const u32 gMonFrontPic_UnownZ[];
+extern const u32 gMonBackPic_UnownZ[];
+extern const u8 gMonIcon_UnownZ[];
+extern const u32 gMonFrontPic_UnownExclamationMark[];
+extern const u32 gMonBackPic_UnownExclamationMark[];
+extern const u8 gMonIcon_UnownExclamationMark[];
+extern const u32 gMonFrontPic_UnownQuestionMark[];
+extern const u32 gMonBackPic_UnownQuestionMark[];
+extern const u8 gMonIcon_UnownQuestionMark[];
+
+extern const u32 gMonFrontPic_CircledQuestionMark[];
+extern const u32 gMonBackPic_CircledQuestionMark[];
+extern const u32 gMonPalette_CircledQuestionMark[];
+extern const u32 gMonShinyPalette_CircledQuestionMark[];
+extern const u8 gMonIcon_QuestionMark[];
+extern const u8 gMonFootprint_QuestionMark[];
+extern const u32 gMonFrontPic_DoubleQuestionMark[];
+extern const u32 gMonBackPic_DoubleQuestionMark[];
+extern const u32 gMonPalette_DoubleQuestionMark[];
+extern const u32 gMonShinyPalette_DoubleQuestionMark[];
+
+// trainer sprites
+extern const u32 gTrainerFrontPic_AquaLeaderArchie[];
+extern const u32 gTrainerFrontPic_AquaGruntM[];
+extern const u32 gTrainerFrontPic_AquaGruntF[];
+extern const u32 gTrainerFrontPic_RSAromaLady[];
+extern const u32 gTrainerFrontPic_RSRuinManiac[];
+extern const u32 gTrainerFrontPic_Interviewer[];
+extern const u32 gTrainerFrontPic_RSTuberF[];
+extern const u32 gTrainerFrontPic_TuberM[];
+extern const u32 gTrainerFrontPic_RSCooltrainerM[];
+extern const u32 gTrainerFrontPic_RSCooltrainerF[];
+extern const u32 gTrainerFrontPic_HexManiac[];
+extern const u32 gTrainerFrontPic_RSLady[];
+extern const u32 gTrainerFrontPic_RSBeauty[];
+extern const u32 gTrainerFrontPic_RichBoy[];
+extern const u32 gTrainerFrontPic_RSPokeManiac[];
+extern const u32 gTrainerFrontPic_RSSwimmerM[];
+extern const u32 gTrainerFrontPic_RSBlackBelt[];
+extern const u32 gTrainerFrontPic_Guitarist[];
+extern const u32 gTrainerFrontPic_Kindler[];
+extern const u32 gTrainerFrontPic_RSCamper[];
+extern const u32 gTrainerFrontPic_BugManiac[];
+extern const u32 gTrainerFrontPic_RSPsychicM[];
+extern const u32 gTrainerFrontPic_RSPsychicF[];
+extern const u32 gTrainerFrontPic_RSGentleman[];
+extern const u32 gTrainerFrontPic_EliteFourSidney[];
+extern const u32 gTrainerFrontPic_EliteFourPhoebe[];
+extern const u32 gTrainerFrontPic_LeaderRoxanne[];
+extern const u32 gTrainerFrontPic_LeaderBrawly[];
+extern const u32 gTrainerFrontPic_LeaderTateAndLiza[];
+extern const u32 gTrainerFrontPic_SchoolKidM[];
+extern const u32 gTrainerFrontPic_SchoolKidF[];
+extern const u32 gTrainerFrontPic_SrAndJr[];
+extern const u32 gTrainerFrontPic_PokefanM[];
+extern const u32 gTrainerFrontPic_PokefanF[];
+extern const u32 gTrainerFrontPic_ExpertM[];
+extern const u32 gTrainerFrontPic_ExpertF[];
+extern const u32 gTrainerFrontPic_RSYoungster[];
+extern const u32 gTrainerFrontPic_ChampionSteven[];
+extern const u32 gTrainerFrontPic_RSFisherman[];
+extern const u32 gTrainerFrontPic_CyclingTriathleteM[];
+extern const u32 gTrainerFrontPic_CyclingTriathleteF[];
+extern const u32 gTrainerFrontPic_RunningTriathleteM[];
+extern const u32 gTrainerFrontPic_RunningTriathleteF[];
+extern const u32 gTrainerFrontPic_SwimmingTriathleteM[];
+extern const u32 gTrainerFrontPic_SwimmingTriathleteF[];
+extern const u32 gTrainerFrontPic_DragonTamer[];
+extern const u32 gTrainerFrontPic_RSBirdKeeper[];
+extern const u32 gTrainerFrontPic_NinjaBoy[];
+extern const u32 gTrainerFrontPic_BattleGirl[];
+extern const u32 gTrainerFrontPic_ParasolLady[];
+extern const u32 gTrainerFrontPic_RSSwimmerF[];
+extern const u32 gTrainerFrontPic_RSPicnicker[];
+extern const u32 gTrainerFrontPic_RSTwins[];
+extern const u32 gTrainerFrontPic_RSSailor[];
+extern const u32 gTrainerFrontPic_Collector[];
+extern const u32 gTrainerFrontPic_Wally[];
+extern const u32 gTrainerFrontPic_RSBrendan1[];
+extern const u32 gTrainerFrontPic_RSMay1[];
+extern const u32 gTrainerFrontPic_PokemonBreederM[];
+extern const u32 gTrainerFrontPic_RSPokemonBreederF[];
+extern const u32 gTrainerFrontPic_RSPokemonRangerM[];
+extern const u32 gTrainerFrontPic_RSPokemonRangerF[];
+extern const u32 gTrainerFrontPic_MagmaLeaderMaxie[];
+extern const u32 gTrainerFrontPic_MagmaGruntM[];
+extern const u32 gTrainerFrontPic_MagmaGruntF[];
+extern const u32 gTrainerFrontPic_RSLass[];
+extern const u32 gTrainerFrontPic_RSBugCatcher[];
+extern const u32 gTrainerFrontPic_RSHiker[];
+extern const u32 gTrainerFrontPic_RSYoungCouple[];
+extern const u32 gTrainerFrontPic_OldCouple[];
+extern const u32 gTrainerFrontPic_RSSisAndBro[];
+extern const u32 gTrainerFrontPic_AquaAdminM[];
+extern const u32 gTrainerFrontPic_AquaAdminF[];
+extern const u32 gTrainerFrontPic_MagmaAdminM[];
+extern const u32 gTrainerFrontPic_MagmaAdminF[];
+extern const u32 gTrainerFrontPic_LeaderWattson[];
+extern const u32 gTrainerFrontPic_LeaderFlannery[];
+extern const u32 gTrainerFrontPic_LeaderNorman[];
+extern const u32 gTrainerFrontPic_LeaderWinona[];
+extern const u32 gTrainerFrontPic_LeaderWallace[];
+extern const u32 gTrainerFrontPic_EliteFourGlacia[];
+extern const u32 gTrainerFrontPic_EliteFourDrake[];
+extern const u32 gTrainerFrontPic_Youngster[];
+extern const u32 gTrainerFrontPic_BugCatcher[];
+extern const u32 gTrainerFrontPic_Lass[];
+extern const u32 gTrainerFrontPic_Sailor[];
+extern const u32 gTrainerFrontPic_Camper[];
+extern const u32 gTrainerFrontPic_Picnicker[];
+extern const u32 gTrainerFrontPic_PokeManiac[];
+extern const u32 gTrainerFrontPic_SuperNerd[];
+extern const u32 gTrainerFrontPic_Hiker[];
+extern const u32 gTrainerFrontPic_Biker[];
+extern const u32 gTrainerFrontPic_Burglar[];
+extern const u32 gTrainerFrontPic_Engineer[];
+extern const u32 gTrainerFrontPic_Fisherman[];
+extern const u32 gTrainerFrontPic_SwimmerM[];
+extern const u32 gTrainerFrontPic_CueBall[];
+extern const u32 gTrainerFrontPic_Gamer[];
+extern const u32 gTrainerFrontPic_Beauty[];
+extern const u32 gTrainerFrontPic_SwimmerF[];
+extern const u32 gTrainerFrontPic_PsychicM[];
+extern const u32 gTrainerFrontPic_Rocker[];
+extern const u32 gTrainerFrontPic_Juggler[];
+extern const u32 gTrainerFrontPic_Tamer[];
+extern const u32 gTrainerFrontPic_BirdKeeper[];
+extern const u32 gTrainerFrontPic_BlackBelt[];
+extern const u32 gTrainerFrontPic_Rival1[];
+extern const u32 gTrainerFrontPic_Scientist[];
+extern const u32 gTrainerFrontPic_LeaderGiovanni[];
+extern const u32 gTrainerFrontPic_RocketGruntM[];
+extern const u32 gTrainerFrontPic_CooltrainerM[];
+extern const u32 gTrainerFrontPic_CooltrainerF[];
+extern const u32 gTrainerFrontPic_EliteFourLorelei[];
+extern const u32 gTrainerFrontPic_EliteFourBruno[];
+extern const u32 gTrainerFrontPic_EliteFourAgatha[];
+extern const u32 gTrainerFrontPic_EliteFourLance[];
+extern const u32 gTrainerFrontPic_LeaderBrock[];
+extern const u32 gTrainerFrontPic_LeaderMisty[];
+extern const u32 gTrainerFrontPic_LeaderLtSurge[];
+extern const u32 gTrainerFrontPic_LeaderErika[];
+extern const u32 gTrainerFrontPic_LeaderKoga[];
+extern const u32 gTrainerFrontPic_LeaderBlaine[];
+extern const u32 gTrainerFrontPic_LeaderSabrina[];
+extern const u32 gTrainerFrontPic_Gentleman[];
+extern const u32 gTrainerFrontPic_Rival2[];
+extern const u32 gTrainerFrontPic_ChampionRival[];
+extern const u32 gTrainerFrontPic_Channeler[];
+extern const u32 gTrainerFrontPic_Twins[];
+extern const u32 gTrainerFrontPic_CoolCouple[];
+extern const u32 gTrainerFrontPic_YoungCouple[];
+extern const u32 gTrainerFrontPic_CrushKin[];
+extern const u32 gTrainerFrontPic_SisAndBro[];
+extern const u32 gTrainerFrontPic_ProfessorOak[];
+extern const u32 gTrainerFrontPic_RSBrendan2[];
+extern const u32 gTrainerFrontPic_RSMay2[];
+extern const u32 gTrainerFrontPic_Red[];
+extern const u32 gTrainerFrontPic_Leaf[];
+extern const u32 gTrainerFrontPic_RocketGruntF[];
+extern const u32 gTrainerFrontPic_PsychicF[];
+extern const u32 gTrainerFrontPic_CrushGirl[];
+extern const u32 gTrainerFrontPic_TuberF[];
+extern const u32 gTrainerFrontPic_PokemonBreederF[];
+extern const u32 gTrainerFrontPic_PokemonRangerM[];
+extern const u32 gTrainerFrontPic_PokemonRangerF[];
+extern const u32 gTrainerFrontPic_AromaLady[];
+extern const u32 gTrainerFrontPic_RuinManiac[];
+extern const u32 gTrainerFrontPic_Lady[];
+extern const u32 gTrainerFrontPic_Painter[];
+
+extern const u32 gTrainerPalette_AquaLeaderArchie[];
+extern const u32 gTrainerPalette_AquaGruntM[];
+extern const u32 gTrainerPalette_AquaGruntF[];
+extern const u32 gTrainerPalette_RSAromaLady[];
+extern const u32 gTrainerPalette_RSRuinManiac[];
+extern const u32 gTrainerPalette_Interviewer[];
+extern const u32 gTrainerPalette_RSTuberF[];
+extern const u32 gTrainerPalette_TuberM[];
+extern const u32 gTrainerPalette_RSCooltrainerM[];
+extern const u32 gTrainerPalette_RSCooltrainerF[];
+extern const u32 gTrainerPalette_HexManiac[];
+extern const u32 gTrainerPalette_RSLady[];
+extern const u32 gTrainerPalette_RSBeauty[];
+extern const u32 gTrainerPalette_RichBoy[];
+extern const u32 gTrainerPalette_RSPokeManiac[];
+extern const u32 gTrainerPalette_RSSwimmerM[];
+extern const u32 gTrainerPalette_RSBlackBelt[];
+extern const u32 gTrainerPalette_Guitarist[];
+extern const u32 gTrainerPalette_Kindler[];
+extern const u32 gTrainerPalette_RSCamper[];
+extern const u32 gTrainerPalette_BugManiac[];
+extern const u32 gTrainerPalette_RSPsychicM[];
+extern const u32 gTrainerPalette_RSPsychicF[];
+extern const u32 gTrainerPalette_RSGentleman[];
+extern const u32 gTrainerPalette_EliteFourSidney[];
+extern const u32 gTrainerPalette_EliteFourPhoebe[];
+extern const u32 gTrainerPalette_LeaderRoxanne[];
+extern const u32 gTrainerPalette_LeaderBrawly[];
+extern const u32 gTrainerPalette_LeaderTateAndLiza[];
+extern const u32 gTrainerPalette_SchoolKidM[];
+extern const u32 gTrainerPalette_SchoolKidF[];
+extern const u32 gTrainerPalette_SrAndJr[];
+extern const u32 gTrainerPalette_PokefanM[];
+extern const u32 gTrainerPalette_PokefanF[];
+extern const u32 gTrainerPalette_ExpertM[];
+extern const u32 gTrainerPalette_ExpertF[];
+extern const u32 gTrainerPalette_RSYoungster[];
+extern const u32 gTrainerPalette_ChampionSteven[];
+extern const u32 gTrainerPalette_RSFisherman[];
+extern const u32 gTrainerPalette_CyclingTriathleteM[];
+extern const u32 gTrainerPalette_CyclingTriathleteF[];
+extern const u32 gTrainerPalette_RunningTriathleteM[];
+extern const u32 gTrainerPalette_RunningTriathleteF[];
+extern const u32 gTrainerPalette_SwimmingTriathleteM[];
+extern const u32 gTrainerPalette_SwimmingTriathleteF[];
+extern const u32 gTrainerPalette_DragonTamer[];
+extern const u32 gTrainerPalette_RSBirdKeeper[];
+extern const u32 gTrainerPalette_NinjaBoy[];
+extern const u32 gTrainerPalette_BattleGirl[];
+extern const u32 gTrainerPalette_ParasolLady[];
+extern const u32 gTrainerPalette_RSSwimmerF[];
+extern const u32 gTrainerPalette_RSPicnicker[];
+extern const u32 gTrainerPalette_RSTwins[];
+extern const u32 gTrainerPalette_RSSailor[];
+extern const u32 gTrainerPalette_Collector[];
+extern const u32 gTrainerPalette_Wally[];
+extern const u32 gTrainerPalette_RSBrendan1[];
+extern const u32 gTrainerPalette_RSMay1[];
+extern const u32 gTrainerPalette_LeafBackPic[];
+extern const u32 gTrainerPalette_RedBackPic[];
+extern const u32 gTrainerPalette_PokeDudeBackPic[];
+extern const u32 gTrainerPalette_OldManBackPic[];
+extern const u32 gTrainerPalette_PokemonBreederM[];
+extern const u32 gTrainerPalette_RSPokemonBreederF[];
+extern const u32 gTrainerPalette_RSPokemonRangerM[];
+extern const u32 gTrainerPalette_RSPokemonRangerF[];
+extern const u32 gTrainerPalette_MagmaLeaderMaxie[];
+extern const u32 gTrainerPalette_MagmaGruntM[];
+extern const u32 gTrainerPalette_MagmaGruntF[];
+extern const u32 gTrainerPalette_RSLass[];
+extern const u32 gTrainerPalette_RSBugCatcher[];
+extern const u32 gTrainerPalette_RSHiker[];
+extern const u32 gTrainerPalette_RSYoungCouple[];
+extern const u32 gTrainerPalette_OldCouple[];
+extern const u32 gTrainerPalette_RSSisAndBro[];
+extern const u32 gTrainerPalette_AquaAdminM[];
+extern const u32 gTrainerPalette_AquaAdminF[];
+extern const u32 gTrainerPalette_MagmaAdminM[];
+extern const u32 gTrainerPalette_MagmaAdminF[];
+extern const u32 gTrainerPalette_LeaderWattson[];
+extern const u32 gTrainerPalette_LeaderFlannery[];
+extern const u32 gTrainerPalette_LeaderNorman[];
+extern const u32 gTrainerPalette_LeaderWinona[];
+extern const u32 gTrainerPalette_LeaderWallace[];
+extern const u32 gTrainerPalette_EliteFourGlacia[];
+extern const u32 gTrainerPalette_EliteFourDrake[];
+extern const u32 gTrainerPalette_Youngster[];
+extern const u32 gTrainerPalette_BugCatcher[];
+extern const u32 gTrainerPalette_Lass[];
+extern const u32 gTrainerPalette_Sailor[];
+extern const u32 gTrainerPalette_Camper[];
+extern const u32 gTrainerPalette_Picnicker[];
+extern const u32 gTrainerPalette_PokeManiac[];
+extern const u32 gTrainerPalette_SuperNerd[];
+extern const u32 gTrainerPalette_Hiker[];
+extern const u32 gTrainerPalette_Biker[];
+extern const u32 gTrainerPalette_Burglar[];
+extern const u32 gTrainerPalette_Engineer[];
+extern const u32 gTrainerPalette_Fisherman[];
+extern const u32 gTrainerPalette_SwimmerM[];
+extern const u32 gTrainerPalette_CueBall[];
+extern const u32 gTrainerPalette_Gamer[];
+extern const u32 gTrainerPalette_Beauty[];
+extern const u32 gTrainerPalette_SwimmerF[];
+extern const u32 gTrainerPalette_PsychicM[];
+extern const u32 gTrainerPalette_Rocker[];
+extern const u32 gTrainerPalette_Juggler[];
+extern const u32 gTrainerPalette_Tamer[];
+extern const u32 gTrainerPalette_BirdKeeper[];
+extern const u32 gTrainerPalette_BlackBelt[];
+extern const u32 gTrainerPalette_Rival1[];
+extern const u32 gTrainerPalette_Scientist[];
+extern const u32 gTrainerPalette_LeaderGiovanni[];
+extern const u32 gTrainerPalette_RocketGruntM[];
+extern const u32 gTrainerPalette_CooltrainerM[];
+extern const u32 gTrainerPalette_CooltrainerF[];
+extern const u32 gTrainerPalette_EliteFourLorelei[];
+extern const u32 gTrainerPalette_EliteFourBruno[];
+extern const u32 gTrainerPalette_EliteFourAgatha[];
+extern const u32 gTrainerPalette_EliteFourLance[];
+extern const u32 gTrainerPalette_LeaderBrock[];
+extern const u32 gTrainerPalette_LeaderMisty[];
+extern const u32 gTrainerPalette_LeaderLtSurge[];
+extern const u32 gTrainerPalette_LeaderErika[];
+extern const u32 gTrainerPalette_LeaderKoga[];
+extern const u32 gTrainerPalette_LeaderBlaine[];
+extern const u32 gTrainerPalette_LeaderSabrina[];
+extern const u32 gTrainerPalette_Gentleman[];
+extern const u32 gTrainerPalette_Rival2[];
+extern const u32 gTrainerPalette_ChampionRival[];
+extern const u32 gTrainerPalette_Channeler[];
+extern const u32 gTrainerPalette_Twins[];
+extern const u32 gTrainerPalette_CoolCouple[];
+extern const u32 gTrainerPalette_YoungCouple[];
+extern const u32 gTrainerPalette_CrushKin[];
+extern const u32 gTrainerPalette_SisAndBro[];
+extern const u32 gTrainerPalette_ProfessorOak[];
+extern const u32 gTrainerPalette_RSBrendan2[];
+extern const u32 gTrainerPalette_RSMay2[];
+extern const u32 gTrainerPalette_Red[];
+extern const u32 gTrainerPalette_Leaf[];
+extern const u32 gTrainerPalette_RocketGruntF[];
+extern const u32 gTrainerPalette_PsychicF[];
+extern const u32 gTrainerPalette_CrushGirl[];
+extern const u32 gTrainerPalette_TuberF[];
+extern const u32 gTrainerPalette_PokemonBreederF[];
+extern const u32 gTrainerPalette_PokemonRangerM[];
+extern const u32 gTrainerPalette_PokemonRangerF[];
+extern const u32 gTrainerPalette_AromaLady[];
+extern const u32 gTrainerPalette_RuinManiac[];
+extern const u32 gTrainerPalette_Lady[];
+extern const u32 gTrainerPalette_Painter[];
+
extern const u8 gFireRedMenuElements_Gfx[];
extern const u16 gFireRedMenuElements1_Pal[];
extern const u16 gFireRedMenuElements2_Pal[];
@@ -147,7 +2864,6 @@ extern const u8 gUnknown_08DDB2C4[];
extern const u16 gUnknown_08DDAFE0[];
// fame_checker
-
extern const u16 gFameCheckerBgPals[0x30];
extern const u16 gFameCheckerBgTiles[0xa50];
extern const u16 gFameCheckerBg3Tilemap[0x400];
@@ -1036,6 +3752,13 @@ extern const u32 gBerryPouchBgPal0FemaleOverride[];
extern const u32 gBerryPouchSpritePalette[];
extern const u8 gBerryPouchBg1Tilemap[];
+extern const u8 gTrainerBackPic_Red[];
+extern const u8 gTrainerBackPic_Leaf[];
+extern const u8 gTrainerBackPic_PokeDude[];
+extern const u8 gTrainerBackPic_OldMan[];
+extern const u8 gTrainerBackPic_RSBrendan[];
+extern const u8 gTrainerBackPic_RSMay[];
+
// mail
extern const u16 gFile_graphics_mail_orange_palette_pal[];
extern const u16 gFile_graphics_mail_harbor_palette_pal[];
@@ -1074,4 +3797,421 @@ extern const u32 gFile_graphics_mail_dream_map_tilemap[];
extern const u32 gFile_graphics_mail_fab_map_tilemap[];
extern const u32 gFile_graphics_mail_retro_map_tilemap[];
+// pokemon_icons
+extern const u8 gMonIcon_Bulbasaur[];
+extern const u8 gMonIcon_Ivysaur[];
+extern const u8 gMonIcon_Venusaur[];
+extern const u8 gMonIcon_Charmander[];
+extern const u8 gMonIcon_Charmeleon[];
+extern const u8 gMonIcon_Charizard[];
+extern const u8 gMonIcon_Squirtle[];
+extern const u8 gMonIcon_Wartortle[];
+extern const u8 gMonIcon_Blastoise[];
+extern const u8 gMonIcon_Caterpie[];
+extern const u8 gMonIcon_Metapod[];
+extern const u8 gMonIcon_Butterfree[];
+extern const u8 gMonIcon_Weedle[];
+extern const u8 gMonIcon_Kakuna[];
+extern const u8 gMonIcon_Beedrill[];
+extern const u8 gMonIcon_Pidgey[];
+extern const u8 gMonIcon_Pidgeotto[];
+extern const u8 gMonIcon_Pidgeot[];
+extern const u8 gMonIcon_Rattata[];
+extern const u8 gMonIcon_Raticate[];
+extern const u8 gMonIcon_Spearow[];
+extern const u8 gMonIcon_Fearow[];
+extern const u8 gMonIcon_Ekans[];
+extern const u8 gMonIcon_Arbok[];
+extern const u8 gMonIcon_Pikachu[];
+extern const u8 gMonIcon_Raichu[];
+extern const u8 gMonIcon_Sandshrew[];
+extern const u8 gMonIcon_Sandslash[];
+extern const u8 gMonIcon_Nidoran_f[];
+extern const u8 gMonIcon_Nidorina[];
+extern const u8 gMonIcon_Nidoqueen[];
+extern const u8 gMonIcon_Nidoran_m[];
+extern const u8 gMonIcon_Nidorino[];
+extern const u8 gMonIcon_Nidoking[];
+extern const u8 gMonIcon_Clefairy[];
+extern const u8 gMonIcon_Clefable[];
+extern const u8 gMonIcon_Vulpix[];
+extern const u8 gMonIcon_Ninetales[];
+extern const u8 gMonIcon_Jigglypuff[];
+extern const u8 gMonIcon_Wigglytuff[];
+extern const u8 gMonIcon_Zubat[];
+extern const u8 gMonIcon_Golbat[];
+extern const u8 gMonIcon_Oddish[];
+extern const u8 gMonIcon_Gloom[];
+extern const u8 gMonIcon_Vileplume[];
+extern const u8 gMonIcon_Paras[];
+extern const u8 gMonIcon_Parasect[];
+extern const u8 gMonIcon_Venonat[];
+extern const u8 gMonIcon_Venomoth[];
+extern const u8 gMonIcon_Diglett[];
+extern const u8 gMonIcon_Dugtrio[];
+extern const u8 gMonIcon_Meowth[];
+extern const u8 gMonIcon_Persian[];
+extern const u8 gMonIcon_Psyduck[];
+extern const u8 gMonIcon_Golduck[];
+extern const u8 gMonIcon_Mankey[];
+extern const u8 gMonIcon_Primeape[];
+extern const u8 gMonIcon_Growlithe[];
+extern const u8 gMonIcon_Arcanine[];
+extern const u8 gMonIcon_Poliwag[];
+extern const u8 gMonIcon_Poliwhirl[];
+extern const u8 gMonIcon_Poliwrath[];
+extern const u8 gMonIcon_Abra[];
+extern const u8 gMonIcon_Kadabra[];
+extern const u8 gMonIcon_Alakazam[];
+extern const u8 gMonIcon_Machop[];
+extern const u8 gMonIcon_Machoke[];
+extern const u8 gMonIcon_Machamp[];
+extern const u8 gMonIcon_Bellsprout[];
+extern const u8 gMonIcon_Weepinbell[];
+extern const u8 gMonIcon_Victreebel[];
+extern const u8 gMonIcon_Tentacool[];
+extern const u8 gMonIcon_Tentacruel[];
+extern const u8 gMonIcon_Geodude[];
+extern const u8 gMonIcon_Graveler[];
+extern const u8 gMonIcon_Golem[];
+extern const u8 gMonIcon_Ponyta[];
+extern const u8 gMonIcon_Rapidash[];
+extern const u8 gMonIcon_Slowpoke[];
+extern const u8 gMonIcon_Slowbro[];
+extern const u8 gMonIcon_Magnemite[];
+extern const u8 gMonIcon_Magneton[];
+extern const u8 gMonIcon_Farfetch_d[];
+extern const u8 gMonIcon_Doduo[];
+extern const u8 gMonIcon_Dodrio[];
+extern const u8 gMonIcon_Seel[];
+extern const u8 gMonIcon_Dewgong[];
+extern const u8 gMonIcon_Grimer[];
+extern const u8 gMonIcon_Muk[];
+extern const u8 gMonIcon_Shellder[];
+extern const u8 gMonIcon_Cloyster[];
+extern const u8 gMonIcon_Gastly[];
+extern const u8 gMonIcon_Haunter[];
+extern const u8 gMonIcon_Gengar[];
+extern const u8 gMonIcon_Onix[];
+extern const u8 gMonIcon_Drowzee[];
+extern const u8 gMonIcon_Hypno[];
+extern const u8 gMonIcon_Krabby[];
+extern const u8 gMonIcon_Kingler[];
+extern const u8 gMonIcon_Voltorb[];
+extern const u8 gMonIcon_Electrode[];
+extern const u8 gMonIcon_Exeggcute[];
+extern const u8 gMonIcon_Exeggutor[];
+extern const u8 gMonIcon_Cubone[];
+extern const u8 gMonIcon_Marowak[];
+extern const u8 gMonIcon_Hitmonlee[];
+extern const u8 gMonIcon_Hitmonchan[];
+extern const u8 gMonIcon_Lickitung[];
+extern const u8 gMonIcon_Koffing[];
+extern const u8 gMonIcon_Weezing[];
+extern const u8 gMonIcon_Rhyhorn[];
+extern const u8 gMonIcon_Rhydon[];
+extern const u8 gMonIcon_Chansey[];
+extern const u8 gMonIcon_Tangela[];
+extern const u8 gMonIcon_Kangaskhan[];
+extern const u8 gMonIcon_Horsea[];
+extern const u8 gMonIcon_Seadra[];
+extern const u8 gMonIcon_Goldeen[];
+extern const u8 gMonIcon_Seaking[];
+extern const u8 gMonIcon_Staryu[];
+extern const u8 gMonIcon_Starmie[];
+extern const u8 gMonIcon_Mr_Mime[];
+extern const u8 gMonIcon_Scyther[];
+extern const u8 gMonIcon_Jynx[];
+extern const u8 gMonIcon_Electabuzz[];
+extern const u8 gMonIcon_Magmar[];
+extern const u8 gMonIcon_Pinsir[];
+extern const u8 gMonIcon_Tauros[];
+extern const u8 gMonIcon_Magikarp[];
+extern const u8 gMonIcon_Gyarados[];
+extern const u8 gMonIcon_Lapras[];
+extern const u8 gMonIcon_Ditto[];
+extern const u8 gMonIcon_Eevee[];
+extern const u8 gMonIcon_Vaporeon[];
+extern const u8 gMonIcon_Jolteon[];
+extern const u8 gMonIcon_Flareon[];
+extern const u8 gMonIcon_Porygon[];
+extern const u8 gMonIcon_Omanyte[];
+extern const u8 gMonIcon_Omastar[];
+extern const u8 gMonIcon_Kabuto[];
+extern const u8 gMonIcon_Kabutops[];
+extern const u8 gMonIcon_Aerodactyl[];
+extern const u8 gMonIcon_Snorlax[];
+extern const u8 gMonIcon_Articuno[];
+extern const u8 gMonIcon_Zapdos[];
+extern const u8 gMonIcon_Moltres[];
+extern const u8 gMonIcon_Dratini[];
+extern const u8 gMonIcon_Dragonair[];
+extern const u8 gMonIcon_Dragonite[];
+extern const u8 gMonIcon_Mewtwo[];
+extern const u8 gMonIcon_Mew[];
+extern const u8 gMonIcon_Chikorita[];
+extern const u8 gMonIcon_Bayleef[];
+extern const u8 gMonIcon_Meganium[];
+extern const u8 gMonIcon_Cyndaquil[];
+extern const u8 gMonIcon_Quilava[];
+extern const u8 gMonIcon_Typhlosion[];
+extern const u8 gMonIcon_Totodile[];
+extern const u8 gMonIcon_Croconaw[];
+extern const u8 gMonIcon_Feraligatr[];
+extern const u8 gMonIcon_Sentret[];
+extern const u8 gMonIcon_Furret[];
+extern const u8 gMonIcon_Hoothoot[];
+extern const u8 gMonIcon_Noctowl[];
+extern const u8 gMonIcon_Ledyba[];
+extern const u8 gMonIcon_Ledian[];
+extern const u8 gMonIcon_Spinarak[];
+extern const u8 gMonIcon_Ariados[];
+extern const u8 gMonIcon_Crobat[];
+extern const u8 gMonIcon_Chinchou[];
+extern const u8 gMonIcon_Lanturn[];
+extern const u8 gMonIcon_Pichu[];
+extern const u8 gMonIcon_Cleffa[];
+extern const u8 gMonIcon_Igglybuff[];
+extern const u8 gMonIcon_Togepi[];
+extern const u8 gMonIcon_Togetic[];
+extern const u8 gMonIcon_Natu[];
+extern const u8 gMonIcon_Xatu[];
+extern const u8 gMonIcon_Mareep[];
+extern const u8 gMonIcon_Flaaffy[];
+extern const u8 gMonIcon_Ampharos[];
+extern const u8 gMonIcon_Bellossom[];
+extern const u8 gMonIcon_Marill[];
+extern const u8 gMonIcon_Azumarill[];
+extern const u8 gMonIcon_Sudowoodo[];
+extern const u8 gMonIcon_Politoed[];
+extern const u8 gMonIcon_Hoppip[];
+extern const u8 gMonIcon_Skiploom[];
+extern const u8 gMonIcon_Jumpluff[];
+extern const u8 gMonIcon_Aipom[];
+extern const u8 gMonIcon_Sunkern[];
+extern const u8 gMonIcon_Sunflora[];
+extern const u8 gMonIcon_Yanma[];
+extern const u8 gMonIcon_Wooper[];
+extern const u8 gMonIcon_Quagsire[];
+extern const u8 gMonIcon_Espeon[];
+extern const u8 gMonIcon_Umbreon[];
+extern const u8 gMonIcon_Murkrow[];
+extern const u8 gMonIcon_Slowking[];
+extern const u8 gMonIcon_Misdreavus[];
+extern const u8 gMonIcon_Unown_A[];
+extern const u8 gMonIcon_Wobbuffet[];
+extern const u8 gMonIcon_Girafarig[];
+extern const u8 gMonIcon_Pineco[];
+extern const u8 gMonIcon_Forretress[];
+extern const u8 gMonIcon_Dunsparce[];
+extern const u8 gMonIcon_Gligar[];
+extern const u8 gMonIcon_Steelix[];
+extern const u8 gMonIcon_Snubbull[];
+extern const u8 gMonIcon_Granbull[];
+extern const u8 gMonIcon_Qwilfish[];
+extern const u8 gMonIcon_Scizor[];
+extern const u8 gMonIcon_Shuckle[];
+extern const u8 gMonIcon_Heracross[];
+extern const u8 gMonIcon_Sneasel[];
+extern const u8 gMonIcon_Teddiursa[];
+extern const u8 gMonIcon_Ursaring[];
+extern const u8 gMonIcon_Slugma[];
+extern const u8 gMonIcon_Magcargo[];
+extern const u8 gMonIcon_Swinub[];
+extern const u8 gMonIcon_Piloswine[];
+extern const u8 gMonIcon_Corsola[];
+extern const u8 gMonIcon_Remoraid[];
+extern const u8 gMonIcon_Octillery[];
+extern const u8 gMonIcon_Delibird[];
+extern const u8 gMonIcon_Mantine[];
+extern const u8 gMonIcon_Skarmory[];
+extern const u8 gMonIcon_Houndour[];
+extern const u8 gMonIcon_Houndoom[];
+extern const u8 gMonIcon_Kingdra[];
+extern const u8 gMonIcon_Phanpy[];
+extern const u8 gMonIcon_Donphan[];
+extern const u8 gMonIcon_Porygon2[];
+extern const u8 gMonIcon_Stantler[];
+extern const u8 gMonIcon_Smeargle[];
+extern const u8 gMonIcon_Tyrogue[];
+extern const u8 gMonIcon_Hitmontop[];
+extern const u8 gMonIcon_Smoochum[];
+extern const u8 gMonIcon_Elekid[];
+extern const u8 gMonIcon_Magby[];
+extern const u8 gMonIcon_Miltank[];
+extern const u8 gMonIcon_Blissey[];
+extern const u8 gMonIcon_Raikou[];
+extern const u8 gMonIcon_Entei[];
+extern const u8 gMonIcon_Suicune[];
+extern const u8 gMonIcon_Larvitar[];
+extern const u8 gMonIcon_Pupitar[];
+extern const u8 gMonIcon_Tyranitar[];
+extern const u8 gMonIcon_Lugia[];
+extern const u8 gMonIcon_Ho_Oh[];
+extern const u8 gMonIcon_Celebi[];
+extern const u8 gMonIcon_Treecko[];
+extern const u8 gMonIcon_Grovyle[];
+extern const u8 gMonIcon_Sceptile[];
+extern const u8 gMonIcon_Torchic[];
+extern const u8 gMonIcon_Combusken[];
+extern const u8 gMonIcon_Blaziken[];
+extern const u8 gMonIcon_Mudkip[];
+extern const u8 gMonIcon_Marshtomp[];
+extern const u8 gMonIcon_Swampert[];
+extern const u8 gMonIcon_Poochyena[];
+extern const u8 gMonIcon_Mightyena[];
+extern const u8 gMonIcon_Zigzagoon[];
+extern const u8 gMonIcon_Linoone[];
+extern const u8 gMonIcon_Wurmple[];
+extern const u8 gMonIcon_Silcoon[];
+extern const u8 gMonIcon_Beautifly[];
+extern const u8 gMonIcon_Cascoon[];
+extern const u8 gMonIcon_Dustox[];
+extern const u8 gMonIcon_Lotad[];
+extern const u8 gMonIcon_Lombre[];
+extern const u8 gMonIcon_Ludicolo[];
+extern const u8 gMonIcon_Seedot[];
+extern const u8 gMonIcon_Nuzleaf[];
+extern const u8 gMonIcon_Shiftry[];
+extern const u8 gMonIcon_Nincada[];
+extern const u8 gMonIcon_Ninjask[];
+extern const u8 gMonIcon_Shedinja[];
+extern const u8 gMonIcon_Taillow[];
+extern const u8 gMonIcon_Swellow[];
+extern const u8 gMonIcon_Shroomish[];
+extern const u8 gMonIcon_Breloom[];
+extern const u8 gMonIcon_Spinda[];
+extern const u8 gMonIcon_Wingull[];
+extern const u8 gMonIcon_Pelipper[];
+extern const u8 gMonIcon_Surskit[];
+extern const u8 gMonIcon_Masquerain[];
+extern const u8 gMonIcon_Wailmer[];
+extern const u8 gMonIcon_Wailord[];
+extern const u8 gMonIcon_Skitty[];
+extern const u8 gMonIcon_Delcatty[];
+extern const u8 gMonIcon_Kecleon[];
+extern const u8 gMonIcon_Baltoy[];
+extern const u8 gMonIcon_Claydol[];
+extern const u8 gMonIcon_Nosepass[];
+extern const u8 gMonIcon_Torkoal[];
+extern const u8 gMonIcon_Sableye[];
+extern const u8 gMonIcon_Barboach[];
+extern const u8 gMonIcon_Whiscash[];
+extern const u8 gMonIcon_Luvdisc[];
+extern const u8 gMonIcon_Corphish[];
+extern const u8 gMonIcon_Crawdaunt[];
+extern const u8 gMonIcon_Feebas[];
+extern const u8 gMonIcon_Milotic[];
+extern const u8 gMonIcon_Carvanha[];
+extern const u8 gMonIcon_Sharpedo[];
+extern const u8 gMonIcon_Trapinch[];
+extern const u8 gMonIcon_Vibrava[];
+extern const u8 gMonIcon_Flygon[];
+extern const u8 gMonIcon_Makuhita[];
+extern const u8 gMonIcon_Hariyama[];
+extern const u8 gMonIcon_Electrike[];
+extern const u8 gMonIcon_Manectric[];
+extern const u8 gMonIcon_Numel[];
+extern const u8 gMonIcon_Camerupt[];
+extern const u8 gMonIcon_Spheal[];
+extern const u8 gMonIcon_Sealeo[];
+extern const u8 gMonIcon_Walrein[];
+extern const u8 gMonIcon_Cacnea[];
+extern const u8 gMonIcon_Cacturne[];
+extern const u8 gMonIcon_Snorunt[];
+extern const u8 gMonIcon_Glalie[];
+extern const u8 gMonIcon_Lunatone[];
+extern const u8 gMonIcon_Solrock[];
+extern const u8 gMonIcon_Azurill[];
+extern const u8 gMonIcon_Spoink[];
+extern const u8 gMonIcon_Grumpig[];
+extern const u8 gMonIcon_Plusle[];
+extern const u8 gMonIcon_Minun[];
+extern const u8 gMonIcon_Mawile[];
+extern const u8 gMonIcon_Meditite[];
+extern const u8 gMonIcon_Medicham[];
+extern const u8 gMonIcon_Swablu[];
+extern const u8 gMonIcon_Altaria[];
+extern const u8 gMonIcon_Wynaut[];
+extern const u8 gMonIcon_Duskull[];
+extern const u8 gMonIcon_Dusclops[];
+extern const u8 gMonIcon_Roselia[];
+extern const u8 gMonIcon_Slakoth[];
+extern const u8 gMonIcon_Vigoroth[];
+extern const u8 gMonIcon_Slaking[];
+extern const u8 gMonIcon_Gulpin[];
+extern const u8 gMonIcon_Swalot[];
+extern const u8 gMonIcon_Tropius[];
+extern const u8 gMonIcon_Whismur[];
+extern const u8 gMonIcon_Loudred[];
+extern const u8 gMonIcon_Exploud[];
+extern const u8 gMonIcon_Clamperl[];
+extern const u8 gMonIcon_Huntail[];
+extern const u8 gMonIcon_Gorebyss[];
+extern const u8 gMonIcon_Absol[];
+extern const u8 gMonIcon_Shuppet[];
+extern const u8 gMonIcon_Banette[];
+extern const u8 gMonIcon_Seviper[];
+extern const u8 gMonIcon_Zangoose[];
+extern const u8 gMonIcon_Relicanth[];
+extern const u8 gMonIcon_Aron[];
+extern const u8 gMonIcon_Lairon[];
+extern const u8 gMonIcon_Aggron[];
+extern const u8 gMonIcon_Castform[];
+extern const u8 gMonIcon_Volbeat[];
+extern const u8 gMonIcon_Illumise[];
+extern const u8 gMonIcon_Lileep[];
+extern const u8 gMonIcon_Cradily[];
+extern const u8 gMonIcon_Anorith[];
+extern const u8 gMonIcon_Armaldo[];
+extern const u8 gMonIcon_Ralts[];
+extern const u8 gMonIcon_Kirlia[];
+extern const u8 gMonIcon_Gardevoir[];
+extern const u8 gMonIcon_Bagon[];
+extern const u8 gMonIcon_Shelgon[];
+extern const u8 gMonIcon_Salamence[];
+extern const u8 gMonIcon_Beldum[];
+extern const u8 gMonIcon_Metang[];
+extern const u8 gMonIcon_Metagross[];
+extern const u8 gMonIcon_Regirock[];
+extern const u8 gMonIcon_Regice[];
+extern const u8 gMonIcon_Registeel[];
+extern const u8 gMonIcon_Kyogre[];
+extern const u8 gMonIcon_Groudon[];
+extern const u8 gMonIcon_Rayquaza[];
+extern const u8 gMonIcon_Latias[];
+extern const u8 gMonIcon_Latios[];
+extern const u8 gMonIcon_Jirachi[];
+extern const u8 gMonIcon_Deoxys[];
+extern const u8 gMonIcon_Chimecho[];
+extern const u8 gMonIcon_Egg[];
+extern const u8 gMonIcon_Unown_B[];
+extern const u8 gMonIcon_Unown_C[];
+extern const u8 gMonIcon_Unown_D[];
+extern const u8 gMonIcon_Unown_E[];
+extern const u8 gMonIcon_Unown_F[];
+extern const u8 gMonIcon_Unown_G[];
+extern const u8 gMonIcon_Unown_H[];
+extern const u8 gMonIcon_Unown_I[];
+extern const u8 gMonIcon_Unown_J[];
+extern const u8 gMonIcon_Unown_K[];
+extern const u8 gMonIcon_Unown_L[];
+extern const u8 gMonIcon_Unown_M[];
+extern const u8 gMonIcon_Unown_N[];
+extern const u8 gMonIcon_Unown_O[];
+extern const u8 gMonIcon_Unown_P[];
+extern const u8 gMonIcon_Unown_Q[];
+extern const u8 gMonIcon_Unown_R[];
+extern const u8 gMonIcon_Unown_S[];
+extern const u8 gMonIcon_Unown_T[];
+extern const u8 gMonIcon_Unown_U[];
+extern const u8 gMonIcon_Unown_V[];
+extern const u8 gMonIcon_Unown_W[];
+extern const u8 gMonIcon_Unown_X[];
+extern const u8 gMonIcon_Unown_Y[];
+extern const u8 gMonIcon_Unown_Z[];
+extern const u8 gMonIcon_Unown_ExclamationMark[];
+extern const u8 gMonIcon_Unown_QuestionMark[];
+extern const u8 gMonIcon_QuestionMark[];
+
#endif //GUARD_GRAPHICS_H
diff --git a/include/menews_jisan.h b/include/menews_jisan.h
index ca09d4347..8e1c251f9 100644
--- a/include/menews_jisan.h
+++ b/include/menews_jisan.h
@@ -3,8 +3,8 @@
#include "global.h"
-void GenerateRandomNews(u32 a0);
-void sub_8146C88(void);
-void sub_8146CA4(void);
+void MENewsJisan_SetRandomReward(u32 a0);
+void MENewsJisanReset(void);
+void MENewsJisanStepCounter(void);
#endif //GUARD_MENEWS_JISAN_H
diff --git a/include/mevent.h b/include/mevent.h
index cee88e403..08ee8c038 100644
--- a/include/mevent.h
+++ b/include/mevent.h
@@ -36,7 +36,7 @@ struct MEvent_Str_2
struct MEventBuffer_3120_Sub * GetSavedWonderNews(void);
struct MEventBuffer_32E0_Sub * GetSavedWonderCard(void);
struct MEventBuffer_3430_Sub * sav1_get_mevent_buffer_2(void);
-struct MysteryEventStruct * sub_8143D94(void);
+struct MENewsJisanStruct * GetMENewsJisanStructPtr(void);
bool32 sub_8143DC8(const struct MEventBuffer_3120_Sub * src);
bool32 ValidateReceivedWonderNews(void);
bool32 ValidateReceivedWonderCard(void);
diff --git a/include/overworld.h b/include/overworld.h
index c2b759df6..f1da789ac 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -104,7 +104,7 @@ void SetWarpDestinationToFixedHoleWarp(s16 x, s16 y);
void ResetInitialPlayerAvatarState(void);
void sub_8055D40(u16 mapDataId);
void CleanupOverworldWindowsAndTilemaps(void);
-u32 sub_8054C04(void);
+u32 ComputeWhiteOutMoneyLoss(void);
extern u8 gDisableMapMusicChangeOnMapLoad;
extern u8 gUnknown_2036E28;
diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h
index d5aab71de..52d374041 100644
--- a/include/pokemon_icon.h
+++ b/include/pokemon_icon.h
@@ -4,20 +4,21 @@
#include "global.h"
const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo);
+const u8 *GetMonIconTiles(u16 iconSpecies, bool32 extra);
const u16 *GetValidMonIconPalettePtr(u16 speciesId);
u16 sub_80D2E84(u16 speciesId);
void sub_80D2F68(u16 iconId);
u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, u8 a5);
void sub_80D2FF0(u16 iconId);
void sub_80D2EF8(struct Sprite *sprite);
-void sub_809707C(void);
+void LoadMonIconPalettes(void);
void FreeMonIconPalettes(void);
-u16 sub_8096FD4(u16);
-u8 sub_8096ECC(u16, void (*)(struct Sprite *), s16, s16, u8, bool32);
-void sub_8097070(struct Sprite *);
+u16 MailSpeciesToIconSpecies(u16);
+u8 CreateMonIcon_HandleDeoxys(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, bool32 extra);
+void DestroyMonIcon(struct Sprite *);
u16 GetUnownLetterByPersonality(u32 personality);
u8 UpdateMonIconFrame(struct Sprite *sprite);
-void sub_80970E0(u16 iconId);
-void sub_8097168(u16 iconId);
+void LoadMonIconPalette(u16 iconId);
+void FreeMonIconPalette(u16 iconId);
#endif // GUARD_POKEMON_ICON_H
diff --git a/include/quest_log.h b/include/quest_log.h
index ddcbb1bf0..a5352db1f 100644
--- a/include/quest_log.h
+++ b/include/quest_log.h
@@ -16,7 +16,7 @@ struct UnkStruct_3005E90
extern u8 gUnknown_203ADFA;
extern u8 gUnknown_3005E88;
-extern u16 gUnknown_3005E8C;
+extern u16 sNumQuestLogs;
extern struct UnkStruct_3005E90 gUnknown_3005E90;
extern struct UnkStruct_203AE98 * gUnknown_3005E94;
extern const u16 gUnknown_84566A8[];
@@ -45,5 +45,9 @@ void sub_812C224(void);
void sub_812BFDC(void);
void sub_811231C(void);
void sub_81139BC(void);
+void *QuestLogGetFlagOrVarPtr(bool8 isFlag, u16 idx);
+void QuestLogSetFlagOrVar(bool8 isFlag, u16 idx, u16 value);
+
+extern u8 gUnknown_203ADFA;
#endif //GUARD_QUEST_LOG_H
diff --git a/include/renewable_hidden_items.h b/include/renewable_hidden_items.h
new file mode 100644
index 000000000..0de109528
--- /dev/null
+++ b/include/renewable_hidden_items.h
@@ -0,0 +1,9 @@
+#ifndef GUARD_RENEWABLE_HIDDEN_ITEMS_H
+#define GUARD_RENEWABLE_HIDDEN_ITEMS_H
+
+bool32 sub_815D834(void);
+void IncrementRenewableHiddenItemStepCounter(void);
+void TryRegenerateRenewableHiddenItems(void);
+void SetAllRenewableItemFlags(void);
+
+#endif //GUARD_RENEWABLE_HIDDEN_ITEMS_H
diff --git a/include/seagallop.h b/include/seagallop.h
index cce6da8ff..a8eaa6c88 100644
--- a/include/seagallop.h
+++ b/include/seagallop.h
@@ -1,20 +1,7 @@
#ifndef GUARD_SEAGALLOP_H
#define GUARD_SEAGALLOP_H
-enum SeaGallopDestinations
-{
- SEAGALLOP_VERMILION_CITY,
- SEAGALLOP_ONE_ISLAND,
- SEAGALLOP_TWO_ISLAND,
- SEAGALLOP_THREE_ISLAND,
- SEAGALLOP_FOUR_ISLAND,
- SEAGALLOP_FIVE_ISLAND,
- SEAGALLOP_SIX_ISLAND,
- SEAGALLOP_SEVEN_ISLAND,
- SEAGALLOP_CINNABAR_ISLAND,
- SEAGALLOP_NAVEL_ROCK,
- SEAGALLOP_BIRTH_ISLAND
-};
+#include "constants/seagallop.h"
void ScrSpecial_SeaGallopFerry(void);
diff --git a/include/trainer_tower.h b/include/trainer_tower.h
index 82a3e6cdc..810642a69 100644
--- a/include/trainer_tower.h
+++ b/include/trainer_tower.h
@@ -5,7 +5,6 @@ void PrintTrainerTowerRecords(void);
void InitTrainerTowerBattleStruct(void);
void FreeTrainerTowerBattleStruct(void);
u8 GetTrainerTowerTrainerFrontSpriteId(void);
-void sub_815D838(void);
void ResetTrainerTowerResults(void);
#endif //GUARD_TRAINER_TOWER_H
diff --git a/include/unk_8159F40.h b/include/unk_8159F40.h
index 7f6a98c3a..41db36aad 100644
--- a/include/unk_8159F40.h
+++ b/include/unk_8159F40.h
@@ -3,7 +3,7 @@
#include "global.h"
-void sub_8159F40(void);
+void InitPokedudePartyAndOpponent(void);
void sub_815A008(struct QuestLog *);
void sub_815A1F8(struct QuestLog *, struct MapObjectTemplate *);