1 Rearrange And Organise Flags
judicornadamsfoster edited this page 2026-05-17 18:24:24 +01:00

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