Table of Contents
Rearrange And Organise Flags
WARNING: doing these changes WILL COMPLETELY BREAK save files as flags that were not activated will become activated. Use at your own risk.
It may also cause issues when pulling branches that define new flags and they would have to manually be corrected. Again, use at your own risk.
One reason to reorganise flags is if you're wanting to add lots of new trainer battles to a game, you would have to rearrange flags or else the Trainer flags would overflow and cause errors.
The below code are the flags rearranged so that almost all of the unused flags are grouped together.
There is also comments for how to reclaim the functionally unused flags still in the game (or see here: Reclaim Unused Flags)
Copy and paste the below code and replace everything in include/constants/flags.h. If you have custom flags, you will need to manually edit these back into your file in the unused flags section.
#ifndef GUARD_CONSTANTS_FLAGS_H
#define GUARD_CONSTANTS_FLAGS_H
#include "constants/opponents.h"
#include "constants/rematches.h"
// Temporary Flags
// These temporary flags are are cleared every time a map is loaded. They are used
// for things like shortening an NPCs introduction text if the player already spoke
// to them once.
#define TEMP_FLAGS_START 0x0
#define FLAG_TEMP_1 (TEMP_FLAGS_START + 0x1)
#define FLAG_TEMP_2 (TEMP_FLAGS_START + 0x2)
#define FLAG_TEMP_3 (TEMP_FLAGS_START + 0x3)
#define FLAG_TEMP_4 (TEMP_FLAGS_START + 0x4)
#define FLAG_TEMP_5 (TEMP_FLAGS_START + 0x5) // Unused Flag
#define FLAG_TEMP_6 (TEMP_FLAGS_START + 0x6) // Unused Flag
#define FLAG_TEMP_7 (TEMP_FLAGS_START + 0x7) // Unused Flag
#define FLAG_TEMP_8 (TEMP_FLAGS_START + 0x8) // Unused Flag
#define FLAG_TEMP_9 (TEMP_FLAGS_START + 0x9) // Unused Flag
#define FLAG_TEMP_A (TEMP_FLAGS_START + 0xA) // Unused Flag
#define FLAG_TEMP_B (TEMP_FLAGS_START + 0xB) // Unused Flag
#define FLAG_TEMP_C (TEMP_FLAGS_START + 0xC) // Unused Flag
#define FLAG_TEMP_D (TEMP_FLAGS_START + 0xD) // Unused Flag
#define FLAG_TEMP_E (TEMP_FLAGS_START + 0xE) // Unused Flag
#define FLAG_TEMP_F (TEMP_FLAGS_START + 0xF) // Unused Flag
#define FLAG_TEMP_10 (TEMP_FLAGS_START + 0x10) // Unused Flag
#define FLAG_TEMP_11 (TEMP_FLAGS_START + 0x11)
#define FLAG_TEMP_12 (TEMP_FLAGS_START + 0x12)
#define FLAG_TEMP_13 (TEMP_FLAGS_START + 0x13)
#define FLAG_TEMP_14 (TEMP_FLAGS_START + 0x14)
#define FLAG_TEMP_15 (TEMP_FLAGS_START + 0x15)
#define FLAG_TEMP_16 (TEMP_FLAGS_START + 0x16)
#define FLAG_TEMP_17 (TEMP_FLAGS_START + 0x17)
#define FLAG_TEMP_18 (TEMP_FLAGS_START + 0x18)
#define FLAG_TEMP_19 (TEMP_FLAGS_START + 0x19)
#define FLAG_TEMP_1A (TEMP_FLAGS_START + 0x1A)
#define FLAG_TEMP_1B (TEMP_FLAGS_START + 0x1B)
#define FLAG_TEMP_1C (TEMP_FLAGS_START + 0x1C)
#define FLAG_TEMP_1D (TEMP_FLAGS_START + 0x1D)
#define FLAG_TEMP_1E (TEMP_FLAGS_START + 0x1E)
#define FLAG_TEMP_1F (TEMP_FLAGS_START + 0x1F)
#define TEMP_FLAGS_END FLAG_TEMP_1F
#define NUM_TEMP_FLAGS (TEMP_FLAGS_END - TEMP_FLAGS_START + 1)
//reserved for debug
#define FLAG_UNUSED_0x020 0x20 // Unused Flag
#define FLAG_UNUSED_0x021 0x21 // Unused Flag
#define FLAG_UNUSED_0x022 0x22 // Unused Flag
#define FLAG_UNUSED_0x023 0x23 // Unused Flag
#define FLAG_UNUSED_0x024 0x24 // Unused Flag
#define FLAG_UNUSED_0x025 0x25 // Unused Flag
#define FLAG_UNUSED_0x026 0x26 // Unused Flag
// Scripts
#define FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA_STILL 0x27
#define FLAG_SET_WALL_CLOCK 0x28
#define FLAG_RESCUED_BIRCH 0x29
#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x2A
#define FLAG_HIDE_CONTEST_POKE_BALL 0x2B // Always set after new game, object it hides is added directly
#define FLAG_MET_RIVAL_MOM 0x2C
#define FLAG_BIRCH_AIDE_MET 0x2D
#define FLAG_DECLINED_BIKE 0x2E
#define FLAG_RECEIVED_BIKE 0x2F
#define FLAG_WATTSON_REMATCH_AVAILABLE 0x30
#define FLAG_COLLECTED_ALL_SILVER_SYMBOLS 0x31
#define FLAG_GOOD_LUCK_SAFARI_ZONE 0x32 // Set after talking to NPC blocking Safari Zone entrance/exit once.
#define FLAG_RECEIVED_WAILMER_PAIL 0x33
#define FLAG_RECEIVED_POKEBLOCK_CASE 0x34
#define FLAG_RECEIVED_SECRET_POWER 0x35
#define FLAG_MET_TEAM_AQUA_HARBOR 0x36
#define FLAG_TV_EXPLAINED 0x37
#define FLAG_MAUVILLE_GYM_BARRIERS_STATE 0x38
#define FLAG_OCEANIC_MUSEUM_MET_REPORTER 0x39
#define FLAG_RECEIVED_HM_STRENGTH 0x3A
#define FLAG_RECEIVED_HM_ROCK_SMASH 0x3B
#define FLAG_WHITEOUT_TO_LAVARIDGE 0x3C // Set after defeating Flannery, so the player cant white out from poison before receiving Go Goggles
#define FLAG_RECEIVED_HM_FLASH 0x3D
#define FLAG_RECEIVED_HM_FLY 0x3E
#define FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT 0x3F
#define FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE 0x40
#define FLAG_SCOTT_CALL_BATTLE_FRONTIER 0x41 // Used in order to activate a phone call from Scott, inviting the player to the SS Tidal.
#define FLAG_RECEIVED_METEORITE 0x42
#define FLAG_ADVENTURE_STARTED 0x43 // RECEIVED Pokédex.
#define FLAG_DEFEATED_MAGMA_SPACE_CENTER 0x44 // Set when Team Magma is defeated at Mossdeep's Space Center.
#define FLAG_MET_HIDDEN_POWER_GIVER 0x45
#define FLAG_CANCEL_BATTLE_ROOM_CHALLENGE 0x46
#define FLAG_LANDMARK_MIRAGE_TOWER 0x47
#define FLAG_RECEIVED_TM_BRICK_BREAK 0x48
#define FLAG_RECEIVED_HM_SURF 0x49
#define FLAG_RECEIVED_HM_DIVE 0x4A
#define FLAG_REGISTER_RIVAL_POKENAV 0x4B
#define FLAG_DEFEATED_RIVAL_ROUTE_104 0x4C
#define FLAG_DEFEATED_WALLY_VICTORY_ROAD 0x4D
#define FLAG_MET_PRETTY_PETAL_SHOP_OWNER 0x4E
#define FLAG_ENABLE_ROXANNE_FIRST_CALL 0x4F // Set after defeating Brawly. This will activate a call with Roxanne in order to register her.
#define FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN 0x50
#define FLAG_DEFEATED_RIVAL_ROUTE103 0x51
#define FLAG_RECEIVED_DOLL_LANETTE 0x52
#define FLAG_RECEIVED_POTION_OLDALE 0x53
#define FLAG_RECEIVED_AMULET_COIN 0x54
#define FLAG_PENDING_DAYCARE_EGG 0x55
#define FLAG_THANKED_FOR_PLAYING_WITH_WALLY 0x56
#define FLAG_ENABLE_FIRST_WALLY_POKENAV_CALL 0x57 // Set after defeating Wally outside Mauville Gym. Will activate a call later to register Wally.
#define FLAG_RECEIVED_HM_CUT 0x58
#define FLAG_SCOTT_CALL_FORTREE_GYM 0x59 // Triggers call from Scott after defeating Winona
#define FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY 0x5A
#define FLAG_RECEIVED_6_SODA_POP 0x5B
#define FLAG_DEFEATED_SEASHORE_HOUSE 0x5C
#define FLAG_DEVON_GOODS_STOLEN 0x5D
#define FLAG_RECOVERED_DEVON_GOODS 0x5E
#define FLAG_RETURNED_DEVON_GOODS 0x5F
#define FLAG_CAUGHT_LUGIA 0x60
#define FLAG_CAUGHT_HO_OH 0x61
#define FLAG_MR_BRINEY_SAILING_INTRO 0x62
#define FLAG_DOCK_REJECTED_DEVON_GOODS 0x63
#define FLAG_DELIVERED_DEVON_GOODS 0x64
#define FLAG_RECEIVED_CASTFORM 0x65
#define FLAG_RECEIVED_SUPER_ROD 0x66
#define FLAG_RUSTBORO_NPC_TRADE_COMPLETED 0x67
#define FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED 0x68
#define FLAG_FORTREE_NPC_TRADE_COMPLETED 0x69
#define FLAG_BATTLE_FRONTIER_TRADE_DONE 0x6A
#define FLAG_FORCE_MIRAGE_TOWER_VISIBLE 0x6B
#define FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE 0x6C
#define FLAG_INTERACTED_WITH_DEVON_EMPLOYEE_GOODS_STOLEN 0x6D
#define FLAG_COOL_PAINTING_MADE 0x6E
#define FLAG_BEAUTY_PAINTING_MADE 0x6F
#define FLAG_CUTE_PAINTING_MADE 0x70
#define FLAG_SMART_PAINTING_MADE 0x71
#define FLAG_TOUGH_PAINTING_MADE 0x72
#define FLAG_RECEIVED_TM_ROCK_TOMB 0x73
#define FLAG_RECEIVED_TM_BULK_UP 0x74
#define FLAG_RECEIVED_TM_SHOCK_WAVE 0x75
#define FLAG_RECEIVED_TM_OVERHEAT 0x76
#define FLAG_RECEIVED_TM_FACADE 0x77
#define FLAG_RECEIVED_TM_AERIAL_ACE 0x78
#define FLAG_RECEIVED_TM_CALM_MIND 0x79
#define FLAG_RECEIVED_TM_WATER_PULSE 0x7A
#define FLAG_HIDE_SECRET_BASE_TRAINER 0x7B
#define FLAG_DECORATION_1 0x7C
#define FLAG_DECORATION_2 0x7D
#define FLAG_DECORATION_3 0x7E
#define FLAG_DECORATION_4 0x7F
#define FLAG_DECORATION_5 0x80
#define FLAG_DECORATION_6 0x81
#define FLAG_DECORATION_7 0x82
#define FLAG_DECORATION_8 0x83
#define FLAG_DECORATION_9 0x84
#define FLAG_DECORATION_10 0x85
#define FLAG_DECORATION_11 0x86
#define FLAG_DECORATION_12 0x87
#define FLAG_DECORATION_13 0x88
#define FLAG_DECORATION_14 0x89
#define FLAG_RECEIVED_POKENAV 0x8A
#define FLAG_DELIVERED_STEVEN_LETTER 0x8B
#define FLAG_DEFEATED_WALLY_MAUVILLE 0x8C
#define FLAG_DEFEATED_GRUNT_SPACE_CENTER_1F 0x8D
#define FLAG_RECEIVED_SUN_STONE_MOSSDEEP 0x8E
#define FLAG_WALLY_SPEECH 0x8F
#define FLAG_RUSTURF_TUNNEL_OPENED 0x90
#define FLAG_RECEIVED_RED_SCARF 0x91
#define FLAG_RECEIVED_BLUE_SCARF 0x92
#define FLAG_RECEIVED_PINK_SCARF 0x93
#define FLAG_RECEIVED_GREEN_SCARF 0x94
#define FLAG_RECEIVED_YELLOW_SCARF 0x95
#define FLAG_INTERACTED_WITH_STEVEN_SPACE_CENTER 0x96
#define FLAG_ENCOUNTERED_LATIAS_OR_LATIOS 0x97
#define FLAG_MET_ARCHIE_METEOR_FALLS 0x98
#define FLAG_GOT_BASEMENT_KEY_FROM_WATTSON 0x99
#define FLAG_GOT_TM_THUNDERBOLT_FROM_WATTSON 0x9A
#define FLAG_FAN_CLUB_STRENGTH_SHARED 0x9B // Set when you rate the strength of another trainer in Lilycove's Trainer Fan Club.
#define FLAG_DEFEATED_RIVAL_RUSTBORO 0x9C
#define FLAG_RECEIVED_RED_OR_BLUE_ORB 0x9D
#define FLAG_RECEIVED_PREMIER_BALL_RUSTBORO 0x9E
#define FLAG_ENABLE_WALLY_MATCH_CALL 0x9F
#define FLAG_ENABLE_SCOTT_MATCH_CALL 0xA0
#define FLAG_ENABLE_MOM_MATCH_CALL 0xA1
#define FLAG_MET_DIVING_TREASURE_HUNTER 0xA2
#define FLAG_MET_WAILMER_TRAINER 0xA3
#define FLAG_EVIL_LEADER_PLEASE_STOP 0xA4
#define FLAG_RECEIVED_GO_GOGGLES 0xA5
#define FLAG_WINGULL_SENT_ON_ERRAND 0xA6
#define FLAG_RECEIVED_MENTAL_HERB 0xA7
#define FLAG_WINGULL_DELIVERED_MAIL 0xA8
#define FLAG_RECEIVED_20_COINS 0xA9
#define FLAG_RECEIVED_STARTER_DOLL 0xAA
#define FLAG_RECEIVED_GOOD_ROD 0xAB
#define FLAG_REGI_DOORS_OPENED 0xAC
#define FLAG_RECEIVED_TM_RETURN 0xAD
#define FLAG_RECEIVED_TM_SLUDGE_BOMB 0xAE
#define FLAG_RECEIVED_TM_ROAR 0xAF
#define FLAG_RECEIVED_TM_GIGA_DRAIN 0xB0
#define FLAG_RECEIVED_TM_REST 0xB1
#define FLAG_RECEIVED_TM_ATTRACT 0xB2
#define FLAG_RECEIVED_GLASS_ORNAMENT 0xB3
#define FLAG_RECEIVED_SILVER_SHIELD 0xB4
#define FLAG_RECEIVED_GOLD_SHIELD 0xB5
#define FLAG_USED_STORAGE_KEY 0xB6
#define FLAG_USED_ROOM_1_KEY 0xB7
#define FLAG_USED_ROOM_2_KEY 0xB8
#define FLAG_USED_ROOM_4_KEY 0xB9
#define FLAG_USED_ROOM_6_KEY 0xBA
#define FLAG_MET_PROF_COZMO 0xBB
#define FLAG_RECEIVED_WAILMER_DOLL 0xBC
#define FLAG_RECEIVED_CHESTO_BERRY_ROUTE_104 0xBD
#define FLAG_DEFEATED_SS_TIDAL_TRAINERS 0xBE
#define FLAG_RECEIVED_SPELON_BERRY 0xBF
#define FLAG_RECEIVED_PAMTRE_BERRY 0xC0
#define FLAG_RECEIVED_WATMEL_BERRY 0xC1
#define FLAG_RECEIVED_DURIN_BERRY 0xC2
#define FLAG_RECEIVED_BELUE_BERRY 0xC3
#define FLAG_ENABLE_RIVAL_MATCH_CALL 0xC4
#define FLAG_RECEIVED_CHARCOAL 0xC5
#define FLAG_LATIOS_OR_LATIAS_ROAMING 0xC6
#define FLAG_RECEIVED_REPEAT_BALL 0xC7
#define FLAG_RECEIVED_OLD_ROD 0xC8
#define FLAG_RECEIVED_COIN_CASE 0xC9
#define FLAG_RETURNED_RED_OR_BLUE_ORB 0xCA
#define FLAG_RECEIVED_TM_SNATCH 0xCB
#define FLAG_RECEIVED_TM_DIG 0xCC
#define FLAG_RECEIVED_TM_BULLET_SEED 0xCD
#define FLAG_ENTERED_ELITE_FOUR 0xCE
#define FLAG_RECEIVED_TM_HIDDEN_POWER 0xCF
#define FLAG_RECEIVED_TM_TORMENT 0xD0
#define FLAG_RECEIVED_LAVARIDGE_EGG 0xD1
#define FLAG_RECEIVED_REVIVED_FOSSIL_MON 0xD2
#define FLAG_SECRET_BASE_REGISTRY_ENABLED 0xD3
#define FLAG_RECEIVED_TM_THIEF 0xD4
#define FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE 0xD5
#define FLAG_RECEIVED_EXP_SHARE 0xD6
#define FLAG_POKERUS_EXPLAINED 0xD7
#define FLAG_RECEIVED_RUNNING_SHOES 0xD8
#define FLAG_RECEIVED_QUICK_CLAW 0xD9
#define FLAG_RECEIVED_KINGS_ROCK 0xDA
#define FLAG_RECEIVED_MACHO_BRACE 0xDB
#define FLAG_RECEIVED_SOOTHE_BELL 0xDC
#define FLAG_RECEIVED_WHITE_HERB 0xDD
#define FLAG_RECEIVED_SOFT_SAND 0xDE
#define FLAG_ENABLE_PROF_BIRCH_MATCH_CALL 0xDF
#define FLAG_RECEIVED_CLEANSE_TAG 0xE0
#define FLAG_RECEIVED_FOCUS_BAND 0xE1
#define FLAG_DECLINED_WALLY_BATTLE_MAUVILLE 0xE2
#define FLAG_RECEIVED_DEVON_SCOPE 0xE3
#define FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE 0xE4
#define FLAG_MET_DEVON_EMPLOYEE 0xE5
#define FLAG_MET_RIVAL_RUSTBORO 0xE6
#define FLAG_RECEIVED_SILK_SCARF 0xE7
#define FLAG_NOT_READY_FOR_BATTLE_ROUTE_120 0xE8
#define FLAG_RECEIVED_SS_TICKET 0xE9
#define FLAG_MET_RIVAL_LILYCOVE 0xEA
#define FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE 0xEB
#define FLAG_EXCHANGED_SCANNER 0xEC
#define FLAG_KECLEON_FLED_FORTREE 0xED
#define FLAG_PETALBURG_MART_EXPANDED_ITEMS 0xEE
#define FLAG_RECEIVED_MIRACLE_SEED 0xEF
#define FLAG_RECEIVED_BELDUM 0xF0
#define FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK 0xF1
#define FLAG_MET_FANCLUB_YOUNGER_BROTHER 0xF2
#define FLAG_RIVAL_LEFT_FOR_ROUTE103 0xF3
#define FLAG_OMIT_DIVE_FROM_STEVEN_LETTER 0xF4
#define FLAG_HAS_MATCH_CALL 0xF5
#define FLAG_ADDED_MATCH_CALL_TO_POKENAV 0xF6
#define FLAG_REGISTERED_STEVEN_POKENAV 0xF7
#define FLAG_ENABLE_NORMAN_MATCH_CALL 0xF8
#define FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN 0xF9 // Set after you follow Steven to the entrance of the Cave of Origin.
#define FLAG_MET_ARCHIE_SOOTOPOLIS 0xFA
#define FLAG_MET_MAXIE_SOOTOPOLIS 0xFB
#define FLAG_MET_SCOTT_RUSTBORO 0xFC
#define FLAG_WALLACE_GOES_TO_SKY_PILLAR 0xFD // Set after speaking to Wallace within the Cave of Origin.
#define FLAG_RECEIVED_HM_WATERFALL 0xFE
#define FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS 0xFF
#define FLAG_RECEIVED_AURORA_TICKET 0x100
#define FLAG_RECEIVED_MYSTIC_TICKET 0x101
#define FLAG_RECEIVED_OLD_SEA_MAP 0x102
#define NUM_WONDER_CARD_FLAGS (1 + FLAG_RECEIVED_OLD_SEA_MAP - FLAG_RECEIVED_AURORA_TICKET)
#define FLAG_MIRAGE_TOWER_VISIBLE 0x103
#define FLAG_CHOSE_ROOT_FOSSIL 0x104
#define FLAG_CHOSE_CLAW_FOSSIL 0x105
#define FLAG_RECEIVED_POWDER_JAR 0x106
#define FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER 0x107
#define FLAG_MET_BATTLE_FRONTIER_BREEDER 0x108
#define FLAG_MET_BATTLE_FRONTIER_MANIAC 0x109
#define FLAG_ENTERED_CONTEST 0x10A
#define FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN 0x10B
#define FLAG_MET_BATTLE_FRONTIER_GAMBLER 0x10C
#define FLAG_ENABLE_MR_STONE_POKENAV 0x10D
#define FLAG_NURSE_MENTIONS_GOLD_CARD 0x10E
#define FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR 0x10F
#define FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR 0x110
#define FLAG_DEFEATED_DEOXYS 0x111
#define FLAG_BATTLED_DEOXYS 0x112
#define FLAG_SHOWN_EON_TICKET 0x113
#define FLAG_SHOWN_AURORA_TICKET 0x114
#define FLAG_SHOWN_OLD_SEA_MAP 0x115
#define FLAG_MOVE_TUTOR_TAUGHT_SWAGGER 0x116
#define FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT 0x117
#define FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER 0x118
#define FLAG_MOVE_TUTOR_TAUGHT_MIMIC 0x119
#define FLAG_MOVE_TUTOR_TAUGHT_METRONOME 0x11A
#define FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK 0x11B
#define FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE 0x11C
#define FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH 0x11D
#define FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE 0x11E
#define FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION 0x11F
#define FLAG_DEFEATED_REGIROCK 0x120
#define FLAG_DEFEATED_REGICE 0x121
#define FLAG_DEFEATED_REGISTEEL 0x122
#define FLAG_DEFEATED_KYOGRE 0x123
#define FLAG_DEFEATED_GROUDON 0x124
#define FLAG_DEFEATED_RAYQUAZA 0x125
#define FLAG_DEFEATED_VOLTORB_1_NEW_MAUVILLE 0x126
#define FLAG_DEFEATED_VOLTORB_2_NEW_MAUVILLE 0x127
#define FLAG_DEFEATED_VOLTORB_3_NEW_MAUVILLE 0x128
#define FLAG_DEFEATED_ELECTRODE_1_AQUA_HIDEOUT 0x129
#define FLAG_DEFEATED_ELECTRODE_2_AQUA_HIDEOUT 0x12A
#define FLAG_DEFEATED_SUDOWOODO 0x12B
#define FLAG_DEFEATED_MEW 0x12C
#define FLAG_DEFEATED_LATIAS_OR_LATIOS 0x12D
#define FLAG_CAUGHT_LATIAS_OR_LATIOS 0x12E
#define FLAG_CAUGHT_MEW 0x12F
#define FLAG_MET_SCOTT_AFTER_OBTAINING_STONE_BADGE 0x130
#define FLAG_MET_SCOTT_IN_VERDANTURF 0x131
#define FLAG_MET_SCOTT_IN_FALLARBOR 0x132
#define FLAG_MET_SCOTT_IN_LILYCOVE 0x133
#define FLAG_MET_SCOTT_IN_EVERGRANDE 0x134
#define FLAG_MET_SCOTT_ON_SS_TIDAL 0x135
#define FLAG_SCOTT_GIVES_BATTLE_POINTS 0x136
#define FLAG_COLLECTED_ALL_GOLD_SYMBOLS 0x137
#define FLAG_ENABLE_ROXANNE_MATCH_CALL 0x138
#define FLAG_ENABLE_BRAWLY_MATCH_CALL 0x139
#define FLAG_ENABLE_WATTSON_MATCH_CALL 0x13A
#define FLAG_ENABLE_FLANNERY_MATCH_CALL 0x13B
#define FLAG_ENABLE_WINONA_MATCH_CALL 0x13C
#define FLAG_ENABLE_TATE_AND_LIZA_MATCH_CALL 0x13D
#define FLAG_ENABLE_JUAN_MATCH_CALL 0x13E
#define FLAG_SHOWN_MYSTIC_TICKET 0x13F
#define FLAG_DEFEATED_HO_OH 0x140
#define FLAG_DEFEATED_LUGIA 0x141
// Event Flags
#define FLAG_HIDE_ROUTE_101_BIRCH_STARTERS_BAG 0x142
#define FLAG_HIDE_APPRENTICE 0x143
#define FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN 0x144
#define FLAG_HIDE_UNION_ROOM_PLAYER_1 0x145
#define FLAG_HIDE_UNION_ROOM_PLAYER_2 0x146
#define FLAG_HIDE_UNION_ROOM_PLAYER_3 0x147
#define FLAG_HIDE_UNION_ROOM_PLAYER_4 0x148
#define FLAG_HIDE_UNION_ROOM_PLAYER_5 0x149
#define FLAG_HIDE_UNION_ROOM_PLAYER_6 0x14A
#define FLAG_HIDE_UNION_ROOM_PLAYER_7 0x14B
#define FLAG_HIDE_UNION_ROOM_PLAYER_8 0x14C
#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1 0x14D
#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2 0x14E
#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3 0x14F
#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4 0x150
#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5 0x151
#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6 0x152
#define FLAG_HIDE_SAFARI_ZONE_SOUTH_CONSTRUCTION_WORKERS 0x153
#define FLAG_HIDE_MEW 0x154
#define FLAG_HIDE_ROUTE_104_RIVAL 0x155
#define FLAG_HIDE_ROUTE_101_BIRCH_ZIGZAGOON_BATTLE 0x156
#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH 0x157
#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM 0x158
#define FLAG_HIDE_ROUTE_103_RIVAL 0x159
#define FLAG_HIDE_PETALBURG_WOODS_DEVON_EMPLOYEE 0x15A
#define FLAG_HIDE_PETALBURG_WOODS_AQUA_GRUNT 0x15B
#define FLAG_HIDE_PETALBURG_CITY_WALLY 0x15C
#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY 0x15D
#define FLAG_HIDE_PETALBURG_CITY_WALLYS_MOM 0x15E
#define FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER 0x15F
#define FLAG_HIDE_RUSTBORO_CITY_AQUA_GRUNT 0x160
#define FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1 0x161
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_ASLEEP 0x162
#define FLAG_HIDE_PLAYERS_HOUSE_DAD 0x163
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING 0x164
#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING 0x165
#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_MAGMA_NOTE 0x166
#define FLAG_HIDE_ROUTE_104_MR_BRINEY 0x167
#define FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY 0x168
#define FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN 0x169
#define FLAG_HIDE_ROUTE_109_MR_BRINEY 0x16A
#define FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT 0x16B
#define FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN 0x16C
#define FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT 0x16D
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN 0x16E
#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MAY 0x16F
#define FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION 0x170
#define FLAG_HIDE_LILYCOVE_HARBOR_EVENT_TICKET_TAKER 0x171
#define FLAG_HIDE_SLATEPORT_CITY_SCOTT 0x172
#define FLAG_HIDE_ROUTE_101_ZIGZAGOON 0x173
#define FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY 0x174
#define FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE 0x175
#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_STEVEN 0x176
#define FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_1 0x177
#define FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2 0x178
#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA 0x179
#define FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_BEDROOM_MOM 0x17A
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_MOM 0x17B
#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MOM 0x17C
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM 0x17D
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_TRUCK 0x17E
#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_TRUCK 0x17F
#define FLAG_HIDE_DEOXYS 0x180
#define FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE 0x181
#define FLAG_HIDE_MAUVILLE_CITY_SCOTT 0x182
#define FLAG_HIDE_VERDANTURF_TOWN_SCOTT 0x183
#define FLAG_HIDE_FALLARBOR_TOWN_BATTLE_TENT_SCOTT 0x184
#define FLAG_HIDE_ROUTE_111_VICTOR_WINSTRATE 0x185
#define FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE 0x186
#define FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE 0x187
#define FLAG_HIDE_ROUTE_111_VICKY_WINSTRATE 0x188
#define FLAG_HIDE_PETALBURG_GYM_NORMAN 0x189
#define FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA 0x18A
#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_1 0x18B
#define FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR 0x18C
#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1 0x18D
#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_2 0x18E
#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_3 0x18F
#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_4 0x190
#define FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS 0x191
#define FLAG_HIDE_PETALBURG_GYM_GREETER 0x192
#define FLAG_HIDE_MARINE_CAVE_KYOGRE 0x193
#define FLAG_HIDE_TERRA_CAVE_GROUDON 0x194
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_MOM 0x195
#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_MOM 0x196
#define FLAG_HIDE_ROUTE_119_SCOTT 0x197
#define FLAG_HIDE_LILYCOVE_MOTEL_SCOTT 0x198
#define FLAG_HIDE_MOSSDEEP_CITY_SCOTT 0x199
#define FLAG_HIDE_FANCLUB_OLD_LADY 0x19A
#define FLAG_HIDE_FANCLUB_BOY 0x19B
#define FLAG_HIDE_FANCLUB_LITTLE_BOY 0x19C
#define FLAG_HIDE_FANCLUB_LADY 0x19D
#define FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT 0x19E
#define FLAG_HIDE_LITTLEROOT_TOWN_RIVAL 0x19F
#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCH 0x1A0
#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1 0x1A1
#define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1 0x1A2
#define FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1 0x1A3
#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2 0x1A4
#define FLAG_HIDE_LUGIA 0x1A5
#define FLAG_HIDE_HO_OH 0x1A6
#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER 0x1A7
#define FLAG_HIDE_SLATEPORT_CITY_CONTEST_REPORTER 0x1A8
#define FLAG_HIDE_MAUVILLE_CITY_WALLY 0x1A9
#define FLAG_HIDE_MAUVILLE_CITY_WALLYS_UNCLE 0x1AA
#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY 0x1AB
#define FLAG_HIDE_RUSTURF_TUNNEL_WANDAS_BOYFRIEND 0x1AC
#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDAS_BOYFRIEND 0x1AD
#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE 0x1AE
#define FLAG_HIDE_SS_TIDAL_CORRIDOR_SCOTT 0x1AF
#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL 0x1B0
#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE 0x1B1
#define FLAG_HIDE_ROUTE_116_DROPPED_GLASSES_MAN 0x1B2
#define FLAG_HIDE_RUSTBORO_CITY_RIVAL 0x1B3
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL 0x1B4
#define FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE 0x1B5
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL 0x1B6
#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL 0x1B7
#define FLAG_HIDE_ROUTE_112_TEAM_MAGMA 0x1B8
#define FLAG_HIDE_CAVE_OF_ORIGIN_B1F_WALLACE 0x1B9
#define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE 0x1BA
#define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE 0x1BB
#define FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA 0x1BC
#define FLAG_HIDE_PETALBURG_GYM_WALLYS_DAD 0x1BD
#define FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE 0x1BE
#define FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE 0x1BF
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE 0x1C0
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE 0x1C1
#define FLAG_HIDE_PETALBURG_CITY_WALLYS_DAD 0x1C2
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS 0x1C3
#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER 0x1C4
#define FLAG_HIDE_GRANITE_CAVE_STEVEN 0x1C5
#define FLAG_HIDE_ROUTE_128_STEVEN 0x1C6
#define FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY 0x1C7
#define FLAG_HIDE_BATTLE_FRONTIER_RECEPTION_GATE_SCOTT 0x1C8
#define FLAG_HIDE_ROUTE_110_BIRCH 0x1C9
#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CHIKORITA 0x1CA
#define FLAG_HIDE_SOOTOPOLIS_CITY_MAN_1 0x1CB
#define FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN 0x1CC
#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN 0x1CD
#define FLAG_HIDE_BATTLE_FRONTIER_SUDOWOODO 0x1CE
#define FLAG_HIDE_ROUTE_111_ROCK_SMASH_TIP_GUY 0x1CF
#define FLAG_HIDE_RUSTBORO_CITY_SCIENTIST 0x1D0
#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_AQUA_GRUNT 0x1D1
#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_ARCHIE 0x1D2
#define FLAG_HIDE_JAGGED_PASS_MAGMA_GUARD 0x1D3
#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_SUBMARINE_SHADOW 0x1D4
#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL 0x1D5
#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_ASLEEP 0x1D6
#define FLAG_HIDE_ROUTE_119_RIVAL 0x1D7
#define FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS 0x1D8
#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON 0x1D9
#define FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS 0x1DA
#define FLAG_HIDE_SKY_PILLAR_WALLACE 0x1DB
#define FLAG_HIDE_MT_PYRE_SUMMIT_MAXIE 0x1DC
#define FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS 0x1DD
#define FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY 0x1DE
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE 0x1DF
#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL 0x1E0
#define FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL 0x1E1
#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA 0x1E2
#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN 0x1E3
#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1 0x1E4
#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2 0x1E5
#define FLAG_HIDE_PETALBURG_GYM_WALLY 0x1E6
#define FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN 0x1E7
#define FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY 0x1E8
#define FLAG_HIDE_LANETTES_HOUSE_LANETTE 0x1E9
#define FLAG_HIDE_FALLARBOR_POKEMON_CENTER_LANETTE 0x1EA
#define FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN 0x1EB
#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_REPLACEMENT 0x1EC
#define FLAG_HIDE_DESERT_UNDERPASS_FOSSIL 0x1ED
#define FLAG_HIDE_ROUTE_111_PLAYER_DESCENT 0x1EE
#define FLAG_HIDE_ROUTE_111_DESERT_FOSSIL 0x1EF
#define FLAG_HIDE_MT_CHIMNEY_TRAINERS 0x1F0
#define FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT 0x1F1
#define FLAG_HIDE_RUSTURF_TUNNEL_BRINEY 0x1F2
#define FLAG_HIDE_RUSTURF_TUNNEL_PEEKO 0x1F3
#define FLAG_HIDE_BRINEYS_HOUSE_PEEKO 0x1F4
#define FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA 0x1F5
#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS 0x1F6
#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_1 0x1F7
#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_2 0x1F8
#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_ARCHIE 0x1F9
#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_CAPTAIN_STERN 0x1FA
#define FLAG_HIDE_BATTLE_TOWER_OPPONENT 0x1FB
#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL 0x1FC
#define FLAG_HIDE_ROUTE_119_TEAM_AQUA 0x1FD
#define FLAG_HIDE_ROUTE_116_MR_BRINEY 0x1FE
#define FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS 0x1FF
#define FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS 0x200
#define FLAG_HIDE_ROUTE_116_WANDAS_BOYFRIEND 0x201
#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_2 0x202
#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 0x203
#define FLAG_HIDE_ROUTE_101_BIRCH 0x204
#define FLAG_HIDE_ROUTE_103_BIRCH 0x205
#define FLAG_HIDE_TRICK_HOUSE_END_MAN 0x206
#define FLAG_HIDE_ROUTE_110_TEAM_AQUA 0x207
#define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2 0x208
#define FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2 0x209
#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3 0x20A
#define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3 0x20B
#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS 0x20C
#define FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST 0x20D
#define FLAG_HIDE_FALLARBOR_AZURILL 0x20E
#define FLAG_HIDE_LILYCOVE_HARBOR_FERRY_ATTENDANT 0x20F
#define FLAG_HIDE_LILYCOVE_HARBOR_FERRY_SAILOR 0x210
#define FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE 0x211
#define FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON 0x212
#define FLAG_HIDE_MAUVILLE_CITY_WATTSON 0x213
#define FLAG_HIDE_MAUVILLE_GYM_WATTSON 0x214
#define FLAG_HIDE_ROUTE_121_TEAM_AQUA_GRUNTS 0x215
#define FLAG_HIDE_MT_PYRE_SUMMIT_ARCHIE 0x216
#define FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA 0x217
#define FLAG_HIDE_BATTLE_TOWER_REPORTER 0x218
#define FLAG_HIDE_ROUTE_110_RIVAL 0x219
#define FLAG_HIDE_CHAMPIONS_ROOM_RIVAL 0x21A
#define FLAG_HIDE_CHAMPIONS_ROOM_BIRCH 0x21B
#define FLAG_HIDE_ROUTE_110_RIVAL_ON_BIKE 0x21C
#define FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE 0x21D
#define FLAG_HIDE_AQUA_HIDEOUT_GRUNTS 0x21E
#define FLAG_HIDE_LILYCOVE_MOTEL_GAME_DESIGNERS 0x21F
#define FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA 0x220
#define FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA 0x221
#define FLAG_HIDE_FALLARBOR_HOUSE_PROF_COZMO 0x222
#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL 0x223
#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_ON_BIKE 0x224
#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1 0x225
#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2 0x226
#define FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL 0x227
#define FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL 0x228
#define FLAG_HIDE_REGIROCK 0x229
#define FLAG_HIDE_REGICE 0x22A
#define FLAG_HIDE_REGISTEEL 0x22B
#define FLAG_HIDE_METEOR_FALLS_TEAM_AQUA 0x22C
#define FLAG_HIDE_METEOR_FALLS_TEAM_MAGMA 0x22D
#define FLAG_HIDE_DEWFORD_HALL_SLUDGE_BOMB_MAN 0x22E
#define FLAG_HIDE_SEAFLOOR_CAVERN_ENTRANCE_AQUA_GRUNT 0x22F
#define FLAG_HIDE_METEOR_FALLS_1F_1R_COZMO 0x230
#define FLAG_HIDE_AQUA_HIDEOUT_B2F_SUBMARINE_SHADOW 0x231
#define FLAG_HIDE_ROUTE_128_ARCHIE 0x232
#define FLAG_HIDE_ROUTE_128_MAXIE 0x233
#define FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS 0x234
#define FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE 0x235
#define FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN 0x236
#define FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE 0x237
#define FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY 0x238
#define FLAG_HIDE_SS_TIDAL_ROOMS_SNATCH_GIVER 0x239
#define FLAG_RECEIVED_SHOAL_SALT_1 0x23A
#define FLAG_RECEIVED_SHOAL_SALT_2 0x23B
#define FLAG_RECEIVED_SHOAL_SALT_3 0x23C
#define FLAG_RECEIVED_SHOAL_SALT_4 0x23D
#define FLAG_RECEIVED_SHOAL_SHELL_1 0x23E
#define FLAG_RECEIVED_SHOAL_SHELL_2 0x23F
#define FLAG_RECEIVED_SHOAL_SHELL_3 0x240
#define FLAG_RECEIVED_SHOAL_SHELL_4 0x241
#define FLAG_HIDE_ROUTE_111_SECRET_POWER_MAN 0x242
#define FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION 0x243
#define FLAG_HIDE_LILYCOVE_DEPARTMENT_STORE_ROOFTOP_SALE_WOMAN 0x244
#define FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL 0x245
#define FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL 0x246
#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_FAMILIAR_AQUA_GRUNT 0x247
#define FLAG_HIDE_ROUTE_118_STEVEN 0x248
#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN 0x249
#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL 0x24A
#define FLAG_HIDE_FORTREE_CITY_KECLEON 0x24B
#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE 0x24C
#define FLAG_HIDE_LILYCOVE_CITY_RIVAL 0x24D
#define FLAG_HIDE_ROUTE_120_STEVEN 0x24E
#define FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN 0x24F
#define FLAG_HIDE_NEW_MAUVILLE_VOLTORB_1 0x250
#define FLAG_HIDE_NEW_MAUVILLE_VOLTORB_2 0x251
#define FLAG_HIDE_NEW_MAUVILLE_VOLTORB_3 0x252
#define FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_1 0x253
#define FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_2 0x254
#define FLAG_HIDE_OLDALE_TOWN_RIVAL 0x255
#define FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE 0x256
#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_SHADOW 0x257
#define FLAG_HIDE_ROUTE_120_KECLEON_1 0x258
#define FLAG_HIDE_RUSTURF_TUNNEL_WANDA 0x259
#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDA 0x25A
#define FLAG_HIDE_ROUTE_120_KECLEON_2 0x25B
#define FLAG_HIDE_ROUTE_120_KECLEON_3 0x25C
#define FLAG_HIDE_ROUTE_120_KECLEON_4 0x25D
#define FLAG_HIDE_ROUTE_120_KECLEON_5 0x25E
#define FLAG_HIDE_ROUTE_119_KECLEON_1 0x25F
#define FLAG_HIDE_ROUTE_119_KECLEON_2 0x260
#define FLAG_HIDE_ROUTE_101_BOY 0x261
#define FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M 0x262
#define FLAG_HIDE_LILYCOVE_POKEMON_CENTER_CONTEST_LADY_MON 0x263
#define FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY 0x264
#define FLAG_HIDE_PETALBURG_CITY_SCOTT 0x265
#define FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA 0x266
#define FLAG_HIDE_SOOTOPOLIS_CITY_KYOGRE 0x267
#define FLAG_HIDE_SOOTOPOLIS_CITY_GROUDON 0x268
#define FLAG_HIDE_RUSTBORO_CITY_POKEMON_SCHOOL_SCOTT 0x269
// Item Ball Flags
#define FLAG_ITEM_ROUTE_102_POTION 0x26A
#define FLAG_ITEM_ROUTE_116_X_SPECIAL 0x26B
#define FLAG_ITEM_ROUTE_104_PP_UP 0x26C
#define FLAG_ITEM_ROUTE_105_IRON 0x26D
#define FLAG_ITEM_ROUTE_106_PROTEIN 0x26E
#define FLAG_ITEM_ROUTE_109_PP_UP 0x26F
#define FLAG_ITEM_ROUTE_110_RARE_CANDY 0x270
#define FLAG_ITEM_ROUTE_110_DIRE_HIT 0x271
#define FLAG_ITEM_ROUTE_111_TM_SANDSTORM 0x272
#define FLAG_ITEM_ROUTE_111_STARDUST 0x273
#define FLAG_ITEM_ROUTE_111_HP_UP 0x274
#define FLAG_ITEM_ROUTE_112_NUGGET 0x275
#define FLAG_ITEM_ROUTE_113_MAX_ETHER 0x276
#define FLAG_ITEM_ROUTE_113_SUPER_REPEL 0x277
#define FLAG_ITEM_ROUTE_114_RARE_CANDY 0x278
#define FLAG_ITEM_ROUTE_114_PROTEIN 0x279
#define FLAG_ITEM_ROUTE_115_SUPER_POTION 0x27A
#define FLAG_ITEM_ROUTE_115_TM_FOCUS_PUNCH 0x27B
#define FLAG_ITEM_ROUTE_115_IRON 0x27C
#define FLAG_ITEM_ROUTE_116_ETHER 0x27D
#define FLAG_ITEM_ROUTE_116_REPEL 0x27E
#define FLAG_ITEM_ROUTE_116_HP_UP 0x27F
#define FLAG_ITEM_ROUTE_117_GREAT_BALL 0x280
#define FLAG_ITEM_ROUTE_117_REVIVE 0x281
#define FLAG_ITEM_ROUTE_119_SUPER_REPEL 0x282
#define FLAG_ITEM_ROUTE_119_ZINC 0x283
#define FLAG_ITEM_ROUTE_119_ELIXIR_1 0x284
#define FLAG_ITEM_ROUTE_119_LEAF_STONE 0x285
#define FLAG_ITEM_ROUTE_119_RARE_CANDY 0x286
#define FLAG_ITEM_ROUTE_119_HYPER_POTION_1 0x287
#define FLAG_ITEM_ROUTE_120_NUGGET 0x288
#define FLAG_ITEM_ROUTE_120_FULL_HEAL 0x289
#define FLAG_ITEM_ROUTE_123_CALCIUM 0x28A
#define FLAG_ITEM_ROUTE_127_ZINC 0x28B
#define FLAG_ITEM_ROUTE_127_CARBOS 0x28C
#define FLAG_ITEM_ROUTE_132_RARE_CANDY 0x28D
#define FLAG_ITEM_ROUTE_133_BIG_PEARL 0x28E
#define FLAG_ITEM_ROUTE_133_STAR_PIECE 0x28F
#define FLAG_ITEM_PETALBURG_CITY_MAX_REVIVE 0x290
#define FLAG_ITEM_PETALBURG_CITY_ETHER 0x291
#define FLAG_ITEM_RUSTBORO_CITY_X_DEFEND 0x292
#define FLAG_ITEM_LILYCOVE_CITY_MAX_REPEL 0x293
#define FLAG_ITEM_MOSSDEEP_CITY_NET_BALL 0x294
#define FLAG_ITEM_METEOR_FALLS_1F_1R_TM_IRON_TAIL 0x295
#define FLAG_ITEM_METEOR_FALLS_1F_1R_FULL_HEAL 0x296
#define FLAG_ITEM_METEOR_FALLS_1F_1R_MOON_STONE 0x297
#define FLAG_ITEM_METEOR_FALLS_1F_1R_PP_UP 0x298
#define FLAG_ITEM_RUSTURF_TUNNEL_POKE_BALL 0x299
#define FLAG_ITEM_RUSTURF_TUNNEL_MAX_ETHER 0x29A
#define FLAG_ITEM_GRANITE_CAVE_1F_ESCAPE_ROPE 0x29B
#define FLAG_ITEM_GRANITE_CAVE_B1F_POKE_BALL 0x29C
#define FLAG_ITEM_MT_PYRE_5F_LAX_INCENSE 0x29D
#define FLAG_ITEM_GRANITE_CAVE_B2F_REPEL 0x29E
#define FLAG_ITEM_GRANITE_CAVE_B2F_RARE_CANDY 0x29F
#define FLAG_ITEM_PETALBURG_WOODS_X_ATTACK 0x2A0
#define FLAG_ITEM_PETALBURG_WOODS_GREAT_BALL 0x2A1
#define FLAG_ITEM_ROUTE_104_POKE_BALL 0x2A2
#define FLAG_ITEM_PETALBURG_WOODS_ETHER 0x2A3
#define FLAG_ITEM_MAGMA_HIDEOUT_3F_3R_ECAPE_ROPE 0x2A4
#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_1_ORANGE_MAIL 0x2A5
#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_HARBOR_MAIL 0x2A6
#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_WAVE_MAIL 0x2A7
#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_SHADOW_MAIL 0x2A8
#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_WOOD_MAIL 0x2A9
#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_4_MECH_MAIL 0x2AA
#define FLAG_ITEM_ROUTE_124_YELLOW_SHARD 0x2AB
#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_6_GLITTER_MAIL 0x2AC
#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_7_TROPIC_MAIL 0x2AD
#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_8_BEAD_MAIL 0x2AE
#define FLAG_ITEM_JAGGED_PASS_BURN_HEAL 0x2AF
#define FLAG_ITEM_AQUA_HIDEOUT_B1F_MAX_ELIXIR 0x2B0
#define FLAG_ITEM_AQUA_HIDEOUT_B2F_NEST_BALL 0x2B1
#define FLAG_ITEM_MT_PYRE_EXTERIOR_MAX_POTION 0x2B2
#define FLAG_ITEM_MT_PYRE_EXTERIOR_TM_SKILL_SWAP 0x2B3
#define FLAG_ITEM_NEW_MAUVILLE_ULTRA_BALL 0x2B4
#define FLAG_ITEM_NEW_MAUVILLE_ESCAPE_ROPE 0x2B5
#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_6_LUXURY_BALL 0x2B6
#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_2_SCANNER 0x2B7
#define FLAG_ITEM_SCORCHED_SLAB_TM_SUNNY_DAY 0x2B8
#define FLAG_ITEM_METEOR_FALLS_B1F_2R_TM_DRAGON_CLAW 0x2B9
#define FLAG_ITEM_SHOAL_CAVE_ENTRANCE_BIG_PEARL 0x2BA
#define FLAG_ITEM_SHOAL_CAVE_INNER_ROOM_RARE_CANDY 0x2BB
#define FLAG_ITEM_SHOAL_CAVE_STAIRS_ROOM_ICE_HEAL 0x2BC
#define FLAG_ITEM_VICTORY_ROAD_1F_MAX_ELIXIR 0x2BD
#define FLAG_ITEM_VICTORY_ROAD_1F_PP_UP 0x2BE
#define FLAG_ITEM_VICTORY_ROAD_B1F_TM_PSYCHIC 0x2BF
#define FLAG_ITEM_VICTORY_ROAD_B1F_FULL_RESTORE 0x2C0
#define FLAG_ITEM_VICTORY_ROAD_B2F_FULL_HEAL 0x2C1
#define FLAG_ITEM_MT_PYRE_6F_TM_SHADOW_BALL 0x2C2
#define FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM_EARTHQUAKE 0x2C3
#define FLAG_ITEM_FIERY_PATH_TM_TOXIC 0x2C4
#define FLAG_ITEM_ROUTE_124_RED_SHARD 0x2C5
#define FLAG_ITEM_ROUTE_124_BLUE_SHARD 0x2C6
#define FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM_SOLAR_BEAM 0x2C7
#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_1F_HARBOR_MAIL 0x2C8
#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_ESCAPE_ROPE 0x2C9
#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_B1F_DIVE_BALL 0x2CA
#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM_ICE_BEAM 0x2CB
#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_1F_REVIVE 0x2CC
#define FLAG_ITEM_ABANDONED_SHIP_CAPTAINS_OFFICE_STORAGE_KEY 0x2CD
#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_3_WATER_STONE 0x2CE
#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM_RAIN_DANCE 0x2CF
#define FLAG_ITEM_ROUTE_121_CARBOS 0x2D0
#define FLAG_ITEM_ROUTE_123_ULTRA_BALL 0x2D1
#define FLAG_ITEM_ROUTE_126_GREEN_SHARD 0x2D2
#define FLAG_ITEM_ROUTE_119_HYPER_POTION_2 0x2D3
#define FLAG_ITEM_ROUTE_120_HYPER_POTION 0x2D4
#define FLAG_ITEM_ROUTE_120_NEST_BALL 0x2D5
#define FLAG_ITEM_ROUTE_123_ELIXIR 0x2D6
#define FLAG_ITEM_NEW_MAUVILLE_THUNDER_STONE 0x2D7
#define FLAG_ITEM_FIERY_PATH_FIRE_STONE 0x2D8
#define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM_HAIL 0x2D9
#define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_NEVER_MELT_ICE 0x2DA
#define FLAG_ITEM_ROUTE_103_GUARD_SPEC 0x2DB
#define FLAG_ITEM_ROUTE_104_X_ACCURACY 0x2DC
#define FLAG_ITEM_MAUVILLE_CITY_X_SPEED 0x2DD
#define FLAG_ITEM_PETALBURG_WOODS_PARALYZE_HEAL 0x2DE
#define FLAG_ITEM_ROUTE_115_GREAT_BALL 0x2DF
#define FLAG_ITEM_SAFARI_ZONE_NORTH_CALCIUM 0x2E0
#define FLAG_ITEM_MT_PYRE_3F_SUPER_REPEL 0x2E1
#define FLAG_ITEM_ROUTE_118_HYPER_POTION 0x2E2
#define FLAG_ITEM_NEW_MAUVILLE_FULL_HEAL 0x2E3
#define FLAG_ITEM_NEW_MAUVILLE_PARALYZE_HEAL 0x2E4
#define FLAG_ITEM_AQUA_HIDEOUT_B1F_MASTER_BALL 0x2E5
#define FLAG_ITEM_MT_PYRE_2F_ULTRA_BALL 0x2E6
#define FLAG_ITEM_MT_PYRE_4F_SEA_INCENSE 0x2E7
#define FLAG_ITEM_SAFARI_ZONE_SOUTH_WEST_MAX_REVIVE 0x2E8
#define FLAG_ITEM_AQUA_HIDEOUT_B1F_NUGGET 0x2E9
#define FLAG_ITEM_ROUTE_119_NUGGET 0x2EA
#define FLAG_ITEM_ROUTE_104_POTION 0x2EB
#define FLAG_ITEM_ROUTE_103_PP_UP 0x2EC
#define FLAG_ITEM_ROUTE_108_STAR_PIECE 0x2ED
#define FLAG_ITEM_ROUTE_109_POTION 0x2EE
#define FLAG_ITEM_ROUTE_110_ELIXIR 0x2EF
#define FLAG_ITEM_ROUTE_111_ELIXIR 0x2F0
#define FLAG_ITEM_ROUTE_113_HYPER_POTION 0x2F1
#define FLAG_ITEM_ROUTE_115_HEAL_POWDER 0x2F2
#define FLAG_ITEM_ROUTE_116_POTION 0x2F3
#define FLAG_ITEM_ROUTE_119_ELIXIR_2 0x2F4
#define FLAG_ITEM_ROUTE_120_REVIVE 0x2F5
#define FLAG_ITEM_ROUTE_121_REVIVE 0x2F6
#define FLAG_ITEM_ROUTE_121_ZINC 0x2F7
#define FLAG_ITEM_MAGMA_HIDEOUT_1F_RARE_CANDY 0x2F8
#define FLAG_ITEM_ROUTE_123_PP_UP 0x2F9
#define FLAG_ITEM_ROUTE_123_REVIVAL_HERB 0x2FA
#define FLAG_ITEM_ROUTE_125_BIG_PEARL 0x2FB
#define FLAG_ITEM_ROUTE_127_RARE_CANDY 0x2FC
#define FLAG_ITEM_ROUTE_132_PROTEIN 0x2FD
#define FLAG_ITEM_ROUTE_133_MAX_REVIVE 0x2FE
#define FLAG_ITEM_ROUTE_134_CARBOS 0x2FF
#define FLAG_ITEM_ROUTE_134_STAR_PIECE 0x300
#define FLAG_ITEM_ROUTE_114_ENERGY_POWDER 0x301
#define FLAG_ITEM_ROUTE_115_PP_UP 0x302
#define FLAG_ITEM_ARTISAN_CAVE_B1F_HP_UP 0x303
#define FLAG_ITEM_ARTISAN_CAVE_1F_CARBOS 0x304
#define FLAG_ITEM_MAGMA_HIDEOUT_2F_2R_MAX_ELIXIR 0x305
#define FLAG_ITEM_MAGMA_HIDEOUT_2F_2R_FULL_RESTORE 0x306
#define FLAG_ITEM_MAGMA_HIDEOUT_3F_1R_NUGGET 0x307
#define FLAG_ITEM_MAGMA_HIDEOUT_3F_2R_PP_MAX 0x308
#define FLAG_ITEM_MAGMA_HIDEOUT_4F_MAX_REVIVE 0x309
#define FLAG_ITEM_SAFARI_ZONE_NORTH_EAST_NUGGET 0x30A
#define FLAG_ITEM_SAFARI_ZONE_SOUTH_EAST_BIG_PEARL 0x30B
// Hidden Items
#define FLAG_HIDDEN_ITEMS_START 0x30C
#define FLAG_HIDDEN_ITEM_LAVARIDGE_TOWN_ICE_HEAL (FLAG_HIDDEN_ITEMS_START + 0x00) //0x30C
#define FLAG_HIDDEN_ITEM_TRICK_HOUSE_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x01)
#define FLAG_HIDDEN_ITEM_ROUTE_111_STARDUST (FLAG_HIDDEN_ITEMS_START + 0x02)
#define FLAG_HIDDEN_ITEM_ROUTE_113_ETHER (FLAG_HIDDEN_ITEMS_START + 0x03)
#define FLAG_HIDDEN_ITEM_ROUTE_114_CARBOS (FLAG_HIDDEN_ITEMS_START + 0x04)
#define FLAG_HIDDEN_ITEM_ROUTE_119_CALCIUM (FLAG_HIDDEN_ITEMS_START + 0x05)
#define FLAG_HIDDEN_ITEM_ROUTE_119_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x06)
#define FLAG_HIDDEN_ITEM_ROUTE_123_SUPER_REPEL (FLAG_HIDDEN_ITEMS_START + 0x07)
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_CARBOS (FLAG_HIDDEN_ITEMS_START + 0x08)
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_GREEN_SHARD (FLAG_HIDDEN_ITEMS_START + 0x09)
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_PEARL (FLAG_HIDDEN_ITEMS_START + 0x0A)
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0x0B)
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_BLUE_SHARD (FLAG_HIDDEN_ITEMS_START + 0x0C)
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0x0D)
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x0E)
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x0F)
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_STARDUST (FLAG_HIDDEN_ITEMS_START + 0x10)
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_PEARL (FLAG_HIDDEN_ITEMS_START + 0x11)
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_YELLOW_SHARD (FLAG_HIDDEN_ITEMS_START + 0x12)
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_IRON (FLAG_HIDDEN_ITEMS_START + 0x13)
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0x14)
#define FLAG_HIDDEN_ITEM_UNDERWATER_127_STAR_PIECE (FLAG_HIDDEN_ITEMS_START + 0x15)
#define FLAG_HIDDEN_ITEM_UNDERWATER_127_HP_UP (FLAG_HIDDEN_ITEMS_START + 0x16)
#define FLAG_HIDDEN_ITEM_UNDERWATER_127_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x17)
#define FLAG_HIDDEN_ITEM_UNDERWATER_127_RED_SHARD (FLAG_HIDDEN_ITEMS_START + 0x18)
#define FLAG_HIDDEN_ITEM_UNDERWATER_128_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0x19)
#define FLAG_HIDDEN_ITEM_UNDERWATER_128_PEARL (FLAG_HIDDEN_ITEMS_START + 0x1A)
#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x1B)
#define FLAG_HIDDEN_ITEM_FALLARBOR_TOWN_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x1C)
#define FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x1D)
#define FLAG_HIDDEN_ITEM_ROUTE_113_TM_DOUBLE_TEAM (FLAG_HIDDEN_ITEMS_START + 0x1E)
#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_1_KEY (FLAG_HIDDEN_ITEMS_START + 0x1F)
#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_2_KEY (FLAG_HIDDEN_ITEMS_START + 0x20)
#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_4_KEY (FLAG_HIDDEN_ITEMS_START + 0x21)
#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_6_KEY (FLAG_HIDDEN_ITEMS_START + 0x22)
#define FLAG_HIDDEN_ITEM_SS_TIDAL_LOWER_DECK_LEFTOVERS (FLAG_HIDDEN_ITEMS_START + 0x23)
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_CALCIUM (FLAG_HIDDEN_ITEMS_START + 0x24)
#define FLAG_HIDDEN_ITEM_ROUTE_104_POTION (FLAG_HIDDEN_ITEMS_START + 0x25)
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x26)
#define FLAG_HIDDEN_ITEM_ROUTE_121_HP_UP (FLAG_HIDDEN_ITEMS_START + 0x27)
#define FLAG_HIDDEN_ITEM_ROUTE_121_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x28)
#define FLAG_HIDDEN_ITEM_ROUTE_123_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x29)
#define FLAG_HIDDEN_ITEM_ROUTE_114_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x2A)
#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_PP_UP (FLAG_HIDDEN_ITEMS_START + 0x2B)
#define FLAG_HIDDEN_ITEM_ROUTE_104_SUPER_POTION (FLAG_HIDDEN_ITEMS_START + 0x2C)
#define FLAG_HIDDEN_ITEM_ROUTE_116_SUPER_POTION (FLAG_HIDDEN_ITEMS_START + 0x2D)
#define FLAG_HIDDEN_ITEM_ROUTE_106_STARDUST (FLAG_HIDDEN_ITEMS_START + 0x2E)
#define FLAG_HIDDEN_ITEM_ROUTE_106_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x2F)
#define FLAG_HIDDEN_ITEM_GRANITE_CAVE_B2F_EVERSTONE_1 (FLAG_HIDDEN_ITEMS_START + 0x30)
#define FLAG_HIDDEN_ITEM_GRANITE_CAVE_B2F_EVERSTONE_2 (FLAG_HIDDEN_ITEMS_START + 0x31)
#define FLAG_HIDDEN_ITEM_ROUTE_109_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x32)
#define FLAG_HIDDEN_ITEM_ROUTE_109_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0x33)
#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0x34)
#define FLAG_HIDDEN_ITEM_ROUTE_110_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0x35)
#define FLAG_HIDDEN_ITEM_ROUTE_110_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x36)
#define FLAG_HIDDEN_ITEM_ROUTE_110_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0x37)
#define FLAG_HIDDEN_ITEM_ROUTE_111_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0x38)
#define FLAG_HIDDEN_ITEM_ROUTE_111_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x39)
#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_POTION (FLAG_HIDDEN_ITEMS_START + 0x3A)
#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_TINY_MUSHROOM_1 (FLAG_HIDDEN_ITEMS_START + 0x3B)
#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_TINY_MUSHROOM_2 (FLAG_HIDDEN_ITEMS_START + 0x3C)
#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x3D)
#define FLAG_HIDDEN_ITEM_ROUTE_104_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x3E)
#define FLAG_HIDDEN_ITEM_ROUTE_106_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x3F)
#define FLAG_HIDDEN_ITEM_ROUTE_109_ETHER (FLAG_HIDDEN_ITEMS_START + 0x40)
#define FLAG_HIDDEN_ITEM_ROUTE_110_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x41)
#define FLAG_HIDDEN_ITEM_ROUTE_118_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x42)
#define FLAG_HIDDEN_ITEM_ROUTE_118_IRON (FLAG_HIDDEN_ITEMS_START + 0x43)
#define FLAG_HIDDEN_ITEM_ROUTE_119_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0x44)
#define FLAG_HIDDEN_ITEM_ROUTE_120_RARE_CANDY_2 (FLAG_HIDDEN_ITEMS_START + 0x45)
#define FLAG_HIDDEN_ITEM_ROUTE_120_ZINC (FLAG_HIDDEN_ITEMS_START + 0x46)
#define FLAG_HIDDEN_ITEM_ROUTE_120_RARE_CANDY_1 (FLAG_HIDDEN_ITEMS_START + 0x47)
#define FLAG_HIDDEN_ITEM_ROUTE_117_REPEL (FLAG_HIDDEN_ITEMS_START + 0x48)
#define FLAG_HIDDEN_ITEM_ROUTE_121_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0x49)
#define FLAG_HIDDEN_ITEM_ROUTE_123_HYPER_POTION (FLAG_HIDDEN_ITEMS_START + 0x4A)
#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x4B)
#define FLAG_HIDDEN_ITEM_JAGGED_PASS_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0x4C)
#define FLAG_HIDDEN_ITEM_JAGGED_PASS_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0x4D)
#define FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_MAX_ETHER (FLAG_HIDDEN_ITEMS_START + 0x4E)
#define FLAG_HIDDEN_ITEM_MT_PYRE_SUMMIT_ZINC (FLAG_HIDDEN_ITEMS_START + 0x4F)
#define FLAG_HIDDEN_ITEM_MT_PYRE_SUMMIT_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x50)
#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_1F_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x51)
#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_B2F_ELIXIR (FLAG_HIDDEN_ITEMS_START + 0x52)
#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_B2F_MAX_REPEL (FLAG_HIDDEN_ITEMS_START + 0x53)
#define FLAG_HIDDEN_ITEM_ROUTE_120_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x54)
#define FLAG_HIDDEN_ITEM_ROUTE_104_ANTIDOTE (FLAG_HIDDEN_ITEMS_START + 0x55)
#define FLAG_HIDDEN_ITEM_ROUTE_108_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x56)
#define FLAG_HIDDEN_ITEM_ROUTE_119_MAX_ETHER (FLAG_HIDDEN_ITEMS_START + 0x57)
#define FLAG_HIDDEN_ITEM_ROUTE_104_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x58)
#define FLAG_HIDDEN_ITEM_ROUTE_105_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x59)
#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x5A)
#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_3 (FLAG_HIDDEN_ITEMS_START + 0x5B)
#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0x5C)
#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x5D)
#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_3 (FLAG_HIDDEN_ITEMS_START + 0x5E)
#define FLAG_HIDDEN_ITEM_PETALBURG_CITY_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x5F)
#define FLAG_HIDDEN_ITEM_ROUTE_116_BLACK_GLASSES (FLAG_HIDDEN_ITEMS_START + 0x60)
#define FLAG_HIDDEN_ITEM_ROUTE_115_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x61)
#define FLAG_HIDDEN_ITEM_ROUTE_113_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x62)
#define FLAG_HIDDEN_ITEM_ROUTE_123_PP_UP (FLAG_HIDDEN_ITEMS_START + 0x63)
#define FLAG_HIDDEN_ITEM_ROUTE_121_MAX_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x64)
#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_CALCIUM (FLAG_HIDDEN_ITEMS_START + 0x65)
#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_ZINC (FLAG_HIDDEN_ITEMS_START + 0x66)
#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0x67)
#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_IRON (FLAG_HIDDEN_ITEMS_START + 0x68)
#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_SOUTH_EAST_FULL_RESTORE (FLAG_HIDDEN_ITEMS_START + 0x69)
#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_NORTH_EAST_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x6A)
#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_NORTH_EAST_ZINC (FLAG_HIDDEN_ITEMS_START + 0x6B)
#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_SOUTH_EAST_PP_UP (FLAG_HIDDEN_ITEMS_START + 0x6C)
#define FLAG_HIDDEN_ITEM_NAVEL_ROCK_TOP_SACRED_ASH (FLAG_HIDDEN_ITEMS_START + 0x6D)
#define FLAG_HIDDEN_ITEM_ROUTE_123_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x6E)
#define FLAG_HIDDEN_ITEM_ROUTE_105_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0x6F) //0x37B
// Flags for whether a rematchable trainer has been registered in the player's Match Call.
// Most are used implicitly by adding their REMATCH_* id to TRAINER_REGISTERED_FLAGS_START.
// Some Match Call entries (like those for gym leaders, Wally, and all non-trainer NPCs like Prof. Birch)
// have their own separate flag that needs to be set to be enabled; see src/pokenav_match_call_data.c
#define TRAINER_REGISTERED_FLAGS_START 0x37C
#define FLAG_REGISTERED_ROSE (TRAINER_REGISTERED_FLAGS_START + REMATCH_ROSE) //0x37C
#define FLAG_REGISTERED_ANDRES (TRAINER_REGISTERED_FLAGS_START + REMATCH_ANDRES)
#define FLAG_REGISTERED_DUSTY (TRAINER_REGISTERED_FLAGS_START + REMATCH_DUSTY)
#define FLAG_REGISTERED_LOLA (TRAINER_REGISTERED_FLAGS_START + REMATCH_LOLA)F
#define FLAG_REGISTERED_RICKY (TRAINER_REGISTERED_FLAGS_START + REMATCH_RICKY)
#define FLAG_REGISTERED_LILA_AND_ROY (TRAINER_REGISTERED_FLAGS_START + REMATCH_LILA_AND_ROY)
#define FLAG_REGISTERED_CRISTIN (TRAINER_REGISTERED_FLAGS_START + REMATCH_CRISTIN)
#define FLAG_REGISTERED_BROOKE (TRAINER_REGISTERED_FLAGS_START + REMATCH_BROOKE)
#define FLAG_REGISTERED_WILTON (TRAINER_REGISTERED_FLAGS_START + REMATCH_WILTON)
#define FLAG_REGISTERED_VALERIE (TRAINER_REGISTERED_FLAGS_START + REMATCH_VALERIE)
#define FLAG_REGISTERED_CINDY (TRAINER_REGISTERED_FLAGS_START + REMATCH_CINDY)
#define FLAG_REGISTERED_THALIA (TRAINER_REGISTERED_FLAGS_START + REMATCH_THALIA)
#define FLAG_REGISTERED_JESSICA (TRAINER_REGISTERED_FLAGS_START + REMATCH_JESSICA)
#define FLAG_REGISTERED_WINSTON (TRAINER_REGISTERED_FLAGS_START + REMATCH_WINSTON)
#define FLAG_REGISTERED_STEVE (TRAINER_REGISTERED_FLAGS_START + REMATCH_STEVE)
#define FLAG_REGISTERED_TONY (TRAINER_REGISTERED_FLAGS_START + REMATCH_TONY)
#define FLAG_REGISTERED_NOB (TRAINER_REGISTERED_FLAGS_START + REMATCH_NOB)
#define FLAG_REGISTERED_KOJI (TRAINER_REGISTERED_FLAGS_START + REMATCH_KOJI)
#define FLAG_REGISTERED_FERNANDO (TRAINER_REGISTERED_FLAGS_START + REMATCH_FERNANDO)
#define FLAG_REGISTERED_DALTON (TRAINER_REGISTERED_FLAGS_START + REMATCH_DALTON)
#define FLAG_REGISTERED_BERNIE (TRAINER_REGISTERED_FLAGS_START + REMATCH_BERNIE)
#define FLAG_REGISTERED_ETHAN (TRAINER_REGISTERED_FLAGS_START + REMATCH_ETHAN)
#define FLAG_REGISTERED_JOHN_AND_JAY (TRAINER_REGISTERED_FLAGS_START + REMATCH_JOHN_AND_JAY)
#define FLAG_REGISTERED_JEFFREY (TRAINER_REGISTERED_FLAGS_START + REMATCH_JEFFREY)
#define FLAG_REGISTERED_CAMERON (TRAINER_REGISTERED_FLAGS_START + REMATCH_CAMERON)
#define FLAG_REGISTERED_JACKI (TRAINER_REGISTERED_FLAGS_START + REMATCH_JACKI)
#define FLAG_REGISTERED_WALTER (TRAINER_REGISTERED_FLAGS_START + REMATCH_WALTER)
#define FLAG_REGISTERED_KAREN (TRAINER_REGISTERED_FLAGS_START + REMATCH_KAREN)
#define FLAG_REGISTERED_JERRY (TRAINER_REGISTERED_FLAGS_START + REMATCH_JERRY)
#define FLAG_REGISTERED_ANNA_AND_MEG (TRAINER_REGISTERED_FLAGS_START + REMATCH_ANNA_AND_MEG)
#define FLAG_REGISTERED_ISABEL (TRAINER_REGISTERED_FLAGS_START + REMATCH_ISABEL)
#define FLAG_REGISTERED_MIGUEL (TRAINER_REGISTERED_FLAGS_START + REMATCH_MIGUEL)
#define FLAG_REGISTERED_TIMOTHY (TRAINER_REGISTERED_FLAGS_START + REMATCH_TIMOTHY)
#define FLAG_REGISTERED_SHELBY (TRAINER_REGISTERED_FLAGS_START + REMATCH_SHELBY)
#define FLAG_REGISTERED_CALVIN (TRAINER_REGISTERED_FLAGS_START + REMATCH_CALVIN)
#define FLAG_REGISTERED_ELLIOT (TRAINER_REGISTERED_FLAGS_START + REMATCH_ELLIOT)
#define FLAG_REGISTERED_ISAIAH (TRAINER_REGISTERED_FLAGS_START + REMATCH_ISAIAH)
#define FLAG_REGISTERED_MARIA (TRAINER_REGISTERED_FLAGS_START + REMATCH_MARIA)
#define FLAG_REGISTERED_ABIGAIL (TRAINER_REGISTERED_FLAGS_START + REMATCH_ABIGAIL)
#define FLAG_REGISTERED_DYLAN (TRAINER_REGISTERED_FLAGS_START + REMATCH_DYLAN)
#define FLAG_REGISTERED_KATELYN (TRAINER_REGISTERED_FLAGS_START + REMATCH_KATELYN)
#define FLAG_REGISTERED_BENJAMIN (TRAINER_REGISTERED_FLAGS_START + REMATCH_BENJAMIN)
#define FLAG_REGISTERED_PABLO (TRAINER_REGISTERED_FLAGS_START + REMATCH_PABLO)
#define FLAG_REGISTERED_NICOLAS (TRAINER_REGISTERED_FLAGS_START + REMATCH_NICOLAS)
#define FLAG_REGISTERED_ROBERT (TRAINER_REGISTERED_FLAGS_START + REMATCH_ROBERT)
#define FLAG_REGISTERED_LAO (TRAINER_REGISTERED_FLAGS_START + REMATCH_LAO)
#define FLAG_REGISTERED_CYNDY (TRAINER_REGISTERED_FLAGS_START + REMATCH_CYNDY)
#define FLAG_REGISTERED_MADELINE (TRAINER_REGISTERED_FLAGS_START + REMATCH_MADELINE)
#define FLAG_REGISTERED_JENNY (TRAINER_REGISTERED_FLAGS_START + REMATCH_JENNY)
#define FLAG_REGISTERED_DIANA (TRAINER_REGISTERED_FLAGS_START + REMATCH_DIANA)
#define FLAG_REGISTERED_AMY_AND_LIV (TRAINER_REGISTERED_FLAGS_START + REMATCH_AMY_AND_LIV)
#define FLAG_REGISTERED_ERNEST (TRAINER_REGISTERED_FLAGS_START + REMATCH_ERNEST)
#define FLAG_REGISTERED_CORY (TRAINER_REGISTERED_FLAGS_START + REMATCH_CORY)
#define FLAG_REGISTERED_EDWIN (TRAINER_REGISTERED_FLAGS_START + REMATCH_EDWIN)
#define FLAG_REGISTERED_LYDIA (TRAINER_REGISTERED_FLAGS_START + REMATCH_LYDIA)
#define FLAG_REGISTERED_ISAAC (TRAINER_REGISTERED_FLAGS_START + REMATCH_ISAAC)
#define FLAG_REGISTERED_GABRIELLE (TRAINER_REGISTERED_FLAGS_START + REMATCH_GABRIELLE)
#define FLAG_REGISTERED_CATHERINE (TRAINER_REGISTERED_FLAGS_START + REMATCH_CATHERINE)
#define FLAG_REGISTERED_JACKSON (TRAINER_REGISTERED_FLAGS_START + REMATCH_JACKSON)
#define FLAG_REGISTERED_HALEY (TRAINER_REGISTERED_FLAGS_START + REMATCH_HALEY)
#define FLAG_REGISTERED_JAMES (TRAINER_REGISTERED_FLAGS_START + REMATCH_JAMES)
#define FLAG_REGISTERED_TRENT (TRAINER_REGISTERED_FLAGS_START + REMATCH_TRENT)
#define FLAG_REGISTERED_SAWYER (TRAINER_REGISTERED_FLAGS_START + REMATCH_SAWYER)
#define FLAG_REGISTERED_KIRA_AND_DAN (TRAINER_REGISTERED_FLAGS_START + REMATCH_KIRA_AND_DAN)
#define FLAG_REGISTERED_WALLY (TRAINER_REGISTERED_FLAGS_START + REMATCH_WALLY_VR)
#define FLAG_REGISTERED_ROXANNE (TRAINER_REGISTERED_FLAGS_START + REMATCH_ROXANNE)
#define FLAG_REGISTERED_BRAWLY (TRAINER_REGISTERED_FLAGS_START + REMATCH_BRAWLY)
#define FLAG_REGISTERED_WATTSON (TRAINER_REGISTERED_FLAGS_START + REMATCH_WATTSON)
#define FLAG_REGISTERED_FLANNERY (TRAINER_REGISTERED_FLAGS_START + REMATCH_FLANNERY)
#define FLAG_REGISTERED_NORMAN (TRAINER_REGISTERED_FLAGS_START + REMATCH_NORMAN)
#define FLAG_REGISTERED_WINONA (TRAINER_REGISTERED_FLAGS_START + REMATCH_WINONA)
#define FLAG_REGISTERED_TATE_AND_LIZA (TRAINER_REGISTERED_FLAGS_START + REMATCH_TATE_AND_LIZA)
#define FLAG_REGISTERED_JUAN (TRAINER_REGISTERED_FLAGS_START + REMATCH_JUAN)
#define FLAG_REGISTERED_SIDNEY (TRAINER_REGISTERED_FLAGS_START + REMATCH_SIDNEY)
#define FLAG_REGISTERED_PHOEBE (TRAINER_REGISTERED_FLAGS_START + REMATCH_PHOEBE)
#define FLAG_REGISTERED_GLACIA (TRAINER_REGISTERED_FLAGS_START + REMATCH_GLACIA)
#define FLAG_REGISTERED_DRAKE (TRAINER_REGISTERED_FLAGS_START + REMATCH_DRAKE)
#define FLAG_REGISTERED_WALLACE (TRAINER_REGISTERED_FLAGS_START + REMATCH_WALLACE) //0x3C9
#define FLAG_DEFEATED_RUSTBORO_GYM 0x3CA
#define FLAG_DEFEATED_DEWFORD_GYM 0x3CB
#define FLAG_DEFEATED_MAUVILLE_GYM 0x3CC
#define FLAG_DEFEATED_LAVARIDGE_GYM 0x3CD
#define FLAG_DEFEATED_PETALBURG_GYM 0x3CE
#define FLAG_DEFEATED_FORTREE_GYM 0x3CF
#define FLAG_DEFEATED_MOSSDEEP_GYM 0x3D0
#define FLAG_DEFEATED_SOOTOPOLIS_GYM 0x3D1
#define FLAG_DEFEATED_METEOR_FALLS_STEVEN 0x3D2
#define FLAG_DEFEATED_ELITE_4_SIDNEY 0x3D3
#define FLAG_DEFEATED_ELITE_4_PHOEBE 0x3D4
#define FLAG_DEFEATED_ELITE_4_GLACIA 0x3D5
#define FLAG_DEFEATED_ELITE_4_DRAKE 0x3D6
// Mystery Gift Flags (Unknown)
#define FLAG_MYSTERY_GIFT_DONE 0x3D7
//functionally unused flags
//if you wish to use/rename these flags, make sure to remove references to these in map scripts as detailed below
#define FLAG_MYSTERY_GIFT_1 0x3D8
#define FLAG_MYSTERY_GIFT_2 0x3D9
#define FLAG_MYSTERY_GIFT_3 0x3DA
#define FLAG_MYSTERY_GIFT_4 0x3DB
#define FLAG_MYSTERY_GIFT_5 0x3DC
#define FLAG_MYSTERY_GIFT_6 0x3DD
#define FLAG_MYSTERY_GIFT_7 0x3DE
#define FLAG_MYSTERY_GIFT_8 0x3DF
#define FLAG_MYSTERY_GIFT_9 0x3E0
#define FLAG_MYSTERY_GIFT_10 0x3E1
#define FLAG_MYSTERY_GIFT_11 0x3E2
#define FLAG_MYSTERY_GIFT_12 0x3E3
#define FLAG_MYSTERY_GIFT_13 0x3E4
#define FLAG_MYSTERY_GIFT_14 0x3E5
#define FLAG_MYSTERY_GIFT_15 0x3E6
// Mystery Gift Flags (Unknown)
//#define FLAG_MYSTERY_GIFT_DONE
// I would suggest leaving this one alone, but the following can be removed
// src/event_data.c
// in section `void ClearMysteryGiftFlags(void)`
delete lines 115 to 129
FlagClear(FLAG_MYSTERY_GIFT_1);
FlagClear(FLAG_MYSTERY_GIFT_2);
FlagClear(FLAG_MYSTERY_GIFT_3);
FlagClear(FLAG_MYSTERY_GIFT_4);
FlagClear(FLAG_MYSTERY_GIFT_5);
FlagClear(FLAG_MYSTERY_GIFT_6);
FlagClear(FLAG_MYSTERY_GIFT_7);
FlagClear(FLAG_MYSTERY_GIFT_8);
FlagClear(FLAG_MYSTERY_GIFT_9);
FlagClear(FLAG_MYSTERY_GIFT_10);
FlagClear(FLAG_MYSTERY_GIFT_11);
FlagClear(FLAG_MYSTERY_GIFT_12);
FlagClear(FLAG_MYSTERY_GIFT_13);
FlagClear(FLAG_MYSTERY_GIFT_14);
FlagClear(FLAG_MYSTERY_GIFT_15);
so the section should look like:
void ClearMysteryGiftFlags(void) { FlagClear(FLAG_MYSTERY_GIFT_DONE); }
#define FLAG_NEVER_SET_0x0DC 0x3E7 // This flag is read, but never written to
// src/match_call.c
// in section "static bool32 MapAllowsMatchCall(void)"
/*
if (gMapHeader.regionMapSectionId == MAPSEC_SOOTOPOLIS_CITY
&& FlagGet(FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA) == TRUE
&& FlagGet(FLAG_NEVER_SET_0x0DC) == FALSE)
return FALSE;
Change this to:
if (gMapHeader.regionMapSectionId == MAPSEC_SOOTOPOLIS_CITY
&& FlagGet(FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA) == TRUE)
return FALSE;
*/
#define FLAG_MOSSDEEP_GYM_SWITCH_1 0x3E8 // Leftover from the RS version of Mossdeep Gym, functionally unused
#define FLAG_MOSSDEEP_GYM_SWITCH_2 0x3E9 //
#define FLAG_MOSSDEEP_GYM_SWITCH_3 0x3EA //
#define FLAG_MOSSDEEP_GYM_SWITCH_4 0x3EB //
/* in 'data/maps/MossdeepCity/scripts.inc', delete these 4 lines (lines 6 to 9)
MossdeepCity_OnTransition:
- clearflag FLAG_MOSSDEEP_GYM_SWITCH_1
- clearflag FLAG_MOSSDEEP_GYM_SWITCH_2
- clearflag FLAG_MOSSDEEP_GYM_SWITCH_3
- clearflag FLAG_MOSSDEEP_GYM_SWITCH_4
in 'data/maps/MossdeepCity_Gym/scripts.inc', delete (line 2):
map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_Gym_OnLoad
delete entire sections (lines 5 to 49)
from @ NOTE: Mossdeep Gym was redesigned between R/S and E. Leftover (and now functionally unused) scripts are commented below
to MossdeepCity_Gym_EventScript_SetSwitch4Metatiles
delete entire sections (line 112 to 197)
from @ All the below switch scripts are leftover from RS and are functionally unused
to MossdeepCity_Gym_EventScript_ClearSwitch4
*/
#define FLAG_UNKNOWN_0x363 0x3EC // Set, however has no purpose.
// in 'data/scripts/new_game.inc', delete line 126 'setflag FLAG_UNKNOWN_0x363'
#define FLAG_UNKNOWN_0x393 0x3ED // Set, however has no purpose.
// in 'data/scripts/new_game.inc', delete line 223 'setflag FLAG_UNKNOWN_0x393'
// and in 'data/maps/MossdeepCity_Gym/scripts.inc', delete line 69 'clearflag FLAG_UNKNOWN_0x393'
#define FLAG_CONTEST_SKETCH_CREATED 0x3EE // Set but never read
// in 'data/maps/FallarborTown/scripts.inc', line 8, delete line 8 'clearflag FLAG_CONTEST_SKETCH_CREATED'
// in 'data/scripts/contest_hall.inc', delete line 1047 'setflag FLAG_CONTEST_SKETCH_CREATED'
#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 0x3EF // Leftover from the RS version of Puzzle Room 7, functionally unused
#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 0x3F0 //
#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 0x3F1 //
#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 0x3F2 //
#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 0x3F3 //
/* in 'data/maps/Route110_TrickHousePuzzle7/scripts.inc
(NOTE: doing this will also free up variable "VAR_TRICK_HOUSE_PUZZLE_7_STATE_2 0x40B6 // Leftover from RS, never set")
delete lines 2 to 5
map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHousePuzzle7_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle7_OnTransition
map_script MAP_SCRIPT_ON_LOAD, Route110_TrickHousePuzzle7_OnLoad
map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHousePuzzle7_OnFrame
delete lines and entire sections (lines 8 to 96)
@ Puzzle Room 7 in RSE uses whatever puzzle Mossdeep Gym uses
@ Because Mossdeep Gym was redesigned for Emerald, theres a good deal of leftover script from the old R/S puzzle
Route110_TrickHousePuzzle7_OnResume
Route110_TrickHousePuzzle7_EventScript_UpdateSwitchMetatiles
@ Leftover from R/S, none of the below metatile scripts are ever called
Route110_TrickHousePuzzle7_EventScript_SetSwitch1MetatilesOn
Route110_TrickHousePuzzle7_EventScript_SetSwitch2MetatilesOn
Route110_TrickHousePuzzle7_EventScript_SetSwitch3MetatilesOn
Route110_TrickHousePuzzle7_EventScript_SetSwitch4MetatilesOn
Route110_TrickHousePuzzle7_EventScript_SetSwitch5MetatilesOn
Route110_TrickHousePuzzle7_EventScript_SetSwitch1MetatilesOff
Route110_TrickHousePuzzle7_EventScript_SetSwitch2MetatilesOff
Route110_TrickHousePuzzle7_EventScript_SetSwitch3MetatilesOff
Route110_TrickHousePuzzle7_EventScript_SetSwitch4MetatilesOff
Route110_TrickHousePuzzle7_EventScript_SetSwitch5MetatilesOff
Route110_TrickHousePuzzle7_OnTransition
Route110_TrickHousePuzzle7_EventScript_TeleportedTransition
Route110_TrickHousePuzzle7_OnLoad
Route110_TrickHousePuzzle7_OnFrame
Route110_TrickHousePuzzle7_EventScript_ClearState2
then delete entire sections (lines 109 to 223)
@ Unused, leftover from R/S
Route110_TrickHousePuzzle7_EventScript_TeleportPad
@ All the below switch scripts are unused leftover from R/S
Route110_TrickHousePuzzle7_EventScript_Switch1
Route110_TrickHousePuzzle7_EventScript_Switch2
Route110_TrickHousePuzzle7_EventScript_Switch3
Route110_TrickHousePuzzle7_EventScript_Switch4
Route110_TrickHousePuzzle7_EventScript_Switch5
@ All the below switch scripts are unused leftover from R/S
Route110_TrickHousePuzzle7_EventScript_SetSwitch1On
Route110_TrickHousePuzzle7_EventScript_SetSwitch1Off
Route110_TrickHousePuzzle7_EventScript_SetSwitch2On
Route110_TrickHousePuzzle7_EventScript_SetSwitch2Off
Route110_TrickHousePuzzle7_EventScript_SetSwitch3On
Route110_TrickHousePuzzle7_EventScript_SetSwitch3Off
Route110_TrickHousePuzzle7_EventScript_SetSwitch4On
Route110_TrickHousePuzzle7_EventScript_SetSwitch4Off
Route110_TrickHousePuzzle7_EventScript_SetSwitch5On
Route110_TrickHousePuzzle7_EventScript_SetSwitch5Off
*/
//Wonder Cards
#define FLAG_WONDER_CARD_UNUSED_1 0x3F4 // These Wonder Card flags are referenced but never set
#define FLAG_WONDER_CARD_UNUSED_2 0x3F5
#define FLAG_WONDER_CARD_UNUSED_3 0x3F6
#define FLAG_WONDER_CARD_UNUSED_4 0x3F7
#define FLAG_WONDER_CARD_UNUSED_5 0x3F8
#define FLAG_WONDER_CARD_UNUSED_6 0x3F9
#define FLAG_WONDER_CARD_UNUSED_7 0x3FA
#define FLAG_WONDER_CARD_UNUSED_8 0x3FB
#define FLAG_WONDER_CARD_UNUSED_9 0x3FC
#define FLAG_WONDER_CARD_UNUSED_10 0x3FD
#define FLAG_WONDER_CARD_UNUSED_11 0x3FE
#define FLAG_WONDER_CARD_UNUSED_12 0x3FF
#define FLAG_WONDER_CARD_UNUSED_13 0x400
#define FLAG_WONDER_CARD_UNUSED_14 0x401
#define FLAG_WONDER_CARD_UNUSED_15 0x402
#define FLAG_WONDER_CARD_UNUSED_16 0x403
#define FLAG_WONDER_CARD_UNUSED_17 0x404
// in 'src/mystery_gift.c'
// in section: 'static const u16 sReceivedGiftFlags[]'
// delete the 17 lines that start 'FLAG_WONDER_CARD_UNUSED' (lines 234 to 250)
#define FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE 0x405 // Unused Flag. Used in R/S to indicate whether player defeated or caught Groudon/Kyogre in Cave of Origin.
/*delete this line in the 4 files:
call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_EventScript_DisableTriggers
data/maps/CaveOfOrigin_1F/scripts.inc
data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc
data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc
data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc
*/
// unused flags leftover from R/S
// none of these flags are referenced anywhere and can be renamed
#define FLAG_RECEIVED_CONTEST_PASS 0x406 // Unused, leftover from R/S
#define FLAG_ITEM_ROUTE_123_RARE_CANDY 0x407 // Unused Flag, leftover from R/S. In Emerald this is a hidden item and uses a different flag
#define FLAG_HIDE_LEGEND_MON_CAVE_OF_ORIGIN 0x408 // Unused, leftover from R/S
#define FLAG_ITEM_OLD_MAGMA_HIDEOUT_B1F_MASTER_BALL 0x409 // Unused Flag, leftover from the Ruby Magma hideout
#define FLAG_ITEM_OLD_MAGMA_HIDEOUT_B1F_MAX_ELIXIR 0x40A // Unused Flag, leftover from the Ruby Magma hideout
#define FLAG_ITEM_OLD_MAGMA_HIDEOUT_B2F_NEST_BALL 0x40B // Unused Flag, leftover from the Ruby Magma hideout
#define FLAG_ITEM_MOSSDEEP_STEVENS_HOUSE_HM08 0x40C // Unused Flag, leftover from R/S. HM08 is given to the player directly in Emerald
//placed here to make the TRAINER_FLAGS_START begin at a 0 flag
#define FLAG_UNUSED_0x40D 0x40D // Unused Flag
#define FLAG_UNUSED_0x40E 0x40E // Unused Flag
#define FLAG_UNUSED_0x40F 0x40F // Unused Flag
// note: once the above changes are made, TRAINER_FLAGS_START can be moved up to 0x3E0 and the new unused flags moved down to start at 0x740
// Trainer Flags
// Trainer flags currently occupy 0x410 - 0x76F, the last 9 of which are unused
// See constants/opponents.h. The values there + FLAG_TRAINER_FLAG_START are the flag IDs
#define TRAINER_FLAGS_START 0x410
#define TRAINER_FLAGS_END (TRAINER_FLAGS_START + MAX_TRAINERS_COUNT - 1) // 0x76F
// 240 unused flags
// unused flags start 0x770
// if using these for Trainer battles, delete the same amount of lines from below and update the above numbers.
// eg: delete 10 lines if adding 10 trainers and change the above to 0x779.
#define FLAG_UNUSED_0x770 0x770 // Unused Flag
#define FLAG_UNUSED_0x771 0x771 // Unused Flag
#define FLAG_UNUSED_0x772 0x772 // Unused Flag
#define FLAG_UNUSED_0x773 0x773 // Unused Flag
#define FLAG_UNUSED_0x774 0x774 // Unused Flag
#define FLAG_UNUSED_0x775 0x775 // Unused Flag
#define FLAG_UNUSED_0x776 0x776 // Unused Flag
#define FLAG_UNUSED_0x777 0x777 // Unused Flag
#define FLAG_UNUSED_0x778 0x778 // Unused Flag
#define FLAG_UNUSED_0x779 0x779 // Unused Flag
#define FLAG_UNUSED_0x77A 0x77A // Unused Flag
#define FLAG_UNUSED_0x77B 0x77B // Unused Flag
#define FLAG_UNUSED_0x77C 0x77C // Unused Flag
#define FLAG_UNUSED_0x77D 0x77D // Unused Flag
#define FLAG_UNUSED_0x77E 0x77E // Unused Flag
#define FLAG_UNUSED_0x77F 0x77F // Unused Flag
#define FLAG_UNUSED_0x780 0x780 // Unused Flag
#define FLAG_UNUSED_0x781 0x781 // Unused Flag
#define FLAG_UNUSED_0x782 0x782 // Unused Flag
#define FLAG_UNUSED_0x783 0x783 // Unused Flag
#define FLAG_UNUSED_0x784 0x784 // Unused Flag
#define FLAG_UNUSED_0x785 0x785 // Unused Flag
#define FLAG_UNUSED_0x786 0x786 // Unused Flag
#define FLAG_UNUSED_0x787 0x787 // Unused Flag
#define FLAG_UNUSED_0x788 0x788 // Unused Flag
#define FLAG_UNUSED_0x789 0x789 // Unused Flag
#define FLAG_UNUSED_0x78A 0x78A // Unused Flag
#define FLAG_UNUSED_0x78B 0x78B // Unused Flag
#define FLAG_UNUSED_0x78C 0x78C // Unused Flag
#define FLAG_UNUSED_0x78D 0x78D // Unused Flag
#define FLAG_UNUSED_0x78E 0x78E // Unused Flag
#define FLAG_UNUSED_0x78F 0x78F // Unused Flag
#define FLAG_UNUSED_0x790 0x790 // Unused Flag
#define FLAG_UNUSED_0x791 0x791 // Unused Flag
#define FLAG_UNUSED_0x792 0x792 // Unused Flag
#define FLAG_UNUSED_0x793 0x793 // Unused Flag
#define FLAG_UNUSED_0x794 0x794 // Unused Flag
#define FLAG_UNUSED_0x795 0x795 // Unused Flag
#define FLAG_UNUSED_0x796 0x796 // Unused Flag
#define FLAG_UNUSED_0x797 0x797 // Unused Flag
#define FLAG_UNUSED_0x798 0x798 // Unused Flag
#define FLAG_UNUSED_0x799 0x799 // Unused Flag
#define FLAG_UNUSED_0x79A 0x79A // Unused Flag
#define FLAG_UNUSED_0x79B 0x79B // Unused Flag
#define FLAG_UNUSED_0x79C 0x79C // Unused Flag
#define FLAG_UNUSED_0x79D 0x79D // Unused Flag
#define FLAG_UNUSED_0x79E 0x79E // Unused Flag
#define FLAG_UNUSED_0x79F 0x79F // Unused Flag
#define FLAG_UNUSED_0x7A0 0x7A0 // Unused Flag
#define FLAG_UNUSED_0x7A1 0x7A1 // Unused Flag
#define FLAG_UNUSED_0x7A2 0x7A2 // Unused Flag
#define FLAG_UNUSED_0x7A3 0x7A3 // Unused Flag
#define FLAG_UNUSED_0x7A4 0x7A4 // Unused Flag
#define FLAG_UNUSED_0x7A5 0x7A5 // Unused Flag
#define FLAG_UNUSED_0x7A6 0x7A6 // Unused Flag
#define FLAG_UNUSED_0x7A7 0x7A7 // Unused Flag
#define FLAG_UNUSED_0x7A8 0x7A8 // Unused Flag
#define FLAG_UNUSED_0x7A9 0x7A9 // Unused Flag
#define FLAG_UNUSED_0x7AA 0x7AA // Unused Flag
#define FLAG_UNUSED_0x7AB 0x7AB // Unused Flag
#define FLAG_UNUSED_0x7AC 0x7AC // Unused Flag
#define FLAG_UNUSED_0x7AD 0x7AD // Unused Flag
#define FLAG_UNUSED_0x7AE 0x7AE // Unused Flag
#define FLAG_UNUSED_0x7AF 0x7AF // Unused Flag
#define FLAG_UNUSED_0x7B0 0x7B0 // Unused Flag
#define FLAG_UNUSED_0x7B1 0x7B1 // Unused Flag
#define FLAG_UNUSED_0x7B2 0x7B2 // Unused Flag
#define FLAG_UNUSED_0x7B3 0x7B3 // Unused Flag
#define FLAG_UNUSED_0x7B4 0x7B4 // Unused Flag
#define FLAG_UNUSED_0x7B5 0x7B5 // Unused Flag
#define FLAG_UNUSED_0x7B6 0x7B6 // Unused Flag
#define FLAG_UNUSED_0x7B7 0x7B7 // Unused Flag
#define FLAG_UNUSED_0x7B8 0x7B8 // Unused Flag
#define FLAG_UNUSED_0x7B9 0x7B9 // Unused Flag
#define FLAG_UNUSED_0x7BA 0x7BA // Unused Flag
#define FLAG_UNUSED_0x7BB 0x7BB // Unused Flag
#define FLAG_UNUSED_0x7BC 0x7BC // Unused Flag
#define FLAG_UNUSED_0x7BD 0x7BD // Unused Flag
#define FLAG_UNUSED_0x7BE 0x7BE // Unused Flag
#define FLAG_UNUSED_0x7BF 0x7BF // Unused Flag
#define FLAG_UNUSED_0x7C0 0x7C0 // Unused Flag
#define FLAG_UNUSED_0x7C1 0x7C1 // Unused Flag
#define FLAG_UNUSED_0x7C2 0x7C2 // Unused Flag
#define FLAG_UNUSED_0x7C3 0x7C3 // Unused Flag
#define FLAG_UNUSED_0x7C4 0x7C4 // Unused Flag
#define FLAG_UNUSED_0x7C5 0x7C5 // Unused Flag
#define FLAG_UNUSED_0x7C6 0x7C6 // Unused Flag
#define FLAG_UNUSED_0x7C7 0x7C7 // Unused Flag
#define FLAG_UNUSED_0x7C8 0x7C8 // Unused Flag
#define FLAG_UNUSED_0x7C9 0x7C9 // Unused Flag
#define FLAG_UNUSED_0x7CA 0x7CA // Unused Flag
#define FLAG_UNUSED_0x7CB 0x7CB // Unused Flag
#define FLAG_UNUSED_0x7CC 0x7CC // Unused Flag
#define FLAG_UNUSED_0x7CD 0x7CD // Unused Flag
#define FLAG_UNUSED_0x7CE 0x7CE // Unused Flag
#define FLAG_UNUSED_0x7CF 0x7CF // Unused Flag
#define FLAG_UNUSED_0x7D0 0x7D0 // Unused Flag
#define FLAG_UNUSED_0x7D1 0x7D1 // Unused Flag
#define FLAG_UNUSED_0x7D2 0x7D2 // Unused Flag
#define FLAG_UNUSED_0x7D3 0x7D3 // Unused Flag
#define FLAG_UNUSED_0x7D4 0x7D4 // Unused Flag
#define FLAG_UNUSED_0x7D5 0x7D5 // Unused Flag
#define FLAG_UNUSED_0x7D6 0x7D6 // Unused Flag
#define FLAG_UNUSED_0x7D7 0x7D7 // Unused Flag
#define FLAG_UNUSED_0x7D8 0x7D8 // Unused Flag
#define FLAG_UNUSED_0x7D9 0x7D9 // Unused Flag
#define FLAG_UNUSED_0x7DA 0x7DA // Unused Flag
#define FLAG_UNUSED_0x7DB 0x7DB // Unused Flag
#define FLAG_UNUSED_0x7DC 0x7DC // Unused Flag
#define FLAG_UNUSED_0x7DD 0x7DD // Unused Flag
#define FLAG_UNUSED_0x7DE 0x7DE // Unused Flag
#define FLAG_UNUSED_0x7DF 0x7DF // Unused Flag
#define FLAG_UNUSED_0x7E0 0x7E0 // Unused Flag
#define FLAG_UNUSED_0x7E1 0x7E1 // Unused Flag
#define FLAG_UNUSED_0x7E2 0x7E2 // Unused Flag
#define FLAG_UNUSED_0x7E3 0x7E3 // Unused Flag
#define FLAG_UNUSED_0x7E4 0x7E4 // Unused Flag
#define FLAG_UNUSED_0x7E5 0x7E5 // Unused Flag
#define FLAG_UNUSED_0x7E6 0x7E6 // Unused Flag
#define FLAG_UNUSED_0x7E7 0x7E7 // Unused Flag
#define FLAG_UNUSED_0x7E8 0x7E8 // Unused Flag
#define FLAG_UNUSED_0x7E9 0x7E9 // Unused Flag
#define FLAG_UNUSED_0x7EA 0x7EA // Unused Flag
#define FLAG_UNUSED_0x7EB 0x7EB // Unused Flag
#define FLAG_UNUSED_0x7EC 0x7EC // Unused Flag
#define FLAG_UNUSED_0x7ED 0x7ED // Unused Flag
#define FLAG_UNUSED_0x7EE 0x7EE // Unused Flag
#define FLAG_UNUSED_0x7EF 0x7EF // Unused Flag
#define FLAG_UNUSED_0x7F0 0x7F0 // Unused Flag
#define FLAG_UNUSED_0x7F1 0x7F1 // Unused Flag
#define FLAG_UNUSED_0x7F2 0x7F2 // Unused Flag
#define FLAG_UNUSED_0x7F3 0x7F3 // Unused Flag
#define FLAG_UNUSED_0x7F4 0x7F4 // Unused Flag
#define FLAG_UNUSED_0x7F5 0x7F5 // Unused Flag
#define FLAG_UNUSED_0x7F6 0x7F6 // Unused Flag
#define FLAG_UNUSED_0x7F7 0x7F7 // Unused Flag
#define FLAG_UNUSED_0x7F8 0x7F8 // Unused Flag
#define FLAG_UNUSED_0x7F9 0x7F9 // Unused Flag
#define FLAG_UNUSED_0x7FA 0x7FA // Unused Flag
#define FLAG_UNUSED_0x7FB 0x7FB // Unused Flag
#define FLAG_UNUSED_0x7FC 0x7FC // Unused Flag
#define FLAG_UNUSED_0x7FD 0x7FD // Unused Flag
#define FLAG_UNUSED_0x7FE 0x7FE // Unused Flag
#define FLAG_UNUSED_0x7FF 0x7FF // Unused Flag
#define FLAG_UNUSED_0x800 0x800 // Unused Flag
#define FLAG_UNUSED_0x801 0x801 // Unused Flag
#define FLAG_UNUSED_0x802 0x802 // Unused Flag
#define FLAG_UNUSED_0x803 0x803 // Unused Flag
#define FLAG_UNUSED_0x804 0x804 // Unused Flag
#define FLAG_UNUSED_0x805 0x805 // Unused Flag
#define FLAG_UNUSED_0x806 0x806 // Unused Flag
#define FLAG_UNUSED_0x807 0x807 // Unused Flag
#define FLAG_UNUSED_0x808 0x808 // Unused Flag
#define FLAG_UNUSED_0x809 0x809 // Unused Flag
#define FLAG_UNUSED_0x80A 0x80A // Unused Flag
#define FLAG_UNUSED_0x80B 0x80B // Unused Flag
#define FLAG_UNUSED_0x80C 0x80C // Unused Flag
#define FLAG_UNUSED_0x80D 0x80D // Unused Flag
#define FLAG_UNUSED_0x80E 0x80E // Unused Flag
#define FLAG_UNUSED_0x80F 0x80F // Unused Flag
#define FLAG_UNUSED_0x810 0x810 // Unused Flag
#define FLAG_UNUSED_0x811 0x811 // Unused Flag
#define FLAG_UNUSED_0x812 0x812 // Unused Flag
#define FLAG_UNUSED_0x813 0x813 // Unused Flag
#define FLAG_UNUSED_0x814 0x814 // Unused Flag
#define FLAG_UNUSED_0x815 0x815 // Unused Flag
#define FLAG_UNUSED_0x816 0x816 // Unused Flag
#define FLAG_UNUSED_0x817 0x817 // Unused Flag
#define FLAG_UNUSED_0x818 0x818 // Unused Flag
#define FLAG_UNUSED_0x819 0x819 // Unused Flag
#define FLAG_UNUSED_0x81A 0x81A // Unused Flag
#define FLAG_UNUSED_0x81B 0x81B // Unused Flag
#define FLAG_UNUSED_0x81C 0x81C // Unused Flag
#define FLAG_UNUSED_0x81D 0x81D // Unused Flag
#define FLAG_UNUSED_0x81E 0x81E // Unused Flag
#define FLAG_UNUSED_0x81F 0x81F // Unused Flag
#define FLAG_UNUSED_0x820 0x820 // Unused Flag
#define FLAG_UNUSED_0x821 0x821 // Unused Flag
#define FLAG_UNUSED_0x822 0x822 // Unused Flag
#define FLAG_UNUSED_0x823 0x823 // Unused Flag
#define FLAG_UNUSED_0x824 0x824 // Unused Flag
#define FLAG_UNUSED_0x825 0x825 // Unused Flag
#define FLAG_UNUSED_0x826 0x826 // Unused Flag
#define FLAG_UNUSED_0x827 0x827 // Unused Flag
#define FLAG_UNUSED_0x828 0x828 // Unused Flag
#define FLAG_UNUSED_0x829 0x829 // Unused Flag
#define FLAG_UNUSED_0x82A 0x82A // Unused Flag
#define FLAG_UNUSED_0x82B 0x82B // Unused Flag
#define FLAG_UNUSED_0x82C 0x82C // Unused Flag
#define FLAG_UNUSED_0x82D 0x82D // Unused Flag
#define FLAG_UNUSED_0x82E 0x82E // Unused Flag
#define FLAG_UNUSED_0x82F 0x82F // Unused Flag
#define FLAG_UNUSED_0x830 0x830 // Unused Flag
#define FLAG_UNUSED_0x831 0x831 // Unused Flag
#define FLAG_UNUSED_0x832 0x832 // Unused Flag
#define FLAG_UNUSED_0x833 0x833 // Unused Flag
#define FLAG_UNUSED_0x834 0x834 // Unused Flag
#define FLAG_UNUSED_0x835 0x835 // Unused Flag
#define FLAG_UNUSED_0x836 0x836 // Unused Flag
#define FLAG_UNUSED_0x837 0x837 // Unused Flag
#define FLAG_UNUSED_0x838 0x838 // Unused Flag
#define FLAG_UNUSED_0x839 0x839 // Unused Flag
#define FLAG_UNUSED_0x83A 0x83A // Unused Flag
#define FLAG_UNUSED_0x83B 0x83B // Unused Flag
#define FLAG_UNUSED_0x83C 0x83C // Unused Flag
#define FLAG_UNUSED_0x83D 0x83D // Unused Flag
#define FLAG_UNUSED_0x83E 0x83E // Unused Flag
#define FLAG_UNUSED_0x83F 0x83F // Unused Flag
#define FLAG_UNUSED_0x840 0x840 // Unused Flag
#define FLAG_UNUSED_0x841 0x841 // Unused Flag
#define FLAG_UNUSED_0x842 0x842 // Unused Flag
#define FLAG_UNUSED_0x843 0x843 // Unused Flag
#define FLAG_UNUSED_0x844 0x844 // Unused Flag
#define FLAG_UNUSED_0x845 0x845 // Unused Flag
#define FLAG_UNUSED_0x846 0x846 // Unused Flag
#define FLAG_UNUSED_0x847 0x847 // Unused Flag
#define FLAG_UNUSED_0x848 0x848 // Unused Flag
#define FLAG_UNUSED_0x849 0x849 // Unused Flag
#define FLAG_UNUSED_0x84A 0x84A // Unused Flag
#define FLAG_UNUSED_0x84B 0x84B // Unused Flag
#define FLAG_UNUSED_0x84C 0x84C // Unused Flag
#define FLAG_UNUSED_0x84D 0x84D // Unused Flag
#define FLAG_UNUSED_0x84E 0x84E // Unused Flag
#define FLAG_UNUSED_0x84F 0x84F // Unused Flag
#define FLAG_UNUSED_0x850 0x850 // Unused Flag
#define FLAG_UNUSED_0x851 0x851 // Unused Flag
#define FLAG_UNUSED_0x852 0x852 // Unused Flag
#define FLAG_UNUSED_0x853 0x853 // Unused Flag
#define FLAG_UNUSED_0x854 0x854 // Unused Flag
#define FLAG_UNUSED_0x855 0x855 // Unused Flag
#define FLAG_UNUSED_0x856 0x856 // Unused Flag
#define FLAG_UNUSED_0x857 0x857 // Unused Flag
#define FLAG_UNUSED_0x858 0x858 // Unused Flag
#define FLAG_UNUSED_0x859 0x859 // Unused Flag
#define FLAG_UNUSED_0x85A 0x85A // Unused Flag
#define FLAG_UNUSED_0x85B 0x85B // Unused Flag
#define FLAG_UNUSED_0x85C 0x85C // Unused Flag
#define FLAG_UNUSED_0x85D 0x85D // Unused Flag
#define FLAG_UNUSED_0x85E 0x85E // Unused Flag
#define FLAG_UNUSED_0x85F 0x85F // Unused Flag
// System Flags
#define SYSTEM_FLAGS 0x860
#define FLAG_SYS_POKEMON_GET (SYSTEM_FLAGS + 0x0) // FLAG_0x860
#define FLAG_SYS_POKEDEX_GET (SYSTEM_FLAGS + 0x1)
#define FLAG_SYS_POKENAV_GET (SYSTEM_FLAGS + 0x2)
#define FLAG_SYS_GAME_CLEAR (SYSTEM_FLAGS + 0x3)
#define FLAG_SYS_CHAT_USED (SYSTEM_FLAGS + 0x4)
#define FLAG_UNLOCKED_TRENDY_SAYINGS (SYSTEM_FLAGS + 0x5)
// Badges
#define FLAG_BADGE01_GET (SYSTEM_FLAGS + 0x6)
#define FLAG_BADGE02_GET (SYSTEM_FLAGS + 0x7)
#define FLAG_BADGE03_GET (SYSTEM_FLAGS + 0x8)
#define FLAG_BADGE04_GET (SYSTEM_FLAGS + 0x9)
#define FLAG_BADGE05_GET (SYSTEM_FLAGS + 0xA)
#define FLAG_BADGE06_GET (SYSTEM_FLAGS + 0xB)
#define FLAG_BADGE07_GET (SYSTEM_FLAGS + 0xC)
#define FLAG_BADGE08_GET (SYSTEM_FLAGS + 0xD)
#define NUM_BADGES (1 + FLAG_BADGE08_GET - FLAG_BADGE01_GET)
// Towns and Cities
#define FLAG_VISITED_LITTLEROOT_TOWN (SYSTEM_FLAGS + 0xE)
#define FLAG_VISITED_OLDALE_TOWN (SYSTEM_FLAGS + 0xF)
#define FLAG_VISITED_DEWFORD_TOWN (SYSTEM_FLAGS + 0x10)
#define FLAG_VISITED_LAVARIDGE_TOWN (SYSTEM_FLAGS + 0x11)
#define FLAG_VISITED_FALLARBOR_TOWN (SYSTEM_FLAGS + 0x12)
#define FLAG_VISITED_VERDANTURF_TOWN (SYSTEM_FLAGS + 0x13)
#define FLAG_VISITED_PACIFIDLOG_TOWN (SYSTEM_FLAGS + 0x14)
#define FLAG_VISITED_PETALBURG_CITY (SYSTEM_FLAGS + 0x15)
#define FLAG_VISITED_SLATEPORT_CITY (SYSTEM_FLAGS + 0x16)
#define FLAG_VISITED_MAUVILLE_CITY (SYSTEM_FLAGS + 0x17)
#define FLAG_VISITED_RUSTBORO_CITY (SYSTEM_FLAGS + 0x18)
#define FLAG_VISITED_FORTREE_CITY (SYSTEM_FLAGS + 0x19)
#define FLAG_VISITED_LILYCOVE_CITY (SYSTEM_FLAGS + 0x1A)
#define FLAG_VISITED_MOSSDEEP_CITY (SYSTEM_FLAGS + 0x1B)
#define FLAG_VISITED_SOOTOPOLIS_CITY (SYSTEM_FLAGS + 0x1C)
#define FLAG_VISITED_EVER_GRANDE_CITY (SYSTEM_FLAGS + 0x1D)
#define FLAG_IS_CHAMPION (SYSTEM_FLAGS + 0x1E) // Seems to be related to linking.
#define FLAG_NURSE_UNION_ROOM_REMINDER (SYSTEM_FLAGS + 0x1F)
#define FLAG_SYS_USE_FLASH (SYSTEM_FLAGS + 0x20)
#define FLAG_SYS_USE_STRENGTH (SYSTEM_FLAGS + 0x21)
#define FLAG_SYS_WEATHER_CTRL (SYSTEM_FLAGS + 0x22)
#define FLAG_SYS_CYCLING_ROAD (SYSTEM_FLAGS + 0x23)
#define FLAG_SYS_SAFARI_MODE (SYSTEM_FLAGS + 0x24)
#define FLAG_SYS_CRUISE_MODE (SYSTEM_FLAGS + 0x25)
#define FLAG_SYS_TV_HOME (SYSTEM_FLAGS + 0x26)
#define FLAG_SYS_TV_WATCH (SYSTEM_FLAGS + 0x27)
#define FLAG_SYS_TV_START (SYSTEM_FLAGS + 0x28)
#define FLAG_SYS_CHANGED_DEWFORD_TREND (SYSTEM_FLAGS + 0x29)
#define FLAG_SYS_MIX_RECORD (SYSTEM_FLAGS + 0x2A)
#define FLAG_SYS_CLOCK_SET (SYSTEM_FLAGS + 0x2B)
#define FLAG_SYS_NATIONAL_DEX (SYSTEM_FLAGS + 0x2C)
#define FLAG_SYS_SHOAL_TIDE (SYSTEM_FLAGS + 0x2D)
#define FLAG_SYS_RIBBON_GET (SYSTEM_FLAGS + 0x2E)
#define FLAG_LANDMARK_FLOWER_SHOP (SYSTEM_FLAGS + 0x2F)
#define FLAG_LANDMARK_MR_BRINEY_HOUSE (SYSTEM_FLAGS + 0x30)
#define FLAG_LANDMARK_ABANDONED_SHIP (SYSTEM_FLAGS + 0x31)
#define FLAG_LANDMARK_SEASHORE_HOUSE (SYSTEM_FLAGS + 0x32)
#define FLAG_LANDMARK_NEW_MAUVILLE (SYSTEM_FLAGS + 0x33)
#define FLAG_LANDMARK_OLD_LADY_REST_SHOP (SYSTEM_FLAGS + 0x34)
#define FLAG_LANDMARK_TRICK_HOUSE (SYSTEM_FLAGS + 0x35)
#define FLAG_LANDMARK_WINSTRATE_FAMILY (SYSTEM_FLAGS + 0x36)
#define FLAG_LANDMARK_GLASS_WORKSHOP (SYSTEM_FLAGS + 0x37)
#define FLAG_LANDMARK_LANETTES_HOUSE (SYSTEM_FLAGS + 0x38)
#define FLAG_LANDMARK_POKEMON_DAYCARE (SYSTEM_FLAGS + 0x39)
#define FLAG_LANDMARK_SEAFLOOR_CAVERN (SYSTEM_FLAGS + 0x3A)
#define FLAG_LANDMARK_BATTLE_FRONTIER (SYSTEM_FLAGS + 0x3B)
#define FLAG_LANDMARK_SOUTHERN_ISLAND (SYSTEM_FLAGS + 0x3C)
#define FLAG_LANDMARK_FIERY_PATH (SYSTEM_FLAGS + 0x3D)
#define FLAG_SYS_PC_LANETTE (SYSTEM_FLAGS + 0x3E)
#define FLAG_SYS_MYSTERY_EVENT_ENABLE (SYSTEM_FLAGS + 0x3F)
#define FLAG_SYS_ENC_UP_ITEM (SYSTEM_FLAGS + 0x40)
#define FLAG_SYS_ENC_DOWN_ITEM (SYSTEM_FLAGS + 0x41)
#define FLAG_SYS_BRAILLE_DIG (SYSTEM_FLAGS + 0x42)
#define FLAG_SYS_REGIROCK_PUZZLE_COMPLETED (SYSTEM_FLAGS + 0x43)
#define FLAG_SYS_BRAILLE_REGICE_COMPLETED (SYSTEM_FLAGS + 0x44)
#define FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED (SYSTEM_FLAGS + 0x45)
#define FLAG_ENABLE_SHIP_SOUTHERN_ISLAND (SYSTEM_FLAGS + 0x46)
#define FLAG_LANDMARK_POKEMON_LEAGUE (SYSTEM_FLAGS + 0x47)
#define FLAG_LANDMARK_ISLAND_CAVE (SYSTEM_FLAGS + 0x48)
#define FLAG_LANDMARK_DESERT_RUINS (SYSTEM_FLAGS + 0x49)
#define FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE (SYSTEM_FLAGS + 0x4A)
#define FLAG_LANDMARK_SCORCHED_SLAB (SYSTEM_FLAGS + 0x4B)
#define FLAG_LANDMARK_ANCIENT_TOMB (SYSTEM_FLAGS + 0x4C)
#define FLAG_LANDMARK_TUNNELERS_REST_HOUSE (SYSTEM_FLAGS + 0x4D)
#define FLAG_LANDMARK_HUNTERS_HOUSE (SYSTEM_FLAGS + 0x4E)
#define FLAG_LANDMARK_SEALED_CHAMBER (SYSTEM_FLAGS + 0x4F)
#define FLAG_SYS_TV_LATIAS_LATIOS (SYSTEM_FLAGS + 0x50)
#define FLAG_LANDMARK_SKY_PILLAR (SYSTEM_FLAGS + 0x51)
#define FLAG_SYS_SHOAL_ITEM (SYSTEM_FLAGS + 0x52)
#define FLAG_SYS_B_DASH (SYSTEM_FLAGS + 0x53) // RECEIVED Running Shoes
#define FLAG_SYS_CTRL_OBJ_DELETE (SYSTEM_FLAGS + 0x54)
#define FLAG_SYS_RESET_RTC_ENABLE (SYSTEM_FLAGS + 0x55)
#define FLAG_LANDMARK_BERRY_MASTERS_HOUSE (SYSTEM_FLAGS + 0x56)
#define FLAG_SYS_TOWER_SILVER (SYSTEM_FLAGS + 0x57)
#define FLAG_SYS_TOWER_GOLD (SYSTEM_FLAGS + 0x58)
#define FLAG_SYS_DOME_SILVER (SYSTEM_FLAGS + 0x59)
#define FLAG_SYS_DOME_GOLD (SYSTEM_FLAGS + 0x5A)
#define FLAG_SYS_PALACE_SILVER (SYSTEM_FLAGS + 0x5B)
#define FLAG_SYS_PALACE_GOLD (SYSTEM_FLAGS + 0x5C)
#define FLAG_SYS_ARENA_SILVER (SYSTEM_FLAGS + 0x5D)
#define FLAG_SYS_ARENA_GOLD (SYSTEM_FLAGS + 0x5E)
#define FLAG_SYS_FACTORY_SILVER (SYSTEM_FLAGS + 0x5F)
#define FLAG_SYS_FACTORY_GOLD (SYSTEM_FLAGS + 0x60)
#define FLAG_SYS_PIKE_SILVER (SYSTEM_FLAGS + 0x61)
#define FLAG_SYS_PIKE_GOLD (SYSTEM_FLAGS + 0x62)
#define FLAG_SYS_PYRAMID_SILVER (SYSTEM_FLAGS + 0x63)
#define FLAG_SYS_PYRAMID_GOLD (SYSTEM_FLAGS + 0x64)
#define FLAG_SYS_FRONTIER_PASS (SYSTEM_FLAGS + 0x65)
#define FLAG_MAP_SCRIPT_CHECKED_DEOXYS (SYSTEM_FLAGS + 0x66)
#define FLAG_DEOXYS_ROCK_COMPLETE (SYSTEM_FLAGS + 0x67)
#define FLAG_ENABLE_SHIP_BIRTH_ISLAND (SYSTEM_FLAGS + 0x68)
#define FLAG_ENABLE_SHIP_FARAWAY_ISLAND (SYSTEM_FLAGS + 0x69)
#define FLAG_SHOWN_BOX_WAS_FULL_MESSAGE (SYSTEM_FLAGS + 0x6A)
#define FLAG_ARRIVED_ON_FARAWAY_ISLAND (SYSTEM_FLAGS + 0x6B)
#define FLAG_ARRIVED_AT_MARINE_CAVE_EMERGE_SPOT (SYSTEM_FLAGS + 0x6C)
#define FLAG_ARRIVED_AT_TERRA_CAVE_ENTRANCE (SYSTEM_FLAGS + 0x6D)
#define FLAG_SYS_MYSTERY_GIFT_ENABLE (SYSTEM_FLAGS + 0x6E)
#define FLAG_ENTERED_MIRAGE_TOWER (SYSTEM_FLAGS + 0x6F)
#define FLAG_LANDMARK_ALTERING_CAVE (SYSTEM_FLAGS + 0x70)
#define FLAG_LANDMARK_DESERT_UNDERPASS (SYSTEM_FLAGS + 0x71)
#define FLAG_LANDMARK_ARTISAN_CAVE (SYSTEM_FLAGS + 0x72)
#define FLAG_ENABLE_SHIP_NAVEL_ROCK (SYSTEM_FLAGS + 0x73)
#define FLAG_ARRIVED_AT_NAVEL_ROCK (SYSTEM_FLAGS + 0x74)
#define FLAG_LANDMARK_TRAINER_HILL (SYSTEM_FLAGS + 0x75)
#define FLAG_RECEIVED_POKEDEX_FROM_BIRCH (SYSTEM_FLAGS + 0x76)
//these 3 flags are not referenced in other files and can be renamed
#define FLAG_SYS_CAVE_SHIP (SYSTEM_FLAGS + 0x77) // Unused Flag, leftover from R/S debug, presumably used by Emerald's debug too
#define FLAG_SYS_CAVE_WONDER (SYSTEM_FLAGS + 0x78) // Unused Flag, same as above
#define FLAG_SYS_CAVE_BATTLE (SYSTEM_FLAGS + 0x79) // Unused Flag, same as above
#define FLAG_UNUSED_0x8DA (SYSTEM_FLAGS + 0x7A) // Unused Flag
#define FLAG_UNUSED_0x8DB (SYSTEM_FLAGS + 0x7B) // Unused Flag
#define FLAG_UNUSED_0x8DC (SYSTEM_FLAGS + 0x7C) // Unused Flag
#define FLAG_UNUSED_0x8DD (SYSTEM_FLAGS + 0x7D) // Unused Flag
#define FLAG_UNUSED_0x8DE (SYSTEM_FLAGS + 0x7E) // Unused Flag
#define FLAG_UNUSED_0x8DF (SYSTEM_FLAGS + 0x7F) // Unused Flag
#define FLAG_UNUSED_0x8E0 (SYSTEM_FLAGS + 0x80) // Unused Flag
#define FLAG_UNUSED_0x8E1 (SYSTEM_FLAGS + 0x81) // Unused Flag
#define FLAG_UNUSED_0x8E2 (SYSTEM_FLAGS + 0x82) // Unused Flag
#define FLAG_UNUSED_0x8E3 (SYSTEM_FLAGS + 0x83) // Unused Flag
#define FLAG_UNUSED_0x8E4 (SYSTEM_FLAGS + 0x84) // Unused Flag
#define FLAG_UNUSED_0x8E5 (SYSTEM_FLAGS + 0x85) // Unused Flag
#define FLAG_UNUSED_0x8E6 (SYSTEM_FLAGS + 0x86) // Unused Flag
#define FLAG_UNUSED_0x8E7 (SYSTEM_FLAGS + 0x87) // Unused Flag
#define FLAG_UNUSED_0x8E8 (SYSTEM_FLAGS + 0x88) // Unused Flag
#define FLAG_UNUSED_0x8E9 (SYSTEM_FLAGS + 0x89) // Unused Flag
#define FLAG_UNUSED_0x8EA (SYSTEM_FLAGS + 0x8A) // Unused Flag
#define FLAG_UNUSED_0x8EB (SYSTEM_FLAGS + 0x8B) // Unused Flag
#define FLAG_UNUSED_0x8EC (SYSTEM_FLAGS + 0x8C) // Unused Flag
#define FLAG_UNUSED_0x8ED (SYSTEM_FLAGS + 0x8D) // Unused Flag
#define FLAG_UNUSED_0x8EE (SYSTEM_FLAGS + 0x8E) // Unused Flag
#define FLAG_UNUSED_0x8EF (SYSTEM_FLAGS + 0x8F) // Unused Flag
#define FLAG_UNUSED_0x8F0 (SYSTEM_FLAGS + 0x90) // Unused Flag
#define FLAG_UNUSED_0x8F1 (SYSTEM_FLAGS + 0x91) // Unused Flag
#define FLAG_UNUSED_0x8F2 (SYSTEM_FLAGS + 0x92) // Unused Flag
#define FLAG_UNUSED_0x8F3 (SYSTEM_FLAGS + 0x93) // Unused Flag
#define FLAG_UNUSED_0x8F4 (SYSTEM_FLAGS + 0x94) // Unused Flag
#define FLAG_UNUSED_0x8F5 (SYSTEM_FLAGS + 0x95) // Unused Flag
#define FLAG_UNUSED_0x8F6 (SYSTEM_FLAGS + 0x96) // Unused Flag
#define FLAG_UNUSED_0x8F7 (SYSTEM_FLAGS + 0x97) // Unused Flag
#define FLAG_UNUSED_0x8F8 (SYSTEM_FLAGS + 0x98) // Unused Flag
#define FLAG_UNUSED_0x8F9 (SYSTEM_FLAGS + 0x99) // Unused Flag
#define FLAG_UNUSED_0x8FA (SYSTEM_FLAGS + 0x9A) // Unused Flag
#define FLAG_UNUSED_0x8FB (SYSTEM_FLAGS + 0x9B) // Unused Flag
#define FLAG_UNUSED_0x8FC (SYSTEM_FLAGS + 0x9C) // Unused Flag
#define FLAG_UNUSED_0x8FD (SYSTEM_FLAGS + 0x9D) // Unused Flag
#define FLAG_UNUSED_0x8FE (SYSTEM_FLAGS + 0x9E) // Unused Flag
#define FLAG_UNUSED_0x8FF (SYSTEM_FLAGS + 0x9F) // Unused Flag
#define FLAG_UNUSED_0x900 (SYSTEM_FLAGS + 0xA0) // Unused Flag
#define FLAG_UNUSED_0x901 (SYSTEM_FLAGS + 0xA1) // Unused Flag
#define FLAG_UNUSED_0x902 (SYSTEM_FLAGS + 0xA2) // Unused Flag
#define FLAG_UNUSED_0x903 (SYSTEM_FLAGS + 0xA3) // Unused Flag
#define FLAG_UNUSED_0x904 (SYSTEM_FLAGS + 0xA4) // Unused Flag
#define FLAG_UNUSED_0x905 (SYSTEM_FLAGS + 0xA5) // Unused Flag
#define FLAG_UNUSED_0x906 (SYSTEM_FLAGS + 0xA6) // Unused Flag
#define FLAG_UNUSED_0x907 (SYSTEM_FLAGS + 0xA7) // Unused Flag
#define FLAG_UNUSED_0x908 (SYSTEM_FLAGS + 0xA8) // Unused Flag
#define FLAG_UNUSED_0x909 (SYSTEM_FLAGS + 0xA9) // Unused Flag
#define FLAG_UNUSED_0x90A (SYSTEM_FLAGS + 0xAA) // Unused Flag
#define FLAG_UNUSED_0x90B (SYSTEM_FLAGS + 0xAB) // Unused Flag
#define FLAG_UNUSED_0x90C (SYSTEM_FLAGS + 0xAC) // Unused Flag
#define FLAG_UNUSED_0x90D (SYSTEM_FLAGS + 0xAD) // Unused Flag
#define FLAG_UNUSED_0x90E (SYSTEM_FLAGS + 0xAE) // Unused Flag
#define FLAG_UNUSED_0x90F (SYSTEM_FLAGS + 0xAF) // Unused Flag
#define FLAG_UNUSED_0x910 (SYSTEM_FLAGS + 0xB0) // Unused Flag
#define FLAG_UNUSED_0x911 (SYSTEM_FLAGS + 0xB1) // Unused Flag
#define FLAG_UNUSED_0x912 (SYSTEM_FLAGS + 0xB2) // Unused Flag
#define FLAG_UNUSED_0x913 (SYSTEM_FLAGS + 0xB3) // Unused Flag
#define FLAG_UNUSED_0x914 (SYSTEM_FLAGS + 0xB4) // Unused Flag
#define FLAG_UNUSED_0x915 (SYSTEM_FLAGS + 0xB5) // Unused Flag
#define FLAG_UNUSED_0x916 (SYSTEM_FLAGS + 0xB6) // Unused Flag
#define FLAG_UNUSED_0x917 (SYSTEM_FLAGS + 0xB7) // Unused Flag
#define FLAG_UNUSED_0x918 (SYSTEM_FLAGS + 0xB8) // Unused Flag
#define FLAG_UNUSED_0x919 (SYSTEM_FLAGS + 0xB9) // Unused Flag
#define FLAG_UNUSED_0x91A (SYSTEM_FLAGS + 0xBA) // Unused Flag
#define FLAG_UNUSED_0x91B (SYSTEM_FLAGS + 0xBB) // Unused Flag
#define FLAG_UNUSED_0x91C (SYSTEM_FLAGS + 0xBC) // Unused Flag
#define FLAG_UNUSED_0x91D (SYSTEM_FLAGS + 0xBD) // Unused Flag
#define FLAG_UNUSED_0x91E (SYSTEM_FLAGS + 0xBE) // Unused Flag
#define FLAG_UNUSED_0x91F (SYSTEM_FLAGS + 0xBF) // Unused Flag //0x91F
//if this last flag's name is edited, make sure to also change the name in the line "DAILY_FLAGS_START" below
// Daily Flags
// These flags are cleared once per day
// The start and end are byte-aligned because the flags are cleared in byte increments
#define DAILY_FLAGS_START (FLAG_UNUSED_0x91F + (8 - FLAG_UNUSED_0x91F % 8))
#define FLAG_UNUSED_0x920 (DAILY_FLAGS_START + 0x0) // Unused Flag
#define FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY (DAILY_FLAGS_START + 0x1)
#define FLAG_DAILY_SECRET_BASE (DAILY_FLAGS_START + 0x2)
#define FLAG_UNUSED_0x923 (DAILY_FLAGS_START + 0x3) // Unused Flag
#define FLAG_UNUSED_0x924 (DAILY_FLAGS_START + 0x4) // Unused Flag
#define FLAG_UNUSED_0x925 (DAILY_FLAGS_START + 0x5) // Unused Flag
#define FLAG_UNUSED_0x926 (DAILY_FLAGS_START + 0x6) // Unused Flag
#define FLAG_UNUSED_0x927 (DAILY_FLAGS_START + 0x7) // Unused Flag
#define FLAG_UNUSED_0x928 (DAILY_FLAGS_START + 0x8) // Unused Flag
#define FLAG_UNUSED_0x929 (DAILY_FLAGS_START + 0x9) // Unused Flag
#define FLAG_DAILY_PICKED_LOTO_TICKET (DAILY_FLAGS_START + 0xA)
#define FLAG_DAILY_ROUTE_114_RECEIVED_BERRY (DAILY_FLAGS_START + 0xB)
#define FLAG_DAILY_ROUTE_111_RECEIVED_BERRY (DAILY_FLAGS_START + 0xC)
#define FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY (DAILY_FLAGS_START + 0xD)
#define FLAG_DAILY_ROUTE_120_RECEIVED_BERRY (DAILY_FLAGS_START + 0xE)
#define FLAG_DAILY_LILYCOVE_RECEIVED_BERRY (DAILY_FLAGS_START + 0xF)
#define FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY (DAILY_FLAGS_START + 0x10)
#define FLAG_DAILY_BERRY_MASTERS_WIFE (DAILY_FLAGS_START + 0x11)
#define FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY (DAILY_FLAGS_START + 0x12)
#define FLAG_UNUSED_0x933 (DAILY_FLAGS_START + 0x13) // Unused Flag
#define FLAG_DAILY_APPRENTICE_LEAVES (DAILY_FLAGS_START + 0x14)
#define FLAG_UNUSED_0x935 (DAILY_FLAGS_START + 0x15) // Unused Flag
#define FLAG_UNUSED_0x936 (DAILY_FLAGS_START + 0x16) // Unused Flag
#define FLAG_UNUSED_0x937 (DAILY_FLAGS_START + 0x17) // Unused Flag
#define FLAG_UNUSED_0x938 (DAILY_FLAGS_START + 0x18) // Unused Flag
#define FLAG_UNUSED_0x939 (DAILY_FLAGS_START + 0x19) // Unused Flag
#define FLAG_UNUSED_0x93A (DAILY_FLAGS_START + 0x1A) // Unused Flag
#define FLAG_UNUSED_0x93B (DAILY_FLAGS_START + 0x1B) // Unused Flag
#define FLAG_UNUSED_0x93C (DAILY_FLAGS_START + 0x1C) // Unused Flag
#define FLAG_UNUSED_0x93D (DAILY_FLAGS_START + 0x1D) // Unused Flag
#define FLAG_UNUSED_0x93E (DAILY_FLAGS_START + 0x1E) // Unused Flag
#define FLAG_UNUSED_0x93F (DAILY_FLAGS_START + 0x1F) // Unused Flag
#define FLAG_UNUSED_0x940 (DAILY_FLAGS_START + 0x20) // Unused Flag
#define FLAG_UNUSED_0x941 (DAILY_FLAGS_START + 0x21) // Unused Flag
#define FLAG_UNUSED_0x942 (DAILY_FLAGS_START + 0x22) // Unused Flag
#define FLAG_UNUSED_0x943 (DAILY_FLAGS_START + 0x23) // Unused Flag
#define FLAG_UNUSED_0x944 (DAILY_FLAGS_START + 0x24) // Unused Flag
#define FLAG_UNUSED_0x945 (DAILY_FLAGS_START + 0x25) // Unused Flag
#define FLAG_UNUSED_0x946 (DAILY_FLAGS_START + 0x26) // Unused Flag
#define FLAG_UNUSED_0x947 (DAILY_FLAGS_START + 0x27) // Unused Flag
#define FLAG_UNUSED_0x948 (DAILY_FLAGS_START + 0x28) // Unused Flag
#define FLAG_UNUSED_0x949 (DAILY_FLAGS_START + 0x29) // Unused Flag
#define FLAG_UNUSED_0x94A (DAILY_FLAGS_START + 0x2A) // Unused Flag
#define FLAG_UNUSED_0x94B (DAILY_FLAGS_START + 0x2B) // Unused Flag
#define FLAG_UNUSED_0x94C (DAILY_FLAGS_START + 0x2C) // Unused Flag
#define FLAG_UNUSED_0x94D (DAILY_FLAGS_START + 0x2D) // Unused Flag
#define FLAG_UNUSED_0x94E (DAILY_FLAGS_START + 0x2E) // Unused Flag
#define FLAG_UNUSED_0x94F (DAILY_FLAGS_START + 0x2F) // Unused Flag
#define FLAG_UNUSED_0x950 (DAILY_FLAGS_START + 0x30) // Unused Flag
#define FLAG_UNUSED_0x951 (DAILY_FLAGS_START + 0x31) // Unused Flag
#define FLAG_UNUSED_0x952 (DAILY_FLAGS_START + 0x32) // Unused Flag
#define FLAG_UNUSED_0x953 (DAILY_FLAGS_START + 0x33) // Unused Flag
#define FLAG_UNUSED_0x954 (DAILY_FLAGS_START + 0x34) // Unused Flag
#define FLAG_UNUSED_0x955 (DAILY_FLAGS_START + 0x35) // Unused Flag
#define FLAG_UNUSED_0x956 (DAILY_FLAGS_START + 0x36) // Unused Flag
#define FLAG_UNUSED_0x957 (DAILY_FLAGS_START + 0x37) // Unused Flag
#define FLAG_UNUSED_0x958 (DAILY_FLAGS_START + 0x38) // Unused Flag
#define FLAG_UNUSED_0x959 (DAILY_FLAGS_START + 0x39) // Unused Flag
#define FLAG_UNUSED_0x95A (DAILY_FLAGS_START + 0x3A) // Unused Flag
#define FLAG_UNUSED_0x95B (DAILY_FLAGS_START + 0x3B) // Unused Flag
#define FLAG_UNUSED_0x95C (DAILY_FLAGS_START + 0x3C) // Unused Flag
#define FLAG_UNUSED_0x95D (DAILY_FLAGS_START + 0x3D) // Unused Flag
#define FLAG_UNUSED_0x95E (DAILY_FLAGS_START + 0x3E) // Unused Flag
#define FLAG_UNUSED_0x95F (DAILY_FLAGS_START + 0x3F) // Unused Flag
//if this last flag's name is edited, make sure to also change the name in the line "DAILY_FLAGS_END" below
#define DAILY_FLAGS_END (FLAG_UNUSED_0x95F + (7 - FLAG_UNUSED_0x95F % 8))
#define NUM_DAILY_FLAGS (DAILY_FLAGS_END - DAILY_FLAGS_START + 1)
#define FLAGS_COUNT (DAILY_FLAGS_END + 1)
// Special Flags (Stored in EWRAM (sSpecialFlags), not in the SaveBlock)
#define SPECIAL_FLAGS_START 0x4000
#define FLAG_HIDE_MAP_NAME_POPUP (SPECIAL_FLAGS_START + 0x0)
#define FLAG_DONT_TRANSITION_MUSIC (SPECIAL_FLAGS_START + 0x1)
#define FLAG_ENABLE_MULTI_CORRIDOR_DOOR (SPECIAL_FLAGS_START + 0x2)
#define FLAG_SPECIAL_FLAG_UNUSED_0x4003 (SPECIAL_FLAGS_START + 0x3) // Unused Flag
#define FLAG_STORING_ITEMS_IN_PYRAMID_BAG (SPECIAL_FLAGS_START + 0x4)
// FLAG_SPECIAL_FLAG_0x4005 - 0x407F also exist and are unused
#define SPECIAL_FLAGS_END (SPECIAL_FLAGS_START + 0x7F)
#define NUM_SPECIAL_FLAGS (SPECIAL_FLAGS_END - SPECIAL_FLAGS_START + 1)
// Temp flag aliases
#define FLAG_TEMP_SKIP_GABBY_INTERVIEW FLAG_TEMP_1
#define FLAG_TEMP_REGICE_PUZZLE_STARTED FLAG_TEMP_2
#define FLAG_TEMP_REGICE_PUZZLE_FAILED FLAG_TEMP_3
#define FLAG_TEMP_HIDE_MIRAGE_ISLAND_BERRY_TREE FLAG_TEMP_11
#endif // GUARD_CONSTANTS_FLAGS_H