
from BaseClasses import Location
from .rom_addresses import rom_addresses
loc_id_start = 172000000


def trainersanity(multiworld, player):
    return multiworld.trainersanity[player]


def hidden_items(multiworld, player):
    return multiworld.randomize_hidden_items[player].value > 0


def tea(multiworld, player):
    return multiworld.tea[player]


def extra_key_items(multiworld, player):
    return multiworld.extra_key_items[player]


def pokedex(multiworld, player):
    return multiworld.randomize_pokedex[player].value > 0


def always_on(multiworld, player):
    return True



class LocationData:

    def __init__(self, region, name, original_item, rom_address=None, ram_address=None, event=False, type="Item", inclusion=always_on):
        self.region = region
        if "Route" in region:
            region = " ".join(region.split()[:2])
        self.name = region + " - " + name
        self.original_item = original_item
        self.rom_address = rom_address
        self.ram_address = ram_address
        self.event = event
        self.type = type
        self.inclusion = inclusion


class EventFlag:
    def __init__(self, flag):
        self.byte = int(flag / 8)
        self.bit = flag % 8
        self.flag = flag


class Missable:
    def __init__(self, flag):
        self.byte = int(flag / 8)
        self.bit = flag % 8
        self.flag = flag


class Hidden:
    def __init__(self, flag):
        self.byte = int(flag / 8)
        self.bit = flag % 8
        self.flag = flag


class Rod:
    def __init__(self, flag):
        self.byte = 0
        self.bit = flag
        self.flag = flag


location_data = [

    LocationData("Vermilion City", "Fishing Guru", "Old Rod", rom_addresses["Rod_Vermilion_City_Fishing_Guru"], Rod(3)),
    LocationData("Fuchsia City", "Fishing Guru's Brother", "Good Rod", rom_addresses["Rod_Fuchsia_City_Fishing_Brother"], Rod(4)),
    LocationData("Route 12 South", "Fishing Guru's Brother", "Super Rod", rom_addresses["Rod_Route12_Fishing_Brother"], Rod(5)),

    LocationData("Pallet Town", "Player's PC", "Potion", rom_addresses['PC_Item'], EventFlag(1),),
    LocationData("Celadon City", "Mansion Lady", "Tea", rom_addresses["Event_Mansion_Lady"], EventFlag(2), inclusion=tea),
    LocationData("Pallet Town", "Rival's Sister", "Town Map", rom_addresses["Event_Rivals_Sister"], EventFlag(24)),
    LocationData("Pallet Town", "Oak's Post-Route-22-Rival Gift", "Poke Ball", rom_addresses["Event_Oaks_Gift"], EventFlag(36)),
    LocationData("Route 1", "Free Sample Man", "Potion", rom_addresses["Event_Free_Sample"], EventFlag(960)),
    LocationData("Viridian City", "Sleepy Guy", "TM42 Dream Eater", rom_addresses["Event_Sleepy_Guy"],
                 EventFlag(41)),
    LocationData("Viridian City", "Pokemart", "Oak's Parcel", rom_addresses["Event_Pokemart_Quest"],
                 EventFlag(57)),
    LocationData("Viridian Gym", "Giovanni 2", "TM27 Fissure", rom_addresses["Event_Viridian_Gym"], EventFlag(80)),
    LocationData("Route 2 East", "Oak's Aide", "HM05 Flash", rom_addresses["Event_Route_2_Oaks_Aide"],
                 EventFlag(984)),
    LocationData("Pewter City", "Museum", "Old Amber", rom_addresses["Event_Museum"], EventFlag(105)),
    LocationData("Pewter Gym", "Brock 2", "TM34 Bide", rom_addresses["Event_Pewter_Gym"], EventFlag(118)),
    LocationData("Cerulean City", "Bicycle Shop", "Bicycle", rom_addresses["Event_Bicycle_Shop"], EventFlag(192)),
    LocationData("Cerulean Gym", "Misty 2", "TM11 Bubble Beam", rom_addresses["Event_Cerulean_Gym"],
                 EventFlag(190)),
    LocationData("Route 24", "Nugget Bridge", "Nugget", rom_addresses["Event_Nugget_Bridge"], EventFlag(1344)),
    LocationData("Route 25", "Bill", "S.S. Ticket", rom_addresses["Event_Bill"], EventFlag(1372)),
    LocationData("Lavender Town", "Mr. Fuji", "Poke Flute", rom_addresses["Event_Fuji"], EventFlag(296)),
    LocationData("Route 12 North", "Mourning Girl", "TM39 Swift", rom_addresses["Event_Mourning_Girl"],
                 EventFlag(1152)),
    LocationData("Vermilion City", "Pokemon Fan Club", "Bike Voucher", rom_addresses["Event_Pokemon_Fan_Club"],
                 EventFlag(337)),
    LocationData("Vermilion Gym", "Lt. Surge 2", "TM24 Thunderbolt", rom_addresses["Event_Vermillion_Gym"],
                 EventFlag(358)),
    LocationData("S.S. Anne 2F", "Captain", "HM01 Cut", rom_addresses["Event_SS_Anne_Captain"], EventFlag(1504)),
    LocationData("Route 11 East", "Oak's Aide", "Item Finder", rom_addresses["Event_Rt11_Oaks_Aide"],
                 EventFlag(1151)),
    LocationData("Celadon City", "Stranded Man", "TM41 Soft-Boiled", rom_addresses["Event_Stranded_Man"],
                 EventFlag(384)),
    LocationData("Celadon City", "Thirsty Girl Gets Water", "TM13 Ice Beam",
                 rom_addresses["Event_Thirsty_Girl_Water"], EventFlag(396)),
    LocationData("Celadon City", "Thirsty Girl Gets Soda Pop", "TM48 Rock Slide",
                 rom_addresses["Event_Thirsty_Girl_Soda"], EventFlag(397)),
    LocationData("Celadon City", "Thirsty Girl Gets Lemonade", "TM49 Tri Attack",
                 rom_addresses["Event_Thirsty_Girl_Lemonade"], EventFlag(398)),
    LocationData("Celadon City", "Counter Man", "TM18 Counter", rom_addresses["Event_Counter"], EventFlag(399)),
    LocationData("Celadon City", "Gambling Addict", "Coin Case", rom_addresses["Event_Gambling_Addict"],
                 EventFlag(480)),
    LocationData("Celadon Gym", "Erika 2", "TM21 Mega Drain", rom_addresses["Event_Celadon_Gym"], EventFlag(424)),
    LocationData("Silph Co 11F", "Silph Co President", "Master Ball", rom_addresses["Event_Silph_Co_President"],
                 EventFlag(1933)),
    LocationData("Silph Co 2F", "Woman", "TM36 Self-Destruct", rom_addresses["Event_Scared_Woman"],
                 EventFlag(1791)),
    LocationData("Route 16 North", "House Woman", "HM02 Fly", rom_addresses["Event_Rt16_House_Woman"], EventFlag(1230)),
    LocationData("Route 15", "Oak's Aide", "Exp. All", rom_addresses["Event_Rt_15_Oaks_Aide"], EventFlag(1200)),
    LocationData("Fuchsia City", "Safari Zone Warden", "HM04 Strength", rom_addresses["Event_Warden"], EventFlag(568)),
    LocationData("Fuchsia Gym", "Koga 2", "TM06 Toxic", rom_addresses["Event_Fuschia_Gym"], EventFlag(600)),
    LocationData("Safari Zone West", "Secret House", "HM03 Surf", rom_addresses["Event_Safari_Zone_Secret_House"], EventFlag(2176)),
    LocationData("Cinnabar Island", "Lab Scientist", "TM35 Metronome", rom_addresses["Event_Lab_Scientist"], EventFlag(727)),
    LocationData("Cinnabar Gym", "Blaine 2", "TM38 Fire Blast", rom_addresses["Event_Cinnabar_Gym"],
                 EventFlag(664)),
    LocationData("Copycat's House", "Copycat", "TM31 Mimic", rom_addresses["Event_Copycat"], EventFlag(832)),
    LocationData("Saffron City", "Mr. Psychic", "TM29 Psychic", rom_addresses["Event_Mr_Psychic"], EventFlag(944)),
    LocationData("Saffron Gym", "Sabrina 2", "TM46 Psywave", rom_addresses["Event_Saffron_Gym"], EventFlag(864)),
    LocationData("Fossil", "Choice A", "Dome Fossil",
                 [rom_addresses["Event_Dome_Fossil"], rom_addresses["Event_Dome_Fossil_B"],
                  rom_addresses["Dome_Fossil_Text"]], EventFlag(0x57E)),
    LocationData("Fossil", "Choice B", "Helix Fossil",
                 [rom_addresses["Event_Helix_Fossil"], rom_addresses["Event_Helix_Fossil_B"],
                  rom_addresses["Helix_Fossil_Text"]], EventFlag(0x57F)),

    LocationData("Cerulean City", "Rocket Thief", "TM28 Dig", rom_addresses["Event_Rocket_Thief"],
                 Missable(6)),
    LocationData("Route 2 East", "South Item", "Moon Stone", rom_addresses["Missable_Route_2_Item_1"],
                 Missable(25)),
    LocationData("Route 2 East", "North Item", "HP Up", rom_addresses["Missable_Route_2_Item_2"], Missable(26)),
    LocationData("Route 4", "Item", "TM04 Whirlwind", rom_addresses["Missable_Route_4_Item"], Missable(27)),
    LocationData("Route 9", "Item", "TM30 Teleport", rom_addresses["Missable_Route_9_Item"], Missable(28)),
    LocationData("Route 12 North", "Island Item", "TM16 Pay Day", rom_addresses["Missable_Route_12_Item_1"], Missable(30)),
    LocationData("Route 12 South", "Item Behind Cuttable Tree", "Iron", rom_addresses["Missable_Route_12_Item_2"], Missable(31)),
    LocationData("Route 15", "Item", "TM20 Rage", rom_addresses["Missable_Route_15_Item"], Missable(32)),
    LocationData("Route 24", "Item", "TM45 Thunder Wave", rom_addresses["Missable_Route_24_Item"], Missable(37)),
    LocationData("Route 25", "Item", "TM19 Seismic Toss", rom_addresses["Missable_Route_25_Item"], Missable(38)),
    LocationData("Viridian Gym", "Item", "Revive", rom_addresses["Missable_Viridian_Gym_Item"], Missable(51)),
    LocationData("Cerulean Cave 1F", "Southwest Item", "Full Restore", rom_addresses["Missable_Cerulean_Cave_1F_Item_1"],
                 Missable(53)),
    LocationData("Cerulean Cave 1F", "Northeast Item", "Max Elixir", rom_addresses["Missable_Cerulean_Cave_1F_Item_2"],
                 Missable(54)),
    LocationData("Cerulean Cave 1F", "Northwest Item", "Nugget", rom_addresses["Missable_Cerulean_Cave_1F_Item_3"],
                 Missable(55)),
    LocationData("Pokemon Tower 3F", "North Item", "Escape Rope", rom_addresses["Missable_Pokemon_Tower_3F_Item"],
                 Missable(57)),
    LocationData("Pokemon Tower 4F", "East Item", "Elixir", rom_addresses["Missable_Pokemon_Tower_4F_Item_1"],
                 Missable(58)),
    LocationData("Pokemon Tower 4F", "West Item", "Awakening", rom_addresses["Missable_Pokemon_Tower_4F_Item_2"],
                 Missable(59)),
    LocationData("Pokemon Tower 4F", "South Item", "HP Up", rom_addresses["Missable_Pokemon_Tower_4F_Item_3"],
                 Missable(60)),
    LocationData("Pokemon Tower 5F", "Southwest Item", "Nugget", rom_addresses["Missable_Pokemon_Tower_5F_Item"],
                 Missable(61)),
    LocationData("Pokemon Tower 6F", "West Item", "Rare Candy", rom_addresses["Missable_Pokemon_Tower_6F_Item_1"],
                 Missable(62)),
    LocationData("Pokemon Tower 6F", "Southeast Item", "X Accuracy", rom_addresses["Missable_Pokemon_Tower_6F_Item_2"],
                 Missable(63)),
    LocationData("Fuchsia City", "Warden's House Item", "Rare Candy", rom_addresses["Missable_Wardens_House_Item"],
                 Missable(71)),
    LocationData("Pokemon Mansion 1F", "North Item", "Escape Rope",
                 rom_addresses["Missable_Pokemon_Mansion_1F_Item_1"], Missable(72)),
    LocationData("Pokemon Mansion 1F", "South Item", "Carbos", rom_addresses["Missable_Pokemon_Mansion_1F_Item_2"],
                 Missable(73)),
    LocationData("Power Plant", "Southwest Item", "Carbos", rom_addresses["Missable_Power_Plant_Item_1"], Missable(86)),
    LocationData("Power Plant", "North Item", "HP Up", rom_addresses["Missable_Power_Plant_Item_2"], Missable(87)),
    LocationData("Power Plant", "Northeast Item", "Rare Candy", rom_addresses["Missable_Power_Plant_Item_3"],
                 Missable(88)),
    LocationData("Power Plant", "Southeast Item", "TM25 Thunder", rom_addresses["Missable_Power_Plant_Item_4"],
                 Missable(89)),
    LocationData("Power Plant", "South Item", "TM33 Reflect", rom_addresses["Missable_Power_Plant_Item_5"],
                 Missable(90)),
    LocationData("Victory Road 2F", "Northeast Item", "TM17 Submission", rom_addresses["Missable_Victory_Road_2F_Item_1"],
                 Missable(92)),
    LocationData("Victory Road 2F", "East Item", "Full Heal", rom_addresses["Missable_Victory_Road_2F_Item_2"],
                 Missable(93)),
    LocationData("Victory Road 2F", "West Item", "TM05 Mega Kick", rom_addresses["Missable_Victory_Road_2F_Item_3"],
                 Missable(94)),
    LocationData("Victory Road 2F", "North Item Near Moltres", "Guard Spec", rom_addresses["Missable_Victory_Road_2F_Item_4"],
                 Missable(95)),
    LocationData("Viridian Forest", "East Item", "Antidote", rom_addresses["Missable_Viridian_Forest_Item_1"],
                 Missable(100)),
    LocationData("Viridian Forest", "Northwest Item", "Potion", rom_addresses["Missable_Viridian_Forest_Item_2"],
                 Missable(101)),
    LocationData("Viridian Forest", "Southwest Item", "Poke Ball",
                 rom_addresses["Missable_Viridian_Forest_Item_3"], Missable(102)),
    LocationData("Mt Moon 1F", "West Item", "Potion", rom_addresses["Missable_Mt_Moon_1F_Item_1"], Missable(103)),
    LocationData("Mt Moon 1F", "Northwest Item", "Moon Stone", rom_addresses["Missable_Mt_Moon_1F_Item_2"], Missable(104)),
    LocationData("Mt Moon 1F", "Southeast Item", "Rare Candy", rom_addresses["Missable_Mt_Moon_1F_Item_3"], Missable(105)),
    LocationData("Mt Moon 1F", "East Item", "Escape Rope", rom_addresses["Missable_Mt_Moon_1F_Item_4"],
                 Missable(106)),
    LocationData("Mt Moon 1F", "South Item", "Potion", rom_addresses["Missable_Mt_Moon_1F_Item_5"], Missable(107)),
    LocationData("Mt Moon 1F", "Southwest Item", "TM12 Water Gun", rom_addresses["Missable_Mt_Moon_1F_Item_6"],
                 Missable(108)),
    LocationData("Mt Moon B2F", "South Item", "HP Up", rom_addresses["Missable_Mt_Moon_B2F_Item_1"], Missable(111)),
    LocationData("Mt Moon B2F", "North Item", "TM01 Mega Punch", rom_addresses["Missable_Mt_Moon_B2F_Item_2"],
                 Missable(112)),
    LocationData("S.S. Anne 1F", "Item", "TM08 Body Slam", rom_addresses["Missable_SS_Anne_1F_Item"],
                 Missable(114)),
    LocationData("S.S. Anne 2F", "Item 1", "Max Ether", rom_addresses["Missable_SS_Anne_2F_Item_1"],
                 Missable(115)),
    LocationData("S.S. Anne 2F", "Item 2", "Rare Candy", rom_addresses["Missable_SS_Anne_2F_Item_2"],
                 Missable(116)),
    LocationData("S.S. Anne B1F", "Item 1", "Ether", rom_addresses["Missable_SS_Anne_B1F_Item_1"], Missable(117)),
    LocationData("S.S. Anne B1F", "Item 2", "TM44 Rest", rom_addresses["Missable_SS_Anne_B1F_Item_2"],
                 Missable(118)),
    LocationData("S.S. Anne B1F", "Item 3", "Max Potion", rom_addresses["Missable_SS_Anne_B1F_Item_3"],
                 Missable(119)),
    LocationData("Victory Road 3F", "Northeast Item", "Max Revive", rom_addresses["Missable_Victory_Road_3F_Item_1"],
                 Missable(120)),
    LocationData("Victory Road 3F", "Northwest Item", "TM47 Explosion", rom_addresses["Missable_Victory_Road_3F_Item_2"],
                 Missable(121)),
    LocationData("Rocket Hideout B1F", "West Item", "Escape Rope",
                 rom_addresses["Missable_Rocket_Hideout_B1F_Item_1"], Missable(123)),
    LocationData("Rocket Hideout B1F", "Southwest Item", "Hyper Potion",
                 rom_addresses["Missable_Rocket_Hideout_B1F_Item_2"], Missable(124)),
    LocationData("Rocket Hideout B2F", "Northwest Left Item", "Moon Stone", rom_addresses["Missable_Rocket_Hideout_B2F_Item_1"],
                 Missable(125)),
    LocationData("Rocket Hideout B2F", "Northeast Item", "Nugget", rom_addresses["Missable_Rocket_Hideout_B2F_Item_2"],
                 Missable(126)),
    LocationData("Rocket Hideout B2F", "Northwest Right Item", "TM07 Horn Drill",
                 rom_addresses["Missable_Rocket_Hideout_B2F_Item_3"], Missable(127)),
    LocationData("Rocket Hideout B2F", "Southwest Item", "Super Potion",
                 rom_addresses["Missable_Rocket_Hideout_B2F_Item_4"], Missable(128)),
    LocationData("Rocket Hideout B3F", "East Item", "TM10 Double Edge",
                 rom_addresses["Missable_Rocket_Hideout_B3F_Item_1"], Missable(129)),
    LocationData("Rocket Hideout B3F", "Center Item", "Rare Candy", rom_addresses["Missable_Rocket_Hideout_B3F_Item_2"],
                 Missable(130)),
    LocationData("Rocket Hideout B4F", "West Item", "HP Up", rom_addresses["Missable_Rocket_Hideout_B4F_Item_1"],
                 Missable(132)),
    LocationData("Rocket Hideout B4F", "Northwest Item", "TM02 Razor Wind",
                 rom_addresses["Missable_Rocket_Hideout_B4F_Item_2"], Missable(133)),
    LocationData("Rocket Hideout B4F", "Southwest Item (Lift Key)", "Iron", rom_addresses["Missable_Rocket_Hideout_B4F_Item_3"],
                 Missable(134)),
    LocationData("Rocket Hideout B4F", "Giovanni Item (Lift Key)", "Silph Scope",
                 rom_addresses["Missable_Rocket_Hideout_B4F_Item_4"], [EventFlag(0x6A7), Missable(135)]),
    LocationData("Rocket Hideout B4F", "Rocket Grunt Item", "Lift Key", rom_addresses["Missable_Rocket_Hideout_B4F_Item_5"],
                 [EventFlag(0x6A6), Missable(136)]),
    LocationData("Silph Co 3F", "Item (Card Key)", "Hyper Potion", rom_addresses["Missable_Silph_Co_3F_Item"], Missable(144)),
    LocationData("Silph Co 4F", "Left Item (Card Key)", "Full Heal", rom_addresses["Missable_Silph_Co_4F_Item_1"],
                 Missable(148)),
    LocationData("Silph Co 4F", "Middle Item (Card Key)", "Max Revive", rom_addresses["Missable_Silph_Co_4F_Item_2"],
                 Missable(149)),
    LocationData("Silph Co 4F", "Right Item (Card Key)", "Escape Rope", rom_addresses["Missable_Silph_Co_4F_Item_3"],
                 Missable(150)),
    LocationData("Silph Co 5F", "Southwest Item", "TM09 Take Down", rom_addresses["Missable_Silph_Co_5F_Item_1"],
                 Missable(155)),
    LocationData("Silph Co 5F", "Northwest Item (Card Key)", "Protein", rom_addresses["Missable_Silph_Co_5F_Item_2"], Missable(156)),
    LocationData("Silph Co 5F", "Southeast Item", "Card Key", rom_addresses["Missable_Silph_Co_5F_Item_3"], Missable(157)),
    LocationData("Silph Co 6F", "West Item (Card Key)", "HP Up", rom_addresses["Missable_Silph_Co_6F_Item_1"], Missable(161)),
    LocationData("Silph Co 6F", "Southwest Item (Card Key)", "X Accuracy", rom_addresses["Missable_Silph_Co_6F_Item_2"],
                 Missable(162)),
    LocationData("Silph Co 7F", "West Item", "Calcium", rom_addresses["Missable_Silph_Co_7F_Item_1"], Missable(168)),
    LocationData("Silph Co 7F", "East Item (Card Key)", "TM03 Swords Dance", rom_addresses["Missable_Silph_Co_7F_Item_2"],
                 Missable(169)),
    LocationData("Silph Co 10F", "Left Item", "TM26 Earthquake", rom_addresses["Missable_Silph_Co_10F_Item_1"],
                 Missable(180)),
    LocationData("Silph Co 10F", "Bottom Item", "Rare Candy", rom_addresses["Missable_Silph_Co_10F_Item_2"],
                 Missable(181)),
    LocationData("Silph Co 10F", "Right Item", "Carbos", rom_addresses["Missable_Silph_Co_10F_Item_3"], Missable(182)),
    LocationData("Pokemon Mansion 2F", "Northeast Item", "Calcium", rom_addresses["Missable_Pokemon_Mansion_2F_Item"],
                 Missable(187)),
    LocationData("Pokemon Mansion 3F", "Southwest Item", "Max Potion", rom_addresses["Missable_Pokemon_Mansion_3F_Item_1"],
                 Missable(188)),
    LocationData("Pokemon Mansion 3F", "Northeast Item", "Iron", rom_addresses["Missable_Pokemon_Mansion_3F_Item_2"],
                 Missable(189)),
    LocationData("Pokemon Mansion B1F", "North Item", "Rare Candy",
                 rom_addresses["Missable_Pokemon_Mansion_B1F_Item_1"], Missable(190)),
    LocationData("Pokemon Mansion B1F", "Southwest Item", "Full Restore",
                 rom_addresses["Missable_Pokemon_Mansion_B1F_Item_2"], Missable(191)),
    LocationData("Pokemon Mansion B1F", "South Item", "TM14 Blizzard",
                 rom_addresses["Missable_Pokemon_Mansion_B1F_Item_3"], Missable(192)),
    LocationData("Pokemon Mansion B1F", "Northwest Item", "TM22 Solar Beam",
                 rom_addresses["Missable_Pokemon_Mansion_B1F_Item_4"], Missable(193)),
    LocationData("Pokemon Mansion B1F", "West Item", "Secret Key",
                 rom_addresses["Missable_Pokemon_Mansion_B1F_Item_5"], Missable(194)),
    LocationData("Safari Zone East", "Northeast Item", "Full Restore", rom_addresses["Missable_Safari_Zone_East_Item_1"],
                 Missable(195)),
    LocationData("Safari Zone East", "West Item", "Max Potion", rom_addresses["Missable_Safari_Zone_East_Item_2"],
                 Missable(196)),
    LocationData("Safari Zone East", "East Item", "Carbos", rom_addresses["Missable_Safari_Zone_East_Item_3"],
                 Missable(197)),
    LocationData("Safari Zone East", "Center Item", "TM37 Egg Bomb", rom_addresses["Missable_Safari_Zone_East_Item_4"],
                 Missable(198)),
    LocationData("Safari Zone North", "Northeast Item", "Protein", rom_addresses["Missable_Safari_Zone_North_Item_1"],
                 Missable(199)),
    LocationData("Safari Zone North", "North Item", "TM40 Skull Bash",
                 rom_addresses["Missable_Safari_Zone_North_Item_2"], Missable(200)),
    LocationData("Safari Zone West", "Southwest Item", "Max Potion", rom_addresses["Missable_Safari_Zone_West_Item_1"],
                 Missable(201)),
    LocationData("Safari Zone West", "Northwest Item", "TM32 Double Team",
                 rom_addresses["Missable_Safari_Zone_West_Item_2"], Missable(202)),
    LocationData("Safari Zone West", "Southeast Item", "Max Revive", rom_addresses["Missable_Safari_Zone_West_Item_3"],
                 Missable(203)),
    LocationData("Safari Zone West", "Northeast Item", "Gold Teeth", rom_addresses["Missable_Safari_Zone_West_Item_4"],
                 Missable(204)),
    LocationData("Safari Zone Center", "Island Item", "Nugget", rom_addresses["Missable_Safari_Zone_Center_Item"],
                 Missable(205)),
    LocationData("Cerulean Cave 2F", "East Item", "PP Up", rom_addresses["Missable_Cerulean_Cave_2F_Item_1"],
                 Missable(206)),
    LocationData("Cerulean Cave 2F", "Southwest Item", "Ultra Ball", rom_addresses["Missable_Cerulean_Cave_2F_Item_2"],
                 Missable(207)),
    LocationData("Cerulean Cave 2F", "North Item", "Full Restore", rom_addresses["Missable_Cerulean_Cave_2F_Item_3"],
                 Missable(208)),
    LocationData("Cerulean Cave B1F", "Center Item", "Ultra Ball", rom_addresses["Missable_Cerulean_Cave_B1F_Item_1"],
                 Missable(210)),
    LocationData("Cerulean Cave B1F", "North Item", "Max Revive", rom_addresses["Missable_Cerulean_Cave_B1F_Item_2"],
                 Missable(211)),
    LocationData("Victory Road 1F", "Top Item", "TM43 Sky Attack", rom_addresses["Missable_Victory_Road_1F_Item_1"],
                 Missable(212)),
    LocationData("Victory Road 1F", "Left Item", "Rare Candy", rom_addresses["Missable_Victory_Road_1F_Item_2"],
                 Missable(213)),
    LocationData("Rock Tunnel B1F", "Southwest Item", "Hideout Key", rom_addresses["Missable_Rock_Tunnel_B1F_Item_1"],
                 Missable(231), inclusion=extra_key_items),
    LocationData("Rock Tunnel B1F", "West Item", "Mansion Key", rom_addresses["Missable_Rock_Tunnel_B1F_Item_2"],
                 Missable(232), inclusion=extra_key_items),
    LocationData("Rock Tunnel B1F", "Northwest Item", "Plant Key", rom_addresses["Missable_Rock_Tunnel_B1F_Item_3"],
                 Missable(233), inclusion=extra_key_items),
    LocationData("Rock Tunnel B1F", "North Item", "Safari Pass", rom_addresses["Missable_Rock_Tunnel_B1F_Item_4"],
                 Missable(234), inclusion=extra_key_items),

    LocationData("Pewter Gym", "Brock 1", "Boulder Badge", rom_addresses['Badge_Pewter_Gym'], EventFlag(0x8A0)),
    LocationData("Cerulean Gym", "Misty 1", "Cascade Badge", rom_addresses['Badge_Cerulean_Gym'], EventFlag(0x8A1)),
    LocationData("Vermilion Gym", "Lt. Surge 1", "Thunder Badge", rom_addresses['Badge_Vermilion_Gym'], EventFlag(0x8A2)),
    LocationData("Celadon Gym", "Erika 1", "Rainbow Badge", rom_addresses['Badge_Celadon_Gym'], EventFlag(0x8A3)),
    LocationData("Fuchsia Gym", "Koga 1", "Soul Badge", rom_addresses['Badge_Fuchsia_Gym'], EventFlag(0x8A4)),
    LocationData("Saffron Gym", "Sabrina 1", "Marsh Badge", rom_addresses['Badge_Saffron_Gym'], EventFlag(0x8A5)),
    LocationData("Cinnabar Gym", "Blaine 1", "Volcano Badge", rom_addresses['Badge_Cinnabar_Gym'], EventFlag(0x8A6)),
    LocationData("Viridian Gym", "Giovanni 1", "Earth Badge", rom_addresses['Badge_Viridian_Gym'], EventFlag(0x8A7)),

    LocationData("Viridian Forest", "Hidden Item Northwest by Trainer", "Potion", rom_addresses['Hidden_Item_Viridian_Forest_1'], Hidden(0), inclusion=hidden_items),
    LocationData("Viridian Forest", "Hidden Item Entrance Tree", "Antidote", rom_addresses['Hidden_Item_Viridian_Forest_2'], Hidden(1), inclusion=hidden_items),
    LocationData("Mt Moon B2F", "Hidden Item Dead End Before Fossils", "Moon Stone", rom_addresses['Hidden_Item_MtMoonB2F_1'], Hidden(2), inclusion=hidden_items),
    LocationData("Route 25", "Hidden Item Fence Outside Bill's House", "Ether", rom_addresses['Hidden_Item_Route_25_1'], Hidden(3), inclusion=hidden_items),
    LocationData("Route 9", "Hidden Item Bush By Grass", "Ether", rom_addresses['Hidden_Item_Route_9'], Hidden(4), inclusion=hidden_items),
    LocationData("S.S. Anne 1F", "Hidden Item Kitchen Trash", "Great Ball", rom_addresses['Hidden_Item_SS_Anne_Kitchen'], Hidden(5), inclusion=hidden_items),
    LocationData("S.S. Anne B1F", "Hidden Item Under Pillow", "Hyper Potion", rom_addresses['Hidden_Item_SS_Anne_B1F'], Hidden(6), inclusion=hidden_items),
    LocationData("Route 10 North", "Hidden Item Behind Rock Tunnel Entrance Cuttable Tree", "Super Potion", rom_addresses['Hidden_Item_Route_10_1'], Hidden(7), inclusion=hidden_items),
    LocationData("Route 10 South", "Hidden Item Bush", "Max Ether", rom_addresses['Hidden_Item_Route_10_2'], Hidden(8), inclusion=hidden_items),
    LocationData("Rocket Hideout B1F", "Hidden Item Pot Plant", "PP Up", rom_addresses['Hidden_Item_Rocket_Hideout_B1F'], Hidden(9), inclusion=hidden_items),
    LocationData("Rocket Hideout B3F", "Hidden Item Near East Item", "Nugget", rom_addresses['Hidden_Item_Rocket_Hideout_B3F'], Hidden(10), inclusion=hidden_items),
    LocationData("Rocket Hideout B4F", "Hidden Item Behind Giovanni", "Super Potion", rom_addresses['Hidden_Item_Rocket_Hideout_B4F'], Hidden(11), inclusion=hidden_items),
    LocationData("Pokemon Tower 5F", "Hidden Item Near West Staircase", "Elixir", rom_addresses['Hidden_Item_Pokemon_Tower_5F'], Hidden(12), inclusion=hidden_items),
    LocationData("Route 13", "Hidden Item Dead End Bush", "PP Up", rom_addresses['Hidden_Item_Route_13_1'], Hidden(13), inclusion=hidden_items),
    LocationData("Route 13", "Hidden Item Dead End By Water Corner", "Calcium", rom_addresses['Hidden_Item_Route_13_2'], Hidden(14), inclusion=hidden_items),
    LocationData("Pokemon Mansion B1F", "Hidden Item Secret Key Room Corner", "Rare Candy", rom_addresses['Hidden_Item_Pokemon_Mansion_B1F'], Hidden(15), inclusion=hidden_items),
    LocationData("Safari Zone West", "Hidden Item Secret House Statue", "Revive", rom_addresses['Hidden_Item_Safari_Zone_West'], Hidden(17), inclusion=hidden_items),
    LocationData("Silph Co 5F", "Hidden Item Pot Plant", "Elixir", rom_addresses['Hidden_Item_Silph_Co_5F'], Hidden(18), inclusion=hidden_items),
    LocationData("Silph Co 9F", "Hidden Item Nurse Bed (Card Key)", "Max Potion", rom_addresses['Hidden_Item_Silph_Co_9F'], Hidden(19), inclusion=hidden_items),
    LocationData("Copycat's House", "Hidden Item Desk", "Nugget", rom_addresses['Hidden_Item_Copycats_House'], Hidden(20), inclusion=hidden_items),
    LocationData("Cerulean Cave 1F", "Hidden Item Center Rocks", "Rare Candy", rom_addresses['Hidden_Item_Cerulean_Cave_1F'], Hidden(21), inclusion=hidden_items),
    LocationData("Cerulean Cave B1F", "Hidden Item Northeast Rocks", "Ultra Ball", rom_addresses['Hidden_Item_Cerulean_Cave_B1F'], Hidden(22), inclusion=hidden_items),
    LocationData("Power Plant", "Hidden Item Central Dead End", "Max Elixir", rom_addresses['Hidden_Item_Power_Plant_1'], Hidden(23), inclusion=hidden_items),
    LocationData("Power Plant", "Hidden Item Before Zapdos", "PP Up", rom_addresses['Hidden_Item_Power_Plant_2'], Hidden(24), inclusion=hidden_items),
    LocationData("Seafoam Islands B2F", "Hidden Item Rock", "Nugget", rom_addresses['Hidden_Item_Seafoam_Islands_B2F'], Hidden(25), inclusion=hidden_items),
    LocationData("Seafoam Islands B4F", "Hidden Item Corner Island", "Ultra Ball", rom_addresses['Hidden_Item_Seafoam_Islands_B4F'], Hidden(26), inclusion=hidden_items),
    LocationData("Pokemon Mansion 1F", "Hidden Item Block Near Entrance Carpet", "Moon Stone", rom_addresses['Hidden_Item_Pokemon_Mansion_1F'], Hidden(27), inclusion=hidden_items),
    LocationData("Pokemon Mansion 3F", "Hidden Item Behind Burglar", "Max Revive", rom_addresses['Hidden_Item_Pokemon_Mansion_3F'], Hidden(28), inclusion=hidden_items),
    LocationData("Route 23", "Hidden Item Rocks Before Final Guard", "Full Restore", rom_addresses['Hidden_Item_Route_23_1'], Hidden(29), inclusion=hidden_items),
    LocationData("Route 23", "Hidden Item East Bush After Water", "Ultra Ball", rom_addresses['Hidden_Item_Route_23_2'], Hidden(30), inclusion=hidden_items),
    LocationData("Route 23", "Hidden Item On Island", "Max Ether", rom_addresses['Hidden_Item_Route_23_3'], Hidden(31), inclusion=hidden_items),
    LocationData("Victory Road 2F", "Hidden Item Rock Before Moltres", "Ultra Ball", rom_addresses['Hidden_Item_Victory_Road_2F_1'], Hidden(32), inclusion=hidden_items),
    LocationData("Victory Road 2F", "Hidden Item Rock In Final Room", "Full Restore", rom_addresses['Hidden_Item_Victory_Road_2F_2'], Hidden(33), inclusion=hidden_items),

    LocationData("Viridian City", "Hidden Item Cuttable Tree", "Potion", rom_addresses['Hidden_Item_Viridian_City'], Hidden(35), inclusion=hidden_items),
    LocationData("Route 11", "Hidden Item Isolated Bush Near Gate", "Potion", rom_addresses['Hidden_Item_Route_11'], Hidden(36), inclusion=hidden_items),
    LocationData("Route 12 West", "Hidden Item Bush Near Gate", "Hyper Potion", rom_addresses['Hidden_Item_Route_12'], Hidden(37), inclusion=hidden_items),
    LocationData("Route 17", "Hidden Item In Grass", "Rare Candy", rom_addresses['Hidden_Item_Route_17_1'], Hidden(38), inclusion=hidden_items),
    LocationData("Route 17", "Hidden Item Near Northernmost Sign", "Full Restore", rom_addresses['Hidden_Item_Route_17_2'], Hidden(39), inclusion=hidden_items),
    LocationData("Route 17", "Hidden Item East Center", "PP Up", rom_addresses['Hidden_Item_Route_17_3'], Hidden(40), inclusion=hidden_items),
    LocationData("Route 17", "Hidden Item West Center", "Max Revive", rom_addresses['Hidden_Item_Route_17_4'], Hidden(41), inclusion=hidden_items),
    LocationData("Route 17", "Hidden Item Before Final Bridge", "Max Elixir", rom_addresses['Hidden_Item_Route_17_5'], Hidden(42), inclusion=hidden_items),
    LocationData("Underground Tunnel North-South", "Hidden Item Near Northern Stairs", "Full Restore", rom_addresses['Hidden_Item_Underground_Path_NS_1'], Hidden(43), inclusion=hidden_items),
    LocationData("Underground Tunnel North-South", "Hidden Item Near Southern Stairs", "X Special", rom_addresses['Hidden_Item_Underground_Path_NS_2'], Hidden(44), inclusion=hidden_items),
    LocationData("Underground Tunnel West-East", "Hidden Item West", "Nugget", rom_addresses['Hidden_Item_Underground_Path_WE_1'], Hidden(45), inclusion=hidden_items),
    LocationData("Underground Tunnel West-East", "Hidden Item East", "Elixir", rom_addresses['Hidden_Item_Underground_Path_WE_2'], Hidden(46), inclusion=hidden_items),
    LocationData("Celadon City", "Hidden Item Dead End Near Cuttable Tree", "PP Up", rom_addresses['Hidden_Item_Celadon_City'], Hidden(47), inclusion=hidden_items),
    LocationData("Route 25", "Hidden Item Northeast Of Grass", "Elixir", rom_addresses['Hidden_Item_Route_25_2'], Hidden(48), inclusion=hidden_items),
    LocationData("Mt Moon B2F", "Hidden Item Lone Rock", "Ether", rom_addresses['Hidden_Item_MtMoonB2F_2'], Hidden(49), inclusion=hidden_items),
    LocationData("Seafoam Islands B3F", "Hidden Item Rock", "Max Elixir", rom_addresses['Hidden_Item_Seafoam_Islands_B3F'], Hidden(50), inclusion=hidden_items),
    LocationData("Vermilion City", "Hidden Item In Water Near Fan Club", "Max Ether", rom_addresses['Hidden_Item_Vermilion_City'], Hidden(51), inclusion=hidden_items),
    LocationData("Cerulean City", "Hidden Item Gym Badge Guy's Backyard", "Rare Candy", rom_addresses['Hidden_Item_Cerulean_City'], Hidden(52), inclusion=hidden_items),
    LocationData("Route 4", "Hidden Item Plateau East Of Mt Moon", "Great Ball", rom_addresses['Hidden_Item_Route_4'], Hidden(53), inclusion=hidden_items),

    LocationData("Pallet Town", "Oak's Parcel Reward", "Pokedex", rom_addresses["Event_Pokedex"], EventFlag(0x38), inclusion=pokedex),

    LocationData("Pokemon Mansion 1F", "Scientist", None, rom_addresses["Trainersanity_EVENT_BEAT_MANSION_1_TRAINER_0_ITEM"], EventFlag(376), inclusion=trainersanity),
    LocationData("Pokemon Mansion 2F", "Burglar", None, rom_addresses["Trainersanity_EVENT_BEAT_MANSION_2_TRAINER_0_ITEM"], EventFlag(43), inclusion=trainersanity),
    LocationData("Pokemon Mansion 3F", "Scientist", None, rom_addresses["Trainersanity_EVENT_BEAT_MANSION_3_TRAINER_1_ITEM"], EventFlag(31), inclusion=trainersanity),
    LocationData("Pokemon Mansion 3F", "Burglar", None, rom_addresses["Trainersanity_EVENT_BEAT_MANSION_3_TRAINER_0_ITEM"], EventFlag(42), inclusion=trainersanity),
    LocationData("Pokemon Mansion B1F", "Scientist", None, rom_addresses["Trainersanity_EVENT_BEAT_MANSION_4_TRAINER_1_ITEM"], EventFlag(29), inclusion=trainersanity),
    LocationData("Pokemon Mansion B1F", "Burglar", None, rom_addresses["Trainersanity_EVENT_BEAT_MANSION_4_TRAINER_0_ITEM"], EventFlag(30), inclusion=trainersanity),
    LocationData("Silph Co 11F", "Rocket 1", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_11F_TRAINER_1_ITEM"], EventFlag(45), inclusion=trainersanity),
    LocationData("Silph Co 11F", "Rocket 2 (Card Key)", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_11F_TRAINER_0_ITEM"], EventFlag(46), inclusion=trainersanity),
    LocationData("Silph Co 10F", "Scientist", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_10F_TRAINER_1_ITEM"], EventFlag(47), inclusion=trainersanity),
    LocationData("Silph Co 10F", "Rocket", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_10F_TRAINER_0_ITEM"], EventFlag(48), inclusion=trainersanity),
    LocationData("Silph Co 9F", "Rocket 1", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_9F_TRAINER_2_ITEM"], EventFlag(49), inclusion=trainersanity),
    LocationData("Silph Co 9F", "Scientist", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_9F_TRAINER_1_ITEM"], EventFlag(50), inclusion=trainersanity),
    LocationData("Silph Co 9F", "Rocket 2 (Card Key)", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_9F_TRAINER_0_ITEM"], EventFlag(51), inclusion=trainersanity),
    LocationData("Silph Co 8F", "Rocket 1", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_8F_TRAINER_0_ITEM"], EventFlag(54), inclusion=trainersanity),
    LocationData("Silph Co 8F", "Rocket 2", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_8F_TRAINER_2_ITEM"], EventFlag(52), inclusion=trainersanity),
    LocationData("Silph Co 8F", "Scientist", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_8F_TRAINER_1_ITEM"], EventFlag(53), inclusion=trainersanity),
    LocationData("Silph Co 7F", "Rocket 1", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_7F_TRAINER_2_ITEM"], EventFlag(58), inclusion=trainersanity),
    LocationData("Silph Co 7F", "Rocket 2", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_7F_TRAINER_0_ITEM"], EventFlag(60), inclusion=trainersanity),
    LocationData("Silph Co 7F", "Scientist", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_7F_TRAINER_1_ITEM"], EventFlag(59), inclusion=trainersanity),
    LocationData("Silph Co 7F", "Rocket 3", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_7F_TRAINER_3_ITEM"], EventFlag(55), inclusion=trainersanity),
    LocationData("Silph Co 6F", "Rocket 1", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_6F_TRAINER_0_ITEM"], EventFlag(64), inclusion=trainersanity),
    LocationData("Silph Co 6F", "Scientist", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_6F_TRAINER_1_ITEM"], EventFlag(63), inclusion=trainersanity),
    LocationData("Silph Co 6F", "Rocket 2", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_6F_TRAINER_2_ITEM"], EventFlag(62), inclusion=trainersanity),
    LocationData("Silph Co 5F", "Rocket 1", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_5F_TRAINER_3_ITEM"], EventFlag(65), inclusion=trainersanity),
    LocationData("Silph Co 5F", "Juggler", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_5F_TRAINER_2_ITEM"], EventFlag(66), inclusion=trainersanity),
    LocationData("Silph Co 5F", "Scientist", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_5F_TRAINER_1_ITEM"], EventFlag(67), inclusion=trainersanity),
    LocationData("Silph Co 5F", "Rocket 2", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_5F_TRAINER_0_ITEM"], EventFlag(68), inclusion=trainersanity),
    LocationData("Silph Co 4F", "Rocket 1", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_4F_TRAINER_2_ITEM"], EventFlag(69), inclusion=trainersanity),
    LocationData("Silph Co 4F", "Rocket 2", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_4F_TRAINER_0_ITEM"], EventFlag(71), inclusion=trainersanity),
    LocationData("Silph Co 4F", "Scientist", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_4F_TRAINER_1_ITEM"], EventFlag(70), inclusion=trainersanity),
    LocationData("Silph Co 3F", "Scientist (Card Key)", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_3F_TRAINER_1_ITEM"], EventFlag(72), inclusion=trainersanity),
    LocationData("Silph Co 3F", "Rocket", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_3F_TRAINER_0_ITEM"], EventFlag(73), inclusion=trainersanity),
    LocationData("Silph Co 2F", "Rocket 1", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_2F_TRAINER_3_ITEM"], EventFlag(74), inclusion=trainersanity),
    LocationData("Silph Co 2F", "Rocket 2", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_2F_TRAINER_2_ITEM"], EventFlag(75), inclusion=trainersanity),
    LocationData("Silph Co 2F", "Scientist 1", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_2F_TRAINER_1_ITEM"], EventFlag(76), inclusion=trainersanity),
    LocationData("Silph Co 2F", "Scientist 2", None, rom_addresses["Trainersanity_EVENT_BEAT_SILPH_CO_2F_TRAINER_0_ITEM"], EventFlag(77), inclusion=trainersanity),
    LocationData("Rocket Hideout B1F", "Rocket 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0_ITEM"], EventFlag(99), inclusion=trainersanity),
    LocationData("Rocket Hideout B1F", "Rocket 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1_ITEM"], EventFlag(98), inclusion=trainersanity),
    LocationData("Rocket Hideout B1F", "Rocket 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3_ITEM"], EventFlag(96), inclusion=trainersanity),
    LocationData("Rocket Hideout B1F", "Rocket 4", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2_ITEM"], EventFlag(97), inclusion=trainersanity),
    LocationData("Rocket Hideout B1F", "Rocket 5 (Lift Key)", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4_ITEM"], EventFlag(95), inclusion=trainersanity),
    LocationData("Rocket Hideout B2F", "Rocket", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0_ITEM"], EventFlag(94), inclusion=trainersanity),
    LocationData("Rocket Hideout B3F", "Rocket 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1_ITEM"], EventFlag(92), inclusion=trainersanity),
    LocationData("Rocket Hideout B3F", "Rocket 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0_ITEM"], EventFlag(93), inclusion=trainersanity),
    LocationData("Rocket Hideout B4F", "Rocket 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2_ITEM"], EventFlag(79), inclusion=trainersanity),
    LocationData("Rocket Hideout B4F", "Rocket 2 (Lift Key)", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0_ITEM"], EventFlag(91), inclusion=trainersanity),
    LocationData("Rocket Hideout B4F", "Rocket 3 (Lift Key)", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1_ITEM"], EventFlag(90), inclusion=trainersanity),
    LocationData("S.S. Anne 1F", "Gentleman 1", None, rom_addresses["Trainersanity_EVENT_BEAT_SS_ANNE_8_TRAINER_1_ITEM"], EventFlag(121), inclusion=trainersanity),
    LocationData("S.S. Anne 1F", "Gentleman 2", None, rom_addresses["Trainersanity_EVENT_BEAT_SS_ANNE_8_TRAINER_0_ITEM"], EventFlag(122), inclusion=trainersanity),
    LocationData("S.S. Anne 1F", "Lass", None, rom_addresses["Trainersanity_EVENT_BEAT_SS_ANNE_8_TRAINER_3_ITEM"], EventFlag(117), inclusion=trainersanity),
    LocationData("S.S. Anne 1F", "Youngster", None, rom_addresses["Trainersanity_EVENT_BEAT_SS_ANNE_8_TRAINER_2_ITEM"], EventFlag(120), inclusion=trainersanity),
    LocationData("S.S. Anne 2F", "Fisherman", None, rom_addresses["Trainersanity_EVENT_BEAT_SS_ANNE_9_TRAINER_1_ITEM"], EventFlag(115), inclusion=trainersanity),
    LocationData("S.S. Anne 2F", "Gentleman 1", None, rom_addresses["Trainersanity_EVENT_BEAT_SS_ANNE_9_TRAINER_0_ITEM"], EventFlag(116), inclusion=trainersanity),
    LocationData("S.S. Anne 2F", "Gentleman 2", None, rom_addresses["Trainersanity_EVENT_BEAT_SS_ANNE_9_TRAINER_2_ITEM"], EventFlag(113), inclusion=trainersanity),
    LocationData("S.S. Anne 2F", "Lass", None, rom_addresses["Trainersanity_EVENT_BEAT_SS_ANNE_9_TRAINER_3_ITEM"], EventFlag(112), inclusion=trainersanity),
    LocationData("S.S. Anne 3F", "Sailor 1", None, rom_addresses["Trainersanity_EVENT_BEAT_SS_ANNE_5_TRAINER_1_ITEM"], EventFlag(123), inclusion=trainersanity),
    LocationData("S.S. Anne 3F", "Sailor 2", None, rom_addresses["Trainersanity_EVENT_BEAT_SS_ANNE_5_TRAINER_0_ITEM"], EventFlag(124), inclusion=trainersanity),
    LocationData("S.S. Anne B1F", "Sailor 1", None, rom_addresses["Trainersanity_EVENT_BEAT_SS_ANNE_10_TRAINER_1_ITEM"], EventFlag(110), inclusion=trainersanity),
    LocationData("S.S. Anne B1F", "Sailor 2", None, rom_addresses["Trainersanity_EVENT_BEAT_SS_ANNE_10_TRAINER_0_ITEM"], EventFlag(111), inclusion=trainersanity),
    LocationData("S.S. Anne B1F", "Sailor 3", None, rom_addresses["Trainersanity_EVENT_BEAT_SS_ANNE_10_TRAINER_3_ITEM"], EventFlag(108), inclusion=trainersanity),
    LocationData("S.S. Anne B1F", "Sailor 4", None, rom_addresses["Trainersanity_EVENT_BEAT_SS_ANNE_10_TRAINER_2_ITEM"], EventFlag(109), inclusion=trainersanity),
    LocationData("S.S. Anne B1F", "Fisherman", None, rom_addresses["Trainersanity_EVENT_BEAT_SS_ANNE_10_TRAINER_5_ITEM"], EventFlag(106), inclusion=trainersanity),
    LocationData("S.S. Anne B1F", "Sailor 5", None, rom_addresses["Trainersanity_EVENT_BEAT_SS_ANNE_10_TRAINER_4_ITEM"], EventFlag(107), inclusion=trainersanity),
    LocationData("Mt Moon 1F", "Bug Catcher 1", None, rom_addresses["Trainersanity_EVENT_BEAT_MT_MOON_1_TRAINER_5_ITEM"], EventFlag(131), inclusion=trainersanity),
    LocationData("Mt Moon 1F", "Lass 1", None, rom_addresses["Trainersanity_EVENT_BEAT_MT_MOON_1_TRAINER_4_ITEM"], EventFlag(132), inclusion=trainersanity),
    LocationData("Mt Moon 1F", "Super Nerd", None, rom_addresses["Trainersanity_EVENT_BEAT_MT_MOON_1_TRAINER_3_ITEM"], EventFlag(133), inclusion=trainersanity),
    LocationData("Mt Moon 1F", "Bug Catcher 2", None, rom_addresses["Trainersanity_EVENT_BEAT_MT_MOON_1_TRAINER_6_ITEM"], EventFlag(130), inclusion=trainersanity),
    LocationData("Mt Moon 1F", "Lass 2", None, rom_addresses["Trainersanity_EVENT_BEAT_MT_MOON_1_TRAINER_2_ITEM"], EventFlag(134), inclusion=trainersanity),
    LocationData("Mt Moon 1F", "Youngster", None, rom_addresses["Trainersanity_EVENT_BEAT_MT_MOON_1_TRAINER_1_ITEM"], EventFlag(135), inclusion=trainersanity),
    LocationData("Mt Moon 1F", "Hiker", None, rom_addresses["Trainersanity_EVENT_BEAT_MT_MOON_1_TRAINER_0_ITEM"], EventFlag(136), inclusion=trainersanity),
    LocationData("Mt Moon B2F", "Rocket 1", None, rom_addresses["Trainersanity_EVENT_BEAT_MT_MOON_3_TRAINER_1_ITEM"], EventFlag(127), inclusion=trainersanity),
    LocationData("Mt Moon B2F", "Rocket 2", None, rom_addresses["Trainersanity_EVENT_BEAT_MT_MOON_3_TRAINER_2_ITEM"], EventFlag(126), inclusion=trainersanity),
    LocationData("Mt Moon B2F", "Rocket 3", None, rom_addresses["Trainersanity_EVENT_BEAT_MT_MOON_3_TRAINER_3_ITEM"], EventFlag(125), inclusion=trainersanity),
    LocationData("Mt Moon B2F", "Rocket 4", None, rom_addresses["Trainersanity_EVENT_BEAT_MT_MOON_3_TRAINER_0_ITEM"], EventFlag(128), inclusion=trainersanity),
    LocationData("Viridian Forest", "Bug Catcher 1", None, rom_addresses["Trainersanity_EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0_ITEM"], EventFlag(139), inclusion=trainersanity),
    LocationData("Viridian Forest", "Bug Catcher 2", None, rom_addresses["Trainersanity_EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1_ITEM"], EventFlag(138), inclusion=trainersanity),
    LocationData("Viridian Forest", "Bug Catcher 3", None, rom_addresses["Trainersanity_EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2_ITEM"], EventFlag(137), inclusion=trainersanity),
    LocationData("Route 25", "Hiker 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_25_TRAINER_6_ITEM"], EventFlag(142), inclusion=trainersanity),
    LocationData("Route 25", "Youngster 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_25_TRAINER_0_ITEM"], EventFlag(148), inclusion=trainersanity),
    LocationData("Route 25", "Hiker 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_25_TRAINER_8_ITEM"], EventFlag(140), inclusion=trainersanity),
    LocationData("Route 25", "Youngster 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_25_TRAINER_1_ITEM"], EventFlag(147), inclusion=trainersanity),
    LocationData("Route 25", "Lass 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_25_TRAINER_3_ITEM"], EventFlag(145), inclusion=trainersanity),
    LocationData("Route 25", "Hiker 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_25_TRAINER_7_ITEM"], EventFlag(141), inclusion=trainersanity),
    LocationData("Route 25", "Jr. Trainer M", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_25_TRAINER_2_ITEM"], EventFlag(146), inclusion=trainersanity),
    LocationData("Route 25", "Youngster 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_25_TRAINER_4_ITEM"], EventFlag(144), inclusion=trainersanity),
    LocationData("Route 25", "Lass 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_25_TRAINER_5_ITEM"], EventFlag(143), inclusion=trainersanity),
    LocationData("Route 24", "Bug Catcher", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_24_TRAINER_5_ITEM"], EventFlag(149), inclusion=trainersanity),
    LocationData("Route 24", "Lass 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_24_TRAINER_4_ITEM"], EventFlag(150), inclusion=trainersanity),
    LocationData("Route 24", "Youngster", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_24_TRAINER_3_ITEM"], EventFlag(151), inclusion=trainersanity),
    LocationData("Route 24", "Lass 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_24_TRAINER_2_ITEM"], EventFlag(153), inclusion=trainersanity),
    LocationData("Route 24", "Jr. Trainer M 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_24_TRAINER_1_ITEM"], EventFlag(154), inclusion=trainersanity),
    LocationData("Route 24", "Jr. Trainer M 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_24_TRAINER_0_ITEM"], EventFlag(155), inclusion=trainersanity),
    LocationData("Route 21", "Fisherman 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_21_TRAINER_0_ITEM"], EventFlag(174), inclusion=trainersanity),
    LocationData("Route 21", "Fisherman 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_21_TRAINER_1_ITEM"], EventFlag(173), inclusion=trainersanity),
    LocationData("Route 21", "Cue Ball", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_21_TRAINER_3_ITEM"], EventFlag(171), inclusion=trainersanity),
    LocationData("Route 21", "Swimmer 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_21_TRAINER_2_ITEM"], EventFlag(172), inclusion=trainersanity),
    LocationData("Route 21", "Fisherman 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_21_TRAINER_7_ITEM"], EventFlag(166), inclusion=trainersanity),
    LocationData("Route 21", "Fisherman 4", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_21_TRAINER_8_ITEM"], EventFlag(165), inclusion=trainersanity),
    LocationData("Route 21", "Swimmer 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_21_TRAINER_4_ITEM"], EventFlag(170), inclusion=trainersanity),
    LocationData("Route 21", "Swimmer 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_21_TRAINER_6_ITEM"], EventFlag(168), inclusion=trainersanity),
    LocationData("Route 21", "Swimmer 4", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_21_TRAINER_5_ITEM"], EventFlag(169), inclusion=trainersanity),
    LocationData("Route 20 West", "Beauty 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_20_TRAINER_9_ITEM"], EventFlag(175), inclusion=trainersanity),
    LocationData("Route 20 West", "Jr. Trainer F 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_20_TRAINER_8_ITEM"], EventFlag(176), inclusion=trainersanity),
    LocationData("Route 20 West", "Beauty 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_20_TRAINER_7_ITEM"], EventFlag(177), inclusion=trainersanity),
    LocationData("Route 20 West", "Cooltrainer M", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_20_TRAINER_6_ITEM"], EventFlag(178), inclusion=trainersanity),
    LocationData("Route 20 West", "Swimmer 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_20_TRAINER_4_ITEM"], EventFlag(180), inclusion=trainersanity),
    LocationData("Route 20 West", "Jr. Trainer F 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_20_TRAINER_3_ITEM"], EventFlag(181), inclusion=trainersanity),
    LocationData("Route 20 East", "Beauty 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_20_TRAINER_2_ITEM"], EventFlag(182), inclusion=trainersanity),
    LocationData("Route 20 East", "Beauty 4", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_20_TRAINER_1_ITEM"], EventFlag(183), inclusion=trainersanity),
    LocationData("Route 20 East", "Swimmer 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_20_TRAINER_5_ITEM"], EventFlag(179), inclusion=trainersanity),
    LocationData("Route 20 East", "Swimmer 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_20_TRAINER_0_ITEM"], EventFlag(184), inclusion=trainersanity),
    LocationData("Route 19", "Swimmer 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_19_TRAINER_0_ITEM"], EventFlag(199), inclusion=trainersanity),
    LocationData("Route 19", "Swimmer 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_19_TRAINER_1_ITEM"], EventFlag(198), inclusion=trainersanity),
    LocationData("Route 19", "Swimmer 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_19_TRAINER_5_ITEM"], EventFlag(194), inclusion=trainersanity),
    LocationData("Route 19", "Swimmer 4", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_19_TRAINER_2_ITEM"], EventFlag(197), inclusion=trainersanity),
    LocationData("Route 19", "Swimmer 5", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_19_TRAINER_3_ITEM"], EventFlag(196), inclusion=trainersanity),
    LocationData("Route 19", "Swimmer 6", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_19_TRAINER_4_ITEM"], EventFlag(195), inclusion=trainersanity),
    LocationData("Route 19", "Swimmer 7", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_19_TRAINER_8_ITEM"], EventFlag(188), inclusion=trainersanity),
    LocationData("Route 19", "Beauty 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_19_TRAINER_7_ITEM"], EventFlag(189), inclusion=trainersanity),
    LocationData("Route 19", "Beauty 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_19_TRAINER_6_ITEM"], EventFlag(193), inclusion=trainersanity),
    LocationData("Route 19", "Beauty 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_19_TRAINER_9_ITEM"], EventFlag(185), inclusion=trainersanity),
    LocationData("Route 18", "Bird Keeper 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_18_TRAINER_2_ITEM"], EventFlag(200), inclusion=trainersanity),
    LocationData("Route 18", "Bird Keeper 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_18_TRAINER_1_ITEM"], EventFlag(201), inclusion=trainersanity),
    LocationData("Route 18", "Bird Keeper 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_18_TRAINER_0_ITEM"], EventFlag(202), inclusion=trainersanity),
    LocationData("Route 17", "Cue Ball 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_17_TRAINER_1_ITEM"], EventFlag(211), inclusion=trainersanity),
    LocationData("Route 17", "Biker 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_17_TRAINER_2_ITEM"], EventFlag(210), inclusion=trainersanity),
    LocationData("Route 17", "Cue Ball 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_17_TRAINER_0_ITEM"], EventFlag(212), inclusion=trainersanity),
    LocationData("Route 17", "Biker 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_17_TRAINER_3_ITEM"], EventFlag(209), inclusion=trainersanity),
    LocationData("Route 17", "Biker 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_17_TRAINER_4_ITEM"], EventFlag(208), inclusion=trainersanity),
    LocationData("Route 17", "Cue Ball 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_17_TRAINER_5_ITEM"], EventFlag(207), inclusion=trainersanity),
    LocationData("Route 17", "Cue Ball 4", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_17_TRAINER_6_ITEM"], EventFlag(206), inclusion=trainersanity),
    LocationData("Route 17", "Biker 4", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_17_TRAINER_8_ITEM"], EventFlag(204), inclusion=trainersanity),
    LocationData("Route 17", "Cue Ball 5", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_17_TRAINER_7_ITEM"], EventFlag(205), inclusion=trainersanity),
    LocationData("Route 17", "Biker 5", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_17_TRAINER_9_ITEM"], EventFlag(203), inclusion=trainersanity),
    LocationData("Route 16 West", "Biker", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_16_TRAINER_0_ITEM"], EventFlag(219), inclusion=trainersanity),
    LocationData("Route 16 West", "Cue Ball 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_16_TRAINER_1_ITEM"], EventFlag(218), inclusion=trainersanity),
    LocationData("Route 16 West", "Cue Ball 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_16_TRAINER_2_ITEM"], EventFlag(217), inclusion=trainersanity),
    LocationData("Route 16 West", "Biker 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_16_TRAINER_3_ITEM"], EventFlag(216), inclusion=trainersanity),
    LocationData("Route 16 West", "Cue Ball 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_16_TRAINER_4_ITEM"], EventFlag(215), inclusion=trainersanity),
    LocationData("Route 16 West", "Biker 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_16_TRAINER_5_ITEM"], EventFlag(214), inclusion=trainersanity),
    LocationData("Route 15", "Jr. Trainer F 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_15_TRAINER_8_ITEM"], EventFlag(221), inclusion=trainersanity),
    LocationData("Route 15", "Beauty 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_15_TRAINER_4_ITEM"], EventFlag(225), inclusion=trainersanity),
    LocationData("Route 15", "Jr. Trainer F 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_15_TRAINER_1_ITEM"], EventFlag(228), inclusion=trainersanity),
    LocationData("Route 15", "Biker 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_15_TRAINER_6_ITEM"], EventFlag(223), inclusion=trainersanity),
    LocationData("Route 15", "Biker 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_15_TRAINER_7_ITEM"], EventFlag(222), inclusion=trainersanity),
    LocationData("Route 15", "Jr. Trainer F 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_15_TRAINER_0_ITEM"], EventFlag(229), inclusion=trainersanity),
    LocationData("Route 15", "Beauty 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_15_TRAINER_5_ITEM"], EventFlag(224), inclusion=trainersanity),
    LocationData("Route 15", "Bird Keeper 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_15_TRAINER_3_ITEM"], EventFlag(226), inclusion=trainersanity),
    LocationData("Route 15", "Bird Keeper 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_15_TRAINER_2_ITEM"], EventFlag(227), inclusion=trainersanity),
    LocationData("Route 15", "Jr. Trainer F 4", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_15_TRAINER_9_ITEM"], EventFlag(220), inclusion=trainersanity),
    LocationData("Route 14", "Bird Keeper 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_14_TRAINER_0_ITEM"], EventFlag(244), inclusion=trainersanity),
    LocationData("Route 14", "Bird Keeper 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_14_TRAINER_1_ITEM"], EventFlag(240), inclusion=trainersanity),
    LocationData("Route 14", "Bird Keeper 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_14_TRAINER_2_ITEM"], EventFlag(237), inclusion=trainersanity),
    LocationData("Route 14", "Bird Keeper 4", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_14_TRAINER_3_ITEM"], EventFlag(236), inclusion=trainersanity),
    LocationData("Route 14", "Biker 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_14_TRAINER_8_ITEM"], EventFlag(231), inclusion=trainersanity),
    LocationData("Route 14", "Bird Keeper 5", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_14_TRAINER_4_ITEM"], EventFlag(235), inclusion=trainersanity),
    LocationData("Route 14", "Biker 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_14_TRAINER_9_ITEM"], EventFlag(230), inclusion=trainersanity),
    LocationData("Route 14", "Biker 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_14_TRAINER_7_ITEM"], EventFlag(232), inclusion=trainersanity),
    LocationData("Route 14", "Biker 4", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_14_TRAINER_6_ITEM"], EventFlag(233), inclusion=trainersanity),
    LocationData("Route 14", "Bird Keeper 6", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_14_TRAINER_5_ITEM"], EventFlag(234), inclusion=trainersanity),
    LocationData("Route 13 East", "Jr. Trainer F 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_13_TRAINER_4_ITEM"], EventFlag(253), inclusion=trainersanity),
    LocationData("Route 13 East", "Bird Keeper 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_13_TRAINER_0_ITEM"], EventFlag(257), inclusion=trainersanity),
    LocationData("Route 13 East", "Jr. Trainer F 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_13_TRAINER_1_ITEM"], EventFlag(256), inclusion=trainersanity),
    LocationData("Route 13", "Beauty 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_13_TRAINER_6_ITEM"], EventFlag(248), inclusion=trainersanity),
    LocationData("Route 13", "Beauty 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_13_TRAINER_7_ITEM"], EventFlag(247), inclusion=trainersanity),
    LocationData("Route 13", "Jr. Trainer F 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_13_TRAINER_2_ITEM"], EventFlag(255), inclusion=trainersanity),
    LocationData("Route 13", "Jr. Trainer F 4", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_13_TRAINER_3_ITEM"], EventFlag(254), inclusion=trainersanity),
    LocationData("Route 13", "Bird Keeper 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_13_TRAINER_9_ITEM"], EventFlag(245), inclusion=trainersanity),
    LocationData("Route 13", "Bird Keeper 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_13_TRAINER_5_ITEM"], EventFlag(252), inclusion=trainersanity),
    LocationData("Route 13", "Biker", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_13_TRAINER_8_ITEM"], EventFlag(246), inclusion=trainersanity),
    LocationData("Route 12 North", "Fisherman 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_12_TRAINER_0_ITEM"], EventFlag(277), inclusion=trainersanity),
    LocationData("Route 12 North", "Fisherman 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_12_TRAINER_1_ITEM"], EventFlag(276), inclusion=trainersanity),
    LocationData("Route 12 North", "Fisherman 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_12_TRAINER_4_ITEM"], EventFlag(269), inclusion=trainersanity),
    LocationData("Route 12 North", "Fisherman 4", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_12_TRAINER_5_ITEM"], EventFlag(268), inclusion=trainersanity),
    LocationData("Route 12 South", "Rocker", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_12_TRAINER_3_ITEM"], EventFlag(270), inclusion=trainersanity),
    LocationData("Route 12 South", "Jr. Trainer M", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_12_TRAINER_2_ITEM"], EventFlag(272), inclusion=trainersanity),
    LocationData("Route 12 Grass", "Fisherman 5", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_12_TRAINER_6_ITEM"], EventFlag(264), inclusion=trainersanity),
    LocationData("Route 11", "Youngster 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_11_TRAINER_2_ITEM"], EventFlag(286), inclusion=trainersanity),
    LocationData("Route 11", "Gambler 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_11_TRAINER_0_ITEM"], EventFlag(288), inclusion=trainersanity),
    LocationData("Route 11", "Youngster 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_11_TRAINER_9_ITEM"], EventFlag(278), inclusion=trainersanity),
    LocationData("Route 11", "Youngster 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_11_TRAINER_4_ITEM"], EventFlag(284), inclusion=trainersanity),
    LocationData("Route 11", "Gambler 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_11_TRAINER_1_ITEM"], EventFlag(287), inclusion=trainersanity),
    LocationData("Route 11", "Gambler 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_11_TRAINER_6_ITEM"], EventFlag(282), inclusion=trainersanity),
    LocationData("Route 11", "Engineer 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_11_TRAINER_3_ITEM"], EventFlag(285), inclusion=trainersanity),
    LocationData("Route 11", "Engineer 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_11_TRAINER_8_ITEM"], EventFlag(280), inclusion=trainersanity),
    LocationData("Route 11", "Youngster 4", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_11_TRAINER_7_ITEM"], EventFlag(281), inclusion=trainersanity),
    LocationData("Route 11", "Gambler 4", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_11_TRAINER_5_ITEM"], EventFlag(283), inclusion=trainersanity),
    LocationData("Rock Tunnel 1F", "PokeManiac", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3_ITEM"], EventFlag(302), inclusion=trainersanity),
    LocationData("Rock Tunnel 1F", "Hiker 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0_ITEM"], EventFlag(305), inclusion=trainersanity),
    LocationData("Rock Tunnel 1F", "Hiker 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1_ITEM"], EventFlag(304), inclusion=trainersanity),
    LocationData("Rock Tunnel 1F", "Hiker 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2_ITEM"], EventFlag(303), inclusion=trainersanity),
    LocationData("Rock Tunnel 1F", "Jr. Trainer F 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4_ITEM"], EventFlag(301), inclusion=trainersanity),
    LocationData("Rock Tunnel 1F", "Jr. Trainer F 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6_ITEM"], EventFlag(299), inclusion=trainersanity),
    LocationData("Rock Tunnel 1F", "Jr. Trainer F 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5_ITEM"], EventFlag(300), inclusion=trainersanity),
    LocationData("Rock Tunnel B1F", "PokeManiac 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7_ITEM"], EventFlag(5), inclusion=trainersanity),
    LocationData("Rock Tunnel B1F", "Jr. Trainer F 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5_ITEM"], EventFlag(8), inclusion=trainersanity),
    LocationData("Rock Tunnel B1F", "PokeManiac 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3_ITEM"], EventFlag(10), inclusion=trainersanity),
    LocationData("Rock Tunnel B1F", "Hiker 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6_ITEM"], EventFlag(7), inclusion=trainersanity),
    LocationData("Rock Tunnel B1F", "Hiker 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4_ITEM"], EventFlag(9), inclusion=trainersanity),
    LocationData("Rock Tunnel B1F", "Jr. Trainer F 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0_ITEM"], EventFlag(13), inclusion=trainersanity),
    LocationData("Rock Tunnel B1F", "Hiker 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1_ITEM"], EventFlag(12), inclusion=trainersanity),
    LocationData("Rock Tunnel B1F", "PokeManiac 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2_ITEM"], EventFlag(11), inclusion=trainersanity),
    LocationData("Route 10 North", "Jr. Trainer F 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_10_TRAINER_3_ITEM"], EventFlag(308), inclusion=trainersanity),
    LocationData("Route 10 North", "PokeManiac", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_10_TRAINER_0_ITEM"], EventFlag(311), inclusion=trainersanity),
    LocationData("Route 10 South", "J.r Trainer F 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_10_TRAINER_5_ITEM"], EventFlag(306), inclusion=trainersanity),
    LocationData("Route 10 South", "Hiker 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_10_TRAINER_1_ITEM"], EventFlag(310), inclusion=trainersanity),
    LocationData("Route 10 South", "Hiker 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_10_TRAINER_4_ITEM"], EventFlag(307), inclusion=trainersanity),
    LocationData("Route 10 South", "Super Nerd", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_10_TRAINER_2_ITEM"], EventFlag(309), inclusion=trainersanity),
    LocationData("Route 9", "Jr. Trainer F 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_9_TRAINER_0_ITEM"], EventFlag(320), inclusion=trainersanity),
    LocationData("Route 9", "Hiker 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_9_TRAINER_4_ITEM"], EventFlag(316), inclusion=trainersanity),
    LocationData("Route 9", "Jr. Trainer M 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_9_TRAINER_1_ITEM"], EventFlag(319), inclusion=trainersanity),
    LocationData("Route 9", "Bug Catcher 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_9_TRAINER_6_ITEM"], EventFlag(314), inclusion=trainersanity),
    LocationData("Route 9", "Hiker 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_9_TRAINER_7_ITEM"], EventFlag(313), inclusion=trainersanity),
    LocationData("Route 9", "Bug Catcher 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_9_TRAINER_8_ITEM"], EventFlag(312), inclusion=trainersanity),
    LocationData("Route 9", "Jr. Trainer M 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_9_TRAINER_2_ITEM"], EventFlag(318), inclusion=trainersanity),
    LocationData("Route 9", "Hiker 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_9_TRAINER_5_ITEM"], EventFlag(315), inclusion=trainersanity),
    LocationData("Route 9", "Jr. Trainer F 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_9_TRAINER_3_ITEM"], EventFlag(317), inclusion=trainersanity),
    LocationData("Route 8", "Lass 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_8_TRAINER_8_ITEM"], EventFlag(321), inclusion=trainersanity),
    LocationData("Route 8", "Gambler 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_8_TRAINER_7_ITEM"], EventFlag(322), inclusion=trainersanity),
    LocationData("Route 8", "Super Nerd 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_8_TRAINER_2_ITEM"], EventFlag(327), inclusion=trainersanity),
    LocationData("Route 8", "Lass 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_8_TRAINER_3_ITEM"], EventFlag(326), inclusion=trainersanity),
    LocationData("Route 8", "Super Nerd 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_8_TRAINER_4_ITEM"], EventFlag(325), inclusion=trainersanity),
    LocationData("Route 8", "Lass 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_8_TRAINER_5_ITEM"], EventFlag(324), inclusion=trainersanity),
    LocationData("Route 8", "Lass 4", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_8_TRAINER_6_ITEM"], EventFlag(323), inclusion=trainersanity),
    LocationData("Route 8", "Gambler 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_8_TRAINER_1_ITEM"], EventFlag(328), inclusion=trainersanity),
    LocationData("Route 8", "Super Nerd 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_8_TRAINER_0_ITEM"], EventFlag(329), inclusion=trainersanity),
    LocationData("Route 6", "Bug Catcher 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_6_TRAINER_2_ITEM"], EventFlag(333), inclusion=trainersanity),
    LocationData("Route 6", "Jr. Trainer M 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_6_TRAINER_1_ITEM"], EventFlag(334), inclusion=trainersanity),
    LocationData("Route 6", "Jr. Trainer F 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_6_TRAINER_0_ITEM"], EventFlag(335), inclusion=trainersanity),
    LocationData("Route 6", "Bug Catcher 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_6_TRAINER_5_ITEM"], EventFlag(330), inclusion=trainersanity),
    LocationData("Route 6", "Jr. Trainer F 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_6_TRAINER_4_ITEM"], EventFlag(331), inclusion=trainersanity),
    LocationData("Route 6", "Jr. Trainer M 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_6_TRAINER_3_ITEM"], EventFlag(332), inclusion=trainersanity),
    LocationData("Route 4", "Cooltrainer F", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_4_TRAINER_0_ITEM"], EventFlag(336), inclusion=trainersanity),
    LocationData("Route 3", "Lass 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_3_TRAINER_2_ITEM"], EventFlag(345), inclusion=trainersanity),
    LocationData("Route 3", "Bug Catcher 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_3_TRAINER_0_ITEM"], EventFlag(347), inclusion=trainersanity),
    LocationData("Route 3", "Youngster 1", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_3_TRAINER_1_ITEM"], EventFlag(346), inclusion=trainersanity),
    LocationData("Route 3", "Bug Catcher 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_3_TRAINER_3_ITEM"], EventFlag(344), inclusion=trainersanity),
    LocationData("Route 3", "Lass 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_3_TRAINER_4_ITEM"], EventFlag(341), inclusion=trainersanity),
    LocationData("Route 3", "Youngster 2", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_3_TRAINER_5_ITEM"], EventFlag(340), inclusion=trainersanity),
    LocationData("Route 3", "Bug Catcher 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_3_TRAINER_6_ITEM"], EventFlag(339), inclusion=trainersanity),
    LocationData("Route 3", "Lass 3", None, rom_addresses["Trainersanity_EVENT_BEAT_ROUTE_3_TRAINER_7_ITEM"], EventFlag(338), inclusion=trainersanity),
    LocationData("Saffron Gym", "Psychic 1", None, rom_addresses["Trainersanity_EVENT_BEAT_SAFFRON_GYM_TRAINER_5_ITEM"], EventFlag(349), inclusion=trainersanity),
    LocationData("Saffron Gym", "Psychic 2", None, rom_addresses["Trainersanity_EVENT_BEAT_SAFFRON_GYM_TRAINER_3_ITEM"], EventFlag(351), inclusion=trainersanity),
    LocationData("Saffron Gym", "Psychic 3", None, rom_addresses["Trainersanity_EVENT_BEAT_SAFFRON_GYM_TRAINER_1_ITEM"], EventFlag(360), inclusion=trainersanity),
    LocationData("Saffron Gym", "Channeler 1", None, rom_addresses["Trainersanity_EVENT_BEAT_SAFFRON_GYM_TRAINER_0_ITEM"], EventFlag(361), inclusion=trainersanity),
    LocationData("Saffron Gym", "Psychic 4", None, rom_addresses["Trainersanity_EVENT_BEAT_SAFFRON_GYM_TRAINER_6_ITEM"], EventFlag(348), inclusion=trainersanity),
    LocationData("Saffron Gym", "Channeler 2", None, rom_addresses["Trainersanity_EVENT_BEAT_SAFFRON_GYM_TRAINER_2_ITEM"], EventFlag(357), inclusion=trainersanity),
    LocationData("Saffron Gym", "Channeler 3", None, rom_addresses["Trainersanity_EVENT_BEAT_SAFFRON_GYM_TRAINER_4_ITEM"], EventFlag(350), inclusion=trainersanity),
    LocationData("Fighting Dojo", "Blackbelt 1", None, rom_addresses["Trainersanity_EVENT_BEAT_FIGHTING_DOJO_TRAINER_3_ITEM"], EventFlag(363), inclusion=trainersanity),
    LocationData("Fighting Dojo", "Blackbelt 2", None, rom_addresses["Trainersanity_EVENT_BEAT_FIGHTING_DOJO_TRAINER_1_ITEM"], EventFlag(365), inclusion=trainersanity),
    LocationData("Fighting Dojo", "Blackbelt 3", None, rom_addresses["Trainersanity_EVENT_BEAT_FIGHTING_DOJO_TRAINER_2_ITEM"], EventFlag(364), inclusion=trainersanity),
    LocationData("Fighting Dojo", "Blackbelt 4", None, rom_addresses["Trainersanity_EVENT_BEAT_FIGHTING_DOJO_TRAINER_0_ITEM"], EventFlag(366), inclusion=trainersanity),
    LocationData("Fuchsia Gym", "Juggler 1", None, rom_addresses["Trainersanity_EVENT_BEAT_FUCHSIA_GYM_TRAINER_2_ITEM"], EventFlag(380), inclusion=trainersanity),
    LocationData("Fuchsia Gym", "Juggler 2", None, rom_addresses["Trainersanity_EVENT_BEAT_FUCHSIA_GYM_TRAINER_0_ITEM"], EventFlag(382), inclusion=trainersanity),
    LocationData("Fuchsia Gym", "Juggler 3", None, rom_addresses["Trainersanity_EVENT_BEAT_FUCHSIA_GYM_TRAINER_1_ITEM"], EventFlag(381), inclusion=trainersanity),
    LocationData("Fuchsia Gym", "Tamer 1", None, rom_addresses["Trainersanity_EVENT_BEAT_FUCHSIA_GYM_TRAINER_4_ITEM"], EventFlag(378), inclusion=trainersanity),
    LocationData("Fuchsia Gym", "Tamer 2", None, rom_addresses["Trainersanity_EVENT_BEAT_FUCHSIA_GYM_TRAINER_3_ITEM"], EventFlag(379), inclusion=trainersanity),
    LocationData("Fuchsia Gym", "Juggler 4", None, rom_addresses["Trainersanity_EVENT_BEAT_FUCHSIA_GYM_TRAINER_5_ITEM"], EventFlag(377), inclusion=trainersanity),
    LocationData("Celadon Gym", "Lass 1", None, rom_addresses["Trainersanity_EVENT_BEAT_CELADON_GYM_TRAINER_0_ITEM"], EventFlag(391), inclusion=trainersanity),
    LocationData("Celadon Gym", "Beauty 1", None, rom_addresses["Trainersanity_EVENT_BEAT_CELADON_GYM_TRAINER_1_ITEM"], EventFlag(390), inclusion=trainersanity),
    LocationData("Celadon Gym", "Beauty 2", None, rom_addresses["Trainersanity_EVENT_BEAT_CELADON_GYM_TRAINER_3_ITEM"], EventFlag(388), inclusion=trainersanity),
    LocationData("Celadon Gym", "Jr. Trainer F", None, rom_addresses["Trainersanity_EVENT_BEAT_CELADON_GYM_TRAINER_2_ITEM"], EventFlag(389), inclusion=trainersanity),
    LocationData("Celadon Gym", "Lass 2", None, rom_addresses["Trainersanity_EVENT_BEAT_CELADON_GYM_TRAINER_4_ITEM"], EventFlag(387), inclusion=trainersanity),
    LocationData("Celadon Gym", "Cool Trainer F", None, rom_addresses["Trainersanity_EVENT_BEAT_CELADON_GYM_TRAINER_6_ITEM"], EventFlag(385), inclusion=trainersanity),
    LocationData("Celadon Gym", "Beauty 3", None, rom_addresses["Trainersanity_EVENT_BEAT_CELADON_GYM_TRAINER_5_ITEM"], EventFlag(386), inclusion=trainersanity),
    LocationData("Vermilion Gym", "Sailor", None, rom_addresses["Trainersanity_EVENT_BEAT_VERMILION_GYM_TRAINER_2_ITEM"], EventFlag(394), inclusion=trainersanity),
    LocationData("Vermilion Gym", "Rocker", None, rom_addresses["Trainersanity_EVENT_BEAT_VERMILION_GYM_TRAINER_1_ITEM"], EventFlag(395), inclusion=trainersanity),
    LocationData("Vermilion Gym", "Gentleman", None, rom_addresses["Trainersanity_EVENT_BEAT_VERMILION_GYM_TRAINER_0_ITEM"], EventFlag(400), inclusion=trainersanity),
    LocationData("Pokemon Tower 3F", "Channeler 1", None, rom_addresses["Trainersanity_EVENT_BEAT_POKEMONTOWER_3_TRAINER_0_ITEM"], EventFlag(417), inclusion=trainersanity),
    LocationData("Pokemon Tower 3F", "Channeler 2", None, rom_addresses["Trainersanity_EVENT_BEAT_POKEMONTOWER_3_TRAINER_1_ITEM"], EventFlag(416), inclusion=trainersanity),
    LocationData("Pokemon Tower 3F", "Channeler 3", None, rom_addresses["Trainersanity_EVENT_BEAT_POKEMONTOWER_3_TRAINER_2_ITEM"], EventFlag(415), inclusion=trainersanity),
    LocationData("Pokemon Tower 4F", "Channeler 1", None, rom_addresses["Trainersanity_EVENT_BEAT_POKEMONTOWER_4_TRAINER_1_ITEM"], EventFlag(413), inclusion=trainersanity),
    LocationData("Pokemon Tower 4F", "Channeler 2", None, rom_addresses["Trainersanity_EVENT_BEAT_POKEMONTOWER_4_TRAINER_2_ITEM"], EventFlag(412), inclusion=trainersanity),
    LocationData("Pokemon Tower 4F", "Channeler 3", None, rom_addresses["Trainersanity_EVENT_BEAT_POKEMONTOWER_4_TRAINER_0_ITEM"], EventFlag(414), inclusion=trainersanity),
    LocationData("Pokemon Tower 5F", "Channeler 1", None, rom_addresses["Trainersanity_EVENT_BEAT_POKEMONTOWER_5_TRAINER_1_ITEM"], EventFlag(410), inclusion=trainersanity),
    LocationData("Pokemon Tower 5F", "Channeler 2", None, rom_addresses["Trainersanity_EVENT_BEAT_POKEMONTOWER_5_TRAINER_0_ITEM"], EventFlag(411), inclusion=trainersanity),
    LocationData("Pokemon Tower 5F", "Channeler 3", None, rom_addresses["Trainersanity_EVENT_BEAT_POKEMONTOWER_5_TRAINER_2_ITEM"], EventFlag(409), inclusion=trainersanity),
    LocationData("Pokemon Tower 5F", "Channeler 4", None, rom_addresses["Trainersanity_EVENT_BEAT_POKEMONTOWER_5_TRAINER_3_ITEM"], EventFlag(408), inclusion=trainersanity),
    LocationData("Pokemon Tower 6F", "Channeler 1", None, rom_addresses["Trainersanity_EVENT_BEAT_POKEMONTOWER_6_TRAINER_0_ITEM"], EventFlag(407), inclusion=trainersanity),
    LocationData("Pokemon Tower 6F", "Channeler 2", None, rom_addresses["Trainersanity_EVENT_BEAT_POKEMONTOWER_6_TRAINER_2_ITEM"], EventFlag(405), inclusion=trainersanity),
    LocationData("Pokemon Tower 6F", "Channeler 3", None, rom_addresses["Trainersanity_EVENT_BEAT_POKEMONTOWER_6_TRAINER_1_ITEM"], EventFlag(406), inclusion=trainersanity),
    LocationData("Pokemon Tower 7F", "Rocket 1", None, rom_addresses["Trainersanity_EVENT_BEAT_POKEMONTOWER_7_TRAINER_0_ITEM"], EventFlag(403), inclusion=trainersanity),
    LocationData("Pokemon Tower 7F", "Rocket 2", None, rom_addresses["Trainersanity_EVENT_BEAT_POKEMONTOWER_7_TRAINER_1_ITEM"], EventFlag(402), inclusion=trainersanity),
    LocationData("Pokemon Tower 7F", "Rocket 3", None, rom_addresses["Trainersanity_EVENT_BEAT_POKEMONTOWER_7_TRAINER_2_ITEM"], EventFlag(401), inclusion=trainersanity),
    LocationData("Cerulean Gym", "Swimmer", None, rom_addresses["Trainersanity_EVENT_BEAT_CERULEAN_GYM_TRAINER_1_ITEM"], EventFlag(420), inclusion=trainersanity),
    LocationData("Cerulean Gym", "Jr. Trainer F", None, rom_addresses["Trainersanity_EVENT_BEAT_CERULEAN_GYM_TRAINER_0_ITEM"], EventFlag(421), inclusion=trainersanity),
    LocationData("Pewter Gym", "Jr. Trainer M", None, rom_addresses["Trainersanity_EVENT_BEAT_PEWTER_GYM_TRAINER_0_ITEM"], EventFlag(434), inclusion=trainersanity),
    LocationData("Viridian Gym", "Tamer 1", None, rom_addresses["Trainersanity_EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6_ITEM"], EventFlag(436), inclusion=trainersanity),
    LocationData("Viridian Gym", "Blackbelt 1", None, rom_addresses["Trainersanity_EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3_ITEM"], EventFlag(439), inclusion=trainersanity),
    LocationData("Viridian Gym", "Cooltrainer M 1", None, rom_addresses["Trainersanity_EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7_ITEM"], EventFlag(435), inclusion=trainersanity),
    LocationData("Viridian Gym", "Cooltrainer M 2", None, rom_addresses["Trainersanity_EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0_ITEM"], EventFlag(446), inclusion=trainersanity),
    LocationData("Viridian Gym", "Blackbelt 2", None, rom_addresses["Trainersanity_EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1_ITEM"], EventFlag(445), inclusion=trainersanity),
    LocationData("Viridian Gym", "Tamer 2", None, rom_addresses["Trainersanity_EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2_ITEM"], EventFlag(440), inclusion=trainersanity),
    LocationData("Viridian Gym", "Cooltrainer M 3", None, rom_addresses["Trainersanity_EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5_ITEM"], EventFlag(437), inclusion=trainersanity),
    LocationData("Viridian Gym", "Blackbelt 3", None, rom_addresses["Trainersanity_EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4_ITEM"], EventFlag(438), inclusion=trainersanity),
    LocationData("Victory Road 1F", "Cooltrainer F", None, rom_addresses["Trainersanity_EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0_ITEM"], EventFlag(15), inclusion=trainersanity),
    LocationData("Victory Road 1F", "Cooltrainer M", None, rom_addresses["Trainersanity_EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1_ITEM"], EventFlag(14), inclusion=trainersanity),
    LocationData("Victory Road 2F", "Blackbelt", None, rom_addresses["Trainersanity_EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0_ITEM"], EventFlag(162), inclusion=trainersanity),
    LocationData("Victory Road 2F", "Juggler 1", None, rom_addresses["Trainersanity_EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1_ITEM"], EventFlag(161), inclusion=trainersanity),
    LocationData("Victory Road 2F", "Tamer", None, rom_addresses["Trainersanity_EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2_ITEM"], EventFlag(160), inclusion=trainersanity),
    LocationData("Victory Road 2F", "Juggler 2", None, rom_addresses["Trainersanity_EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4_ITEM"], EventFlag(158), inclusion=trainersanity),
    LocationData("Victory Road 2F", "PokeManiac", None, rom_addresses["Trainersanity_EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3_ITEM"], EventFlag(159), inclusion=trainersanity),
    LocationData("Victory Road 3F", "Cooltrainer M 1", None, rom_addresses["Trainersanity_EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0_ITEM"], EventFlag(103), inclusion=trainersanity),
    LocationData("Victory Road 3F", "Cooltrainer F 1", None, rom_addresses["Trainersanity_EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3_ITEM"], EventFlag(100), inclusion=trainersanity),
    LocationData("Victory Road 3F", "Cooltrainer M 2", None, rom_addresses["Trainersanity_EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2_ITEM"], EventFlag(101), inclusion=trainersanity),
    LocationData("Victory Road 3F", "Cooltrainer F 2", None, rom_addresses["Trainersanity_EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1_ITEM"], EventFlag(102), inclusion=trainersanity),
    LocationData("Indigo Plateau", "Lorelei", None, rom_addresses["Trainersanity_EVENT_BEAT_LORELEIS_ROOM_TRAINER_0_ITEM"], EventFlag(21), inclusion=trainersanity),
    LocationData("Indigo Plateau", "Bruno", None, rom_addresses["Trainersanity_EVENT_BEAT_BRUNOS_ROOM_TRAINER_0_ITEM"], EventFlag(20), inclusion=trainersanity),
    LocationData("Indigo Plateau", "Agatha", None, rom_addresses["Trainersanity_EVENT_BEAT_AGATHAS_ROOM_TRAINER_0_ITEM"], EventFlag(19), inclusion=trainersanity),
    LocationData("Indigo Plateau", "Lance", None, rom_addresses["Trainersanity_EVENT_BEAT_LANCES_ROOM_TRAINER_0_ITEM"], EventFlag(18), inclusion=trainersanity),

    LocationData("Indigo Plateau", "Become Champion", "Become Champion", event=True),
    LocationData("Pokemon Tower 7F", "Fuji Saved", "Fuji Saved", event=True),
    LocationData("Silph Co 11F", "Silph Co Liberated", "Silph Co Liberated", event=True),

    LocationData("Pallet Town", "Super Rod Pokemon - 1", "Tentacool", rom_addresses["Wild_Super_Rod_A"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pallet Town", "Super Rod Pokemon - 2", "Poliwag", rom_addresses["Wild_Super_Rod_A"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 22", "Super Rod Pokemon - 1", "Goldeen", rom_addresses["Wild_Super_Rod_B"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 22", "Super Rod Pokemon - 2", "Poliwag", rom_addresses["Wild_Super_Rod_B"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 24", "Super Rod Pokemon - 1", "Psyduck", rom_addresses["Wild_Super_Rod_C"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 24", "Super Rod Pokemon - 2", "Goldeen", rom_addresses["Wild_Super_Rod_C"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 24", "Super Rod Pokemon - 3", "Krabby", rom_addresses["Wild_Super_Rod_C"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 6", "Super Rod Pokemon - 1", "Krabby", rom_addresses["Wild_Super_Rod_D"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 6", "Super Rod Pokemon - 2", "Shellder", rom_addresses["Wild_Super_Rod_D"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 10 North", "Super Rod Pokemon - 1", "Poliwhirl", rom_addresses["Wild_Super_Rod_E"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 10 North", "Super Rod Pokemon - 2", "Slowpoke", rom_addresses["Wild_Super_Rod_E"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Safari Zone Center", "Super Rod Pokemon - 1", "Dratini", rom_addresses["Wild_Super_Rod_F"] + 1,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone Center", "Super Rod Pokemon - 2", "Krabby", rom_addresses["Wild_Super_Rod_F"] + 3,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone Center", "Super Rod Pokemon - 3", "Psyduck", rom_addresses["Wild_Super_Rod_F"] + 5,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone Center", "Super Rod Pokemon - 4", "Slowpoke", rom_addresses["Wild_Super_Rod_F"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 12 North", "Super Rod Pokemon - 1", "Tentacool", rom_addresses["Wild_Super_Rod_G"] + 1,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 12 North", "Super Rod Pokemon - 2", "Krabby", rom_addresses["Wild_Super_Rod_G"] + 3,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 12 North", "Super Rod Pokemon - 3", "Goldeen", rom_addresses["Wild_Super_Rod_G"] + 5,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 12 North", "Super Rod Pokemon - 4", "Magikarp", rom_addresses["Wild_Super_Rod_G"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 19", "Super Rod Pokemon - 1", "Staryu", rom_addresses["Wild_Super_Rod_H"] + 1,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 19", "Super Rod Pokemon - 2", "Horsea", rom_addresses["Wild_Super_Rod_H"] + 3,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 19", "Super Rod Pokemon - 3", "Shellder", rom_addresses["Wild_Super_Rod_H"] + 5,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 19", "Super Rod Pokemon - 4", "Goldeen", rom_addresses["Wild_Super_Rod_H"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 23", "Super Rod Pokemon - 1", "Slowbro", rom_addresses["Wild_Super_Rod_I"] + 1,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 23", "Super Rod Pokemon - 2", "Seaking", rom_addresses["Wild_Super_Rod_I"] + 3,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 23", "Super Rod Pokemon - 3", "Kingler", rom_addresses["Wild_Super_Rod_I"] + 5,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 23", "Super Rod Pokemon - 4", "Seadra", rom_addresses["Wild_Super_Rod_I"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Fuchsia City", "Super Rod Pokemon - 1", "Seaking", rom_addresses["Wild_Super_Rod_J"] + 1,
                 None, event=True, type="Wild Encounter"),
    LocationData("Fuchsia City", "Super Rod Pokemon - 2", "Krabby", rom_addresses["Wild_Super_Rod_J"] + 3,
                 None, event=True, type="Wild Encounter"),
    LocationData("Fuchsia City", "Super Rod Pokemon - 3", "Goldeen", rom_addresses["Wild_Super_Rod_J"] + 5,
                 None, event=True, type="Wild Encounter"),
    LocationData("Fuchsia City", "Super Rod Pokemon - 4", "Magikarp", rom_addresses["Wild_Super_Rod_J"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 1", "Wild Pokemon - 1", "Pidgey", rom_addresses["Wild_Route1"] + 1, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 1", "Wild Pokemon - 2", "Rattata", rom_addresses["Wild_Route1"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 1", "Wild Pokemon - 3", "Rattata", rom_addresses["Wild_Route1"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 1", "Wild Pokemon - 4", "Rattata", rom_addresses["Wild_Route1"] + 7, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 1", "Wild Pokemon - 5", "Pidgey", rom_addresses["Wild_Route1"] + 9, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 1", "Wild Pokemon - 6", "Pidgey", rom_addresses["Wild_Route1"] + 11, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 1", "Wild Pokemon - 7", "Pidgey", rom_addresses["Wild_Route1"] + 13, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 1", "Wild Pokemon - 8", "Rattata", rom_addresses["Wild_Route1"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 1", "Wild Pokemon - 9", "Pidgey", rom_addresses["Wild_Route1"] + 17, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 1", "Wild Pokemon - 10", "Pidgey", rom_addresses["Wild_Route1"] + 19, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 2", "Wild Pokemon - 1", "Rattata", rom_addresses["Wild_Route2"] + 1, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 2", "Wild Pokemon - 2", "Pidgey", rom_addresses["Wild_Route2"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 2", "Wild Pokemon - 3", "Pidgey", rom_addresses["Wild_Route2"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 2", "Wild Pokemon - 4", "Rattata", rom_addresses["Wild_Route2"] + 7, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 2", "Wild Pokemon - 5", "Pidgey", rom_addresses["Wild_Route2"] + 9, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 2", "Wild Pokemon - 6", ["Weedle", "Caterpie"], rom_addresses["Wild_Route2"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 2", "Wild Pokemon - 7", "Rattata", rom_addresses["Wild_Route2"] + 13, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 2", "Wild Pokemon - 8", "Rattata", rom_addresses["Wild_Route2"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 2", "Wild Pokemon - 9", ["Weedle", "Caterpie"], rom_addresses["Wild_Route2"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 2", "Wild Pokemon - 10", ["Weedle", "Caterpie"], rom_addresses["Wild_Route2"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 22", "Wild Pokemon - 1", "Rattata", rom_addresses["Wild_Route22"] + 1, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 22", "Wild Pokemon - 2", ["Nidoran M", "Nidoran F"], rom_addresses["Wild_Route22"] + 3,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 22", "Wild Pokemon - 3", "Rattata", rom_addresses["Wild_Route22"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 22", "Wild Pokemon - 4", ["Nidoran M", "Nidoran F"], rom_addresses["Wild_Route22"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 22", "Wild Pokemon - 5", "Rattata", rom_addresses["Wild_Route22"] + 9, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 22", "Wild Pokemon - 6", ["Nidoran M", "Nidoran F"], rom_addresses["Wild_Route22"] + 11,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 22", "Wild Pokemon - 7", "Spearow", rom_addresses["Wild_Route22"] + 13, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 22", "Wild Pokemon - 8", "Spearow", rom_addresses["Wild_Route22"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 22", "Wild Pokemon - 9", ["Nidoran F", "Nidoran M"], rom_addresses["Wild_Route22"] + 17,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 22", "Wild Pokemon - 10", ["Nidoran F", "Nidoran M"], rom_addresses["Wild_Route22"] + 19,
                 None, event=True, type="Wild Encounter"),
    LocationData("Viridian Forest", "Wild Pokemon - 1", ["Weedle", "Caterpie"],
                 rom_addresses["Wild_ViridianForest"] + 1, None, event=True, type="Wild Encounter"),
    LocationData("Viridian Forest", "Wild Pokemon - 2", ["Kakuna", "Metapod"],
                 rom_addresses["Wild_ViridianForest"] + 3, None, event=True, type="Wild Encounter"),
    LocationData("Viridian Forest", "Wild Pokemon - 3", ["Weedle", "Caterpie"],
                 rom_addresses["Wild_ViridianForest"] + 5, None, event=True, type="Wild Encounter"),
    LocationData("Viridian Forest", "Wild Pokemon - 4", ["Weedle", "Caterpie"],
                 rom_addresses["Wild_ViridianForest"] + 7, None, event=True, type="Wild Encounter"),
    LocationData("Viridian Forest", "Wild Pokemon - 5", ["Kakuna", "Metapod"],
                 rom_addresses["Wild_ViridianForest"] + 9, None, event=True, type="Wild Encounter"),
    LocationData("Viridian Forest", "Wild Pokemon - 6", ["Kakuna", "Metapod"],
                 rom_addresses["Wild_ViridianForest"] + 11, None, event=True, type="Wild Encounter"),
    LocationData("Viridian Forest", "Wild Pokemon - 7", ["Metapod", "Kakuna"],
                 rom_addresses["Wild_ViridianForest"] + 13, None, event=True, type="Wild Encounter"),
    LocationData("Viridian Forest", "Wild Pokemon - 8", ["Caterpie", "Weedle"],
                 rom_addresses["Wild_ViridianForest"] + 15,
                 None, event=True, type="Wild Encounter"),
    LocationData("Viridian Forest", "Wild Pokemon - 9", "Pikachu", rom_addresses["Wild_ViridianForest"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Viridian Forest", "Wild Pokemon - 10", "Pikachu", rom_addresses["Wild_ViridianForest"] + 19,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 3", "Wild Pokemon - 1", "Pidgey", rom_addresses["Wild_Route3"] + 1, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 3", "Wild Pokemon - 2", "Spearow", rom_addresses["Wild_Route3"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 3", "Wild Pokemon - 3", "Pidgey", rom_addresses["Wild_Route3"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 3", "Wild Pokemon - 4", "Spearow", rom_addresses["Wild_Route3"] + 7, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 3", "Wild Pokemon - 5", "Spearow", rom_addresses["Wild_Route3"] + 9, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 3", "Wild Pokemon - 6", "Pidgey", rom_addresses["Wild_Route3"] + 11, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 3", "Wild Pokemon - 7", "Spearow", rom_addresses["Wild_Route3"] + 13, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 3", "Wild Pokemon - 8", "Jigglypuff", rom_addresses["Wild_Route3"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 3", "Wild Pokemon - 9", "Jigglypuff", rom_addresses["Wild_Route3"] + 17, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 3", "Wild Pokemon - 10", "Jigglypuff", rom_addresses["Wild_Route3"] + 19, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon 1F", "Wild Pokemon - 1", "Zubat", rom_addresses["Wild_MtMoon1F"] + 1, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon 1F", "Wild Pokemon - 2", "Zubat", rom_addresses["Wild_MtMoon1F"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon 1F", "Wild Pokemon - 3", "Zubat", rom_addresses["Wild_MtMoon1F"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon 1F", "Wild Pokemon - 4", "Geodude", rom_addresses["Wild_MtMoon1F"] + 7, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon 1F", "Wild Pokemon - 5", "Zubat", rom_addresses["Wild_MtMoon1F"] + 9, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon 1F", "Wild Pokemon - 6", "Zubat", rom_addresses["Wild_MtMoon1F"] + 11, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon 1F", "Wild Pokemon - 7", "Geodude", rom_addresses["Wild_MtMoon1F"] + 13, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon 1F", "Wild Pokemon - 8", "Paras", rom_addresses["Wild_MtMoon1F"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon 1F", "Wild Pokemon - 9", "Zubat", rom_addresses["Wild_MtMoon1F"] + 17, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon 1F", "Wild Pokemon - 10", "Clefairy", rom_addresses["Wild_MtMoon1F"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Mt Moon B1F", "Wild Pokemon - 1", "Zubat", rom_addresses["Wild_MtMoonB1F"] + 1, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon B1F", "Wild Pokemon - 2", "Zubat", rom_addresses["Wild_MtMoonB1F"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon B1F", "Wild Pokemon - 3", "Geodude", rom_addresses["Wild_MtMoonB1F"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Mt Moon B1F", "Wild Pokemon - 4", "Geodude", rom_addresses["Wild_MtMoonB1F"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Mt Moon B1F", "Wild Pokemon - 5", "Zubat", rom_addresses["Wild_MtMoonB1F"] + 9, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon B1F", "Wild Pokemon - 6", "Paras", rom_addresses["Wild_MtMoonB1F"] + 11, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon B1F", "Wild Pokemon - 7", "Zubat", rom_addresses["Wild_MtMoonB1F"] + 13, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon B1F", "Wild Pokemon - 8", "Zubat", rom_addresses["Wild_MtMoonB1F"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon B1F", "Wild Pokemon - 9", "Clefairy", rom_addresses["Wild_MtMoonB1F"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Mt Moon B1F", "Wild Pokemon - 10", "Geodude", rom_addresses["Wild_MtMoonB1F"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Mt Moon B2F", "Wild Pokemon - 1", "Zubat", rom_addresses["Wild_MtMoonB2F"] + 1, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon B2F", "Wild Pokemon - 2", "Geodude", rom_addresses["Wild_MtMoonB2F"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Mt Moon B2F", "Wild Pokemon - 3", "Zubat", rom_addresses["Wild_MtMoonB2F"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon B2F", "Wild Pokemon - 4", "Geodude", rom_addresses["Wild_MtMoonB2F"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Mt Moon B2F", "Wild Pokemon - 5", "Zubat", rom_addresses["Wild_MtMoonB2F"] + 9, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon B2F", "Wild Pokemon - 6", "Paras", rom_addresses["Wild_MtMoonB2F"] + 11, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon B2F", "Wild Pokemon - 7", "Paras", rom_addresses["Wild_MtMoonB2F"] + 13, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon B2F", "Wild Pokemon - 8", "Clefairy", rom_addresses["Wild_MtMoonB2F"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Mt Moon B2F", "Wild Pokemon - 9", "Zubat", rom_addresses["Wild_MtMoonB2F"] + 17, None, event=True,
                 type="Wild Encounter"),
    LocationData("Mt Moon B2F", "Wild Pokemon - 10", "Clefairy", rom_addresses["Wild_MtMoonB2F"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 4", "Wild Pokemon - 1", "Rattata", rom_addresses["Wild_Route4"] + 1, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 4", "Wild Pokemon - 2", "Spearow", rom_addresses["Wild_Route4"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 4", "Wild Pokemon - 3", "Rattata", rom_addresses["Wild_Route4"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 4", "Wild Pokemon - 4", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route4"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 4", "Wild Pokemon - 5", "Spearow", rom_addresses["Wild_Route4"] + 9, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 4", "Wild Pokemon - 6", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route4"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 4", "Wild Pokemon - 7", "Rattata", rom_addresses["Wild_Route4"] + 13, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 4", "Wild Pokemon - 8", "Spearow", rom_addresses["Wild_Route4"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 4", "Wild Pokemon - 9", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route4"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 4", "Wild Pokemon - 10", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route4"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 24", "Wild Pokemon - 1", ["Weedle", "Caterpie"], rom_addresses["Wild_Route24"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 24", "Wild Pokemon - 2", ["Kakuna", "Metapod"], rom_addresses["Wild_Route24"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 24", "Wild Pokemon - 3", "Pidgey", rom_addresses["Wild_Route24"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 24", "Wild Pokemon - 4", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route24"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 24", "Wild Pokemon - 5", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route24"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 24", "Wild Pokemon - 6", "Abra", rom_addresses["Wild_Route24"] + 11, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 24", "Wild Pokemon - 7", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route24"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 24", "Wild Pokemon - 8", "Pidgey", rom_addresses["Wild_Route24"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 24", "Wild Pokemon - 9", "Abra", rom_addresses["Wild_Route24"] + 17, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 24", "Wild Pokemon - 10", "Abra", rom_addresses["Wild_Route24"] + 19, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 25", "Wild Pokemon - 1", ["Weedle", "Caterpie"], rom_addresses["Wild_Route25"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 25", "Wild Pokemon - 2", ["Kakuna", "Metapod"], rom_addresses["Wild_Route25"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 25", "Wild Pokemon - 3", "Pidgey", rom_addresses["Wild_Route25"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 25", "Wild Pokemon - 4", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route25"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 25", "Wild Pokemon - 5", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route25"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 25", "Wild Pokemon - 6", "Abra", rom_addresses["Wild_Route25"] + 11, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 25", "Wild Pokemon - 7", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route25"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 25", "Wild Pokemon - 8", "Abra", rom_addresses["Wild_Route25"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 25", "Wild Pokemon - 9", ["Metapod", "Kakuna"], rom_addresses["Wild_Route25"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 25", "Wild Pokemon - 10", ["Caterpie", "Weedle"], rom_addresses["Wild_Route25"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 9", "Wild Pokemon - 1", "Rattata", rom_addresses["Wild_Route9"] + 1, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 9", "Wild Pokemon - 2", "Spearow", rom_addresses["Wild_Route9"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 9", "Wild Pokemon - 3", "Rattata", rom_addresses["Wild_Route9"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 9", "Wild Pokemon - 4", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route9"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 9", "Wild Pokemon - 5", "Spearow", rom_addresses["Wild_Route9"] + 9, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 9", "Wild Pokemon - 6", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route9"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 9", "Wild Pokemon - 7", "Rattata", rom_addresses["Wild_Route9"] + 13, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 9", "Wild Pokemon - 8", "Spearow", rom_addresses["Wild_Route9"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 9", "Wild Pokemon - 9", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route9"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 9", "Wild Pokemon - 10", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route9"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 5", "Wild Pokemon - 1", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route5"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 5", "Wild Pokemon - 2", "Pidgey", rom_addresses["Wild_Route5"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 5", "Wild Pokemon - 3", "Pidgey", rom_addresses["Wild_Route5"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 5", "Wild Pokemon - 4", ["Mankey", "Meowth"], rom_addresses["Wild_Route5"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 5", "Wild Pokemon - 5", ["Mankey", "Meowth"], rom_addresses["Wild_Route5"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 5", "Wild Pokemon - 6", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route5"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 5", "Wild Pokemon - 7", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route5"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 5", "Wild Pokemon - 8", "Pidgey", rom_addresses["Wild_Route5"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 5", "Wild Pokemon - 9", ["Mankey", "Meowth"], rom_addresses["Wild_Route5"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 5", "Wild Pokemon - 10", ["Mankey", "Meowth"], rom_addresses["Wild_Route5"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 6", "Wild Pokemon - 1", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route6"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 6", "Wild Pokemon - 2", "Pidgey", rom_addresses["Wild_Route6"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 6", "Wild Pokemon - 3", "Pidgey", rom_addresses["Wild_Route6"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 6", "Wild Pokemon - 4", ["Mankey", "Meowth"], rom_addresses["Wild_Route6"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 6", "Wild Pokemon - 5", ["Mankey", "Meowth"], rom_addresses["Wild_Route6"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 6", "Wild Pokemon - 6", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route6"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 6", "Wild Pokemon - 7", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route6"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 6", "Wild Pokemon - 8", "Pidgey", rom_addresses["Wild_Route6"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 6", "Wild Pokemon - 9", ["Mankey", "Meowth"], rom_addresses["Wild_Route6"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 6", "Wild Pokemon - 10", ["Mankey", "Meowth"], rom_addresses["Wild_Route6"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 11", "Wild Pokemon - 1", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route11"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 11", "Wild Pokemon - 2", "Spearow", rom_addresses["Wild_Route11"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 11", "Wild Pokemon - 3", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route11"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 11", "Wild Pokemon - 4", "Drowzee", rom_addresses["Wild_Route11"] + 7, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 11", "Wild Pokemon - 5", "Spearow", rom_addresses["Wild_Route11"] + 9, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 11", "Wild Pokemon - 6", "Drowzee", rom_addresses["Wild_Route11"] + 11, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 11", "Wild Pokemon - 7", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route11"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 11", "Wild Pokemon - 8", "Spearow", rom_addresses["Wild_Route11"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 11", "Wild Pokemon - 9", "Drowzee", rom_addresses["Wild_Route11"] + 17, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 11", "Wild Pokemon - 10", "Drowzee", rom_addresses["Wild_Route11"] + 19, None, event=True,
                 type="Wild Encounter"),
    LocationData("Rock Tunnel 1F", "Wild Pokemon - 1", "Zubat", rom_addresses["Wild_RockTunnel1F"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel 1F", "Wild Pokemon - 2", "Zubat", rom_addresses["Wild_RockTunnel1F"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel 1F", "Wild Pokemon - 3", "Geodude", rom_addresses["Wild_RockTunnel1F"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel 1F", "Wild Pokemon - 4", "Machop", rom_addresses["Wild_RockTunnel1F"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel 1F", "Wild Pokemon - 5", "Geodude", rom_addresses["Wild_RockTunnel1F"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel 1F", "Wild Pokemon - 6", "Zubat", rom_addresses["Wild_RockTunnel1F"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel 1F", "Wild Pokemon - 7", "Zubat", rom_addresses["Wild_RockTunnel1F"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel 1F", "Wild Pokemon - 8", "Machop", rom_addresses["Wild_RockTunnel1F"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel 1F", "Wild Pokemon - 9", "Onix", rom_addresses["Wild_RockTunnel1F"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel 1F", "Wild Pokemon - 10", "Onix", rom_addresses["Wild_RockTunnel1F"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel B1F", "Wild Pokemon - 1", "Zubat", rom_addresses["Wild_RockTunnelB1F"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel B1F", "Wild Pokemon - 2", "Zubat", rom_addresses["Wild_RockTunnelB1F"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel B1F", "Wild Pokemon - 3", "Geodude", rom_addresses["Wild_RockTunnelB1F"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel B1F", "Wild Pokemon - 4", "Machop", rom_addresses["Wild_RockTunnelB1F"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel B1F", "Wild Pokemon - 5", "Geodude", rom_addresses["Wild_RockTunnelB1F"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel B1F", "Wild Pokemon - 6", "Zubat", rom_addresses["Wild_RockTunnelB1F"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel B1F", "Wild Pokemon - 7", "Machop", rom_addresses["Wild_RockTunnelB1F"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel B1F", "Wild Pokemon - 8", "Onix", rom_addresses["Wild_RockTunnelB1F"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel B1F", "Wild Pokemon - 9", "Onix", rom_addresses["Wild_RockTunnelB1F"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Rock Tunnel B1F", "Wild Pokemon - 10", "Geodude", rom_addresses["Wild_RockTunnelB1F"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 10 North", "Wild Pokemon - 1", "Voltorb", rom_addresses["Wild_Route10"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 10 North", "Wild Pokemon - 2", "Spearow", rom_addresses["Wild_Route10"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 10 North", "Wild Pokemon - 3", "Voltorb", rom_addresses["Wild_Route10"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 10 North", "Wild Pokemon - 4", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route10"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 10 North", "Wild Pokemon - 5", "Spearow", rom_addresses["Wild_Route10"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 10 North", "Wild Pokemon - 6", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route10"] + 11,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 10 North", "Wild Pokemon - 7", "Voltorb", rom_addresses["Wild_Route10"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 10 North", "Wild Pokemon - 8", "Spearow", rom_addresses["Wild_Route10"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 10 North", "Wild Pokemon - 9", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route10"] + 17,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 10 North", "Wild Pokemon - 10", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route10"] + 19,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 12 Grass", "Wild Pokemon - 1", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route12"] + 1,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 12 Grass", "Wild Pokemon - 2", "Pidgey", rom_addresses["Wild_Route12"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 12 Grass", "Wild Pokemon - 3", "Pidgey", rom_addresses["Wild_Route12"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 12 Grass", "Wild Pokemon - 4", "Venonat", rom_addresses["Wild_Route12"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 12 Grass", "Wild Pokemon - 5", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route12"] + 9,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 12 Grass", "Wild Pokemon - 6", "Venonat", rom_addresses["Wild_Route12"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 12 Grass", "Wild Pokemon - 7", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route12"] + 13,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 12 Grass", "Wild Pokemon - 8", "Pidgey", rom_addresses["Wild_Route12"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 12 Grass", "Wild Pokemon - 9", ["Gloom", "Weepinbell"], rom_addresses["Wild_Route12"] + 17,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 12 Grass", "Wild Pokemon - 10", ["Gloom", "Weepinbell"], rom_addresses["Wild_Route12"] + 19,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 8 Grass", "Wild Pokemon - 1", "Pidgey", rom_addresses["Wild_Route8"] + 1, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 8 Grass", "Wild Pokemon - 2", ["Mankey", "Meowth"], rom_addresses["Wild_Route8"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 8 Grass", "Wild Pokemon - 3", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route8"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 8 Grass", "Wild Pokemon - 4", ["Growlithe", "Vulpix"], rom_addresses["Wild_Route8"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 8 Grass", "Wild Pokemon - 5", "Pidgey", rom_addresses["Wild_Route8"] + 9, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 8 Grass", "Wild Pokemon - 6", ["Mankey", "Meowth"], rom_addresses["Wild_Route8"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 8 Grass", "Wild Pokemon - 7", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route8"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 8 Grass", "Wild Pokemon - 8", ["Growlithe", "Vulpix"], rom_addresses["Wild_Route8"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 8 Grass", "Wild Pokemon - 9", ["Growlithe", "Vulpix"], rom_addresses["Wild_Route8"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 8 Grass", "Wild Pokemon - 10", ["Growlithe", "Vulpix"], rom_addresses["Wild_Route8"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 7", "Wild Pokemon - 1", "Pidgey", rom_addresses["Wild_Route7"] + 1, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 7", "Wild Pokemon - 2", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route7"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 7", "Wild Pokemon - 3", ["Mankey", "Meowth"], rom_addresses["Wild_Route7"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 7", "Wild Pokemon - 4", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route7"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 7", "Wild Pokemon - 5", "Pidgey", rom_addresses["Wild_Route7"] + 9, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 7", "Wild Pokemon - 6", ["Mankey", "Meowth"], rom_addresses["Wild_Route7"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 7", "Wild Pokemon - 7", ["Growlithe", "Vulpix"], rom_addresses["Wild_Route7"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 7", "Wild Pokemon - 8", ["Growlithe", "Vulpix"], rom_addresses["Wild_Route7"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 7", "Wild Pokemon - 9", ["Mankey", "Meowth"], rom_addresses["Wild_Route7"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 7", "Wild Pokemon - 10", ["Mankey", "Meowth"], rom_addresses["Wild_Route7"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 3F", "Wild Pokemon - 1", "Gastly", rom_addresses["Wild_PokemonTower3F"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 3F", "Wild Pokemon - 2", "Gastly", rom_addresses["Wild_PokemonTower3F"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 3F", "Wild Pokemon - 3", "Gastly", rom_addresses["Wild_PokemonTower3F"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 3F", "Wild Pokemon - 4", "Gastly", rom_addresses["Wild_PokemonTower3F"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 3F", "Wild Pokemon - 5", "Gastly", rom_addresses["Wild_PokemonTower3F"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 3F", "Wild Pokemon - 6", "Gastly", rom_addresses["Wild_PokemonTower3F"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 3F", "Wild Pokemon - 7", "Gastly", rom_addresses["Wild_PokemonTower3F"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 3F", "Wild Pokemon - 8", "Cubone", rom_addresses["Wild_PokemonTower3F"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 3F", "Wild Pokemon - 9", "Cubone", rom_addresses["Wild_PokemonTower3F"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 3F", "Wild Pokemon - 10", "Haunter", rom_addresses["Wild_PokemonTower3F"] + 19,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 4F", "Wild Pokemon - 1", "Gastly", rom_addresses["Wild_PokemonTower4F"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 4F", "Wild Pokemon - 2", "Gastly", rom_addresses["Wild_PokemonTower4F"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 4F", "Wild Pokemon - 3", "Gastly", rom_addresses["Wild_PokemonTower4F"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 4F", "Wild Pokemon - 4", "Gastly", rom_addresses["Wild_PokemonTower4F"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 4F", "Wild Pokemon - 5", "Gastly", rom_addresses["Wild_PokemonTower4F"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 4F", "Wild Pokemon - 6", "Gastly", rom_addresses["Wild_PokemonTower4F"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 4F", "Wild Pokemon - 7", "Haunter", rom_addresses["Wild_PokemonTower4F"] + 13,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 4F", "Wild Pokemon - 8", "Cubone", rom_addresses["Wild_PokemonTower4F"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 4F", "Wild Pokemon - 9", "Cubone", rom_addresses["Wild_PokemonTower4F"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 4F", "Wild Pokemon - 10", "Gastly", rom_addresses["Wild_PokemonTower4F"] + 19,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 5F", "Wild Pokemon - 1", "Gastly", rom_addresses["Wild_PokemonTower5F"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 5F", "Wild Pokemon - 2", "Gastly", rom_addresses["Wild_PokemonTower5F"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 5F", "Wild Pokemon - 3", "Gastly", rom_addresses["Wild_PokemonTower5F"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 5F", "Wild Pokemon - 4", "Gastly", rom_addresses["Wild_PokemonTower5F"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 5F", "Wild Pokemon - 5", "Gastly", rom_addresses["Wild_PokemonTower5F"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 5F", "Wild Pokemon - 6", "Gastly", rom_addresses["Wild_PokemonTower5F"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 5F", "Wild Pokemon - 7", "Haunter", rom_addresses["Wild_PokemonTower5F"] + 13,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 5F", "Wild Pokemon - 8", "Cubone", rom_addresses["Wild_PokemonTower5F"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 5F", "Wild Pokemon - 9", "Cubone", rom_addresses["Wild_PokemonTower5F"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 5F", "Wild Pokemon - 10", "Gastly", rom_addresses["Wild_PokemonTower5F"] + 19,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 6F", "Wild Pokemon - 1", "Gastly", rom_addresses["Wild_PokemonTower6F"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 6F", "Wild Pokemon - 2", "Gastly", rom_addresses["Wild_PokemonTower6F"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 6F", "Wild Pokemon - 3", "Gastly", rom_addresses["Wild_PokemonTower6F"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 6F", "Wild Pokemon - 4", "Gastly", rom_addresses["Wild_PokemonTower6F"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 6F", "Wild Pokemon - 5", "Gastly", rom_addresses["Wild_PokemonTower6F"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 6F", "Wild Pokemon - 6", "Gastly", rom_addresses["Wild_PokemonTower6F"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 6F", "Wild Pokemon - 7", "Haunter", rom_addresses["Wild_PokemonTower6F"] + 13,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 6F", "Wild Pokemon - 8", "Cubone", rom_addresses["Wild_PokemonTower6F"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 6F", "Wild Pokemon - 9", "Cubone", rom_addresses["Wild_PokemonTower6F"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 6F", "Wild Pokemon - 10", "Haunter", rom_addresses["Wild_PokemonTower6F"] + 19,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 7F", "Wild Pokemon - 1", "Gastly", rom_addresses["Wild_PokemonTower7F"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 7F", "Wild Pokemon - 2", "Gastly", rom_addresses["Wild_PokemonTower7F"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 7F", "Wild Pokemon - 3", "Gastly", rom_addresses["Wild_PokemonTower7F"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 7F", "Wild Pokemon - 4", "Gastly", rom_addresses["Wild_PokemonTower7F"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 7F", "Wild Pokemon - 5", "Gastly", rom_addresses["Wild_PokemonTower7F"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 7F", "Wild Pokemon - 6", "Haunter", rom_addresses["Wild_PokemonTower7F"] + 11,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 7F", "Wild Pokemon - 7", "Cubone", rom_addresses["Wild_PokemonTower7F"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 7F", "Wild Pokemon - 8", "Cubone", rom_addresses["Wild_PokemonTower7F"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 7F", "Wild Pokemon - 9", "Haunter", rom_addresses["Wild_PokemonTower7F"] + 17,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Tower 7F", "Wild Pokemon - 10", "Haunter", rom_addresses["Wild_PokemonTower7F"] + 19,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 13", "Wild Pokemon - 1", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route13"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 13", "Wild Pokemon - 2", "Pidgey", rom_addresses["Wild_Route13"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 13", "Wild Pokemon - 3", "Pidgey", rom_addresses["Wild_Route13"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 13", "Wild Pokemon - 4", "Venonat", rom_addresses["Wild_Route13"] + 7, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 13", "Wild Pokemon - 5", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route13"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 13", "Wild Pokemon - 6", "Venonat", rom_addresses["Wild_Route13"] + 11, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 13", "Wild Pokemon - 7", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route13"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 13", "Wild Pokemon - 8", "Ditto", rom_addresses["Wild_Route13"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 13", "Wild Pokemon - 9", ["Gloom", "Weepinbell"], rom_addresses["Wild_Route13"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 13", "Wild Pokemon - 10", ["Gloom", "Weepinbell"], rom_addresses["Wild_Route13"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 14 Grass", "Wild Pokemon - 1", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route14"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 14 Grass", "Wild Pokemon - 2", "Pidgey", rom_addresses["Wild_Route14"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 14 Grass", "Wild Pokemon - 3", "Ditto", rom_addresses["Wild_Route14"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 14 Grass", "Wild Pokemon - 4", "Venonat", rom_addresses["Wild_Route14"] + 7, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 14 Grass", "Wild Pokemon - 5", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route14"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 14 Grass", "Wild Pokemon - 6", "Venonat", rom_addresses["Wild_Route14"] + 11, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 14 Grass", "Wild Pokemon - 7", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route14"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 14 Grass", "Wild Pokemon - 8", ["Gloom", "Weepinbell"], rom_addresses["Wild_Route14"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 14 Grass", "Wild Pokemon - 9", "Pidgeotto", rom_addresses["Wild_Route14"] + 17, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 14 Grass", "Wild Pokemon - 10", "Pidgeotto", rom_addresses["Wild_Route14"] + 19, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 15", "Wild Pokemon - 1", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route15"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 15", "Wild Pokemon - 2", "Ditto", rom_addresses["Wild_Route15"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 15", "Wild Pokemon - 3", "Pidgey", rom_addresses["Wild_Route15"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 15", "Wild Pokemon - 4", "Venonat", rom_addresses["Wild_Route15"] + 7, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 15", "Wild Pokemon - 5", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route15"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 15", "Wild Pokemon - 6", "Venonat", rom_addresses["Wild_Route15"] + 11, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 15", "Wild Pokemon - 7", ["Oddish", "Bellsprout"], rom_addresses["Wild_Route15"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 15", "Wild Pokemon - 8", ["Gloom", "Weepinbell"], rom_addresses["Wild_Route15"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 15", "Wild Pokemon - 9", "Pidgeotto", rom_addresses["Wild_Route15"] + 17, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 15", "Wild Pokemon - 10", "Pidgeotto", rom_addresses["Wild_Route15"] + 19, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 16 North", "Wild Pokemon - 1", "Spearow", rom_addresses["Wild_Route16"] + 1, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 16 North", "Wild Pokemon - 2", "Spearow", rom_addresses["Wild_Route16"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 16 North", "Wild Pokemon - 3", "Rattata", rom_addresses["Wild_Route16"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 16 North", "Wild Pokemon - 4", "Doduo", rom_addresses["Wild_Route16"] + 7, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 16 North", "Wild Pokemon - 5", "Rattata", rom_addresses["Wild_Route16"] + 9, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 16 North", "Wild Pokemon - 6", "Doduo", rom_addresses["Wild_Route16"] + 11, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 16 North", "Wild Pokemon - 7", "Doduo", rom_addresses["Wild_Route16"] + 13, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 16 North", "Wild Pokemon - 8", "Rattata", rom_addresses["Wild_Route16"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 16 North", "Wild Pokemon - 9", "Raticate", rom_addresses["Wild_Route16"] + 17, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 16 North", "Wild Pokemon - 10", "Raticate", rom_addresses["Wild_Route16"] + 19, None,
                 event=True,
                 type="Wild Encounter"),
    LocationData("Route 17", "Wild Pokemon - 1", "Spearow", rom_addresses["Wild_Route17"] + 1, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 17", "Wild Pokemon - 2", "Spearow", rom_addresses["Wild_Route17"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 17", "Wild Pokemon - 3", "Raticate", rom_addresses["Wild_Route17"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 17", "Wild Pokemon - 4", "Doduo", rom_addresses["Wild_Route17"] + 7, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 17", "Wild Pokemon - 5", "Raticate", rom_addresses["Wild_Route17"] + 9, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 17", "Wild Pokemon - 6", "Doduo", rom_addresses["Wild_Route17"] + 11, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 17", "Wild Pokemon - 7", "Doduo", rom_addresses["Wild_Route17"] + 13, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 17", "Wild Pokemon - 8", "Raticate", rom_addresses["Wild_Route17"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 17", "Wild Pokemon - 9", "Fearow", rom_addresses["Wild_Route17"] + 17, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 17", "Wild Pokemon - 10", "Fearow", rom_addresses["Wild_Route17"] + 19, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 18", "Wild Pokemon - 1", "Spearow", rom_addresses["Wild_Route18"] + 1, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 18", "Wild Pokemon - 2", "Spearow", rom_addresses["Wild_Route18"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 18", "Wild Pokemon - 3", "Raticate", rom_addresses["Wild_Route18"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 18", "Wild Pokemon - 4", "Doduo", rom_addresses["Wild_Route18"] + 7, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 18", "Wild Pokemon - 5", "Fearow", rom_addresses["Wild_Route18"] + 9, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 18", "Wild Pokemon - 6", "Doduo", rom_addresses["Wild_Route18"] + 11, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 18", "Wild Pokemon - 7", "Doduo", rom_addresses["Wild_Route18"] + 13, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 18", "Wild Pokemon - 8", "Raticate", rom_addresses["Wild_Route18"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 18", "Wild Pokemon - 9", "Fearow", rom_addresses["Wild_Route18"] + 17, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 18", "Wild Pokemon - 10", "Fearow", rom_addresses["Wild_Route18"] + 19, None, event=True,
                 type="Wild Encounter"),
    LocationData("Safari Zone Center", "Wild Pokemon - 1", ["Nidoran M", "Nidoran F"],
                 rom_addresses["Wild_SafariZoneCenter"] + 1, None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone Center", "Wild Pokemon - 2", "Rhyhorn", rom_addresses["Wild_SafariZoneCenter"] + 3,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone Center", "Wild Pokemon - 3", "Venonat", rom_addresses["Wild_SafariZoneCenter"] + 5,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone Center", "Wild Pokemon - 4", "Exeggcute", rom_addresses["Wild_SafariZoneCenter"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone Center", "Wild Pokemon - 5", ["Nidorino", "Nidorina"],
                 rom_addresses["Wild_SafariZoneCenter"] + 9, None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone Center", "Wild Pokemon - 6", "Exeggcute", rom_addresses["Wild_SafariZoneCenter"] + 11,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone Center", "Wild Pokemon - 7", ["Nidorina", "Nidorino"],
                 rom_addresses["Wild_SafariZoneCenter"] + 13, None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone Center", "Wild Pokemon - 8", "Parasect", rom_addresses["Wild_SafariZoneCenter"] + 15,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone Center", "Wild Pokemon - 9", ["Scyther", "Pinsir"],
                 rom_addresses["Wild_SafariZoneCenter"] + 17, None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone Center", "Wild Pokemon - 10", "Chansey", rom_addresses["Wild_SafariZoneCenter"] + 19,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone East", "Wild Pokemon - 1", ["Nidoran M", "Nidoran F"],
                 rom_addresses["Wild_SafariZoneEast"] + 1, None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone East", "Wild Pokemon - 2", "Doduo", rom_addresses["Wild_SafariZoneEast"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Safari Zone East", "Wild Pokemon - 3", "Paras", rom_addresses["Wild_SafariZoneEast"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Safari Zone East", "Wild Pokemon - 4", "Exeggcute", rom_addresses["Wild_SafariZoneEast"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone East", "Wild Pokemon - 5", ["Nidorino", "Nidorina"],
                 rom_addresses["Wild_SafariZoneEast"] + 9, None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone East", "Wild Pokemon - 6", "Exeggcute", rom_addresses["Wild_SafariZoneEast"] + 11,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone East", "Wild Pokemon - 7", ["Nidoran F", "Nidoran M"],
                 rom_addresses["Wild_SafariZoneEast"] + 13, None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone East", "Wild Pokemon - 8", "Parasect", rom_addresses["Wild_SafariZoneEast"] + 15,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone East", "Wild Pokemon - 9", "Kangaskhan", rom_addresses["Wild_SafariZoneEast"] + 17,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone East", "Wild Pokemon - 10", ["Scyther", "Pinsir"],
                 rom_addresses["Wild_SafariZoneEast"] + 19, None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone North", "Wild Pokemon - 1", ["Nidoran M", "Nidoran F"],
                 rom_addresses["Wild_SafariZoneNorth"] + 1, None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone North", "Wild Pokemon - 2", "Rhyhorn", rom_addresses["Wild_SafariZoneNorth"] + 3,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone North", "Wild Pokemon - 3", "Paras", rom_addresses["Wild_SafariZoneNorth"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Safari Zone North", "Wild Pokemon - 4", "Exeggcute", rom_addresses["Wild_SafariZoneNorth"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone North", "Wild Pokemon - 5", ["Nidorino", "Nidorina"],
                 rom_addresses["Wild_SafariZoneNorth"] + 9, None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone North", "Wild Pokemon - 6", "Exeggcute", rom_addresses["Wild_SafariZoneNorth"] + 11,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone North", "Wild Pokemon - 7", ["Nidorina", "Nidorino"],
                 rom_addresses["Wild_SafariZoneNorth"] + 13, None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone North", "Wild Pokemon - 8", "Venomoth", rom_addresses["Wild_SafariZoneNorth"] + 15,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone North", "Wild Pokemon - 9", "Chansey", rom_addresses["Wild_SafariZoneNorth"] + 17,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone North", "Wild Pokemon - 10", "Tauros", rom_addresses["Wild_SafariZoneNorth"] + 19,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone West", "Wild Pokemon - 1", ["Nidoran M", "Nidoran F"],
                 rom_addresses["Wild_SafariZoneWest"] + 1, None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone West", "Wild Pokemon - 2", "Doduo", rom_addresses["Wild_SafariZoneWest"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Safari Zone West", "Wild Pokemon - 3", "Venonat", rom_addresses["Wild_SafariZoneWest"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Safari Zone West", "Wild Pokemon - 4", "Exeggcute", rom_addresses["Wild_SafariZoneWest"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone West", "Wild Pokemon - 5", ["Nidorino", "Nidorina"],
                 rom_addresses["Wild_SafariZoneWest"] + 9, None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone West", "Wild Pokemon - 6", "Exeggcute", rom_addresses["Wild_SafariZoneWest"] + 11,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone West", "Wild Pokemon - 7", ["Nidoran F", "Nidoran M"],
                 rom_addresses["Wild_SafariZoneWest"] + 13, None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone West", "Wild Pokemon - 8", "Venomoth", rom_addresses["Wild_SafariZoneWest"] + 15,
                 None, event=True, type="Wild Encounter"),
    LocationData("Safari Zone West", "Wild Pokemon - 9", "Tauros", rom_addresses["Wild_SafariZoneWest"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Safari Zone West", "Wild Pokemon - 10", "Kangaskhan", rom_addresses["Wild_SafariZoneWest"] + 19,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 20 West", "Surf Pokemon - 1", "Tentacool", rom_addresses["Wild_SeaRoutes"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 20 West", "Surf Pokemon - 2", "Tentacool", rom_addresses["Wild_SeaRoutes"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 20 West", "Surf Pokemon - 3", "Tentacool", rom_addresses["Wild_SeaRoutes"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 20 West", "Surf Pokemon - 4", "Tentacool", rom_addresses["Wild_SeaRoutes"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 20 West", "Surf Pokemon - 5", "Tentacool", rom_addresses["Wild_SeaRoutes"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 20 West", "Surf Pokemon - 6", "Tentacool", rom_addresses["Wild_SeaRoutes"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 20 West", "Surf Pokemon - 7", "Tentacool", rom_addresses["Wild_SeaRoutes"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 20 West", "Surf Pokemon - 8", "Tentacool", rom_addresses["Wild_SeaRoutes"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 20 West", "Surf Pokemon - 9", "Tentacool", rom_addresses["Wild_SeaRoutes"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 20 West", "Surf Pokemon - 10", "Tentacool", rom_addresses["Wild_SeaRoutes"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 21", "Surf Pokemon - 1", "Tentacool", rom_addresses["Wild_Surf_Route21"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 21", "Surf Pokemon - 2", "Tentacool", rom_addresses["Wild_Surf_Route21"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 21", "Surf Pokemon - 3", "Tentacool", rom_addresses["Wild_Surf_Route21"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 21", "Surf Pokemon - 4", "Tentacool", rom_addresses["Wild_Surf_Route21"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 21", "Surf Pokemon - 5", "Tentacool", rom_addresses["Wild_Surf_Route21"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 21", "Surf Pokemon - 6", "Tentacool", rom_addresses["Wild_Surf_Route21"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 21", "Surf Pokemon - 7", "Tentacool", rom_addresses["Wild_Surf_Route21"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 21", "Surf Pokemon - 8", "Tentacool", rom_addresses["Wild_Surf_Route21"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 21", "Surf Pokemon - 9", "Tentacool", rom_addresses["Wild_Surf_Route21"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 21", "Surf Pokemon - 10", "Tentacool", rom_addresses["Wild_Surf_Route21"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands 1F", "Wild Pokemon - 1", "Seel", rom_addresses["Wild_SeafoamIslands1F"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands 1F", "Wild Pokemon - 2", ["Slowpoke", "Psyduck"],
                 rom_addresses["Wild_SeafoamIslands1F"] + 3, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands 1F", "Wild Pokemon - 3", ["Shellder", "Staryu"],
                 rom_addresses["Wild_SeafoamIslands1F"] + 5, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands 1F", "Wild Pokemon - 4", ["Horsea", "Krabby"],
                 rom_addresses["Wild_SeafoamIslands1F"] + 7, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands 1F", "Wild Pokemon - 5", ["Horsea", "Krabby"],
                 rom_addresses["Wild_SeafoamIslands1F"] + 9, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands 1F", "Wild Pokemon - 6", "Zubat", rom_addresses["Wild_SeafoamIslands1F"] + 11,
                 None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands 1F", "Wild Pokemon - 7", "Golbat", rom_addresses["Wild_SeafoamIslands1F"] + 13,
                 None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands 1F", "Wild Pokemon - 8", ["Psyduck", "Slowpoke"],
                 rom_addresses["Wild_SeafoamIslands1F"] + 15, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands 1F", "Wild Pokemon - 9", ["Shellder", "Staryu"],
                 rom_addresses["Wild_SeafoamIslands1F"] + 17, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands 1F", "Wild Pokemon - 10", ["Golduck", "Slowbro"],
                 rom_addresses["Wild_SeafoamIslands1F"] + 19, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B1F", "Wild Pokemon - 1", ["Staryu", "Shellder"],
                 rom_addresses["Wild_SeafoamIslandsB1F"] + 1, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B1F", "Wild Pokemon - 2", ["Horsea", "Krabby"],
                 rom_addresses["Wild_SeafoamIslandsB1F"] + 3, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B1F", "Wild Pokemon - 3", ["Shellder", "Staryu"],
                 rom_addresses["Wild_SeafoamIslandsB1F"] + 5, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B1F", "Wild Pokemon - 4", ["Horsea", "Krabby"],
                 rom_addresses["Wild_SeafoamIslandsB1F"] + 7, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B1F", "Wild Pokemon - 5", ["Slowpoke", "Psyduck"],
                 rom_addresses["Wild_SeafoamIslandsB1F"] + 9, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B1F", "Wild Pokemon - 6", "Seel", rom_addresses["Wild_SeafoamIslandsB1F"] + 11,
                 None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B1F", "Wild Pokemon - 7", ["Slowpoke", "Psyduck"],
                 rom_addresses["Wild_SeafoamIslandsB1F"] + 13, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B1F", "Wild Pokemon - 8", "Seel", rom_addresses["Wild_SeafoamIslandsB1F"] + 15,
                 None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B1F", "Wild Pokemon - 9", "Dewgong", rom_addresses["Wild_SeafoamIslandsB1F"] + 17,
                 None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B1F", "Wild Pokemon - 10", ["Seadra", "Kingler"],
                 rom_addresses["Wild_SeafoamIslandsB1F"] + 19, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B2F", "Wild Pokemon - 1", "Seel", rom_addresses["Wild_SeafoamIslandsB2F"] + 1,
                 None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B2F", "Wild Pokemon - 2", ["Slowpoke", "Psyduck"],
                 rom_addresses["Wild_SeafoamIslandsB2F"] + 3, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B2F", "Wild Pokemon - 3", "Seel", rom_addresses["Wild_SeafoamIslandsB2F"] + 5,
                 None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B2F", "Wild Pokemon - 4", ["Slowpoke", "Psyduck"],
                 rom_addresses["Wild_SeafoamIslandsB2F"] + 7, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B2F", "Wild Pokemon - 5", ["Horsea", "Krabby"],
                 rom_addresses["Wild_SeafoamIslandsB2F"] + 9, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B2F", "Wild Pokemon - 6", ["Staryu", "Shellder"],
                 rom_addresses["Wild_SeafoamIslandsB2F"] + 11, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B2F", "Wild Pokemon - 7", ["Horsea", "Krabby"],
                 rom_addresses["Wild_SeafoamIslandsB2F"] + 13, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B2F", "Wild Pokemon - 8", ["Shellder", "Staryu"],
                 rom_addresses["Wild_SeafoamIslandsB2F"] + 15, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B2F", "Wild Pokemon - 9", "Golbat", rom_addresses["Wild_SeafoamIslandsB2F"] + 17,
                 None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B2F", "Wild Pokemon - 10", ["Slowbro", "Golduck"],
                 rom_addresses["Wild_SeafoamIslandsB2F"] + 19, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B3F", "Wild Pokemon - 1", ["Slowpoke", "Psyduck"],
                 rom_addresses["Wild_SeafoamIslandsB3F"] + 1, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B3F", "Wild Pokemon - 2", "Seel", rom_addresses["Wild_SeafoamIslandsB3F"] + 3,
                 None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B3F", "Wild Pokemon - 3", ["Slowpoke", "Psyduck"],
                 rom_addresses["Wild_SeafoamIslandsB3F"] + 5, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B3F", "Wild Pokemon - 4", "Seel", rom_addresses["Wild_SeafoamIslandsB3F"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B3F", "Wild Pokemon - 5", ["Horsea", "Krabby"],
                 rom_addresses["Wild_SeafoamIslandsB3F"] + 9, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B3F", "Wild Pokemon - 6", ["Shellder", "Staryu"],
                 rom_addresses["Wild_SeafoamIslandsB3F"] + 11, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B3F", "Wild Pokemon - 7", ["Horsea", "Krabby"],
                 rom_addresses["Wild_SeafoamIslandsB3F"] + 13, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B3F", "Wild Pokemon - 8", ["Shellder", "Staryu"],
                 rom_addresses["Wild_SeafoamIslandsB3F"] + 15, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B3F", "Wild Pokemon - 9", ["Seadra", "Kingler"],
                 rom_addresses["Wild_SeafoamIslandsB3F"] + 17, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B3F", "Wild Pokemon - 10", "Dewgong",
                 rom_addresses["Wild_SeafoamIslandsB3F"] + 19, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B4F", "Wild Pokemon - 1", ["Horsea", "Krabby"],
                 rom_addresses["Wild_SeafoamIslandsB4F"] + 1, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B4F", "Wild Pokemon - 2", ["Shellder", "Staryu"],
                 rom_addresses["Wild_SeafoamIslandsB4F"] + 3, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B4F", "Wild Pokemon - 3", ["Horsea", "Krabby"],
                 rom_addresses["Wild_SeafoamIslandsB4F"] + 5, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B4F", "Wild Pokemon - 4", "Shellder", rom_addresses["Wild_SeafoamIslandsB4F"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B4F", "Wild Pokemon - 5", ["Slowpoke", "Psyduck"],
                 rom_addresses["Wild_SeafoamIslandsB4F"] + 9, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B4F", "Wild Pokemon - 6", "Seel", rom_addresses["Wild_SeafoamIslandsB4F"] + 11,
                 None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B4F", "Wild Pokemon - 7", ["Slowpoke", "Psyduck"],
                 rom_addresses["Wild_SeafoamIslandsB4F"] + 13, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B4F", "Wild Pokemon - 8", "Seel", rom_addresses["Wild_SeafoamIslandsB4F"] + 15,
                 None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B4F", "Wild Pokemon - 9", ["Slowbro", "Golduck"],
                 rom_addresses["Wild_SeafoamIslandsB4F"] + 17, None, event=True, type="Wild Encounter"),
    LocationData("Seafoam Islands B4F", "Wild Pokemon - 10", "Golbat", rom_addresses["Wild_SeafoamIslandsB4F"] + 19,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 1F", "Wild Pokemon - 1", ["Koffing", "Grimer"],
                 rom_addresses["Wild_PokemonMansion1F"] + 1, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 1F", "Wild Pokemon - 2", ["Koffing", "Grimer"],
                 rom_addresses["Wild_PokemonMansion1F"] + 3, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 1F", "Wild Pokemon - 3", "Ponyta", rom_addresses["Wild_PokemonMansion1F"] + 5,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 1F", "Wild Pokemon - 4", "Ponyta", rom_addresses["Wild_PokemonMansion1F"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 1F", "Wild Pokemon - 5", ["Growlithe", "Vulpix"],
                 rom_addresses["Wild_PokemonMansion1F"] + 9, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 1F", "Wild Pokemon - 6", "Ponyta", rom_addresses["Wild_PokemonMansion1F"] + 11,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 1F", "Wild Pokemon - 7", ["Grimer", "Koffing"],
                 rom_addresses["Wild_PokemonMansion1F"] + 13, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 1F", "Wild Pokemon - 8", "Ponyta", rom_addresses["Wild_PokemonMansion1F"] + 15,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 1F", "Wild Pokemon - 9", ["Weezing", "Muk"],
                 rom_addresses["Wild_PokemonMansion1F"] + 17, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 1F", "Wild Pokemon - 10", ["Muk", "Weezing"],
                 rom_addresses["Wild_PokemonMansion1F"] + 19, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 2F", "Wild Pokemon - 1", ["Growlithe", "Vulpix"],
                 rom_addresses["Wild_PokemonMansion2F"] + 1, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 2F", "Wild Pokemon - 2", ["Koffing", "Grimer"],
                 rom_addresses["Wild_PokemonMansion2F"] + 3, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 2F", "Wild Pokemon - 3", ["Koffing", "Grimer"],
                 rom_addresses["Wild_PokemonMansion2F"] + 5, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 2F", "Wild Pokemon - 4", "Ponyta", rom_addresses["Wild_PokemonMansion2F"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 2F", "Wild Pokemon - 5", ["Koffing", "Grimer"],
                 rom_addresses["Wild_PokemonMansion2F"] + 9, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 2F", "Wild Pokemon - 6", "Ponyta", rom_addresses["Wild_PokemonMansion2F"] + 11,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 2F", "Wild Pokemon - 7", ["Grimer", "Koffing"],
                 rom_addresses["Wild_PokemonMansion2F"] + 13, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 2F", "Wild Pokemon - 8", "Ponyta", rom_addresses["Wild_PokemonMansion2F"] + 15,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 2F", "Wild Pokemon - 9", ["Weezing", "Muk"],
                 rom_addresses["Wild_PokemonMansion2F"] + 17, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 2F", "Wild Pokemon - 10", ["Muk", "Weezing"],
                 rom_addresses["Wild_PokemonMansion2F"] + 19, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 3F", "Wild Pokemon - 1", ["Koffing", "Grimer"],
                 rom_addresses["Wild_PokemonMansion3F"] + 1, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 3F", "Wild Pokemon - 2", ["Growlithe", "Vulpix"],
                 rom_addresses["Wild_PokemonMansion3F"] + 3, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 3F", "Wild Pokemon - 3", ["Koffing", "Grimer"],
                 rom_addresses["Wild_PokemonMansion3F"] + 5, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 3F", "Wild Pokemon - 4", "Ponyta", rom_addresses["Wild_PokemonMansion3F"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 3F", "Wild Pokemon - 5", ["Ponyta", "Magmar"],
                 rom_addresses["Wild_PokemonMansion3F"] + 9, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 3F", "Wild Pokemon - 6", ["Weezing", "Muk"],
                 rom_addresses["Wild_PokemonMansion3F"] + 11, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 3F", "Wild Pokemon - 7", ["Grimer", "Koffing"],
                 rom_addresses["Wild_PokemonMansion3F"] + 13, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 3F", "Wild Pokemon - 8", ["Weezing", "Muk"],
                 rom_addresses["Wild_PokemonMansion3F"] + 15, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 3F", "Wild Pokemon - 9", "Ponyta", rom_addresses["Wild_PokemonMansion3F"] + 17,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion 3F", "Wild Pokemon - 10", ["Muk", "Weezing"],
                 rom_addresses["Wild_PokemonMansion3F"] + 19, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion B1F", "Wild Pokemon - 1", ["Koffing", "Grimer"],
                 rom_addresses["Wild_PokemonMansionB1F"] + 1, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion B1F", "Wild Pokemon - 2", ["Koffing", "Grimer"],
                 rom_addresses["Wild_PokemonMansionB1F"] + 3, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion B1F", "Wild Pokemon - 3", ["Growlithe", "Vulpix"],
                 rom_addresses["Wild_PokemonMansionB1F"] + 5, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion B1F", "Wild Pokemon - 4", "Ponyta", rom_addresses["Wild_PokemonMansionB1F"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion B1F", "Wild Pokemon - 5", ["Koffing", "Grimer"],
                 rom_addresses["Wild_PokemonMansionB1F"] + 9, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion B1F", "Wild Pokemon - 6", ["Weezing", "Muk"],
                 rom_addresses["Wild_PokemonMansionB1F"] + 11, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion B1F", "Wild Pokemon - 7", "Ponyta", rom_addresses["Wild_PokemonMansionB1F"] + 13,
                 None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion B1F", "Wild Pokemon - 8", ["Grimer", "Koffing"],
                 rom_addresses["Wild_PokemonMansionB1F"] + 15, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion B1F", "Wild Pokemon - 9", ["Weezing", "Magmar"],
                 rom_addresses["Wild_PokemonMansionB1F"] + 17, None, event=True, type="Wild Encounter"),
    LocationData("Pokemon Mansion B1F", "Wild Pokemon - 10", ["Muk", "Weezing"],
                 rom_addresses["Wild_PokemonMansionB1F"] + 19, None, event=True, type="Wild Encounter"),
    LocationData("Route 21", "Wild Pokemon - 1", "Rattata", rom_addresses["Wild_Route21"] + 1, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 21", "Wild Pokemon - 2", "Pidgey", rom_addresses["Wild_Route21"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 21", "Wild Pokemon - 3", "Raticate", rom_addresses["Wild_Route21"] + 5, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 21", "Wild Pokemon - 4", "Rattata", rom_addresses["Wild_Route21"] + 7, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 21", "Wild Pokemon - 5", "Pidgey", rom_addresses["Wild_Route21"] + 9, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 21", "Wild Pokemon - 6", "Pidgeotto", rom_addresses["Wild_Route21"] + 11, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 21", "Wild Pokemon - 7", "Pidgeotto", rom_addresses["Wild_Route21"] + 13, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 21", "Wild Pokemon - 8", "Tangela", rom_addresses["Wild_Route21"] + 15, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 21", "Wild Pokemon - 9", "Tangela", rom_addresses["Wild_Route21"] + 17, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 21", "Wild Pokemon - 10", "Tangela", rom_addresses["Wild_Route21"] + 19, None, event=True,
                 type="Wild Encounter"),
    LocationData("Cerulean Cave 1F", "Wild Pokemon - 1", "Golbat", rom_addresses["Wild_CeruleanCave1F"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 1F", "Wild Pokemon - 2", "Hypno", rom_addresses["Wild_CeruleanCave1F"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 1F", "Wild Pokemon - 3", "Magneton", rom_addresses["Wild_CeruleanCave1F"] + 5,
                 None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 1F", "Wild Pokemon - 4", "Dodrio", rom_addresses["Wild_CeruleanCave1F"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 1F", "Wild Pokemon - 5", "Venomoth", rom_addresses["Wild_CeruleanCave1F"] + 9,
                 None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 1F", "Wild Pokemon - 6", ["Arbok", "Sandslash"],
                 rom_addresses["Wild_CeruleanCave1F"] + 11, None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 1F", "Wild Pokemon - 7", "Kadabra", rom_addresses["Wild_CeruleanCave1F"] + 13,
                 None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 1F", "Wild Pokemon - 8", "Parasect", rom_addresses["Wild_CeruleanCave1F"] + 15,
                 None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 1F", "Wild Pokemon - 9", "Raichu", rom_addresses["Wild_CeruleanCave1F"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 1F", "Wild Pokemon - 10", "Ditto", rom_addresses["Wild_CeruleanCave1F"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 2F", "Wild Pokemon - 1", "Dodrio", rom_addresses["Wild_CeruleanCave2F"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 2F", "Wild Pokemon - 2", "Venomoth", rom_addresses["Wild_CeruleanCave2F"] + 3,
                 None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 2F", "Wild Pokemon - 3", "Kadabra", rom_addresses["Wild_CeruleanCave2F"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 2F", "Wild Pokemon - 4", "Rhydon", rom_addresses["Wild_CeruleanCave2F"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 2F", "Wild Pokemon - 5", "Marowak", rom_addresses["Wild_CeruleanCave2F"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 2F", "Wild Pokemon - 6", "Electrode", rom_addresses["Wild_CeruleanCave2F"] + 11,
                 None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 2F", "Wild Pokemon - 7", "Chansey", rom_addresses["Wild_CeruleanCave2F"] + 13,
                 None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 2F", "Wild Pokemon - 8", "Wigglytuff", rom_addresses["Wild_CeruleanCave2F"] + 15,
                 None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 2F", "Wild Pokemon - 9", "Ditto", rom_addresses["Wild_CeruleanCave2F"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave 2F", "Wild Pokemon - 10", "Ditto", rom_addresses["Wild_CeruleanCave2F"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave B1F", "Wild Pokemon - 1", "Rhydon", rom_addresses["Wild_CeruleanCaveB1F"] + 1,
                 None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave B1F", "Wild Pokemon - 2", "Marowak", rom_addresses["Wild_CeruleanCaveB1F"] + 3,
                 None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave B1F", "Wild Pokemon - 3", "Electrode", rom_addresses["Wild_CeruleanCaveB1F"] + 5,
                 None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave B1F", "Wild Pokemon - 4", "Chansey", rom_addresses["Wild_CeruleanCaveB1F"] + 7,
                 None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave B1F", "Wild Pokemon - 5", "Parasect", rom_addresses["Wild_CeruleanCaveB1F"] + 9,
                 None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave B1F", "Wild Pokemon - 6", "Raichu", rom_addresses["Wild_CeruleanCaveB1F"] + 11,
                 None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave B1F", "Wild Pokemon - 7", ["Arbok", "Sandslash"],
                 rom_addresses["Wild_CeruleanCaveB1F"] + 13,
                 None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave B1F", "Wild Pokemon - 8", "Ditto", rom_addresses["Wild_CeruleanCaveB1F"] + 15,
                 None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave B1F", "Wild Pokemon - 9", "Ditto", rom_addresses["Wild_CeruleanCaveB1F"] + 17,
                 None, event=True, type="Wild Encounter"),
    LocationData("Cerulean Cave B1F", "Wild Pokemon - 10", "Ditto", rom_addresses["Wild_CeruleanCaveB1F"] + 19,
                 None, event=True, type="Wild Encounter"),
    LocationData("Power Plant", "Wild Pokemon - 1", "Voltorb", rom_addresses["Wild_PowerPlant"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Power Plant", "Wild Pokemon - 2", "Magnemite", rom_addresses["Wild_PowerPlant"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Power Plant", "Wild Pokemon - 3", "Pikachu", rom_addresses["Wild_PowerPlant"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Power Plant", "Wild Pokemon - 4", "Pikachu", rom_addresses["Wild_PowerPlant"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Power Plant", "Wild Pokemon - 5", "Magnemite", rom_addresses["Wild_PowerPlant"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Power Plant", "Wild Pokemon - 6", "Voltorb", rom_addresses["Wild_PowerPlant"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Power Plant", "Wild Pokemon - 7", "Magneton", rom_addresses["Wild_PowerPlant"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Power Plant", "Wild Pokemon - 8", "Magneton", rom_addresses["Wild_PowerPlant"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Power Plant", "Wild Pokemon - 9", ["Electabuzz", "Raichu"], rom_addresses["Wild_PowerPlant"] + 17,
                 None, event=True, type="Wild Encounter"),
    LocationData("Power Plant", "Wild Pokemon - 10", ["Electabuzz", "Raichu"],
                 rom_addresses["Wild_PowerPlant"] + 19, None, event=True, type="Wild Encounter"),
    LocationData("Route 23", "Wild Pokemon - 1", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route23"] + 1,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 23", "Wild Pokemon - 2", "Ditto", rom_addresses["Wild_Route23"] + 3, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 23", "Wild Pokemon - 3", "Spearow", rom_addresses["Wild_Route23"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 23", "Wild Pokemon - 4", "Fearow", rom_addresses["Wild_Route23"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 23", "Wild Pokemon - 5", "Ditto", rom_addresses["Wild_Route23"] + 9, None, event=True,
                 type="Wild Encounter"),
    LocationData("Route 23", "Wild Pokemon - 6", "Fearow", rom_addresses["Wild_Route23"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 23", "Wild Pokemon - 7", ["Arbok", "Sandslash"], rom_addresses["Wild_Route23"] + 13,
                 None, event=True, type="Wild Encounter"),
    LocationData("Route 23", "Wild Pokemon - 8", "Ditto", rom_addresses["Wild_Route23"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 23", "Wild Pokemon - 9", "Fearow", rom_addresses["Wild_Route23"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Route 23", "Wild Pokemon - 10", "Fearow", rom_addresses["Wild_Route23"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 2F", "Wild Pokemon - 1", "Machop", rom_addresses["Wild_VictoryRoad2F"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 2F", "Wild Pokemon - 2", "Geodude", rom_addresses["Wild_VictoryRoad2F"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 2F", "Wild Pokemon - 3", "Zubat", rom_addresses["Wild_VictoryRoad2F"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 2F", "Wild Pokemon - 4", "Onix", rom_addresses["Wild_VictoryRoad2F"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 2F", "Wild Pokemon - 5", "Onix", rom_addresses["Wild_VictoryRoad2F"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 2F", "Wild Pokemon - 6", "Onix", rom_addresses["Wild_VictoryRoad2F"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 2F", "Wild Pokemon - 7", "Machoke", rom_addresses["Wild_VictoryRoad2F"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 2F", "Wild Pokemon - 8", "Golbat", rom_addresses["Wild_VictoryRoad2F"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 2F", "Wild Pokemon - 9", "Marowak", rom_addresses["Wild_VictoryRoad2F"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 2F", "Wild Pokemon - 10", "Graveler", rom_addresses["Wild_VictoryRoad2F"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 3F", "Wild Pokemon - 1", "Machop", rom_addresses["Wild_VictoryRoad3F"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 3F", "Wild Pokemon - 2", "Geodude", rom_addresses["Wild_VictoryRoad3F"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 3F", "Wild Pokemon - 3", "Zubat", rom_addresses["Wild_VictoryRoad3F"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 3F", "Wild Pokemon - 4", "Onix", rom_addresses["Wild_VictoryRoad3F"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 3F", "Wild Pokemon - 5", "Venomoth", rom_addresses["Wild_VictoryRoad3F"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 3F", "Wild Pokemon - 6", "Onix", rom_addresses["Wild_VictoryRoad3F"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 3F", "Wild Pokemon - 7", "Graveler", rom_addresses["Wild_VictoryRoad3F"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 3F", "Wild Pokemon - 8", "Golbat", rom_addresses["Wild_VictoryRoad3F"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 3F", "Wild Pokemon - 9", "Machoke", rom_addresses["Wild_VictoryRoad3F"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 3F", "Wild Pokemon - 10", "Machoke", rom_addresses["Wild_VictoryRoad3F"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 1F", "Wild Pokemon - 1", "Machop", rom_addresses["Wild_VictoryRoad1F"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 1F", "Wild Pokemon - 2", "Geodude", rom_addresses["Wild_VictoryRoad1F"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 1F", "Wild Pokemon - 3", "Zubat", rom_addresses["Wild_VictoryRoad1F"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 1F", "Wild Pokemon - 4", "Onix", rom_addresses["Wild_VictoryRoad1F"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 1F", "Wild Pokemon - 5", "Onix", rom_addresses["Wild_VictoryRoad1F"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 1F", "Wild Pokemon - 6", "Onix", rom_addresses["Wild_VictoryRoad1F"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 1F", "Wild Pokemon - 7", "Graveler", rom_addresses["Wild_VictoryRoad1F"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 1F", "Wild Pokemon - 8", "Golbat", rom_addresses["Wild_VictoryRoad1F"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 1F", "Wild Pokemon - 9", "Machoke", rom_addresses["Wild_VictoryRoad1F"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Victory Road 1F", "Wild Pokemon - 10", "Marowak", rom_addresses["Wild_VictoryRoad1F"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Diglett's Cave", "Wild Pokemon - 1", "Diglett", rom_addresses["Wild_DiglettsCave"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Diglett's Cave", "Wild Pokemon - 2", "Diglett", rom_addresses["Wild_DiglettsCave"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Diglett's Cave", "Wild Pokemon - 3", "Diglett", rom_addresses["Wild_DiglettsCave"] + 5, None,
                 event=True, type="Wild Encounter"),
    LocationData("Diglett's Cave", "Wild Pokemon - 4", "Diglett", rom_addresses["Wild_DiglettsCave"] + 7, None,
                 event=True, type="Wild Encounter"),
    LocationData("Diglett's Cave", "Wild Pokemon - 5", "Diglett", rom_addresses["Wild_DiglettsCave"] + 9, None,
                 event=True, type="Wild Encounter"),
    LocationData("Diglett's Cave", "Wild Pokemon - 6", "Diglett", rom_addresses["Wild_DiglettsCave"] + 11, None,
                 event=True, type="Wild Encounter"),
    LocationData("Diglett's Cave", "Wild Pokemon - 7", "Diglett", rom_addresses["Wild_DiglettsCave"] + 13, None,
                 event=True, type="Wild Encounter"),
    LocationData("Diglett's Cave", "Wild Pokemon - 8", "Diglett", rom_addresses["Wild_DiglettsCave"] + 15, None,
                 event=True, type="Wild Encounter"),
    LocationData("Diglett's Cave", "Wild Pokemon - 9", "Dugtrio", rom_addresses["Wild_DiglettsCave"] + 17, None,
                 event=True, type="Wild Encounter"),
    LocationData("Diglett's Cave", "Wild Pokemon - 10", "Dugtrio", rom_addresses["Wild_DiglettsCave"] + 19, None,
                 event=True, type="Wild Encounter"),
    LocationData("Anywhere", "Good Rod Pokemon - 1", "Goldeen", rom_addresses["Wild_Good_Rod"] + 1, None,
                 event=True, type="Wild Encounter"),
    LocationData("Anywhere", "Good Rod Pokemon - 2", "Poliwag", rom_addresses["Wild_Good_Rod"] + 3, None,
                 event=True, type="Wild Encounter"),
    LocationData("Anywhere", "Old Rod Pokemon", "Magikarp", rom_addresses["Wild_Old_Rod"] + 1, None,
                 event=True, type="Wild Encounter"),

    # "Wild encounters" means a Pokemon you cannot miss or release and lose - re-use it for these
    LocationData("Celadon Prize Corner", "Pokemon Prize - 1", "Abra", [rom_addresses["Prize_Mon_A"],
                                                                       rom_addresses["Prize_Mon_A2"]], None, event=True,
                 type="Wild Encounter"),
    LocationData("Celadon Prize Corner", "Pokemon Prize - 2", "Clefairy", [rom_addresses["Prize_Mon_B"],
                                                                           rom_addresses["Prize_Mon_B2"]], None,
                 event=True, type="Wild Encounter"),
    LocationData("Celadon Prize Corner", "Pokemon Prize - 3", ["Nidorina", "Nidorino"], [rom_addresses["Prize_Mon_C"],
                                                                                         rom_addresses["Prize_Mon_C2"]],
                 None,
                 event=True, type="Wild Encounter"),
    LocationData("Celadon Prize Corner", "Pokemon Prize - 4", ["Dratini", "Pinsir"], [rom_addresses["Prize_Mon_D"],
                                                                                      rom_addresses["Prize_Mon_D2"]],
                 None, event=True, type="Wild Encounter"),
    LocationData("Celadon Prize Corner", "Pokemon Prize - 5", ["Scyther", "Dratini"], [rom_addresses["Prize_Mon_E"],
                                                                                       rom_addresses["Prize_Mon_E2"]],
                 None, event=True, type="Wild Encounter"),
    LocationData("Celadon Prize Corner", "Pokemon Prize - 6", "Porygon", [rom_addresses["Prize_Mon_F"],
                                                                          rom_addresses["Prize_Mon_F2"]], None,
                 event=True, type="Wild Encounter"),

    # counted for pokedex, because they cannot be permanently "missed" but not for HMs since they can be released
    # or evolved forms may not be able to learn the same HMs
    LocationData("Celadon City", "Celadon Mansion Pokemon", "Eevee", rom_addresses["Gift_Eevee"], None,
                 event=True, type="Static Pokemon"),
    LocationData("Silph Co 7F", "Gift Pokemon", "Lapras", rom_addresses["Gift_Lapras"], None,
                 event=True, type="Static Pokemon"),
    LocationData("Route 3", "Pokemon For Sale", "Magikarp", rom_addresses["Gift_Magikarp"], None,
                 event=True, type="Static Pokemon"),
    LocationData("Cinnabar Island", "Old Amber Pokemon", "Aerodactyl", rom_addresses["Gift_Aerodactyl"], None,
                 event=True, type="Static Pokemon"),
    LocationData("Cinnabar Island", "Helix Fossil Pokemon", "Omanyte", rom_addresses["Gift_Omanyte"], None,
                 event=True, type="Static Pokemon"),
    LocationData("Cinnabar Island", "Dome Fossil Pokemon", "Kabuto", rom_addresses["Gift_Kabuto"], None,
                 event=True, type="Static Pokemon"),

    # not counted for logic currently. Could perhaps make static encounters resettable in the future?
    LocationData("Power Plant", "Fake Pokeball Battle 1", "Voltorb", rom_addresses["Static_Encounter_Voltorb_A"],
                 None, event=True, type="Missable Pokemon"),
    LocationData("Power Plant", "Fake Pokeball Battle 2", "Voltorb", rom_addresses["Static_Encounter_Voltorb_B"],
                 None, event=True, type="Missable Pokemon"),
    LocationData("Power Plant", "Fake Pokeball Battle 3", "Voltorb", rom_addresses["Static_Encounter_Voltorb_C"],
                 None, event=True, type="Missable Pokemon"),
    LocationData("Power Plant", "Fake Pokeball Battle 4", "Voltorb", rom_addresses["Static_Encounter_Voltorb_D"],
                 None, event=True, type="Missable Pokemon"),
    LocationData("Power Plant", "Fake Pokeball Battle 5", "Voltorb", rom_addresses["Static_Encounter_Voltorb_E"],
                 None, event=True, type="Missable Pokemon"),
    LocationData("Power Plant", "Fake Pokeball Battle 6", "Voltorb", rom_addresses["Static_Encounter_Voltorb_F"],
                 None, event=True, type="Missable Pokemon"),
    LocationData("Power Plant", "Fake Pokeball Battle 7", "Voltorb", rom_addresses["Static_Encounter_Electrode_A"],
                 None, event=True, type="Missable Pokemon"),
    LocationData("Power Plant", "Fake Pokeball Battle 8", "Voltorb", rom_addresses["Static_Encounter_Electrode_B"],
                 None, event=True, type="Missable Pokemon"),

    LocationData("Pokemon Tower 6F", "Restless Soul", "Marowak", [rom_addresses["Ghost_Battle1"],
                                                                  rom_addresses["Ghost_Battle2"],
                                                                  rom_addresses["Ghost_Battle3"],
                                                                  rom_addresses["Ghost_Battle4"],
                                                                  rom_addresses["Ghost_Battle5"],
                                                                  rom_addresses["Ghost_Battle6"]], None, event=True,
                 type="Missable Pokemon"),

    LocationData("Route 12 West", "Sleeping Pokemon", "Snorlax", rom_addresses["Static_Encounter_Snorlax_A"],
                 None, event=True, type="Missable Pokemon"),
    LocationData("Route 16", "Sleeping Pokemon", "Snorlax", rom_addresses["Static_Encounter_Snorlax_B"],
                 None, event=True, type="Missable Pokemon"),

    LocationData("Fighting Dojo", "Gift 1", "Hitmonlee", rom_addresses["Gift_Hitmonlee"],
                 None, event=True, type="Missable Pokemon"),
    LocationData("Fighting Dojo", "Gift 2", "Hitmonchan", rom_addresses["Gift_Hitmonchan"],
                 None, event=True, type="Missable Pokemon"),

    LocationData("Pallet Town", "Starter 1", "Charmander", [rom_addresses["Starter1_A"],
                                                            rom_addresses["Starter1_B"], rom_addresses["Starter1_C"],
                                                            rom_addresses["Starter1_D"],
                                                            rom_addresses["Starter1_F"], rom_addresses["Starter1_H"]],
                 None, event=True,
                 type="Starter Pokemon"),

    LocationData("Pallet Town", "Starter 2", "Squirtle", [rom_addresses["Starter2_A"],
                                                          rom_addresses["Starter2_B"], rom_addresses["Starter2_E"],
                                                          rom_addresses["Starter2_F"],
                                                          rom_addresses["Starter2_G"], rom_addresses["Starter2_H"],
                                                          rom_addresses["Starter2_I"],
                                                          rom_addresses["Starter2_J"], rom_addresses["Starter2_K"],
                                                          rom_addresses["Starter2_L"],
                                                          rom_addresses["Starter2_M"], rom_addresses["Starter2_N"],
                                                          rom_addresses["Starter2_O"]], None,
                 event=True, type="Starter Pokemon"),

    LocationData("Pallet Town", "Starter 3", "Bulbasaur", [rom_addresses["Starter3_A"],
                                                           rom_addresses["Starter3_B"], rom_addresses["Starter3_C"],
                                                           rom_addresses["Starter3_D"],
                                                           rom_addresses["Starter3_E"], rom_addresses["Starter3_G"],
                                                           rom_addresses["Starter3_I"],
                                                           rom_addresses["Starter3_J"], rom_addresses["Starter3_K"],
                                                           rom_addresses["Starter3_L"],
                                                           rom_addresses["Starter3_M"], rom_addresses["Starter3_N"],
                                                           rom_addresses["Starter3_O"]], None,
                 event=True, type="Starter Pokemon"),

    LocationData("Power Plant", "Legendary Pokemon", "Zapdos", rom_addresses["Static_Encounter_Zapdos"],
                 None, event=True, type="Legendary Pokemon"),
    LocationData("Seafoam Islands B4F", "Legendary Pokemon", "Articuno", rom_addresses["Static_Encounter_Articuno"],
                 None, event=True, type="Legendary Pokemon"),
    LocationData("Victory Road 2F", "Legendary Pokemon", "Moltres", rom_addresses["Static_Encounter_Moltres"],
                 None, event=True, type="Legendary Pokemon"),
    LocationData("Cerulean Cave B1F", "Legendary Pokemon", "Mewtwo", rom_addresses["Static_Encounter_Mewtwo"],
                 None, event=True, type="Legendary Pokemon"),
    LocationData("Vermilion City", "Legendary Pokemon", "Mew", rom_addresses["Static_Encounter_Mew"],
                 None, event=True, type="Legendary Pokemon"),

]

for i, location in enumerate(location_data):
    if location.event or location.rom_address is None:
        location.address = None
    else:
        location.address = loc_id_start + i



class PokemonRBLocation(Location):
    game = "Pokemon Red and Blue"

    def __init__(self, player, name, address, rom_address):
        super(PokemonRBLocation, self).__init__(
            player, name,
            address
        )
        self.rom_address = rom_address