-- ../pokecrystal/constants/event_flags.asm:1 against -- ../pokegold/constants/event_flags.asm:1 local Gen2Flags = {} Gen2Flags.CRYSTAL_ADDED = { EVENT_ALAN_GAVE_FIRE_STONE = 257, EVENT_ANSWERED_DRAGON_MASTER_QUIZ_WRONG = 193, EVENT_AZALEA_TOWN_KURT = 1956, EVENT_BATTLE_TOWER_BATTLE_ROOM_YOUNGSTER = 1937, EVENT_BATTLE_TOWER_OPEN_CIVILIANS = 1999, EVENT_BEAT_BEAUTY_OLIVIA = 1473, EVENT_BEAT_BUG_CATCHER_WAYNE = 1472, EVENT_BEAT_CAMPER_QUENTIN = 1475, EVENT_BEAT_COOLTRAINERF_CARA = 1470, EVENT_BEAT_COOLTRAINERM_DARIN = 1469, EVENT_BEAT_FISHER_TULLY = 1108, EVENT_BEAT_FISHER_TULLY2 = 1119, EVENT_BEAT_FISHER_TULLY3 = 1120, EVENT_BEAT_POKEFANF_JAIME = 1474, EVENT_BEAT_POKEFANM_ALLAN = 1480, EVENT_BEAT_POKEFANM_REX = 1479, EVENT_BEAT_POKEMANIAC_MILLER = 1476, EVENT_BEAT_SAGE_GAKU = 1481, EVENT_BEAT_SAGE_KOJI = 1483, EVENT_BEAT_SAGE_MASA = 1482, EVENT_BEAT_SUPER_NERD_HUGH = 1477, EVENT_BEAT_SUPER_NERD_MARKUS = 1478, EVENT_BEAT_SUPER_NERD_STAN = 1409, EVENT_BEAT_TWINS_LEA_AND_PIA = 1471, EVENT_BUENA_OFFERED_HER_PHONE_NUMBER = 828, EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD = 670, EVENT_BUGGING_KURT_TOO_MUCH = 187, EVENT_BURNED_TOWER_1F_EUSINE = 1893, EVENT_BURNED_TOWER_1F_HIDDEN_ULTRA_BALL = 255, EVENT_BURNED_TOWER_1F_HP_UP = 1622, EVENT_BURNED_TOWER_MORTY = 1892, EVENT_CAN_GIVE_GS_BALL_TO_KURT = 190, EVENT_CIANWOOD_CITY_EUSINE = 1965, EVENT_COPYCAT_1 = 1774, EVENT_COPYCAT_2 = 1775, EVENT_DANA_GAVE_THUNDERSTONE = 258, EVENT_DARK_CAVE_VIOLET_ENTRANCE_DIRE_HIT = 1998, EVENT_DRAGONS_DEN_B1F_CALCIUM = 1983, EVENT_DRAGONS_DEN_B1F_MAX_ELIXER = 1984, EVENT_DRAGON_SHRINE_CLAIR = 1936, EVENT_ECRUTEAK_CITY_GRAMPS = 1961, EVENT_ECRUTEAK_GYM_GRAMPS = 1960, EVENT_ECRUTEAK_TIN_TOWER_ENTRANCE_WANDERING_SAGE = 1969, EVENT_ERIN_CALCIUM = 827, EVENT_EUSINE_IN_BURNED_TOWER = 1962, EVENT_FLORIA_AT_FLOWER_SHOP = 1896, EVENT_FLORIA_AT_SUDOWOODO = 1897, EVENT_FOREST_IS_RESTLESS = 192, EVENT_FOUGHT_EUSINE = 819, EVENT_FOUGHT_SUICUNE = 821, EVENT_GAVE_GS_BALL_TO_KURT = 191, EVENT_GINA_GAVE_LEAF_STONE = 256, EVENT_GOLDENROD_CITY_MOVE_TUTOR = 1898, EVENT_GOLDENROD_GAME_CORNER_MOVE_TUTOR = 1899, EVENT_GOLDENROD_SALE_OFF = 1776, EVENT_GOLDENROD_SALE_ON = 1777, EVENT_GOLDENROD_UNDERGROUND_WAREHOUSE_ULTRA_BALL = 1621, EVENT_GOT_CLEAR_BELL = 120, EVENT_GOT_DRATINI = 189, EVENT_GOT_GS_BALL_FROM_GOLDENROD_POKEMON_CENTER = 832, EVENT_GOT_ODD_EGG = 830, EVENT_GOT_RAINBOW_WING = 822, EVENT_HOLE_IN_BURNED_TOWER = 818, EVENT_HUEY_PROTEIN = 823, EVENT_ICE_PATH_1F_PROTEIN = 1982, EVENT_ILEX_FOREST_ANTIDOTE = 1978, EVENT_ILEX_FOREST_ETHER = 1979, EVENT_ILEX_FOREST_FARFETCHD = 1769, EVENT_ILEX_FOREST_KURT = 1957, EVENT_ILEX_FOREST_LASS = 1773, EVENT_ILEX_FOREST_X_ATTACK = 1977, EVENT_JOEY_HP_UP = 824, EVENT_KOJI_ALLOWS_YOU_PASSAGE_TO_TIN_TOWER = 820, EVENT_KURTS_HOUSE_GRANDDAUGHTER_1 = 1932, EVENT_KURTS_HOUSE_GRANDDAUGHTER_2 = 1933, EVENT_LAKE_OF_RAGE_ELIXER = 1605, EVENT_LAKE_OF_RAGE_ELIXIR_ON_STANDBY = 58, EVENT_MET_BUENA = 829, EVENT_MET_FLORIA = 185, EVENT_MOUNT_MORTAR_1F_INSIDE_IRON = 1992, EVENT_MOUNT_MORTAR_1F_INSIDE_MAX_POTION = 1958, EVENT_MOUNT_MORTAR_1F_INSIDE_NUGGET = 1959, EVENT_MOUNT_MORTAR_1F_INSIDE_ULTRA_BALL = 1993, EVENT_MOUNT_MORTAR_B1F_CARBOS = 1671, EVENT_MOUNT_MORTAR_B1F_FULL_RESTORE = 1994, EVENT_MOUNT_MORTAR_B1F_MAX_ETHER = 1995, EVENT_MOUNT_MORTAR_B1F_PP_UP = 1996, EVENT_OLIVINE_LIGHTHOUSE_5F_SUPER_REPEL = 1638, EVENT_PARRY_IRON = 826, EVENT_PICKED_UP_BERRY_FROM_KABUTO_ITEM_ROOM = 1944, EVENT_PICKED_UP_CHARCOAL_FROM_HO_OH_ITEM_ROOM = 1943, EVENT_PICKED_UP_ENERGYPOWDER_FROM_KABUTO_ITEM_ROOM = 1947, EVENT_PICKED_UP_ENERGY_ROOT_FROM_AERODACTYL_ITEM_ROOM = 1955, EVENT_PICKED_UP_GOLD_BERRY_FROM_AERODACTYL_ITEM_ROOM = 1952, EVENT_PICKED_UP_GOLD_BERRY_FROM_HO_OH_ITEM_ROOM = 1940, EVENT_PICKED_UP_HEAL_POWDER_FROM_AERODACTYL_ITEM_ROOM = 1954, EVENT_PICKED_UP_HEAL_POWDER_FROM_KABUTO_ITEM_ROOM = 1946, EVENT_PICKED_UP_MOON_STONE_FROM_AERODACTYL_ITEM_ROOM = 1953, EVENT_PICKED_UP_MYSTERYBERRY_FROM_HO_OH_ITEM_ROOM = 1941, EVENT_PICKED_UP_MYSTERYBERRY_FROM_OMANYTE_ITEM_ROOM = 1948, EVENT_PICKED_UP_MYSTIC_WATER_FROM_OMANYTE_ITEM_ROOM = 1949, EVENT_PICKED_UP_PSNCUREBERRY_FROM_KABUTO_ITEM_ROOM = 1945, EVENT_PICKED_UP_REVIVAL_HERB_FROM_HO_OH_ITEM_ROOM = 1942, EVENT_PICKED_UP_STARDUST_FROM_OMANYTE_ITEM_ROOM = 1950, EVENT_PICKED_UP_STAR_PIECE_FROM_OMANYTE_ITEM_ROOM = 1951, EVENT_PLAYERS_HOUSE_1F_NEIGHBOR = 1938, EVENT_PLAYERS_NEIGHBORS_HOUSE_NEIGHBOR = 1939, EVENT_RADIO_TOWER_5F_ULTRA_BALL = 1997, EVENT_RANG_CLEAR_BELL_1 = 1894, EVENT_RANG_CLEAR_BELL_2 = 1895, EVENT_ROUTE_30_ANTIDOTE = 1976, EVENT_ROUTE_31_POTION = 1710, EVENT_ROUTE_32_REPEL = 1713, EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS = 1771, EVENT_ROUTE_34_ILEX_FOREST_GATE_TEACHER_BEHIND_COUNTER = 1770, EVENT_ROUTE_34_ILEX_FOREST_GATE_TEACHER_IN_WALKWAY = 1772, EVENT_ROUTE_34_NUGGET = 1980, EVENT_ROUTE_44_MAX_REPEL = 1981, EVENT_ROUTE_45_NUGGET = 1720, EVENT_ROUTE_46_X_SPEED = 1724, EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_FISHER = 1934, EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_YOUNGSTERS = 1935, EVENT_SAW_SUICUNE_AT_CIANWOOD_CITY = 1966, EVENT_SAW_SUICUNE_ON_ROUTE_36 = 1968, EVENT_SAW_SUICUNE_ON_ROUTE_42 = 1967, EVENT_SET_WHEN_FOUGHT_HO_OH = 1975, EVENT_SILVER_CAVE_ROOM_1_PROTEIN = 1690, EVENT_SILVER_CAVE_ROOM_1_ULTRA_BALL = 1985, EVENT_SILVER_CAVE_ROOM_2_CALCIUM = 1986, EVENT_SILVER_CAVE_ROOM_2_PP_UP = 1988, EVENT_SILVER_CAVE_ROOM_2_ULTRA_BALL = 1987, EVENT_SPROUT_TOWER_2F_X_ACCURACY = 1608, EVENT_TALKED_TO_FLORIA_AT_FLOWER_SHOP = 186, EVENT_TALKED_TO_RUINS_COWARD = 188, EVENT_TEAM_ROCKET_BASE_B1F_GUARD_SPEC = 1643, EVENT_TEAM_ROCKET_BASE_B3F_FULL_HEAL = 1647, EVENT_TEAM_ROCKET_BASE_B3F_PROTEIN = 1645, EVENT_TEAM_ROCKET_BASE_B3F_ULTRA_BALL = 1620, EVENT_TEAM_ROCKET_BASE_B3F_X_SPECIAL = 1646, EVENT_TIFFANY_GAVE_PINK_BOW = 260, EVENT_TIN_TOWER_1F_ENTEI = 1971, EVENT_TIN_TOWER_1F_EUSINE = 1973, EVENT_TIN_TOWER_1F_RAIKOU = 1972, EVENT_TIN_TOWER_1F_SUICUNE = 1970, EVENT_TIN_TOWER_1F_WISE_TRIO_1 = 1974, EVENT_TIN_TOWER_1F_WISE_TRIO_2 = 1989, EVENT_TIN_TOWER_4F_PP_UP = 1613, EVENT_TIN_TOWER_6F_MAX_POTION = 1990, EVENT_TIN_TOWER_9F_HP_UP = 1991, EVENT_TULLY_ASKED_FOR_PHONE_NUMBER = 655, EVENT_TULLY_GAVE_WATER_STONE = 259, EVENT_UNION_CAVE_1F_POTION = 1628, EVENT_UNION_CAVE_1F_X_ATTACK = 1627, EVENT_VANCE_CARBOS = 825, EVENT_VICTORY_ROAD_HP_UP = 1703, EVENT_WADE_HAS_BERRY = 811, EVENT_WADE_HAS_BITTER_BERRY = 814, EVENT_WADE_HAS_PRZCUREBERRY = 813, EVENT_WADE_HAS_PSNCUREBERRY = 812, EVENT_WALL_OPENED_IN_AERODACTYL_CHAMBER = 809, EVENT_WALL_OPENED_IN_HO_OH_CHAMBER = 806, EVENT_WALL_OPENED_IN_KABUTO_CHAMBER = 807, EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER = 808, EVENT_WELCOMED_TO_POKECOM_CENTER = 810, EVENT_WHIRL_ISLAND_SW_ULTRA_BALL = 1680, EVENT_WILTON_HAS_GREAT_BALL = 816, EVENT_WILTON_HAS_POKE_BALL = 817, EVENT_WILTON_HAS_ULTRA_BALL = 815, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1 = 1963, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2 = 1964, } Gen2Flags.CRYSTAL_REMOVED = { EVENT_ALAN_READY_FOR_REMATCH = true, EVENT_ANTHONY_READY_FOR_REMATCH = true, EVENT_ARNIE_READY_FOR_REMATCH = true, EVENT_BEAT_FISHER_CHRIS = true, EVENT_BEAT_FISHER_CHRIS2 = true, EVENT_BEAT_FISHER_CHRIS3 = true, EVENT_BEAT_SUPER_NERD_ERIC_UNUSED = true, EVENT_BETH_READY_FOR_REMATCH = true, EVENT_BEVERLY_READY_FOR_REMATCH = true, EVENT_BRENT_READY_FOR_REMATCH = true, EVENT_BURNED_TOWER_1F_BURN_HEAL = true, EVENT_BURNED_TOWER_1F_X_SPEED = true, EVENT_BURNED_TOWER_B1F_HIDDEN_BURN_HEAL = true, EVENT_BURNED_TOWER_B1F_HIDDEN_NUGGET = true, EVENT_BURNED_TOWER_B1F_HIDDEN_ULTRA_BALL = true, EVENT_BURNED_TOWER_B1F_HP_UP = true, EVENT_BURNED_TOWER_FIREBREATHER_DICK_ASHES = true, EVENT_BURNED_TOWER_FIREBREATHER_DICK_NORMAL = true, EVENT_CHAD_READY_FOR_REMATCH = true, EVENT_CHRIS_ASKED_FOR_PHONE_NUMBER = true, EVENT_CHRIS_READY_FOR_REMATCH = true, EVENT_DANA_READY_FOR_REMATCH = true, EVENT_DEREK_READY_FOR_REMATCH = true, EVENT_ECRUTEAK_TIN_TOWER_ENTRANCE_SAGE_LEFT = true, EVENT_ECRUTEAK_TIN_TOWER_ENTRANCE_SAGE_RIGHT = true, EVENT_ERIN_READY_FOR_REMATCH = true, EVENT_GAVEN_READY_FOR_REMATCH = true, EVENT_GINA_READY_FOR_REMATCH = true, EVENT_HUEY_READY_FOR_REMATCH = true, EVENT_ILEX_FOREST_FARFETCHD_1 = true, EVENT_ILEX_FOREST_FARFETCHD_10 = true, EVENT_ILEX_FOREST_FARFETCHD_2 = true, EVENT_ILEX_FOREST_FARFETCHD_3 = true, EVENT_ILEX_FOREST_FARFETCHD_4 = true, EVENT_ILEX_FOREST_FARFETCHD_5 = true, EVENT_ILEX_FOREST_FARFETCHD_6 = true, EVENT_ILEX_FOREST_FARFETCHD_7 = true, EVENT_ILEX_FOREST_FARFETCHD_8 = true, EVENT_ILEX_FOREST_FARFETCHD_9 = true, EVENT_IRWIN_READY_FOR_REMATCH = true, EVENT_JACK_READY_FOR_REMATCH = true, EVENT_JOEY_READY_FOR_REMATCH = true, EVENT_JOSE_READY_FOR_REMATCH = true, EVENT_KENJI_READY_FOR_REMATCH = true, EVENT_LAKE_OF_RAGE_ETHER_ON_STANDBY = true, EVENT_LAKE_OF_RAGE_MAX_ETHER = true, EVENT_LIZ_READY_FOR_REMATCH = true, EVENT_MOUNT_MORTAR_B1F_FULL_HEAL = true, EVENT_OLIVINE_LIGHTHOUSE_5F_GREAT_BALL = true, EVENT_PARRY_READY_FOR_REMATCH = true, EVENT_RALPH_READY_FOR_REMATCH = true, EVENT_REENA_READY_FOR_REMATCH = true, EVENT_ROUTE_31_ANTIDOTE = true, EVENT_ROUTE_32_POTION = true, EVENT_ROUTE_45_X_SPECIAL = true, EVENT_ROUTE_46_DIRE_HIT = true, EVENT_SILVER_CAVE_ROOM_1_X_ACCURACY = true, EVENT_SPROUT_TOWER_2F_X_DEFEND = true, EVENT_TEAM_ROCKET_BASE_B1F_X_ACCURACY = true, EVENT_TEAM_ROCKET_BASE_B3F_DIRE_HIT = true, EVENT_TIFFANY_READY_FOR_REMATCH = true, EVENT_TIN_TOWER_4F_SUPER_POTION = true, EVENT_TODD_READY_FOR_REMATCH = true, EVENT_VANCE_READY_FOR_REMATCH = true, EVENT_VICTORY_ROAD_X_SPECIAL = true, EVENT_WADE_READY_FOR_REMATCH = true, EVENT_WHIRL_ISLAND_SW_GUARD_SPEC = true, EVENT_WILTON_READY_FOR_REMATCH = true, } local cache = {} function Gen2Flags.byName(engine) engine = (engine == "crystal") and "crystal" or "gs" if cache[engine] then return cache[engine] end local ids = {} local ok, flags = pcall(require, "src.core.gen2.FlagNames") if ok and type(flags) == "table" and type(flags.events) == "table" then for name, id in pairs(flags.events) do ids[name] = id end end if engine == "crystal" then for name in pairs(Gen2Flags.CRYSTAL_REMOVED) do ids[name] = nil end for name, id in pairs(Gen2Flags.CRYSTAL_ADDED) do ids[name] = id end end cache[engine] = ids return ids end function Gen2Flags.names(engine) local names = {} for name in pairs(Gen2Flags.byName(engine)) do names[#names + 1] = name end table.sort(names) return names end return Gen2Flags