diff options
Diffstat (limited to 'include/constants')
| -rw-r--r-- | include/constants/flags.h | 860 | 
1 files changed, 786 insertions, 74 deletions
| diff --git a/include/constants/flags.h b/include/constants/flags.h index 835d85966..eff147fb8 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -1,92 +1,804 @@  #ifndef GUARD_CONSTANTS_FLAGS_H  #define GUARD_CONSTANTS_FLAGS_H +// temporary flags +// These temporary 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 FLAG_TEMP_1   0x1 +#define FLAG_TEMP_2   0x2 +#define FLAG_TEMP_3   0x3 +#define FLAG_TEMP_4   0x4 +#define FLAG_TEMP_5   0x5 +#define FLAG_TEMP_6   0x6 +#define FLAG_TEMP_7   0x7 +#define FLAG_TEMP_8   0x8 +#define FLAG_TEMP_9   0x9 +#define FLAG_TEMP_A   0xA +#define FLAG_TEMP_B   0xB +#define FLAG_TEMP_C   0xC +#define FLAG_TEMP_D   0xD +#define FLAG_TEMP_E   0xE +#define FLAG_TEMP_F   0xF +#define FLAG_TEMP_10  0x10 +#define FLAG_TEMP_11  0x11 +#define FLAG_TEMP_12  0x12 +#define FLAG_TEMP_13  0x13 +#define FLAG_TEMP_14  0x14 +#define FLAG_TEMP_15  0x15 +#define FLAG_TEMP_16  0x16 +#define FLAG_TEMP_17  0x17 +#define FLAG_TEMP_18  0x18 +#define FLAG_TEMP_19  0x19 +#define FLAG_TEMP_1A  0x1A +#define FLAG_TEMP_1B  0x1B +#define FLAG_TEMP_1C  0x1C +#define FLAG_TEMP_1D  0x1D +#define FLAG_TEMP_1E  0x1E +#define FLAG_TEMP_1F  0x1F +// FLAG_TEMP_20 was supposed to be used as a temporary flag (see above), but there +// was either an oversight or off-by-one error. +#define FLAG_TEMP_20  0x20 +#define FLAG_VICTORY_ROAD_ROCK FLAG_TEMP_20 +  // scripts -#define FLAG_PENDING_DAYCARE_EGG 0x86 +#define FLAG_SET_WALL_CLOCK                 0x51 +#define FLAG_RESCUED_BIRCH                  0x52 + +#define FLAG_LINK_CONTEST_ROOM_POKEBALL     0x56 +#define FLAG_MET_RIVAL_MOM                  0x57 +#define FLAG_BIRCH_AIDE_MET                 0x58 +#define FLAG_DECLINED_BIKE                  0x59 +#define FLAG_RECEIVED_BIKE                  0x5A + +#define FLAG_RECEIVED_WAILMER_PAIL          0x5E +#define FLAG_RECEIVED_POKEBLOCK_CASE        0x5F +#define FLAG_RECEIVED_SECRET_POWER          0x60 + +#define FLAG_TV_EXPLAINED                   0x62 +#define FLAG_MAUVILLE_GYM_BARRIERS_STATE    0x63 +#define FLAG_MOSSDEEP_GYM_SWITCH_1          0x64 +#define FLAG_MOSSDEEP_GYM_SWITCH_2          0x65 +#define FLAG_MOSSDEEP_GYM_SWITCH_3          0x66 +#define FLAG_MOSSDEEP_GYM_SWITCH_4          0x67 + +#define FLAG_OCEANIC_MUSEUM_MET_REPORTER    0x69 +#define FLAG_RECEIVED_HM04                  0x6A +#define FLAG_RECEIVED_HM06                  0x6B + +#define FLAG_RECEIVED_HM05                  0x6D +#define FLAG_RECEIVED_HM02                  0x6E +#define FLAG_MT_PYRE_ORB_STOLEN             0x6F +#define FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE 0x70 +#define FLAG_LEGENDARY_BATTLE_COMPLETED     0x71 // defeated or caught Groudon/Kyogre in Cave of Origin + +#define FLAG_RECEIVED_METEORITE             0x73 +#define FLAG_ADVENTURE_STARTED              0x74 // received pokedex and set loose + +#define FLAG_MET_HIDDEN_POWER_GIVER         0x76 + +#define FLAG_RECEIVED_TM31                  0x79 +#define FLAG_RECEIVED_HM03                  0x7A +#define FLAG_RECEIVED_HM08                  0x7B + +#define FLAG_DEFEATED_WALLY_VICTORY_ROAD    0x7E +#define FLAG_MET_PRETTY_PETAL_SHOP_OWNER    0x7F + +#define FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN 0x81 +#define FLAG_DEFEATED_RIVAL_ROUTE103        0x82 +#define FLAG_RECEIVED_DOLL_LANETTE          0x83 +#define FLAG_RECEIVED_POTION_OLDALE         0x84 +#define FLAG_RECEIVED_AMULET_COIN           0x85 +#define FLAG_PENDING_DAYCARE_EGG            0x86 +#define FLAG_THANKED_FOR_PLAYING_WITH_WALLY 0x87 + +#define FLAG_RECEIVED_HM01                  0x89 + +#define FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY  0x8B +#define FLAG_RECEIVED_6_SODA_POP            0x8C +#define FLAG_DEFEATED_SEASHORE_HOUSE_TRAINERS 0x8D +#define FLAG_DEVON_GOODS_STOLEN             0x8E +#define FLAG_RECOVERED_DEVON_GOODS          0x8F +#define FLAG_RETURNED_DEVON_GOODS           0x90 + +#define FLAG_MR_BRINEY_SAILING_INTRO        0x93 +#define FLAG_DOCK_REJECTED_DEVON_GOODS      0x94 +#define FLAG_DELIVERED_DEVON_GOODS          0x95 +#define FLAG_RECEIVED_CONTEST_PASS          0x96 +#define FLAG_RECEIVED_CASTFORM              0x97 +#define FLAG_RECEIVED_SUPER_ROD             0x98 +#define FLAG_RUSTBORO_NPC_TRADE_COMPLETED   0x99 +#define FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED 0x9A +#define FLAG_FORTREE_NPC_TRADE_COMPLETED    0x9B + +#define FLAG_UNKNOWN_9F                     0x9F +#define FLAG_COOL_PAINTING_MADE             0xA0 +#define FLAG_BEAUTY_PAINTING_MADE           0xA1 +#define FLAG_CUTE_PAINTING_MADE             0xA2 +#define FLAG_SMART_PAINTING_MADE            0xA3 +#define FLAG_TOUGH_PAINTING_MADE            0xA4 +#define FLAG_RECEIVED_TM39                  0xA5 +#define FLAG_RECEIVED_TM08                  0xA6 +#define FLAG_RECEIVED_TM34                  0xA7 +#define FLAG_RECEIVED_TM50                  0xA8 +#define FLAG_RECEIVED_TM42                  0xA9 +#define FLAG_RECEIVED_TM40                  0xAA +#define FLAG_RECEIVED_TM04                  0xAB +#define FLAG_RECEIVED_TM03                  0xAC +#define FLAG_DECORATION_1                   0xAD +#define FLAG_DECORATION_2                   0xAE +#define FLAG_DECORATION_3                   0xAF +#define FLAG_DECORATION_4                   0xB0 +#define FLAG_DECORATION_5                   0xB1 +#define FLAG_DECORATION_6                   0xB2 +#define FLAG_DECORATION_7                   0xB3 +#define FLAG_DECORATION_8                   0xB4 +#define FLAG_DECORATION_9                   0xB5 +#define FLAG_DECORATION_10                  0xB6 +#define FLAG_DECORATION_11                  0xB7 +#define FLAG_DECORATION_12                  0xB8 +#define FLAG_DECORATION_13                  0xB9 +#define FLAG_DECORATION_14                  0xBA +#define FLAG_DECORATION_15                  0xBB +#define FLAG_RECEIVED_POKENAV               0xBC +#define FLAG_DELIVERED_STEVEN_LETTER        0xBD +#define FLAG_DEFEATED_WALLY_MAUVILLE        0xBE + +#define FLAG_RECEIVED_SUN_STONE_MOSSDEEP    0xC0 +#define FLAG_WALLY_SPEECH                   0xC1 +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1  0xC2 +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2  0xC3 +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3  0xC4 +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4  0xC5 +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5  0xC6 +#define FLAG_RUSTURF_TUNNEL_OPENED          0xC7 +#define FLAG_RECEIVED_RED_SCARF             0xC8 +#define FLAG_RECEIVED_BLUE_SCARF            0xC9 +#define FLAG_RECEIVED_PINK_SCARF            0xCA +#define FLAG_RECEIVED_GREEN_SCARF           0xCB +#define FLAG_RECEIVED_YELLOW_SCARF          0xCC + +#define FLAG_ECOUNTERED_LATIAS_OR_LATIOS    0xCE + +#define FLAG_RECEIVED_BASEMENT_KEY          0xD0 +#define FLAG_RECEIVED_TM24                  0xD1 + +#define FLAG_RECEIVED_RED_OR_BLUE_ORB       0xD4 +#define FLAG_RECEIVED_PREMIER_BALL_RUSTBORO 0xD5 + +#define FLAG_ROUTE104_PROTOTYPE_COMPLETED_1 0xD7 +#define FLAG_ROUTE104_PROTOTYPE_COMPLETED_2 0xD8 +#define FLAG_MET_DIVING_TREASURE_HUNTER     0xD9 +#define FLAG_MET_WAILMER_TRAINER            0xDA +#define FLAG_EVIL_LEADER_PLEASE_STOP        0xDB + +#define FLAG_RECEIVED_GO_GOGGLES            0xDD +#define FLAG_WINGULL_SENT_ON_ERRAND         0xDE +#define FLAG_RECEIVED_MENTAL_HERB           0xDF +#define FLAG_WINGULL_DELIVERED_MAIL         0xE0 +#define FLAG_RECEIVED_20_COINS              0xE1 +#define FLAG_RECEIVED_STARTER_DOLL          0xE2 +#define FLAG_RECEIVED_GOOD_ROD              0xE3 +#define FLAG_REGI_DOORS_OPENED              0xE4 +#define FLAG_RECEIVED_TM27                  0xE5 +#define FLAG_RECEIVED_TM36                  0xE6 +#define FLAG_RECEIVED_TM05                  0xE7 +#define FLAG_RECEIVED_TM19                  0xE8 + +#define FLAG_RECEIVED_TM44                  0xEA +#define FLAG_RECEIVED_TM45                  0xEB +#define FLAG_RECEIVED_GLASS_ORNAMENT        0xEC +#define FLAG_RECEIVED_SILVER_SHIELD         0xED +#define FLAG_RECEIVED_GOLD_SHIELD           0xEE +#define FLAG_USED_STORAGE_KEY               0xEF +#define FLAG_USED_ROOM_1_KEY                0xF0 +#define FLAG_USED_ROOM_2_KEY                0xF1 +#define FLAG_USED_ROOM_4_KEY                0xF2 +#define FLAG_USED_ROOM_6_KEY                0xF3 +#define FLAG_MET_PROF_COSMO                 0xF4 +#define FLAG_RECEIVED_WAILMER_DOLL          0xF5 +#define FLAG_RECEIVED_CHESTO_BERRY_ROUTE104 0xF6 +#define FLAG_DEFEATED_SS_TIDAL_TRAINERS     0xF7 +#define FLAG_RECEIVED_SPELON_BERRY          0xF8 +#define FLAG_RECEIVED_PAMTRE_BERRY          0xF9 +#define FLAG_RECEIVED_WATMEL_BERRY          0xFA +#define FLAG_RECEIVED_DURIN_BERRY           0xFB +#define FLAG_RECEIVED_BELUE_BERRY           0xFC + +#define FLAG_RECEIVED_CHARCOAL              0xFE +#define FLAG_LATIOS_OR_LATIAS_ROAMING       0xFF +#define FLAG_RECEIVED_REPEAT_BALL           0x100 +#define FLAG_RECEIVED_OLD_ROD               0x101 +#define FLAG_RECEIVED_COIN_CASE             0x102 +#define FLAG_RETURNED_RED_OR_BLUE_ORB       0x103 +#define FLAG_RECEIVED_TM49                  0x104 +#define FLAG_RECEIVED_TM28                  0x105 +#define FLAG_RECEIVED_TM09                  0x106 +#define FLAG_ENTERED_ELITE_FOUR             0x107 +#define FLAG_RECEIVED_TM10                  0x108 +#define FLAG_RECEIVED_TM41                  0x109 +#define FLAG_RECEIVED_LAVARIDGE_EGG         0x10A +#define FLAG_RECEIVED_FOSSIL_MON            0x10B +#define FLAG_DECORATION_16                  0x10C +#define FLAG_RECEIVED_TM46                  0x10D +#define FLAG_CONTEST_SKETCH_CREATED         0x10E +#define FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE  0x10F +#define FLAG_RECEIVED_EXP_SHARE             0x110 +#define FLAG_POKERUS_EXPLAINED              0x111 +#define FLAG_RECEIVED_RUNNING_SHOES         0x112 +#define FLAG_RECEIVED_QUICK_CLAW            0x113 +#define FLAG_RECEIVED_KINGS_ROCK            0x114 +#define FLAG_RECEIVED_MACHO_BRACE           0x115 +#define FLAG_RECEIVED_SOOTHE_BELL           0x116 +#define FLAG_RECEIVED_WHITE_HERB            0x117 +#define FLAG_RECEIVED_SOFT_SAND             0x118 + +#define FLAG_RECEIVED_CLEANSE_TAG           0x11A +#define FLAG_RECEIVED_FOCUS_BAND            0x11B +#define FLAG_DECLINED_WALLY_BATTLE_MAUVILLE 0x11C +#define FLAG_RECEIVED_DEVON_SCOPE           0x11D +#define FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE 0x11E +#define FLAG_MET_DEVON_EMPLOYEE             0x11F +#define FLAG_MET_RIVAL_RUSTBORO             0x120 +#define FLAG_RECEIVED_SILK_SCARF            0x121 +#define FLAG_NOT_READY_FOR_BATTLE_ROUTE120  0x122 +#define FLAG_RECEIVED_SS_TICKET             0x123 +#define FLAG_MET_RIVAL_LILYCOVE             0x124 +#define FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE 0x125 +#define FLAG_EXCHANGED_SCANNER              0x126 +#define FLAG_KECLEON_FLED_FORTREE           0x127 +#define FLAG_PETALBURG_MART_EXPANDED_ITEMS  0x128 +#define FLAG_RECEIVED_MIRACLE_SEED          0x129 +#define FLAG_RECEIVED_BELDUM                0x12A +#define FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK  0x12B +#define FLAG_MET_FANCLUB_YOUNGER_BROTHER    0x12C +#define FLAG_RIVAL_LEFT_FOR_ROUTE103        0x12D +#define FLAG_OMIT_DIVE_FROM_STEVEN_LETTER   0x12E + +#define FLAG_UNKNOWN_2B8                    0x2B8 // TODO: pokemon storage system? + +#define FLAG_HIDE_BIRCH_STARTERS_BAG        0x2BC + +#define FLAG_HIDE_BIRCH_BATTLE_POOCHYENA    0x2D0 +#define FLAG_HIDE_BIRCH_IN_LAB              0x2D1 +#define FLAG_HIDE_MAY_UPSTAIRS              0x2D2 +#define FLAG_HIDE_RIVAL_ROUTE103            0x2D3 +#define FLAG_HIDE_DEVON_PETALBURG_WOODS     0x2D4 +#define FLAG_HIDE_EVIL_TEAM_PETALBURG_WOODS 0x2D5 +#define FLAG_HIDE_WALLY_PETALBURG           0x2D6 +#define FLAG_HIDE_STEVENS_LETTER            0x2D7 +#define FLAG_HIDE_WALLY_MOM_PETALBURG_1     0x2D8 + +#define FLAG_HIDE_GRUNT_RUSTBORO            0x2DB +#define FLAG_HIDE_DEVON_RUSTBORO            0x2DC +#define FLAG_HIDE_SLEEPING_MON_SEAFLOOR_CAVERN 0x2DD +#define FLAG_HIDE_NORMAN_LITTLEROOT         0x2DE + +#define FLAG_UNKNOWN_2E1                    0x2E1 +#define FLAG_HIDE_MR_BRINEY_ROUTE104        0x2E2 +#define FLAG_HIDE_MR_BRINEY_ROUTE104_HOUSE  0x2E3 +#define FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN    0x2E4 +#define FLAG_HIDE_MR_BRINEY_ROUTE109        0x2E5 +#define FLAG_HIDE_MR_BRINEY_BOAT_ROUTE104   0x2E6 +#define FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD    0x2E7 +#define FLAG_HIDE_MR_BRINEY_BOAT_ROUTE109   0x2E8 + +#define FLAG_UNKNOWN_2EB                    0x2EB +#define FLAG_UNKNOWN_2EC                    0x2EC +#define FLAG_UNKNOWN_2ED                    0x2ED +#define FLAG_HIDE_POOCHYENA_ROUTE101        0x2EE +#define FLAG_HIDE_WALLY_DEFEATED_VICTORY_ROAD 0x2EF +#define FLAG_HIDE_MOM_LITTLEROOT            0x2F0 + +#define FLAG_HIDE_MACHOKE_MOVER_1           0x2F2 +#define FLAG_HIDE_MACHOKE_MOVER_2           0x2F3 +#define FLAG_UNKNOWN_2F4                    0x2F4 +#define FLAG_HIDE_MOM_UPSTAIRS              0x2F5 +#define FLAG_HIDE_BRENDAN_MOM_DOWNSTAIRS    0x2F6 +#define FLAG_HIDE_MAY_MOM_DOWNSTAIRS        0x2F7 +#define FLAG_HIDE_BRENDAN_UPSTAIRS          0x2F8 +#define FLAG_HIDE_MOVING_TRUCK_BRENDAN      0x2F9 +#define FLAG_HIDE_MOVING_TRUCK_MAY          0x2FA + +#define FLAG_HIDE_VICTOR_WINSTRATE          0x300 +#define FLAG_HIDE_VICTORIA_WINSTRATE        0x301 +#define FLAG_HIDE_VIVI_WINSTRATE            0x302 +#define FLAG_HIDE_VICKI_WINSTRATE           0x303 +#define FLAG_HIDE_NORMAN_PETALBURG_GYM      0x304 +#define FLAG_HIDE_RAYQUAZA                  0x305 +#define FLAG_HIDE_LILYCOVE_CONTEST_ATTENDENT_1 0x306 +#define FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR   0x307 +#define FLAG_HIDE_LILYCOVE_MUSEUM_PAINTING_LADY 0x308 +#define FLAG_HIDE_LILYCOVE_MUSEUM_PAINTING_GIRL 0x309 +#define FLAG_HIDE_LILYCOVE_MUSEUM_PAINTING_MAN 0x30A +#define FLAG_HIDE_LILYCOVE_MUSEUM_PAINTER   0x30B +#define FLAG_HIDE_LILYCOVE_MUSEUM_VISITORS  0x30C +#define FLAG_HIDE_PETALBURG_GYM_GUIDE       0x30D +#define FLAG_UNKNOWN_30E                    0x30E +#define FLAG_UNKNOWN_30F                    0x30F +#define FLAG_HIDE_BRENDAN_MOM               0x310 +#define FLAG_HIDE_MAY_MOM                   0x311 + +#define FLAG_HIDE_FANCLUB_OLD_LADY          0x315 +#define FLAG_HIDE_FANCLUB_BOY               0x316 +#define FLAG_HIDE_FANCLUB_LITTLE_BOY        0x317 +#define FLAG_HIDE_FANCLUB_LADY              0x318 + +#define FLAG_HIDE_GABBY_AND_TY_ROUTE111_1   0x31C +#define FLAG_HIDE_GABBY_AND_TY_ROUTE118_1   0x31D +#define FLAG_HIDE_GABBY_AND_TY_ROUTE120_1   0x31E +#define FLAG_HIDE_GABBY_AND_TY_ROUTE111_2   0x31F +#define FLAG_HIDE_CONTEST_REPORTER_FALLARBOR  0x320 +#define FLAG_HIDE_CONTEST_REPORTER_VERDANTURF 0x321 +#define FLAG_HIDE_CONTEST_REPORTER_LILYCOVE   0x322 +#define FLAG_HIDE_CONTEST_REPORTER_SLATEPORT  0x323 +#define FLAG_HIDE_WALLY_MAUVILLE            0x324 +#define FLAG_HIDE_WALLY_FATHER_MAUVILLE     0x325 +#define FLAG_HIDE_WALLY_WANDAS_HOUSE        0x326 +#define FLAG_HIDE_BOYFRIEND_RUSTURF_TUNNEL  0x327 +#define FLAG_HIDE_BOYFRIEND_WANDAS_HOUSE    0x328 +#define FLAG_HIDE_WALLY_FATHER_WANDAS_HOUSE 0x329 + +#define FLAG_HIDE_WALLY_FATHER_PETALBURG    0x32B +#define FLAG_HIDE_WALLY_MOTHER_PETALBURG    0x32C +#define FLAG_HIDE_LOST_GLASSES_MAN          0x32D +#define FLAG_HIDE_RIVAL_RUSTBORO            0x32E +#define FLAG_HIDE_WALLACE_SOOTOPOLIS_GYM    0x32F +#define FLAG_HIDE_WALLACE_SOOTOPOLIS        0x330 + +#define FLAG_HIDE_GRUNTS_BLOCKING_CABLE_CAR 0x333 + +#define FLAG_HIDE_GRUNT_1_BLOCKING_HIDEOUT  0x335 +#define FLAG_HIDE_GRUNT_2_BLOCKING_HIDEOUT  0x336 +#define FLAG_UNKNOWN_337                    0x337 + +#define FLAG_HIDE_LEGEND_MON_CAVE_OF_ORIGIN 0x339 + +#define FLAG_HIDE_EVIL_LEADER_SEAFLOOR_CAVERN  0x33C +#define FLAG_HIDE_OTHER_LEADER_SEAFLOOR_CAVERN 0x33D + +#define FLAG_HIDE_OTHER_TEAM_GRUNTS_SEAFLOOR_CAVERN 0x33F + +#define FLAG_HIDE_STEVEN_GRANITE_CAVE       0x341 +#define FLAG_HIDE_STEVEN_ROUTE128           0x342 +#define FLAG_HIDE_GABBY_AND_TY_SLATEPORT    0x343 + +#define FLAG_HIDE_STERN_SLATEPORT           0x348 +#define FLAG_HIDE_STERN_SLATEPORT_HARBOR    0x349 + +#define FLAG_UNKNOWN_34B                    0x34B +#define FLAG_UNKNOWN_34C                    0x34C +#define FLAG_HIDE_GRUNT_1_SLATEPORT_HARBOR  0x34D +#define FLAG_HIDE_GRUNT_2_SLATEPORT_HARBOR  0x34E +#define FLAG_UNKNOWN_34F                    0x34F +#define FLAG_HIDE_SUBMARINE_SHADOW_SLATEPORT_HARBOR 0x350 +#define FLAG_HIDE_MAY_PICHU_DOLL            0x351 + +#define FLAG_HIDE_RIVAL_ROUTE119            0x353 +#define FLAG_HIDE_GRUNTS_LILYCOVE           0x354 + +#define FLAG_HIDE_SOOTOPOLIS_RESIDENTS      0x356 +#define FLAG_HIDE_CAVE_OF_ORIGIN_ENTRANCE_WOMAN_1 0x357 +#define FLAG_HIDE_CAVE_OF_ORIGIN_ENTRANCE_WOMAN_2 0x358 + +#define FLAG_HIDE_WALLY_BATTLE_VICTORY_ROAD 0x35A +#define FLAG_HIDE_AWAKENED_MON_SEAFLOOR_CAVERN 0x35B +#define FLAG_HIDE_SS_TIDAL_SLATEPORT_HARBOR 0x35C +#define FLAG_HIDE_SS_TIDAL_LILYCOVE_HARBOR  0x35D + +#define FLAG_HIDE_WALLY_PETALBURG_GYM       0x362 +#define FLAG_UNKNOWN_363                    0x363 +#define FLAG_HIDE_FAT_MAN_LITTLEROOT        0x364 +#define FLAG_HIDE_BRINEY_SLATEPORT_SHIPYARD 0x365 +#define FLAG_HIDE_LANETTE                   0x366 +#define FLAG_HIDE_LANETTE_FALLARBOR         0x367 +#define FLAG_HIDE_TRICKMASTER_ENTRANCE      0x368 + +#define FLAG_HIDE_MT_CHIMNEY_PEOPLE         0x36D +#define FLAG_HIDE_GRUNT_RUSTURF_TUNNEL      0x36E +#define FLAG_HIDE_BRINEY_RUSTURF_TUNNEL     0x36F +#define FLAG_HIDE_PEEKO_RUSTURF_TUNNEL      0x370 +#define FLAG_HIDE_PEEKO_BRINEY_HOUSE        0x371 +#define FLAG_HIDE_EVIL_TEAM_SLATEPORT       0x372 +#define FLAG_HIDE_EVIL_TEAM_OCEANIC_MUSEUM  0x373 +#define FLAG_HIDE_GRUNT_1_OCEANIC_MUSEUM_2F 0x374 +#define FLAG_HIDE_GRUNT_2_OCEANIC_MUSEUM_2F 0x375 +#define FLAG_HIDE_EVIL_TEAM_LEADER_OCEANIC_MUSEUM_2F 0x376 +#define FLAG_HIDE_STERN_OCEANIC_MUSEUM_2F   0x377 +#define FLAG_HIDE_BATTLE_TOWER_OPPONENT     0x378 +#define FLAG_HIDE_RIVAL_BIRCH_LAB           0x379 +#define FLAG_HIDE_EVIL_TEAM_WEATHER_INSTITUTE  0x37A +#define FLAG_HIDE_BRINEY_ROUTE116              0x37B +#define FLAG_HIDE_WEATHER_INSTITUTE_WORKERS_1F 0x37C +#define FLAG_HIDE_WEATHER_INSTITUTE_WORKERS_2F 0x37D +#define FLAG_HIDE_TUNNER_DIGGER_ROUTE116    0x37E +#define FLAG_HIDE_ARTIST_LILCOVE_CONTEST    0x37F +#define FLAG_UNKNOWN_BIRCH_380              0x380 // TODO: what should this be called? +#define FLAG_HIDE_BIRCH_ROUTE101            0x381 +#define FLAG_HIDE_BIRCH_ROUTE103            0x382 +#define FLAG_HIDE_TRICKMASTER_END           0x383 +#define FLAG_HIDE_EVIL_TEAM_ROUTE110        0x384 +#define FLAG_HIDE_GABBY_AND_TY_ROUTE118_2   0x385 +#define FLAG_HIDE_GABBY_AND_TY_ROUTE120_2   0x386 +#define FLAG_HIDE_GABBY_AND_TY_ROUTE111_3   0x387 +#define FLAG_HIDE_GABBY_AND_TY_ROUTE118_3   0x388 +#define FLAG_HIDE_WORKERS_SLATEPORT_HARBOR  0x389 +#define FLAG_HIDE_FLOWER_SHOP_WORKER_OUTSIDE 0x38A +#define FLAG_HIDE_AZURILL_FALLARBOR         0x38B +#define FLAG_HIDE_FERRY_ATTENDANT_LILYCOVE  0x38C +#define FLAG_HIDE_FERRY_SAILOR_LILYCOVE     0x38D +#define FLAG_HIDE_LATIOS_OR_LATIAS_FLYING   0x38E +#define FLAG_HIDE_LATIOS_OR_LATIAS_STATIONARY 0x38F +#define FLAG_HIDE_WATTSON_MAUVILLE          0x390 +#define FLAG_HIDE_WATTSON_MAUVILLE_GYM      0x391 +#define FLAG_HIDE_GRUNTS_ROUTE121           0x392 +#define FLAG_UNKNOWN_393                    0x393 +#define FLAG_HIDE_LEADER_MT_PYRE_SUMMIT     0x394 +#define FLAG_HIDE_GRUNTS_MT_PYRE_SUMMIT     0x395 +#define FLAG_HIDE_REPORTER_BATTLE_TOWER     0x396 +#define FLAG_HIDE_RIVAL_ROUTE110            0x397 +#define FLAG_HIDE_RIVAL_CHAMPIONS_ROOM      0x398 +#define FLAG_HIDE_BIRCH_CHAMPIONS_ROOM      0x399 +#define FLAG_HIDE_RIVAL_ON_BIKE_ROUTE110    0x39A +#define FLAG_HIDE_RIVAL_ROUTE119_ON_BIKE    0x39B +#define FLAG_HIDE_GRUNTS_HIDEOUTS           0x39C +#define FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE     0x39D +#define FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY      0x39E +#define FLAG_HIDE_OTEHR_TEAM_MT_CHIMNEY     0x39F +#define FLAG_HIDE_PROF_COSMO_FALLARBOR      0x3A0 +#define FLAG_HIDE_RIVAL_LAVARIDGE_1         0x3A1 +#define FLAG_HIDE_RIVAL_LAVARIDGE_2         0x3A2 +#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1     0x3A3 +#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2     0x3A4 +#define FLAG_HIDE_WINGULL_FORTREE_HOUSE     0x3A5 +#define FLAG_HIDE_WINGULL_MOSSDEEP_HOUSE    0x3A6 +#define FLAG_HIDE_REGIROCK                  0x3A7 +#define FLAG_HIDE_REGICE                    0x3A8 +#define FLAG_HIDE_REGISTEEL                 0x3A9 +#define FLAG_HIDE_GRUNTS_METEOR_FALLS_1F    0x3AA +#define FLAG_HIDE_OTHER_TEAM_METEOR_FALLS_1F 0x3AB +#define FLAG_HIDE_SLUDGE_BOMB_MAN_DEWFORD_HALL 0x3AC +#define FLAG_HIDE_AWARD_MAN_BATTLE_TOWER    0x3AD +#define FLAG_HIDE_PROF_COSMO_METEOR_FALLS   0x3AE +#define FLAG_HIDE_SUBMARINE_SHADOW_HIDEOUT  0x3AF +#define FLAG_HIDE_EVIL_LEADER_ROUTE128      0x3B0 +#define FLAG_HIDE_OTHER_LEADER_ROUTE128     0x3B1 +#define FLAG_HIDE_EVIL_TEAM_GRUNTS_SEAFLOOR_CAVERN 0x3B2 +#define FLAG_HIDE_DEVON_EMPLOYEE_ROUTE116   0x3B3 +#define FLAG_HIDE_TM_SALESMAN_SLATEPORT     0x3B4 +#define FLAG_HIDE_EMPLOYEE_DEVON_CORP_3F    0x3B5 +#define FLAG_HIDE_BRINEY_AND_PEEKO_SS_TIDAL 0x3B6 +#define FLAG_HIDE_TM_49_GIVER_SS_TIDAL      0x3B7 +#define FLAG_HIDE_TOOK_SHOAL_SALT_1         0x3B8 +#define FLAG_HIDE_TOOK_SHOAL_SALT_2         0x3B9 +#define FLAG_HIDE_TOOK_SHOAL_SALT_3         0x3BA +#define FLAG_HIDE_TOOK_SHOAL_SALT_4         0x3BB +#define FLAG_HIDE_TOOK_SHOAL_SHELL_1        0x3BC +#define FLAG_HIDE_TOOK_SHOAL_SHELL_2        0x3BD +#define FLAG_HIDE_TOOK_SHOAL_SHELL_3        0x3BE +#define FLAG_HIDE_TOOK_SHOAL_SHELL_4        0x3BF +#define FLAG_HIDE_SECRET_POWER_MAN          0x3C0 +#define FLAG_HIDE_OCEANIC_MUSEUM_VISITORS   0x3C1 +#define FLAG_HIDE_ROOFTOP_LADY_LILYCOVE_MART 0x3C2 +#define FLAG_HIDE_ROOT_FOSSIL               0x3C3 +#define FLAG_HIDE_CLAW_FOSSIL               0x3C4 +#define FLAG_HIDE_SCARED_GRUNT_OCEANIC_MUSEUM 0x3C5 +#define FLAG_HIDE_STEVEN_ROUTE118           0x3C6 +#define FLAG_HIDE_STEVEN_STEVENS_HOUSE      0x3C7 +#define FLAG_HIDE_BELDUM_BALL_STEVENS_HOUSE 0x3C8 +#define FLAG_HIDE_KECLEON_FORTREE           0x3C9 +#define FLAG_HIDE_KECLEON_ROUTE120_1        0x3CA +#define FLAG_HIDE_RIVAL_LILYCOVE_MART       0x3CB +#define FLAG_HIDE_STEVEN_ROUTE120           0x3CC +#define FLAG_HIDE_STEVEN_SOOTOPOLIS         0x3CD +#define FLAG_HIDE_VOLTORB_1_NEW_MAUVILLE    0x3CE +#define FLAG_HIDE_VOLTORB_2_NEW_MAUVILLE    0x3CF +#define FLAG_HIDE_VOLTORB_3_NEW_MAUVILLE    0x3D0 +#define FLAG_HIDE_ELECTRODE_1_HIDEOUT       0x3D1 +#define FLAG_HIDE_ELECTRODE_2_HIDEOUT       0x3D2 +#define FLAG_HIDE_RIVAL_OLDALE_TOWN         0x3D3 +#define FLAG_HIDE_UNDERWATER_SUBMARINE_INTERACTION 0x3D4 +#define FLAG_HIDE_KECLEON_ROUTE120_2        0x3D5 +#define FLAG_HIDE_KECLEON_ROUTE120_3        0x3D6 +#define FLAG_HIDE_GIRLFRIEND_RUSTURF_TUNNEL 0x3D7 +#define FLAG_HIDE_GIRLFRIEND_WANDAS_HOUSE   0x3D8 +#define FLAG_HIDE_KECLEON_ROUTE120_4        0x3D9 +#define FLAG_HIDE_KECLEON_ROUTE120_5        0x3DA +#define FLAG_HIDE_KECLEON_ROUTE120_6        0x3DB +#define FLAG_HIDE_KECLEON_ROUTE120_7        0x3DC +#define FLAG_HIDE_KECLEON_ROUTE119_1        0x3DD +#define FLAG_HIDE_KECLEON_ROUTE119_2        0x3DE +#define FLAG_HIDE_BOY_ROUTE101              0x3DF + +#define FLAG_ITEM_ROUTE102_1                0x3E8 +#define FLAG_ITEM_ROUTE116_1                0x3E9 +#define FLAG_ITEM_ROUTE104_1                0x3EA +#define FLAG_ITEM_ROUTE105_1                0x3EB +#define FLAG_ITEM_ROUTE106_1                0x3EC +#define FLAG_ITEM_ROUTE109_1                0x3ED +#define FLAG_ITEM_ROUTE110_1                0x3EE +#define FLAG_ITEM_ROUTE110_2                0x3EF +#define FLAG_ITEM_ROUTE111_1                0x3F0 +#define FLAG_ITEM_ROUTE111_2                0x3F1 +#define FLAG_ITEM_ROUTE111_3                0x3F2 +#define FLAG_ITEM_ROUTE112_1                0x3F3 +#define FLAG_ITEM_ROUTE113_1                0x3F4 +#define FLAG_ITEM_ROUTE113_2                0x3F5 +#define FLAG_ITEM_ROUTE114_1                0x3F6 +#define FLAG_ITEM_ROUTE114_2                0x3F7 +#define FLAG_ITEM_ROUTE115_1                0x3F8 +#define FLAG_ITEM_ROUTE115_2                0x3F9 +#define FLAG_ITEM_ROUTE115_3                0x3FA +#define FLAG_ITEM_ROUTE116_2                0x3FB +#define FLAG_ITEM_ROUTE116_3                0x3FC +#define FLAG_ITEM_ROUTE116_4                0x3FD +#define FLAG_ITEM_ROUTE117_1                0x3FE +#define FLAG_ITEM_ROUTE117_2                0x3FF +#define FLAG_ITEM_ROUTE119_1                0x400 +#define FLAG_ITEM_ROUTE119_2                0x401 +#define FLAG_ITEM_ROUTE119_3                0x402 +#define FLAG_ITEM_ROUTE119_4                0x403 +#define FLAG_ITEM_ROUTE119_5                0x404 +#define FLAG_ITEM_ROUTE119_6                0x405 +#define FLAG_ITEM_ROUTE120_1                0x406 +#define FLAG_ITEM_ROUTE120_2                0x407 +#define FLAG_ITEM_ROUTE123_1                0x408 +#define FLAG_ITEM_ROUTE123_2                0x409 +#define FLAG_ITEM_ROUTE127_1                0x40A +#define FLAG_ITEM_ROUTE127_2                0x40B +#define FLAG_ITEM_ROUTE132_1                0x40C +#define FLAG_ITEM_ROUTE133_1                0x40D +#define FLAG_ITEM_ROUTE133_2                0x40E +#define FLAG_ITEM_PETALBURG_1               0x40F +#define FLAG_ITEM_PETALBURG_2               0x410 +#define FLAG_ITEM_RUSTBORO_1                0x411 +#define FLAG_ITEM_LILYCOVE_1                0x412 +#define FLAG_ITEM_MOSSDEEP_1                0x413 +#define FLAG_ITEM_METEOR_FALLS_1F_1R_1      0x414 +#define FLAG_ITEM_METEOR_FALLS_1F_1R_2      0x415 +#define FLAG_ITEM_METEOR_FALLS_1F_1R_3      0x416 +#define FLAG_ITEM_METEOR_FALLS_1F_1R_4      0x417 +#define FLAG_ITEM_RUSTURF_TUNNEL_1          0x418 +#define FLAG_ITEM_RUSTURF_TUNNEL_2          0x419 +#define FLAG_ITEM_GRANITE_CAVE_1F_1         0x41A +#define FLAG_ITEM_GRANITE_CAVE_B1F_1        0x41B +#define FLAG_ITEM_MT_PYRE_5F_1              0x41C +#define FLAG_ITEM_GRANITE_CAVE_B2F_1        0x41D +#define FLAG_ITEM_GRANITE_CAVE_B2F_2        0x41E +#define FLAG_ITEM_PETALBURG_WOODS_1         0x41F +#define FLAG_ITEM_PETALBURG_WOODS_2         0x420 +#define FLAG_ITEM_ROUTE104_2                0x421 +#define FLAG_ITEM_PETALBURG_WOODS_3         0x422 +#define FLAG_ITEM_CAVE_OF_ORIGIN_B3F_1      0x423 +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_1_1    0x424 +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_1    0x425 +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_2    0x426 +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_1    0x427 +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_2    0x428 +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_4_1    0x429 +#define FLAG_ITEM_ROUTE124_1                0x42A +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_6_1    0x42B +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_7_1    0x42C +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_8_1    0x42D +#define FLAG_ITEM_JAGGED_PASS_1             0x42E +#define FLAG_ITEM_AQUA_HIDEOUT_B1F_1        0x42F +#define FLAG_ITEM_AQUA_HIDEOUT_B2F_1        0x430 +#define FLAG_ITEM_MT_PYRE_EXTERIOR_1        0x431 +#define FLAG_ITEM_MT_PYRE_EXTERIOR_2        0x432 +#define FLAG_ITEM_NEW_MAUVILLE_INSIDE_1     0x433 +#define FLAG_ITEM_NEW_MAUVILLE_INSIDE_2     0x434 +#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_1 0x435 +#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_2 0x436 +#define FLAG_ITEM_SCORCHED_SLAB_1           0x437 +#define FLAG_ITEM_METEOR_FALLS_B1F_2R_1     0x438 +#define FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_ENTRANCE_1 0x439 +#define FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_INNER_ROOM_1 0x43A +#define FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM_1 0x43B +#define FLAG_ITEM_VICTORY_ROAD_1F_1         0x43C +#define FLAG_ITEM_VICTORY_ROAD_1F_2         0x43D +#define FLAG_ITEM_VICTORY_ROAD_B1F_1        0x43E +#define FLAG_ITEM_VICTORY_ROAD_B1F_2        0x43F +#define FLAG_ITEM_VICTORY_ROAD_B2F_1        0x440 +#define FLAG_ITEM_MT_PYRE_6F_1              0x441 +#define FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_1  0x442 +#define FLAG_ITEM_FIERY_PATH_1              0x443 +#define FLAG_ITEM_ROUTE124_2                0x444 +#define FLAG_ITEM_ROUTE124_3                0x445 +#define FLAG_ITEM_SAFARI_ZONE_NORTHWEST_1   0x446 +#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_1F_1 0x447 +#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_1 0x448 +#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_B1F_1 0x449 +#define FLAG_ITEM_ABANDONED_SHIP_ROOM_B1F_1  0x44A +#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_1F_1 0x44B +#define FLAG_ITEM_ABANDONED_SHIP_CAPTAINS_OFFICE_1 0x44C +#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_3 0x44D +#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_4 0x44E +#define FLAG_ITEM_ROUTE121_1                0x44F +#define FLAG_ITEM_ROUTE123_3                0x450 +#define FLAG_ITEM_ROUTE126_1                0x451 +#define FLAG_ITEM_ROUTE119_7                0x452 +#define FLAG_ITEM_ROUTE120_3                0x453 +#define FLAG_ITEM_ROUTE120_4                0x454 +#define FLAG_ITEM_ROUTE123_4                0x455 +#define FLAG_ITEM_NEW_MAUVILLE_INSIDE_3     0x456 +#define FLAG_ITEM_FIERY_PATH_2              0x457 +#define FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_ICE_ROOM_1 0x458 +#define FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_ICE_ROOM_2 0x459 +#define FLAG_ITEM_ROUTE103_1                0x45A +#define FLAG_ITEM_ROUTE104_3                0x45B +#define FLAG_ITEM_MAUVILLE_1                0x45C +#define FLAG_ITEM_PETALBURG_WOODS_4         0x45D +#define FLAG_ITEM_ROUTE115_4                0x45E +#define FLAG_ITEM_SAFARI_ZONE_NORTHEAST_1   0x45F +#define FLAG_ITEM_MT_PYRE_3F_1              0x460 +#define FLAG_ITEM_ROUTE118_1                0x461 +#define FLAG_ITEM_NEW_MAUVILLE_INSIDE_4     0x462 +#define FLAG_ITEM_NEW_MAUVILLE_INSIDE_5     0x463 +#define FLAG_ITEM_AQUA_HIDEOUT_B1F_2        0x464 +#define FLAG_ITEM_MAGMA_HIDEOUT_B1F_1       0x465 +#define FLAG_ITEM_MAGMA_HIDEOUT_B1F_2       0x466 +#define FLAG_ITEM_MAGMA_HIDEOUT_B2F_1       0x467 + +#define FLAG_ITEM_MT_PYRE_2F_1              0x469 +#define FLAG_ITEM_MT_PYRE_4F_1              0x46A +#define FLAG_ITEM_SAFARI_ZONE_SOUTHWEST     0x46B +#define FLAG_ITEM_AQUA_HIDEOUT_B1F_3        0x46C +#define FLAG_ITEM_MOSSDEEP_STEVENS_HOUSE_1  0x46D +#define FLAG_ITEM_MAGMA_HIDEOUT_B1F_3       0x46E +#define FLAG_ITEM_ROUTE104_4                0x46F + +#define FLAG_DEFEATED_RUSTBORO_GYM          0x4B1 + +#define FLAG_DEFEATED_DEWFORD_GYM           0x4B4 + +#define FLAG_DEFEATED_MAUVILLE_GYM          0x4B8 + +#define FLAG_DEFEATED_LAVARIDGE_GYM         0x4BD + +#define FLAG_DEFEATED_PETALBURG_GYM         0x4C1 + +#define FLAG_DEFEATED_FORTREE_GYM           0x4C9 + +#define FLAG_DEFEATED_MOSSDEEP_GYM          0x4CD + +#define FLAG_DEFEATED_SOOTOPOLIS_GYM        0x4D4 + +#define FLAG_DEFEATED_ELITE_4_SYDNEY        0x4DD +#define FLAG_DEFEATED_ELITE_4_PHOEBE        0x4DE +#define FLAG_DEFEATED_ELITE_4_GLACIA        0x4DF +#define FLAG_DEFEATED_ELITE_4_DRAKE         0x4E0 +  #define TRAINER_FLAG_START 0x500 +  // SYSTEM FLAGS -#define SYS_POKEMON_GET  0x800 -#define SYS_POKEDEX_GET  0x801 -#define SYS_POKENAV_GET  0x802 -#define SYS_GAME_CLEAR   0x804 -#define SYS_CHAT_USED    0x805 -#define SYS_HIPSTER_MEET 0x806 +#define NUMBER_OF_TRAINERS  693 +#define SYSTEM_FLAGS        (TRAINER_FLAG_START + NUMBER_OF_TRAINERS + 0x4B) // 0x800 + +#define FLAG_SYS_POKEMON_GET  (SYSTEM_FLAGS + 0x00) +#define FLAG_SYS_POKEDEX_GET  (SYSTEM_FLAGS + 0x01) +#define FLAG_SYS_POKENAV_GET  (SYSTEM_FLAGS + 0x02) +#define FLAG_SYS_GAME_CLEAR   (SYSTEM_FLAGS + 0x04) +#define FLAG_SYS_CHAT_USED    (SYSTEM_FLAGS + 0x05) +#define FLAG_SYS_HIPSTER_MEET (SYSTEM_FLAGS + 0x06)  // badges -#define BADGE01_GET 0x807 -#define BADGE02_GET 0x808 -#define BADGE03_GET 0x809 -#define BADGE04_GET 0x80A -#define BADGE05_GET 0x80B -#define BADGE06_GET 0x80C -#define BADGE07_GET 0x80D -#define BADGE08_GET 0x80E +#define FLAG_BADGE01_GET (SYSTEM_FLAGS + 0x07) +#define FLAG_BADGE02_GET (SYSTEM_FLAGS + 0x08) +#define FLAG_BADGE03_GET (SYSTEM_FLAGS + 0x09) +#define FLAG_BADGE04_GET (SYSTEM_FLAGS + 0x0A) +#define FLAG_BADGE05_GET (SYSTEM_FLAGS + 0x0B) +#define FLAG_BADGE06_GET (SYSTEM_FLAGS + 0x0C) +#define FLAG_BADGE07_GET (SYSTEM_FLAGS + 0x0D) +#define FLAG_BADGE08_GET (SYSTEM_FLAGS + 0x0E)  // cities and towns  -#define FLAG_VISITED_LITTLEROOT_TOWN  0x80F -#define FLAG_VISITED_OLDALE_TOWN      0x810 -#define FLAG_VISITED_DEWFORD_TOWN     0x811 -#define FLAG_VISITED_LAVARIDGE_TOWN   0x812 -#define FLAG_VISITED_FALLARBOR_TOWN   0x813 -#define FLAG_VISITED_VERDANTURF_TOWN  0x814 -#define FLAG_VISITED_PACIFIDLOG_TOWN  0x815 -#define FLAG_VISITED_PETALBURG_CITY   0x816 -#define FLAG_VISITED_SLATEPORT_CITY   0x817 -#define FLAG_VISITED_MAUVILLE_CITY    0x818 -#define FLAG_VISITED_RUSTBORO_CITY    0x819 -#define FLAG_VISITED_FORTREE_CITY     0x81A -#define FLAG_VISITED_LILYCOVE_CITY    0x81B -#define FLAG_VISITED_MOSSDEEP_CITY    0x81C -#define FLAG_VISITED_SOOTOPOLIS_CITY  0x81D -#define FLAG_VISITED_EVER_GRANDE_CITY 0x81E - -#define SYS_USE_FLASH        0x828 -#define SYS_USE_STRENGTH     0x829 -#define SYS_WEATHER_CTRL     0x82A -#define SYS_CYCLING_ROAD     0x82B -#define SYS_SAFARI_MODE      0x82C -#define SYS_CRUISE_MODE      0x82D - -#define SYS_TV_HOME          0x830 -#define SYS_TV_WATCH         0x831 -#define SYS_TV_START         0x832 -#define SYS_POPWORD_INPUT    0x833 -#define SYS_MIX_RECORD       0x834 -#define SYS_CLOCK_SET        0x835 -#define SYS_NATIONAL_DEX     0x836 -#define SYS_CAVE_SHIP        0x837 -#define SYS_CAVE_WONDER      0x838 -#define SYS_CAVE_BATTLE      0x839 -#define SYS_SHOAL_TIDE       0x83A -#define SYS_RIBBON_GET       0x83B - -#define FLAG_UNLOCK_BATTLE_TOWER    0x848 -#define FLAG_UNLOCK_SOUTHERN_ISLAND 0x849 - -#define SYS_PC_LANETTE       0x84B -#define SYS_EXDATA_ENABLE    0x84C -#define SYS_ENC_UP_ITEM      0x84D -#define SYS_ENC_DOWN_ITEM    0x84E -#define SYS_BRAILLE_DIG      0x84F -#define SYS_BRAILLE_STRENGTH 0x850 -#define SYS_BRAILLE_WAIT     0x851 -#define SYS_BRAILLE_FLY      0x852 -#define SYS_HAS_EON_TICKET   0x853 - -#define SYS_POKEMON_LEAGUE_FLY 0x854 - -#define SYS_TV_LATI          0x85D - -#define SYS_SHOAL_ITEM       0x85F -#define SYS_B_DASH           0x860 // got Running Shoes -#define SYS_CTRL_OBJ_DELETE  0x861 -#define SYS_RESET_RTC_ENABLE 0x862 +#define FLAG_VISITED_LITTLEROOT_TOWN  (SYSTEM_FLAGS + 0x0F) +#define FLAG_VISITED_OLDALE_TOWN      (SYSTEM_FLAGS + 0x10) +#define FLAG_VISITED_DEWFORD_TOWN     (SYSTEM_FLAGS + 0x11) +#define FLAG_VISITED_LAVARIDGE_TOWN   (SYSTEM_FLAGS + 0x12) +#define FLAG_VISITED_FALLARBOR_TOWN   (SYSTEM_FLAGS + 0x13) +#define FLAG_VISITED_VERDANTURF_TOWN  (SYSTEM_FLAGS + 0x14) +#define FLAG_VISITED_PACIFIDLOG_TOWN  (SYSTEM_FLAGS + 0x15) +#define FLAG_VISITED_PETALBURG_CITY   (SYSTEM_FLAGS + 0x16) +#define FLAG_VISITED_SLATEPORT_CITY   (SYSTEM_FLAGS + 0x17) +#define FLAG_VISITED_MAUVILLE_CITY    (SYSTEM_FLAGS + 0x18) +#define FLAG_VISITED_RUSTBORO_CITY    (SYSTEM_FLAGS + 0x19) +#define FLAG_VISITED_FORTREE_CITY     (SYSTEM_FLAGS + 0x1A) +#define FLAG_VISITED_LILYCOVE_CITY    (SYSTEM_FLAGS + 0x1B) +#define FLAG_VISITED_MOSSDEEP_CITY    (SYSTEM_FLAGS + 0x1C) +#define FLAG_VISITED_SOOTOPOLIS_CITY  (SYSTEM_FLAGS + 0x1D) +#define FLAG_VISITED_EVER_GRANDE_CITY (SYSTEM_FLAGS + 0x1E) + +#define FLAG_SYS_USE_FLASH        (SYSTEM_FLAGS + 0x28) +#define FLAG_SYS_USE_STRENGTH     (SYSTEM_FLAGS + 0x29) +#define FLAG_SYS_WEATHER_CTRL     (SYSTEM_FLAGS + 0x2A) +#define FLAG_SYS_CYCLING_ROAD     (SYSTEM_FLAGS + 0x2B) +#define FLAG_SYS_SAFARI_MODE      (SYSTEM_FLAGS + 0x2C) +#define FLAG_SYS_CRUISE_MODE      (SYSTEM_FLAGS + 0x2D) + +#define FLAG_SYS_TV_HOME          (SYSTEM_FLAGS + 0x30) +#define FLAG_SYS_TV_WATCH         (SYSTEM_FLAGS + 0x31) +#define FLAG_SYS_TV_START         (SYSTEM_FLAGS + 0x32) +#define FLAG_SYS_POPWORD_INPUT    (SYSTEM_FLAGS + 0x33) +#define FLAG_SYS_MIX_RECORD       (SYSTEM_FLAGS + 0x34) +#define FLAG_SYS_CLOCK_SET        (SYSTEM_FLAGS + 0x35) +#define FLAG_SYS_NATIONAL_DEX     (SYSTEM_FLAGS + 0x36) +#define FLAG_SYS_CAVE_SHIP        (SYSTEM_FLAGS + 0x37) +#define FLAG_SYS_CAVE_WONDER      (SYSTEM_FLAGS + 0x38) +#define FLAG_SYS_CAVE_BATTLE      (SYSTEM_FLAGS + 0x39) +#define FLAG_SYS_SHOAL_TIDE       (SYSTEM_FLAGS + 0x3A) +#define FLAG_SYS_RIBBON_GET       (SYSTEM_FLAGS + 0x3B) + +#define FLAG_LANDMARK_FLOWER_SHOP        (SYSTEM_FLAGS + 0x3C) +#define FLAG_LANDMARK_MR_BRINEY_HOUSE    (SYSTEM_FLAGS + 0x3D) +#define FLAG_LANDMARK_ABANDONED_SHIP     (SYSTEM_FLAGS + 0x3E) +#define FLAG_LANDMARK_SEASHORE_HOUSE     (SYSTEM_FLAGS + 0x3F) +#define FLAG_LANDMARK_NEW_MAUVILLE       (SYSTEM_FLAGS + 0x40) +#define FLAG_LANDMARK_OLD_LADY_REST_SHOP (SYSTEM_FLAGS + 0x41) +#define FLAG_LANDMARK_TRICK_HOUSE        (SYSTEM_FLAGS + 0x42) +#define FLAG_LANDMARK_WINSTRATE_FAMILY   (SYSTEM_FLAGS + 0x43) +#define FLAG_LANDMARK_GLASS_WORKSHOP     (SYSTEM_FLAGS + 0x44) +#define FLAG_LANDMARK_LANETTES_HOUSE     (SYSTEM_FLAGS + 0x45) +#define FLAG_LANDMARK_POKEMON_DAYCARE    (SYSTEM_FLAGS + 0x46) +#define FLAG_LANDMARK_SEAFLOOR_CAVERN    (SYSTEM_FLAGS + 0x47) +#define FLAG_LANDMARK_BATTLE_TOWER       (SYSTEM_FLAGS + 0x48) +#define FLAG_LANDMARK_SOUTHERN_ISLAND    (SYSTEM_FLAGS + 0x49) +#define FLAG_LANDMARK_FIERY_PATH         (SYSTEM_FLAGS + 0x4A) + +#define FLAG_SYS_PC_LANETTE       (SYSTEM_FLAGS + 0x4B) +#define FLAG_SYS_EXDATA_ENABLE    (SYSTEM_FLAGS + 0x4C) +#define FLAG_SYS_ENC_UP_ITEM      (SYSTEM_FLAGS + 0x4D) +#define FLAG_SYS_ENC_DOWN_ITEM    (SYSTEM_FLAGS + 0x4E) +#define FLAG_SYS_BRAILLE_DIG      (SYSTEM_FLAGS + 0x4F) +#define FLAG_SYS_BRAILLE_STRENGTH (SYSTEM_FLAGS + 0x50) +#define FLAG_SYS_BRAILLE_WAIT     (SYSTEM_FLAGS + 0x51) +#define FLAG_SYS_BRAILLE_FLY      (SYSTEM_FLAGS + 0x52) +#define FLAG_SYS_HAS_EON_TICKET   (SYSTEM_FLAGS + 0x53) +#define FLAG_SYS_POKEMON_LEAGUE_FLY (SYSTEM_FLAGS + 0x54) + +#define FLAG_LANDMARK_ISLAND_CAVE          (SYSTEM_FLAGS + 0x55) +#define FLAG_LANDMARK_DESERT_RUINS         (SYSTEM_FLAGS + 0x56) +#define FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE (SYSTEM_FLAGS + 0x57) +#define FLAG_LANDMARK_SCORCHED_SLAB        (SYSTEM_FLAGS + 0x58) +#define FLAG_LANDMARK_ANCIENT_TOMB         (SYSTEM_FLAGS + 0x59) +#define FLAG_LANDMARK_TUNNELERS_REST_HOUSE (SYSTEM_FLAGS + 0x5A) +#define FLAG_LANDMARK_HUNTERS_HOUSE        (SYSTEM_FLAGS + 0x5B) +#define FLAG_LANDMARK_SEALED_CHAMBER       (SYSTEM_FLAGS + 0x5C) + +#define FLAG_SYS_TV_LATI          (SYSTEM_FLAGS + 0x5D) + +#define FLAG_LANDMARK_SKY_PILLAR (SYSTEM_FLAGS + 0x5E) + +#define FLAG_SYS_SHOAL_ITEM       (SYSTEM_FLAGS + 0x5F) +#define FLAG_SYS_B_DASH           (SYSTEM_FLAGS + 0x60) // got Running Shoes +#define FLAG_SYS_CTRL_OBJ_DELETE  (SYSTEM_FLAGS + 0x61) +#define FLAG_SYS_RESET_RTC_ENABLE (SYSTEM_FLAGS + 0x62) + +#define FLAG_LANDMARK_BERRY_MASTERS_HOUSE (SYSTEM_FLAGS + 0x63) + + +// Daily Flags. These 64 flags are cleared once per day. +#define DAILY_FLAGS_START (SYSTEM_FLAGS + 0xC0) + +#define FLAG_DAILY_RECEIVED_BERRY_FALLARBOR   (SYSTEM_FLAGS + 0xC1) +#define FLAG_DAILY_UNKNOWN_8C2                (SYSTEM_FLAGS + 0xC2) + +#define FLAG_DAILY_PICKED_LOTTO_TICKET        (SYSTEM_FLAGS + 0xCA) +#define FLAG_DAILY_RECEIVED_BERRY_ROUTE114    (SYSTEM_FLAGS + 0xCB) +#define FLAG_DAILY_RECEIVED_BERRY_ROUTE111    (SYSTEM_FLAGS + 0xCC) +#define FLAG_DAILY_RECEIVED_BERRY_FROM_BERRYMASTER (SYSTEM_FLAGS + 0xCD) +#define FLAG_DAILY_RECEIVED_BERRY_ROUTE120    (SYSTEM_FLAGS + 0xCE) +#define FLAG_DAILY_RECEIVED_BERRY_LILYCOVE    (SYSTEM_FLAGS + 0xCF) +#define FLAG_DAILY_RECEIVED_BERRY_FLOWER_SHOP (SYSTEM_FLAGS + 0xD0) +#define FLAG_DAILY_RECEIVED_BERRY_FROM_BERRYMASTER_WIFE (SYSTEM_FLAGS + 0xD1) +#define FLAG_DAILY_RECEIVED_BERRY_SOOTOPOLIS  (SYSTEM_FLAGS + 0xD2) +// Daily flags end at 0x8FF  // SPECIAL FLAGS (unknown purpose) -#define SPECIAL_FLAG_1 0x4001 +#define FLAG_SPECIAL_FLAG_1 0x4001  #endif // GUARD_CONSTANTS_FLAGS_H | 
