flybrain/services/flysim/crates/flybrain-gb/src/pokemon_red/symbols.rs
claude 320b05ecee symbols: the four WRAM names the whole-map grid reads
resolve_wram.py is a second reading of the disassembly beside gen_symbols.py:
it walks ram/wram.asm with a cursor that is only ever live while anchored on an
address symbols.rs already pins, re-derives 40 of the 63 it carries with no
disagreement, and emits an address only when a pinned one after it agrees too.
wOverworldMap, wCurMapTileset, wTilesetBank and wTilesetBlocksPtr come out of
that pass; no address is hand-written and nothing else in the table moves.
2026-09-22 03:17:20 +00:00

853 lines
43 KiB
Rust

//! Pokemon Red RAM addresses and named event bits.
//!
//! Generated by services/flysim/tools/gen_symbols.py from the
//! fly-plays-pokemon prototype's src/reward/symbols.ts, which
//! tools/build_reward_symbols.py generated from the pret/pokered
//! disassembly, plus that script's EXTRA_RAM / EXTRA_EVENTS
//! allowlist, resolved from the disassembly at POKERED_COMMIT.
//! Do not hand-edit addresses.
#![allow(dead_code, non_upper_case_globals)]
/// pret/pokered revision these symbols were extracted from.
pub const POKERED_COMMIT: &str = "0cd19d3b877b7dc66d12c7050bed9a7f38154d4b";
/// Reviewed WRAM addresses, by their pokered symbol names.
pub mod ram {
pub const wSpriteStateData1: u16 = 0xc100; // 49408
pub const wSpriteStateData2: u16 = 0xc200; // 49664
pub const wTileMap: u16 = 0xc3a0; // 50080
pub const wOverworldMap: u16 = 0xc6e8; // 50920
pub const wTopMenuItemY: u16 = 0xcc24; // 52260
pub const wTopMenuItemX: u16 = 0xcc25; // 52261
pub const wCurrentMenuItem: u16 = 0xcc26; // 52262
pub const wMaxMenuItem: u16 = 0xcc28; // 52264
pub const wMenuWatchedKeys: u16 = 0xcc29; // 52265
pub const wPlayerMonNumber: u16 = 0xcc2f; // 52271
pub const wSimulatedJoypadStatesIndex: u16 = 0xcd38; // 52536
pub const wMiscFlags: u16 = 0xcd60; // 52576
pub const wJoyIgnore: u16 = 0xcd6b; // 52587
pub const wNumMovesMinusOne: u16 = 0xcd6c; // 52588
pub const wBattleResult: u16 = 0xcf0b; // 53003
pub const wItemList: u16 = 0xcf7b; // 53115
pub const wListMenuID: u16 = 0xcf94; // 53140
pub const wFontLoaded: u16 = 0xcfc4; // 53188
pub const wEnemyMonSpecies: u16 = 0xcfe5; // 53221
pub const wEnemyMonHP: u16 = 0xcfe6; // 53222
pub const wEnemyMonLevel: u16 = 0xcff3; // 53235
pub const wEnemyMonMaxHP: u16 = 0xcff4; // 53236
pub const wBattleMonSpecies: u16 = 0xd014; // 53268
pub const wBattleMonHP: u16 = 0xd015; // 53269
pub const wBattleMonStatus: u16 = 0xd018; // 53272
pub const wBattleMonMoves: u16 = 0xd01c; // 53276
pub const wBattleMonLevel: u16 = 0xd022; // 53282
pub const wBattleMonMaxHP: u16 = 0xd023; // 53283
pub const wBattleMonPP: u16 = 0xd02d; // 53293
pub const wTrainerClass: u16 = 0xd031; // 53297
pub const wIsInBattle: u16 = 0xd057; // 53335
pub const wBattleType: u16 = 0xd05a; // 53338
pub const wTrainerNo: u16 = 0xd05d; // 53341
pub const wPartyMenuTypeOrMessageID: u16 = 0xd07d; // 53373
pub const wForcePlayerToChooseMon: u16 = 0xd11f; // 53535
pub const wTextBoxID: u16 = 0xd125; // 53541
pub const wPartyCount: u16 = 0xd163; // 53603
pub const wPartySpecies: u16 = 0xd164; // 53604
pub const wPartyMon1: u16 = 0xd16b; // 53611
pub const wPokedexOwned: u16 = 0xd2f7; // 54007
pub const wNumBagItems: u16 = 0xd31d; // 54045
pub const wBagItems: u16 = 0xd31e; // 54046
pub const wPlayerMoney: u16 = 0xd347; // 54087
pub const wObtainedBadges: u16 = 0xd356; // 54102
pub const wCurMap: u16 = 0xd35e; // 54110
pub const wYCoord: u16 = 0xd361; // 54113
pub const wXCoord: u16 = 0xd362; // 54114
pub const wCurMapTileset: u16 = 0xd367; // 54119
pub const wCurMapHeight: u16 = 0xd368; // 54120
pub const wCurMapWidth: u16 = 0xd369; // 54121
pub const wCurMapConnections: u16 = 0xd370; // 54128
pub const wNumberOfWarps: u16 = 0xd3ae; // 54190
pub const wWarpEntries: u16 = 0xd3af; // 54191
pub const wNumSigns: u16 = 0xd4b0; // 54448
pub const wSignCoords: u16 = 0xd4b1; // 54449
pub const wSignTextIDs: u16 = 0xd4d1; // 54481
pub const wNumSprites: u16 = 0xd4e1; // 54497
pub const wTilesetBank: u16 = 0xd52b; // 54571
pub const wTilesetBlocksPtr: u16 = 0xd52c; // 54572
pub const wTilesetCollisionPtr: u16 = 0xd530; // 54576
pub const wTilesetTalkingOverTiles: u16 = 0xd532; // 54578
pub const wNumHoFTeams: u16 = 0xd5a2; // 54690
pub const wStatusFlags5: u16 = 0xd730; // 55088
pub const wStatusFlags6: u16 = 0xd732; // 55090
pub const wStatusFlags7: u16 = 0xd733; // 55091
pub const wMovementFlags: u16 = 0xd736; // 55094
pub const wEventFlags: u16 = 0xd747; // 55111
}
/// Named event-flag bit indices.
pub mod events {
pub const EVENT_FOLLOWED_OAK_INTO_LAB: u16 = 0;
pub const EVENT_GOT_TOWN_MAP: u16 = 24;
pub const EVENT_OAK_ASKED_TO_CHOOSE_MON: u16 = 33;
pub const EVENT_GOT_STARTER: u16 = 34;
pub const EVENT_GOT_POKEDEX: u16 = 37;
pub const EVENT_OAK_GOT_PARCEL: u16 = 56;
pub const EVENT_GOT_OAKS_PARCEL: u16 = 57;
pub const EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI: u16 = 81;
pub const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0: u16 = 82;
pub const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1: u16 = 83;
pub const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2: u16 = 84;
pub const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3: u16 = 85;
pub const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4: u16 = 86;
pub const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5: u16 = 87;
pub const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6: u16 = 88;
pub const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7: u16 = 89;
pub const EVENT_BEAT_PEWTER_GYM_TRAINER_0: u16 = 114;
pub const EVENT_BEAT_BROCK: u16 = 119;
pub const EVENT_BEAT_CERULEAN_RIVAL: u16 = 152;
pub const EVENT_BEAT_CERULEAN_ROCKET_THIEF: u16 = 167;
pub const EVENT_BEAT_CERULEAN_GYM_TRAINER_0: u16 = 186;
pub const EVENT_BEAT_CERULEAN_GYM_TRAINER_1: u16 = 187;
pub const EVENT_BEAT_MISTY: u16 = 191;
pub const EVENT_GOT_BICYCLE: u16 = 192;
pub const EVENT_BEAT_POKEMON_TOWER_RIVAL: u16 = 239;
pub const EVENT_BEAT_POKEMONTOWER_3_TRAINER_0: u16 = 241;
pub const EVENT_BEAT_POKEMONTOWER_3_TRAINER_1: u16 = 242;
pub const EVENT_BEAT_POKEMONTOWER_3_TRAINER_2: u16 = 243;
pub const EVENT_BEAT_POKEMONTOWER_4_TRAINER_0: u16 = 249;
pub const EVENT_BEAT_POKEMONTOWER_4_TRAINER_1: u16 = 250;
pub const EVENT_BEAT_POKEMONTOWER_4_TRAINER_2: u16 = 251;
pub const EVENT_BEAT_POKEMONTOWER_5_TRAINER_0: u16 = 258;
pub const EVENT_BEAT_POKEMONTOWER_5_TRAINER_1: u16 = 259;
pub const EVENT_BEAT_POKEMONTOWER_5_TRAINER_2: u16 = 260;
pub const EVENT_BEAT_POKEMONTOWER_5_TRAINER_3: u16 = 261;
pub const EVENT_BEAT_POKEMONTOWER_6_TRAINER_0: u16 = 265;
pub const EVENT_BEAT_POKEMONTOWER_6_TRAINER_1: u16 = 266;
pub const EVENT_BEAT_POKEMONTOWER_6_TRAINER_2: u16 = 267;
pub const EVENT_BEAT_GHOST_MAROWAK: u16 = 271;
pub const EVENT_BEAT_POKEMONTOWER_7_TRAINER_0: u16 = 273;
pub const EVENT_BEAT_POKEMONTOWER_7_TRAINER_1: u16 = 274;
pub const EVENT_BEAT_POKEMONTOWER_7_TRAINER_2: u16 = 275;
pub const EVENT_GOT_POKE_FLUTE: u16 = 296;
pub const EVENT_BEAT_VERMILION_GYM_TRAINER_0: u16 = 354;
pub const EVENT_BEAT_VERMILION_GYM_TRAINER_1: u16 = 355;
pub const EVENT_BEAT_VERMILION_GYM_TRAINER_2: u16 = 356;
pub const EVENT_BEAT_LT_SURGE: u16 = 359;
pub const EVENT_BEAT_ERIKA: u16 = 425;
pub const EVENT_BEAT_CELADON_GYM_TRAINER_0: u16 = 426;
pub const EVENT_BEAT_CELADON_GYM_TRAINER_1: u16 = 427;
pub const EVENT_BEAT_CELADON_GYM_TRAINER_2: u16 = 428;
pub const EVENT_BEAT_CELADON_GYM_TRAINER_3: u16 = 429;
pub const EVENT_BEAT_CELADON_GYM_TRAINER_4: u16 = 430;
pub const EVENT_BEAT_CELADON_GYM_TRAINER_5: u16 = 431;
pub const EVENT_BEAT_CELADON_GYM_TRAINER_6: u16 = 432;
pub const EVENT_GOT_HM04: u16 = 568;
pub const EVENT_BEAT_KOGA: u16 = 601;
pub const EVENT_BEAT_FUCHSIA_GYM_TRAINER_0: u16 = 602;
pub const EVENT_BEAT_FUCHSIA_GYM_TRAINER_1: u16 = 603;
pub const EVENT_BEAT_FUCHSIA_GYM_TRAINER_2: u16 = 604;
pub const EVENT_BEAT_FUCHSIA_GYM_TRAINER_3: u16 = 605;
pub const EVENT_BEAT_FUCHSIA_GYM_TRAINER_4: u16 = 606;
pub const EVENT_BEAT_FUCHSIA_GYM_TRAINER_5: u16 = 607;
pub const EVENT_BEAT_MANSION_1_TRAINER_0: u16 = 649;
pub const EVENT_BEAT_BLAINE: u16 = 665;
pub const EVENT_BEAT_CINNABAR_GYM_TRAINER_0: u16 = 666;
pub const EVENT_BEAT_CINNABAR_GYM_TRAINER_1: u16 = 667;
pub const EVENT_BEAT_CINNABAR_GYM_TRAINER_2: u16 = 668;
pub const EVENT_BEAT_CINNABAR_GYM_TRAINER_3: u16 = 669;
pub const EVENT_BEAT_CINNABAR_GYM_TRAINER_4: u16 = 670;
pub const EVENT_BEAT_CINNABAR_GYM_TRAINER_5: u16 = 671;
pub const EVENT_BEAT_CINNABAR_GYM_TRAINER_6: u16 = 672;
pub const EVENT_BEAT_KARATE_MASTER: u16 = 849;
pub const EVENT_BEAT_FIGHTING_DOJO_TRAINER_0: u16 = 850;
pub const EVENT_BEAT_FIGHTING_DOJO_TRAINER_1: u16 = 851;
pub const EVENT_BEAT_FIGHTING_DOJO_TRAINER_2: u16 = 852;
pub const EVENT_BEAT_FIGHTING_DOJO_TRAINER_3: u16 = 853;
pub const EVENT_BEAT_SABRINA: u16 = 865;
pub const EVENT_BEAT_SAFFRON_GYM_TRAINER_0: u16 = 866;
pub const EVENT_BEAT_SAFFRON_GYM_TRAINER_1: u16 = 867;
pub const EVENT_BEAT_SAFFRON_GYM_TRAINER_2: u16 = 868;
pub const EVENT_BEAT_SAFFRON_GYM_TRAINER_3: u16 = 869;
pub const EVENT_BEAT_SAFFRON_GYM_TRAINER_4: u16 = 870;
pub const EVENT_BEAT_SAFFRON_GYM_TRAINER_5: u16 = 871;
pub const EVENT_BEAT_SAFFRON_GYM_TRAINER_6: u16 = 872;
pub const EVENT_GOT_HM05: u16 = 984;
pub const EVENT_BEAT_ROUTE_3_TRAINER_0: u16 = 994;
pub const EVENT_BEAT_ROUTE_3_TRAINER_1: u16 = 995;
pub const EVENT_BEAT_ROUTE_3_TRAINER_2: u16 = 996;
pub const EVENT_BEAT_ROUTE_3_TRAINER_3: u16 = 997;
pub const EVENT_BEAT_ROUTE_3_TRAINER_4: u16 = 998;
pub const EVENT_BEAT_ROUTE_3_TRAINER_5: u16 = 999;
pub const EVENT_BEAT_ROUTE_3_TRAINER_6: u16 = 1000;
pub const EVENT_BEAT_ROUTE_3_TRAINER_7: u16 = 1001;
pub const EVENT_BEAT_ROUTE_4_TRAINER_0: u16 = 1010;
pub const EVENT_BEAT_ROUTE_6_TRAINER_0: u16 = 1041;
pub const EVENT_BEAT_ROUTE_6_TRAINER_1: u16 = 1042;
pub const EVENT_BEAT_ROUTE_6_TRAINER_2: u16 = 1043;
pub const EVENT_BEAT_ROUTE_6_TRAINER_3: u16 = 1044;
pub const EVENT_BEAT_ROUTE_6_TRAINER_4: u16 = 1045;
pub const EVENT_BEAT_ROUTE_6_TRAINER_5: u16 = 1046;
pub const EVENT_BEAT_ROUTE_8_TRAINER_0: u16 = 1073;
pub const EVENT_BEAT_ROUTE_8_TRAINER_1: u16 = 1074;
pub const EVENT_BEAT_ROUTE_8_TRAINER_2: u16 = 1075;
pub const EVENT_BEAT_ROUTE_8_TRAINER_3: u16 = 1076;
pub const EVENT_BEAT_ROUTE_8_TRAINER_4: u16 = 1077;
pub const EVENT_BEAT_ROUTE_8_TRAINER_5: u16 = 1078;
pub const EVENT_BEAT_ROUTE_8_TRAINER_6: u16 = 1079;
pub const EVENT_BEAT_ROUTE_8_TRAINER_7: u16 = 1080;
pub const EVENT_BEAT_ROUTE_8_TRAINER_8: u16 = 1081;
pub const EVENT_BEAT_ROUTE_9_TRAINER_0: u16 = 1089;
pub const EVENT_BEAT_ROUTE_9_TRAINER_1: u16 = 1090;
pub const EVENT_BEAT_ROUTE_9_TRAINER_2: u16 = 1091;
pub const EVENT_BEAT_ROUTE_9_TRAINER_3: u16 = 1092;
pub const EVENT_BEAT_ROUTE_9_TRAINER_4: u16 = 1093;
pub const EVENT_BEAT_ROUTE_9_TRAINER_5: u16 = 1094;
pub const EVENT_BEAT_ROUTE_9_TRAINER_6: u16 = 1095;
pub const EVENT_BEAT_ROUTE_9_TRAINER_7: u16 = 1096;
pub const EVENT_BEAT_ROUTE_9_TRAINER_8: u16 = 1097;
pub const EVENT_BEAT_ROUTE_10_TRAINER_0: u16 = 1105;
pub const EVENT_BEAT_ROUTE_10_TRAINER_1: u16 = 1106;
pub const EVENT_BEAT_ROUTE_10_TRAINER_2: u16 = 1107;
pub const EVENT_BEAT_ROUTE_10_TRAINER_3: u16 = 1108;
pub const EVENT_BEAT_ROUTE_10_TRAINER_4: u16 = 1109;
pub const EVENT_BEAT_ROUTE_10_TRAINER_5: u16 = 1110;
pub const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0: u16 = 1113;
pub const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1: u16 = 1114;
pub const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2: u16 = 1115;
pub const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3: u16 = 1116;
pub const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4: u16 = 1117;
pub const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5: u16 = 1118;
pub const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6: u16 = 1119;
pub const EVENT_BEAT_POWER_PLANT_VOLTORB_0: u16 = 1121;
pub const EVENT_BEAT_POWER_PLANT_VOLTORB_1: u16 = 1122;
pub const EVENT_BEAT_POWER_PLANT_VOLTORB_2: u16 = 1123;
pub const EVENT_BEAT_POWER_PLANT_VOLTORB_3: u16 = 1124;
pub const EVENT_BEAT_POWER_PLANT_VOLTORB_4: u16 = 1125;
pub const EVENT_BEAT_POWER_PLANT_VOLTORB_5: u16 = 1126;
pub const EVENT_BEAT_POWER_PLANT_VOLTORB_6: u16 = 1127;
pub const EVENT_BEAT_POWER_PLANT_VOLTORB_7: u16 = 1128;
pub const EVENT_BEAT_ZAPDOS: u16 = 1129;
pub const EVENT_BEAT_ROUTE_11_TRAINER_0: u16 = 1137;
pub const EVENT_BEAT_ROUTE_11_TRAINER_1: u16 = 1138;
pub const EVENT_BEAT_ROUTE_11_TRAINER_2: u16 = 1139;
pub const EVENT_BEAT_ROUTE_11_TRAINER_3: u16 = 1140;
pub const EVENT_BEAT_ROUTE_11_TRAINER_4: u16 = 1141;
pub const EVENT_BEAT_ROUTE_11_TRAINER_5: u16 = 1142;
pub const EVENT_BEAT_ROUTE_11_TRAINER_6: u16 = 1143;
pub const EVENT_BEAT_ROUTE_11_TRAINER_7: u16 = 1144;
pub const EVENT_BEAT_ROUTE_11_TRAINER_8: u16 = 1145;
pub const EVENT_BEAT_ROUTE_11_TRAINER_9: u16 = 1146;
pub const EVENT_BEAT_ROUTE_12_TRAINER_0: u16 = 1154;
pub const EVENT_BEAT_ROUTE_12_TRAINER_1: u16 = 1155;
pub const EVENT_BEAT_ROUTE_12_TRAINER_2: u16 = 1156;
pub const EVENT_BEAT_ROUTE_12_TRAINER_3: u16 = 1157;
pub const EVENT_BEAT_ROUTE_12_TRAINER_4: u16 = 1158;
pub const EVENT_BEAT_ROUTE_12_TRAINER_5: u16 = 1159;
pub const EVENT_BEAT_ROUTE_12_TRAINER_6: u16 = 1160;
pub const EVENT_BEAT_ROUTE12_SNORLAX: u16 = 1167;
pub const EVENT_BEAT_ROUTE_13_TRAINER_0: u16 = 1169;
pub const EVENT_BEAT_ROUTE_13_TRAINER_1: u16 = 1170;
pub const EVENT_BEAT_ROUTE_13_TRAINER_2: u16 = 1171;
pub const EVENT_BEAT_ROUTE_13_TRAINER_3: u16 = 1172;
pub const EVENT_BEAT_ROUTE_13_TRAINER_4: u16 = 1173;
pub const EVENT_BEAT_ROUTE_13_TRAINER_5: u16 = 1174;
pub const EVENT_BEAT_ROUTE_13_TRAINER_6: u16 = 1175;
pub const EVENT_BEAT_ROUTE_13_TRAINER_7: u16 = 1176;
pub const EVENT_BEAT_ROUTE_13_TRAINER_8: u16 = 1177;
pub const EVENT_BEAT_ROUTE_13_TRAINER_9: u16 = 1178;
pub const EVENT_BEAT_ROUTE_14_TRAINER_0: u16 = 1185;
pub const EVENT_BEAT_ROUTE_14_TRAINER_1: u16 = 1186;
pub const EVENT_BEAT_ROUTE_14_TRAINER_2: u16 = 1187;
pub const EVENT_BEAT_ROUTE_14_TRAINER_3: u16 = 1188;
pub const EVENT_BEAT_ROUTE_14_TRAINER_4: u16 = 1189;
pub const EVENT_BEAT_ROUTE_14_TRAINER_5: u16 = 1190;
pub const EVENT_BEAT_ROUTE_14_TRAINER_6: u16 = 1191;
pub const EVENT_BEAT_ROUTE_14_TRAINER_7: u16 = 1192;
pub const EVENT_BEAT_ROUTE_14_TRAINER_8: u16 = 1193;
pub const EVENT_BEAT_ROUTE_14_TRAINER_9: u16 = 1194;
pub const EVENT_BEAT_ROUTE_15_TRAINER_0: u16 = 1201;
pub const EVENT_BEAT_ROUTE_15_TRAINER_1: u16 = 1202;
pub const EVENT_BEAT_ROUTE_15_TRAINER_2: u16 = 1203;
pub const EVENT_BEAT_ROUTE_15_TRAINER_3: u16 = 1204;
pub const EVENT_BEAT_ROUTE_15_TRAINER_4: u16 = 1205;
pub const EVENT_BEAT_ROUTE_15_TRAINER_5: u16 = 1206;
pub const EVENT_BEAT_ROUTE_15_TRAINER_6: u16 = 1207;
pub const EVENT_BEAT_ROUTE_15_TRAINER_7: u16 = 1208;
pub const EVENT_BEAT_ROUTE_15_TRAINER_8: u16 = 1209;
pub const EVENT_BEAT_ROUTE_15_TRAINER_9: u16 = 1210;
pub const EVENT_BEAT_ROUTE_16_TRAINER_0: u16 = 1217;
pub const EVENT_BEAT_ROUTE_16_TRAINER_1: u16 = 1218;
pub const EVENT_BEAT_ROUTE_16_TRAINER_2: u16 = 1219;
pub const EVENT_BEAT_ROUTE_16_TRAINER_3: u16 = 1220;
pub const EVENT_BEAT_ROUTE_16_TRAINER_4: u16 = 1221;
pub const EVENT_BEAT_ROUTE_16_TRAINER_5: u16 = 1222;
pub const EVENT_BEAT_ROUTE16_SNORLAX: u16 = 1225;
pub const EVENT_GOT_HM02: u16 = 1230;
pub const EVENT_RESCUED_MR_FUJI: u16 = 1231;
pub const EVENT_BEAT_ROUTE_17_TRAINER_0: u16 = 1233;
pub const EVENT_BEAT_ROUTE_17_TRAINER_1: u16 = 1234;
pub const EVENT_BEAT_ROUTE_17_TRAINER_2: u16 = 1235;
pub const EVENT_BEAT_ROUTE_17_TRAINER_3: u16 = 1236;
pub const EVENT_BEAT_ROUTE_17_TRAINER_4: u16 = 1237;
pub const EVENT_BEAT_ROUTE_17_TRAINER_5: u16 = 1238;
pub const EVENT_BEAT_ROUTE_17_TRAINER_6: u16 = 1239;
pub const EVENT_BEAT_ROUTE_17_TRAINER_7: u16 = 1240;
pub const EVENT_BEAT_ROUTE_17_TRAINER_8: u16 = 1241;
pub const EVENT_BEAT_ROUTE_17_TRAINER_9: u16 = 1242;
pub const EVENT_BEAT_ROUTE_18_TRAINER_0: u16 = 1249;
pub const EVENT_BEAT_ROUTE_18_TRAINER_1: u16 = 1250;
pub const EVENT_BEAT_ROUTE_18_TRAINER_2: u16 = 1251;
pub const EVENT_BEAT_ROUTE_19_TRAINER_0: u16 = 1265;
pub const EVENT_BEAT_ROUTE_19_TRAINER_1: u16 = 1266;
pub const EVENT_BEAT_ROUTE_19_TRAINER_2: u16 = 1267;
pub const EVENT_BEAT_ROUTE_19_TRAINER_3: u16 = 1268;
pub const EVENT_BEAT_ROUTE_19_TRAINER_4: u16 = 1269;
pub const EVENT_BEAT_ROUTE_19_TRAINER_5: u16 = 1270;
pub const EVENT_BEAT_ROUTE_19_TRAINER_6: u16 = 1271;
pub const EVENT_BEAT_ROUTE_19_TRAINER_7: u16 = 1272;
pub const EVENT_BEAT_ROUTE_19_TRAINER_8: u16 = 1273;
pub const EVENT_BEAT_ROUTE_19_TRAINER_9: u16 = 1274;
pub const EVENT_BEAT_ROUTE_20_TRAINER_0: u16 = 1281;
pub const EVENT_BEAT_ROUTE_20_TRAINER_1: u16 = 1282;
pub const EVENT_BEAT_ROUTE_20_TRAINER_2: u16 = 1283;
pub const EVENT_BEAT_ROUTE_20_TRAINER_3: u16 = 1284;
pub const EVENT_BEAT_ROUTE_20_TRAINER_4: u16 = 1285;
pub const EVENT_BEAT_ROUTE_20_TRAINER_5: u16 = 1286;
pub const EVENT_BEAT_ROUTE_20_TRAINER_6: u16 = 1287;
pub const EVENT_BEAT_ROUTE_20_TRAINER_7: u16 = 1288;
pub const EVENT_BEAT_ROUTE_20_TRAINER_8: u16 = 1289;
pub const EVENT_BEAT_ROUTE_20_TRAINER_9: u16 = 1290;
pub const EVENT_BEAT_ROUTE_21_TRAINER_0: u16 = 1297;
pub const EVENT_BEAT_ROUTE_21_TRAINER_1: u16 = 1298;
pub const EVENT_BEAT_ROUTE_21_TRAINER_2: u16 = 1299;
pub const EVENT_BEAT_ROUTE_21_TRAINER_3: u16 = 1300;
pub const EVENT_BEAT_ROUTE_21_TRAINER_4: u16 = 1301;
pub const EVENT_BEAT_ROUTE_21_TRAINER_5: u16 = 1302;
pub const EVENT_BEAT_ROUTE_21_TRAINER_6: u16 = 1303;
pub const EVENT_BEAT_ROUTE_21_TRAINER_7: u16 = 1304;
pub const EVENT_BEAT_ROUTE_21_TRAINER_8: u16 = 1305;
pub const EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE: u16 = 1317;
pub const EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE: u16 = 1318;
pub const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0: u16 = 1337;
pub const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1: u16 = 1338;
pub const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2: u16 = 1339;
pub const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3: u16 = 1340;
pub const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4: u16 = 1341;
pub const EVENT_BEAT_MOLTRES: u16 = 1342;
pub const EVENT_BEAT_ROUTE24_ROCKET: u16 = 1345;
pub const EVENT_BEAT_ROUTE_24_TRAINER_0: u16 = 1346;
pub const EVENT_BEAT_ROUTE_24_TRAINER_1: u16 = 1347;
pub const EVENT_BEAT_ROUTE_24_TRAINER_2: u16 = 1348;
pub const EVENT_BEAT_ROUTE_24_TRAINER_3: u16 = 1349;
pub const EVENT_BEAT_ROUTE_24_TRAINER_4: u16 = 1350;
pub const EVENT_BEAT_ROUTE_24_TRAINER_5: u16 = 1351;
pub const EVENT_BEAT_ROUTE_25_TRAINER_0: u16 = 1361;
pub const EVENT_BEAT_ROUTE_25_TRAINER_1: u16 = 1362;
pub const EVENT_BEAT_ROUTE_25_TRAINER_2: u16 = 1363;
pub const EVENT_BEAT_ROUTE_25_TRAINER_3: u16 = 1364;
pub const EVENT_BEAT_ROUTE_25_TRAINER_4: u16 = 1365;
pub const EVENT_BEAT_ROUTE_25_TRAINER_5: u16 = 1366;
pub const EVENT_BEAT_ROUTE_25_TRAINER_6: u16 = 1367;
pub const EVENT_BEAT_ROUTE_25_TRAINER_7: u16 = 1368;
pub const EVENT_BEAT_ROUTE_25_TRAINER_8: u16 = 1369;
pub const EVENT_GOT_SS_TICKET: u16 = 1372;
pub const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0: u16 = 1378;
pub const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1: u16 = 1379;
pub const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2: u16 = 1380;
pub const EVENT_BEAT_MT_MOON_1_TRAINER_0: u16 = 1393;
pub const EVENT_BEAT_MT_MOON_1_TRAINER_1: u16 = 1394;
pub const EVENT_BEAT_MT_MOON_1_TRAINER_2: u16 = 1395;
pub const EVENT_BEAT_MT_MOON_1_TRAINER_3: u16 = 1396;
pub const EVENT_BEAT_MT_MOON_1_TRAINER_4: u16 = 1397;
pub const EVENT_BEAT_MT_MOON_1_TRAINER_5: u16 = 1398;
pub const EVENT_BEAT_MT_MOON_1_TRAINER_6: u16 = 1399;
pub const EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD: u16 = 1401;
pub const EVENT_BEAT_MT_MOON_3_TRAINER_0: u16 = 1402;
pub const EVENT_BEAT_MT_MOON_3_TRAINER_1: u16 = 1403;
pub const EVENT_BEAT_MT_MOON_3_TRAINER_2: u16 = 1404;
pub const EVENT_BEAT_MT_MOON_3_TRAINER_3: u16 = 1405;
pub const EVENT_BEAT_SS_ANNE_5_TRAINER_0: u16 = 1476;
pub const EVENT_BEAT_SS_ANNE_5_TRAINER_1: u16 = 1477;
pub const EVENT_GOT_HM01: u16 = 1504;
pub const EVENT_BEAT_SS_ANNE_8_TRAINER_0: u16 = 1521;
pub const EVENT_BEAT_SS_ANNE_8_TRAINER_1: u16 = 1522;
pub const EVENT_BEAT_SS_ANNE_8_TRAINER_2: u16 = 1523;
pub const EVENT_BEAT_SS_ANNE_8_TRAINER_3: u16 = 1524;
pub const EVENT_BEAT_SS_ANNE_9_TRAINER_0: u16 = 1537;
pub const EVENT_BEAT_SS_ANNE_9_TRAINER_1: u16 = 1538;
pub const EVENT_BEAT_SS_ANNE_9_TRAINER_2: u16 = 1539;
pub const EVENT_BEAT_SS_ANNE_9_TRAINER_3: u16 = 1540;
pub const EVENT_BEAT_SS_ANNE_10_TRAINER_0: u16 = 1553;
pub const EVENT_BEAT_SS_ANNE_10_TRAINER_1: u16 = 1554;
pub const EVENT_BEAT_SS_ANNE_10_TRAINER_2: u16 = 1555;
pub const EVENT_BEAT_SS_ANNE_10_TRAINER_3: u16 = 1556;
pub const EVENT_BEAT_SS_ANNE_10_TRAINER_4: u16 = 1557;
pub const EVENT_BEAT_SS_ANNE_10_TRAINER_5: u16 = 1558;
pub const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0: u16 = 1633;
pub const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1: u16 = 1634;
pub const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2: u16 = 1635;
pub const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3: u16 = 1636;
pub const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0: u16 = 1649;
pub const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1: u16 = 1650;
pub const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2: u16 = 1651;
pub const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3: u16 = 1652;
pub const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4: u16 = 1653;
pub const EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0: u16 = 1665;
pub const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0: u16 = 1681;
pub const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1: u16 = 1682;
pub const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0: u16 = 1698;
pub const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1: u16 = 1699;
pub const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2: u16 = 1700;
pub const EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI: u16 = 1703;
pub const EVENT_BEAT_SILPH_CO_2F_TRAINER_0: u16 = 1778;
pub const EVENT_BEAT_SILPH_CO_2F_TRAINER_1: u16 = 1779;
pub const EVENT_BEAT_SILPH_CO_2F_TRAINER_2: u16 = 1780;
pub const EVENT_BEAT_SILPH_CO_2F_TRAINER_3: u16 = 1781;
pub const EVENT_BEAT_SILPH_CO_3F_TRAINER_0: u16 = 1794;
pub const EVENT_BEAT_SILPH_CO_3F_TRAINER_1: u16 = 1795;
pub const EVENT_BEAT_SILPH_CO_4F_TRAINER_0: u16 = 1810;
pub const EVENT_BEAT_SILPH_CO_4F_TRAINER_1: u16 = 1811;
pub const EVENT_BEAT_SILPH_CO_4F_TRAINER_2: u16 = 1812;
pub const EVENT_BEAT_SILPH_CO_5F_TRAINER_0: u16 = 1826;
pub const EVENT_BEAT_SILPH_CO_5F_TRAINER_1: u16 = 1827;
pub const EVENT_BEAT_SILPH_CO_5F_TRAINER_2: u16 = 1828;
pub const EVENT_BEAT_SILPH_CO_5F_TRAINER_3: u16 = 1829;
pub const EVENT_BEAT_SILPH_CO_6F_TRAINER_0: u16 = 1846;
pub const EVENT_BEAT_SILPH_CO_6F_TRAINER_1: u16 = 1847;
pub const EVENT_BEAT_SILPH_CO_6F_TRAINER_2: u16 = 1848;
pub const EVENT_BEAT_SILPH_CO_RIVAL: u16 = 1856;
pub const EVENT_BEAT_SILPH_CO_7F_TRAINER_0: u16 = 1861;
pub const EVENT_BEAT_SILPH_CO_7F_TRAINER_1: u16 = 1862;
pub const EVENT_BEAT_SILPH_CO_7F_TRAINER_2: u16 = 1863;
pub const EVENT_BEAT_SILPH_CO_7F_TRAINER_3: u16 = 1864;
pub const EVENT_BEAT_SILPH_CO_8F_TRAINER_0: u16 = 1874;
pub const EVENT_BEAT_SILPH_CO_8F_TRAINER_1: u16 = 1875;
pub const EVENT_BEAT_SILPH_CO_8F_TRAINER_2: u16 = 1876;
pub const EVENT_BEAT_SILPH_CO_9F_TRAINER_0: u16 = 1890;
pub const EVENT_BEAT_SILPH_CO_9F_TRAINER_1: u16 = 1891;
pub const EVENT_BEAT_SILPH_CO_9F_TRAINER_2: u16 = 1892;
pub const EVENT_BEAT_SILPH_CO_10F_TRAINER_0: u16 = 1905;
pub const EVENT_BEAT_SILPH_CO_10F_TRAINER_1: u16 = 1906;
pub const EVENT_BEAT_SILPH_CO_11F_TRAINER_0: u16 = 1924;
pub const EVENT_BEAT_SILPH_CO_11F_TRAINER_1: u16 = 1925;
pub const EVENT_BEAT_SILPH_CO_GIOVANNI: u16 = 1935;
pub const EVENT_BEAT_MANSION_2_TRAINER_0: u16 = 2049;
pub const EVENT_BEAT_MANSION_3_TRAINER_0: u16 = 2065;
pub const EVENT_BEAT_MANSION_3_TRAINER_1: u16 = 2066;
pub const EVENT_BEAT_MANSION_4_TRAINER_0: u16 = 2081;
pub const EVENT_BEAT_MANSION_4_TRAINER_1: u16 = 2082;
pub const EVENT_GOT_HM03: u16 = 2176;
pub const EVENT_BEAT_MEWTWO: u16 = 2241;
pub const EVENT_BEAT_LORELEIS_ROOM_TRAINER_0: u16 = 2273;
pub const EVENT_BEAT_BRUNOS_ROOM_TRAINER_0: u16 = 2281;
pub const EVENT_BEAT_AGATHAS_ROOM_TRAINER_0: u16 = 2289;
pub const EVENT_BEAT_LANCES_ROOM_TRAINER_0: u16 = 2297;
pub const EVENT_BEAT_LANCE: u16 = 2302;
pub const EVENT_BEAT_CHAMPION_RIVAL: u16 = 2305;
pub const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0: u16 = 2321;
pub const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1: u16 = 2322;
pub const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0: u16 = 2481;
pub const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1: u16 = 2482;
pub const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2: u16 = 2483;
pub const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3: u16 = 2484;
pub const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4: u16 = 2485;
pub const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5: u16 = 2486;
pub const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6: u16 = 2487;
pub const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7: u16 = 2488;
pub const EVENT_BEAT_ARTICUNO: u16 = 2522;
}
/// Every selected event flag, in pokered declaration order.
///
/// The order matters: the adapter walks this slice, so it decides
/// which of several simultaneous payouts is emitted first.
pub const EVENTS: [(&str, u16); 369] = [
("EVENT_FOLLOWED_OAK_INTO_LAB", 0),
("EVENT_GOT_TOWN_MAP", 24),
("EVENT_OAK_ASKED_TO_CHOOSE_MON", 33),
("EVENT_GOT_STARTER", 34),
("EVENT_GOT_POKEDEX", 37),
("EVENT_OAK_GOT_PARCEL", 56),
("EVENT_GOT_OAKS_PARCEL", 57),
("EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI", 81),
("EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0", 82),
("EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1", 83),
("EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2", 84),
("EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3", 85),
("EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4", 86),
("EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5", 87),
("EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6", 88),
("EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7", 89),
("EVENT_BEAT_PEWTER_GYM_TRAINER_0", 114),
("EVENT_BEAT_BROCK", 119),
("EVENT_BEAT_CERULEAN_RIVAL", 152),
("EVENT_BEAT_CERULEAN_ROCKET_THIEF", 167),
("EVENT_BEAT_CERULEAN_GYM_TRAINER_0", 186),
("EVENT_BEAT_CERULEAN_GYM_TRAINER_1", 187),
("EVENT_BEAT_MISTY", 191),
("EVENT_GOT_BICYCLE", 192),
("EVENT_BEAT_POKEMON_TOWER_RIVAL", 239),
("EVENT_BEAT_POKEMONTOWER_3_TRAINER_0", 241),
("EVENT_BEAT_POKEMONTOWER_3_TRAINER_1", 242),
("EVENT_BEAT_POKEMONTOWER_3_TRAINER_2", 243),
("EVENT_BEAT_POKEMONTOWER_4_TRAINER_0", 249),
("EVENT_BEAT_POKEMONTOWER_4_TRAINER_1", 250),
("EVENT_BEAT_POKEMONTOWER_4_TRAINER_2", 251),
("EVENT_BEAT_POKEMONTOWER_5_TRAINER_0", 258),
("EVENT_BEAT_POKEMONTOWER_5_TRAINER_1", 259),
("EVENT_BEAT_POKEMONTOWER_5_TRAINER_2", 260),
("EVENT_BEAT_POKEMONTOWER_5_TRAINER_3", 261),
("EVENT_BEAT_POKEMONTOWER_6_TRAINER_0", 265),
("EVENT_BEAT_POKEMONTOWER_6_TRAINER_1", 266),
("EVENT_BEAT_POKEMONTOWER_6_TRAINER_2", 267),
("EVENT_BEAT_GHOST_MAROWAK", 271),
("EVENT_BEAT_POKEMONTOWER_7_TRAINER_0", 273),
("EVENT_BEAT_POKEMONTOWER_7_TRAINER_1", 274),
("EVENT_BEAT_POKEMONTOWER_7_TRAINER_2", 275),
("EVENT_GOT_POKE_FLUTE", 296),
("EVENT_BEAT_VERMILION_GYM_TRAINER_0", 354),
("EVENT_BEAT_VERMILION_GYM_TRAINER_1", 355),
("EVENT_BEAT_VERMILION_GYM_TRAINER_2", 356),
("EVENT_BEAT_LT_SURGE", 359),
("EVENT_BEAT_ERIKA", 425),
("EVENT_BEAT_CELADON_GYM_TRAINER_0", 426),
("EVENT_BEAT_CELADON_GYM_TRAINER_1", 427),
("EVENT_BEAT_CELADON_GYM_TRAINER_2", 428),
("EVENT_BEAT_CELADON_GYM_TRAINER_3", 429),
("EVENT_BEAT_CELADON_GYM_TRAINER_4", 430),
("EVENT_BEAT_CELADON_GYM_TRAINER_5", 431),
("EVENT_BEAT_CELADON_GYM_TRAINER_6", 432),
("EVENT_GOT_HM04", 568),
("EVENT_BEAT_KOGA", 601),
("EVENT_BEAT_FUCHSIA_GYM_TRAINER_0", 602),
("EVENT_BEAT_FUCHSIA_GYM_TRAINER_1", 603),
("EVENT_BEAT_FUCHSIA_GYM_TRAINER_2", 604),
("EVENT_BEAT_FUCHSIA_GYM_TRAINER_3", 605),
("EVENT_BEAT_FUCHSIA_GYM_TRAINER_4", 606),
("EVENT_BEAT_FUCHSIA_GYM_TRAINER_5", 607),
("EVENT_BEAT_MANSION_1_TRAINER_0", 649),
("EVENT_BEAT_BLAINE", 665),
("EVENT_BEAT_CINNABAR_GYM_TRAINER_0", 666),
("EVENT_BEAT_CINNABAR_GYM_TRAINER_1", 667),
("EVENT_BEAT_CINNABAR_GYM_TRAINER_2", 668),
("EVENT_BEAT_CINNABAR_GYM_TRAINER_3", 669),
("EVENT_BEAT_CINNABAR_GYM_TRAINER_4", 670),
("EVENT_BEAT_CINNABAR_GYM_TRAINER_5", 671),
("EVENT_BEAT_CINNABAR_GYM_TRAINER_6", 672),
("EVENT_BEAT_KARATE_MASTER", 849),
("EVENT_BEAT_FIGHTING_DOJO_TRAINER_0", 850),
("EVENT_BEAT_FIGHTING_DOJO_TRAINER_1", 851),
("EVENT_BEAT_FIGHTING_DOJO_TRAINER_2", 852),
("EVENT_BEAT_FIGHTING_DOJO_TRAINER_3", 853),
("EVENT_BEAT_SABRINA", 865),
("EVENT_BEAT_SAFFRON_GYM_TRAINER_0", 866),
("EVENT_BEAT_SAFFRON_GYM_TRAINER_1", 867),
("EVENT_BEAT_SAFFRON_GYM_TRAINER_2", 868),
("EVENT_BEAT_SAFFRON_GYM_TRAINER_3", 869),
("EVENT_BEAT_SAFFRON_GYM_TRAINER_4", 870),
("EVENT_BEAT_SAFFRON_GYM_TRAINER_5", 871),
("EVENT_BEAT_SAFFRON_GYM_TRAINER_6", 872),
("EVENT_GOT_HM05", 984),
("EVENT_BEAT_ROUTE_3_TRAINER_0", 994),
("EVENT_BEAT_ROUTE_3_TRAINER_1", 995),
("EVENT_BEAT_ROUTE_3_TRAINER_2", 996),
("EVENT_BEAT_ROUTE_3_TRAINER_3", 997),
("EVENT_BEAT_ROUTE_3_TRAINER_4", 998),
("EVENT_BEAT_ROUTE_3_TRAINER_5", 999),
("EVENT_BEAT_ROUTE_3_TRAINER_6", 1000),
("EVENT_BEAT_ROUTE_3_TRAINER_7", 1001),
("EVENT_BEAT_ROUTE_4_TRAINER_0", 1010),
("EVENT_BEAT_ROUTE_6_TRAINER_0", 1041),
("EVENT_BEAT_ROUTE_6_TRAINER_1", 1042),
("EVENT_BEAT_ROUTE_6_TRAINER_2", 1043),
("EVENT_BEAT_ROUTE_6_TRAINER_3", 1044),
("EVENT_BEAT_ROUTE_6_TRAINER_4", 1045),
("EVENT_BEAT_ROUTE_6_TRAINER_5", 1046),
("EVENT_BEAT_ROUTE_8_TRAINER_0", 1073),
("EVENT_BEAT_ROUTE_8_TRAINER_1", 1074),
("EVENT_BEAT_ROUTE_8_TRAINER_2", 1075),
("EVENT_BEAT_ROUTE_8_TRAINER_3", 1076),
("EVENT_BEAT_ROUTE_8_TRAINER_4", 1077),
("EVENT_BEAT_ROUTE_8_TRAINER_5", 1078),
("EVENT_BEAT_ROUTE_8_TRAINER_6", 1079),
("EVENT_BEAT_ROUTE_8_TRAINER_7", 1080),
("EVENT_BEAT_ROUTE_8_TRAINER_8", 1081),
("EVENT_BEAT_ROUTE_9_TRAINER_0", 1089),
("EVENT_BEAT_ROUTE_9_TRAINER_1", 1090),
("EVENT_BEAT_ROUTE_9_TRAINER_2", 1091),
("EVENT_BEAT_ROUTE_9_TRAINER_3", 1092),
("EVENT_BEAT_ROUTE_9_TRAINER_4", 1093),
("EVENT_BEAT_ROUTE_9_TRAINER_5", 1094),
("EVENT_BEAT_ROUTE_9_TRAINER_6", 1095),
("EVENT_BEAT_ROUTE_9_TRAINER_7", 1096),
("EVENT_BEAT_ROUTE_9_TRAINER_8", 1097),
("EVENT_BEAT_ROUTE_10_TRAINER_0", 1105),
("EVENT_BEAT_ROUTE_10_TRAINER_1", 1106),
("EVENT_BEAT_ROUTE_10_TRAINER_2", 1107),
("EVENT_BEAT_ROUTE_10_TRAINER_3", 1108),
("EVENT_BEAT_ROUTE_10_TRAINER_4", 1109),
("EVENT_BEAT_ROUTE_10_TRAINER_5", 1110),
("EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0", 1113),
("EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1", 1114),
("EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2", 1115),
("EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3", 1116),
("EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4", 1117),
("EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5", 1118),
("EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6", 1119),
("EVENT_BEAT_POWER_PLANT_VOLTORB_0", 1121),
("EVENT_BEAT_POWER_PLANT_VOLTORB_1", 1122),
("EVENT_BEAT_POWER_PLANT_VOLTORB_2", 1123),
("EVENT_BEAT_POWER_PLANT_VOLTORB_3", 1124),
("EVENT_BEAT_POWER_PLANT_VOLTORB_4", 1125),
("EVENT_BEAT_POWER_PLANT_VOLTORB_5", 1126),
("EVENT_BEAT_POWER_PLANT_VOLTORB_6", 1127),
("EVENT_BEAT_POWER_PLANT_VOLTORB_7", 1128),
("EVENT_BEAT_ZAPDOS", 1129),
("EVENT_BEAT_ROUTE_11_TRAINER_0", 1137),
("EVENT_BEAT_ROUTE_11_TRAINER_1", 1138),
("EVENT_BEAT_ROUTE_11_TRAINER_2", 1139),
("EVENT_BEAT_ROUTE_11_TRAINER_3", 1140),
("EVENT_BEAT_ROUTE_11_TRAINER_4", 1141),
("EVENT_BEAT_ROUTE_11_TRAINER_5", 1142),
("EVENT_BEAT_ROUTE_11_TRAINER_6", 1143),
("EVENT_BEAT_ROUTE_11_TRAINER_7", 1144),
("EVENT_BEAT_ROUTE_11_TRAINER_8", 1145),
("EVENT_BEAT_ROUTE_11_TRAINER_9", 1146),
("EVENT_BEAT_ROUTE_12_TRAINER_0", 1154),
("EVENT_BEAT_ROUTE_12_TRAINER_1", 1155),
("EVENT_BEAT_ROUTE_12_TRAINER_2", 1156),
("EVENT_BEAT_ROUTE_12_TRAINER_3", 1157),
("EVENT_BEAT_ROUTE_12_TRAINER_4", 1158),
("EVENT_BEAT_ROUTE_12_TRAINER_5", 1159),
("EVENT_BEAT_ROUTE_12_TRAINER_6", 1160),
("EVENT_BEAT_ROUTE12_SNORLAX", 1167),
("EVENT_BEAT_ROUTE_13_TRAINER_0", 1169),
("EVENT_BEAT_ROUTE_13_TRAINER_1", 1170),
("EVENT_BEAT_ROUTE_13_TRAINER_2", 1171),
("EVENT_BEAT_ROUTE_13_TRAINER_3", 1172),
("EVENT_BEAT_ROUTE_13_TRAINER_4", 1173),
("EVENT_BEAT_ROUTE_13_TRAINER_5", 1174),
("EVENT_BEAT_ROUTE_13_TRAINER_6", 1175),
("EVENT_BEAT_ROUTE_13_TRAINER_7", 1176),
("EVENT_BEAT_ROUTE_13_TRAINER_8", 1177),
("EVENT_BEAT_ROUTE_13_TRAINER_9", 1178),
("EVENT_BEAT_ROUTE_14_TRAINER_0", 1185),
("EVENT_BEAT_ROUTE_14_TRAINER_1", 1186),
("EVENT_BEAT_ROUTE_14_TRAINER_2", 1187),
("EVENT_BEAT_ROUTE_14_TRAINER_3", 1188),
("EVENT_BEAT_ROUTE_14_TRAINER_4", 1189),
("EVENT_BEAT_ROUTE_14_TRAINER_5", 1190),
("EVENT_BEAT_ROUTE_14_TRAINER_6", 1191),
("EVENT_BEAT_ROUTE_14_TRAINER_7", 1192),
("EVENT_BEAT_ROUTE_14_TRAINER_8", 1193),
("EVENT_BEAT_ROUTE_14_TRAINER_9", 1194),
("EVENT_BEAT_ROUTE_15_TRAINER_0", 1201),
("EVENT_BEAT_ROUTE_15_TRAINER_1", 1202),
("EVENT_BEAT_ROUTE_15_TRAINER_2", 1203),
("EVENT_BEAT_ROUTE_15_TRAINER_3", 1204),
("EVENT_BEAT_ROUTE_15_TRAINER_4", 1205),
("EVENT_BEAT_ROUTE_15_TRAINER_5", 1206),
("EVENT_BEAT_ROUTE_15_TRAINER_6", 1207),
("EVENT_BEAT_ROUTE_15_TRAINER_7", 1208),
("EVENT_BEAT_ROUTE_15_TRAINER_8", 1209),
("EVENT_BEAT_ROUTE_15_TRAINER_9", 1210),
("EVENT_BEAT_ROUTE_16_TRAINER_0", 1217),
("EVENT_BEAT_ROUTE_16_TRAINER_1", 1218),
("EVENT_BEAT_ROUTE_16_TRAINER_2", 1219),
("EVENT_BEAT_ROUTE_16_TRAINER_3", 1220),
("EVENT_BEAT_ROUTE_16_TRAINER_4", 1221),
("EVENT_BEAT_ROUTE_16_TRAINER_5", 1222),
("EVENT_BEAT_ROUTE16_SNORLAX", 1225),
("EVENT_GOT_HM02", 1230),
("EVENT_RESCUED_MR_FUJI", 1231),
("EVENT_BEAT_ROUTE_17_TRAINER_0", 1233),
("EVENT_BEAT_ROUTE_17_TRAINER_1", 1234),
("EVENT_BEAT_ROUTE_17_TRAINER_2", 1235),
("EVENT_BEAT_ROUTE_17_TRAINER_3", 1236),
("EVENT_BEAT_ROUTE_17_TRAINER_4", 1237),
("EVENT_BEAT_ROUTE_17_TRAINER_5", 1238),
("EVENT_BEAT_ROUTE_17_TRAINER_6", 1239),
("EVENT_BEAT_ROUTE_17_TRAINER_7", 1240),
("EVENT_BEAT_ROUTE_17_TRAINER_8", 1241),
("EVENT_BEAT_ROUTE_17_TRAINER_9", 1242),
("EVENT_BEAT_ROUTE_18_TRAINER_0", 1249),
("EVENT_BEAT_ROUTE_18_TRAINER_1", 1250),
("EVENT_BEAT_ROUTE_18_TRAINER_2", 1251),
("EVENT_BEAT_ROUTE_19_TRAINER_0", 1265),
("EVENT_BEAT_ROUTE_19_TRAINER_1", 1266),
("EVENT_BEAT_ROUTE_19_TRAINER_2", 1267),
("EVENT_BEAT_ROUTE_19_TRAINER_3", 1268),
("EVENT_BEAT_ROUTE_19_TRAINER_4", 1269),
("EVENT_BEAT_ROUTE_19_TRAINER_5", 1270),
("EVENT_BEAT_ROUTE_19_TRAINER_6", 1271),
("EVENT_BEAT_ROUTE_19_TRAINER_7", 1272),
("EVENT_BEAT_ROUTE_19_TRAINER_8", 1273),
("EVENT_BEAT_ROUTE_19_TRAINER_9", 1274),
("EVENT_BEAT_ROUTE_20_TRAINER_0", 1281),
("EVENT_BEAT_ROUTE_20_TRAINER_1", 1282),
("EVENT_BEAT_ROUTE_20_TRAINER_2", 1283),
("EVENT_BEAT_ROUTE_20_TRAINER_3", 1284),
("EVENT_BEAT_ROUTE_20_TRAINER_4", 1285),
("EVENT_BEAT_ROUTE_20_TRAINER_5", 1286),
("EVENT_BEAT_ROUTE_20_TRAINER_6", 1287),
("EVENT_BEAT_ROUTE_20_TRAINER_7", 1288),
("EVENT_BEAT_ROUTE_20_TRAINER_8", 1289),
("EVENT_BEAT_ROUTE_20_TRAINER_9", 1290),
("EVENT_BEAT_ROUTE_21_TRAINER_0", 1297),
("EVENT_BEAT_ROUTE_21_TRAINER_1", 1298),
("EVENT_BEAT_ROUTE_21_TRAINER_2", 1299),
("EVENT_BEAT_ROUTE_21_TRAINER_3", 1300),
("EVENT_BEAT_ROUTE_21_TRAINER_4", 1301),
("EVENT_BEAT_ROUTE_21_TRAINER_5", 1302),
("EVENT_BEAT_ROUTE_21_TRAINER_6", 1303),
("EVENT_BEAT_ROUTE_21_TRAINER_7", 1304),
("EVENT_BEAT_ROUTE_21_TRAINER_8", 1305),
("EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE", 1317),
("EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE", 1318),
("EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0", 1337),
("EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1", 1338),
("EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2", 1339),
("EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3", 1340),
("EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4", 1341),
("EVENT_BEAT_MOLTRES", 1342),
("EVENT_BEAT_ROUTE24_ROCKET", 1345),
("EVENT_BEAT_ROUTE_24_TRAINER_0", 1346),
("EVENT_BEAT_ROUTE_24_TRAINER_1", 1347),
("EVENT_BEAT_ROUTE_24_TRAINER_2", 1348),
("EVENT_BEAT_ROUTE_24_TRAINER_3", 1349),
("EVENT_BEAT_ROUTE_24_TRAINER_4", 1350),
("EVENT_BEAT_ROUTE_24_TRAINER_5", 1351),
("EVENT_BEAT_ROUTE_25_TRAINER_0", 1361),
("EVENT_BEAT_ROUTE_25_TRAINER_1", 1362),
("EVENT_BEAT_ROUTE_25_TRAINER_2", 1363),
("EVENT_BEAT_ROUTE_25_TRAINER_3", 1364),
("EVENT_BEAT_ROUTE_25_TRAINER_4", 1365),
("EVENT_BEAT_ROUTE_25_TRAINER_5", 1366),
("EVENT_BEAT_ROUTE_25_TRAINER_6", 1367),
("EVENT_BEAT_ROUTE_25_TRAINER_7", 1368),
("EVENT_BEAT_ROUTE_25_TRAINER_8", 1369),
("EVENT_GOT_SS_TICKET", 1372),
("EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0", 1378),
("EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1", 1379),
("EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2", 1380),
("EVENT_BEAT_MT_MOON_1_TRAINER_0", 1393),
("EVENT_BEAT_MT_MOON_1_TRAINER_1", 1394),
("EVENT_BEAT_MT_MOON_1_TRAINER_2", 1395),
("EVENT_BEAT_MT_MOON_1_TRAINER_3", 1396),
("EVENT_BEAT_MT_MOON_1_TRAINER_4", 1397),
("EVENT_BEAT_MT_MOON_1_TRAINER_5", 1398),
("EVENT_BEAT_MT_MOON_1_TRAINER_6", 1399),
("EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD", 1401),
("EVENT_BEAT_MT_MOON_3_TRAINER_0", 1402),
("EVENT_BEAT_MT_MOON_3_TRAINER_1", 1403),
("EVENT_BEAT_MT_MOON_3_TRAINER_2", 1404),
("EVENT_BEAT_MT_MOON_3_TRAINER_3", 1405),
("EVENT_BEAT_SS_ANNE_5_TRAINER_0", 1476),
("EVENT_BEAT_SS_ANNE_5_TRAINER_1", 1477),
("EVENT_GOT_HM01", 1504),
("EVENT_BEAT_SS_ANNE_8_TRAINER_0", 1521),
("EVENT_BEAT_SS_ANNE_8_TRAINER_1", 1522),
("EVENT_BEAT_SS_ANNE_8_TRAINER_2", 1523),
("EVENT_BEAT_SS_ANNE_8_TRAINER_3", 1524),
("EVENT_BEAT_SS_ANNE_9_TRAINER_0", 1537),
("EVENT_BEAT_SS_ANNE_9_TRAINER_1", 1538),
("EVENT_BEAT_SS_ANNE_9_TRAINER_2", 1539),
("EVENT_BEAT_SS_ANNE_9_TRAINER_3", 1540),
("EVENT_BEAT_SS_ANNE_10_TRAINER_0", 1553),
("EVENT_BEAT_SS_ANNE_10_TRAINER_1", 1554),
("EVENT_BEAT_SS_ANNE_10_TRAINER_2", 1555),
("EVENT_BEAT_SS_ANNE_10_TRAINER_3", 1556),
("EVENT_BEAT_SS_ANNE_10_TRAINER_4", 1557),
("EVENT_BEAT_SS_ANNE_10_TRAINER_5", 1558),
("EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0", 1633),
("EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1", 1634),
("EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2", 1635),
("EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3", 1636),
("EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0", 1649),
("EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1", 1650),
("EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2", 1651),
("EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3", 1652),
("EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4", 1653),
("EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0", 1665),
("EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0", 1681),
("EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1", 1682),
("EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0", 1698),
("EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1", 1699),
("EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2", 1700),
("EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI", 1703),
("EVENT_BEAT_SILPH_CO_2F_TRAINER_0", 1778),
("EVENT_BEAT_SILPH_CO_2F_TRAINER_1", 1779),
("EVENT_BEAT_SILPH_CO_2F_TRAINER_2", 1780),
("EVENT_BEAT_SILPH_CO_2F_TRAINER_3", 1781),
("EVENT_BEAT_SILPH_CO_3F_TRAINER_0", 1794),
("EVENT_BEAT_SILPH_CO_3F_TRAINER_1", 1795),
("EVENT_BEAT_SILPH_CO_4F_TRAINER_0", 1810),
("EVENT_BEAT_SILPH_CO_4F_TRAINER_1", 1811),
("EVENT_BEAT_SILPH_CO_4F_TRAINER_2", 1812),
("EVENT_BEAT_SILPH_CO_5F_TRAINER_0", 1826),
("EVENT_BEAT_SILPH_CO_5F_TRAINER_1", 1827),
("EVENT_BEAT_SILPH_CO_5F_TRAINER_2", 1828),
("EVENT_BEAT_SILPH_CO_5F_TRAINER_3", 1829),
("EVENT_BEAT_SILPH_CO_6F_TRAINER_0", 1846),
("EVENT_BEAT_SILPH_CO_6F_TRAINER_1", 1847),
("EVENT_BEAT_SILPH_CO_6F_TRAINER_2", 1848),
("EVENT_BEAT_SILPH_CO_RIVAL", 1856),
("EVENT_BEAT_SILPH_CO_7F_TRAINER_0", 1861),
("EVENT_BEAT_SILPH_CO_7F_TRAINER_1", 1862),
("EVENT_BEAT_SILPH_CO_7F_TRAINER_2", 1863),
("EVENT_BEAT_SILPH_CO_7F_TRAINER_3", 1864),
("EVENT_BEAT_SILPH_CO_8F_TRAINER_0", 1874),
("EVENT_BEAT_SILPH_CO_8F_TRAINER_1", 1875),
("EVENT_BEAT_SILPH_CO_8F_TRAINER_2", 1876),
("EVENT_BEAT_SILPH_CO_9F_TRAINER_0", 1890),
("EVENT_BEAT_SILPH_CO_9F_TRAINER_1", 1891),
("EVENT_BEAT_SILPH_CO_9F_TRAINER_2", 1892),
("EVENT_BEAT_SILPH_CO_10F_TRAINER_0", 1905),
("EVENT_BEAT_SILPH_CO_10F_TRAINER_1", 1906),
("EVENT_BEAT_SILPH_CO_11F_TRAINER_0", 1924),
("EVENT_BEAT_SILPH_CO_11F_TRAINER_1", 1925),
("EVENT_BEAT_SILPH_CO_GIOVANNI", 1935),
("EVENT_BEAT_MANSION_2_TRAINER_0", 2049),
("EVENT_BEAT_MANSION_3_TRAINER_0", 2065),
("EVENT_BEAT_MANSION_3_TRAINER_1", 2066),
("EVENT_BEAT_MANSION_4_TRAINER_0", 2081),
("EVENT_BEAT_MANSION_4_TRAINER_1", 2082),
("EVENT_GOT_HM03", 2176),
("EVENT_BEAT_MEWTWO", 2241),
("EVENT_BEAT_LORELEIS_ROOM_TRAINER_0", 2273),
("EVENT_BEAT_BRUNOS_ROOM_TRAINER_0", 2281),
("EVENT_BEAT_AGATHAS_ROOM_TRAINER_0", 2289),
("EVENT_BEAT_LANCES_ROOM_TRAINER_0", 2297),
("EVENT_BEAT_LANCE", 2302),
("EVENT_BEAT_CHAMPION_RIVAL", 2305),
("EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0", 2321),
("EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1", 2322),
("EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0", 2481),
("EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1", 2482),
("EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2", 2483),
("EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3", 2484),
("EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4", 2485),
("EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5", 2486),
("EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6", 2487),
("EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7", 2488),
("EVENT_BEAT_ARTICUNO", 2522),
];
/// Event flags classified as story milestones rather than trainer wins.
pub const MILESTONES: [&str; 17] = [
"EVENT_FOLLOWED_OAK_INTO_LAB",
"EVENT_OAK_ASKED_TO_CHOOSE_MON",
"EVENT_GOT_STARTER",
"EVENT_GOT_OAKS_PARCEL",
"EVENT_OAK_GOT_PARCEL",
"EVENT_GOT_POKEDEX",
"EVENT_GOT_TOWN_MAP",
"EVENT_GOT_BICYCLE",
"EVENT_GOT_HM01",
"EVENT_GOT_HM02",
"EVENT_GOT_HM03",
"EVENT_GOT_HM04",
"EVENT_GOT_HM05",
"EVENT_GOT_POKE_FLUTE",
"EVENT_RESCUED_MR_FUJI",
"EVENT_BEAT_CHAMPION_RIVAL",
"EVENT_GOT_SS_TICKET",
];