From 73c00514d7a67acaf36c6d35884d3b5a52e637c5 Mon Sep 17 00:00:00 2001 From: Rooby-Roo Date: Fri, 24 May 2024 19:52:04 -0600 Subject: [PATCH 1/3] Egg. Rename and reorder all egg items to match location names. --- worlds/animal-well/items.py | 136 +++++++++++---------- worlds/animal-well/locations.py | 6 + worlds/animal-well/names/item_names.py | 67 ++++++++++ worlds/animal-well/names/location_names.py | 3 +- worlds/animal-well/regions.py | 2 +- 5 files changed, 146 insertions(+), 68 deletions(-) diff --git a/worlds/animal-well/items.py b/worlds/animal-well/items.py index 81a4c8e6f631..78ee32103df8 100644 --- a/worlds/animal-well/items.py +++ b/worlds/animal-well/items.py @@ -48,72 +48,76 @@ class AnimalWellItemData(NamedTuple): # todo: reorder this so it's the same order as locations.py - "Clover Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Gorgeous Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Magic Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Great Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Normal Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Mystic Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Razzle Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Dazzle Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Future Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Virtual Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Travel Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Rust Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Jade Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Sweet Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Desert Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Planet Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Laissez-faire Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Chaos Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Shadow Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Swan Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Evil Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Depraved Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Sour Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Upside Down Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Forbidden Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Plant Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Raw Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Reference Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Brown Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Goodnight Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Fire Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Transcendental Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Rain Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Holiday Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Truth Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Post Modern Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Bubble Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Dream Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Scarlet Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Golden Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Iridescent Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Ice Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Pickled Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Big Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Vanity Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Sweet Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Chocolate Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Value Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Red Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Orange Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Universal Basic Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Zen Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Ancient Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Moon Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Galaxy Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Sunset Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Promise Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Brick Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Neon Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Sapphire Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Ruby Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Obsidian Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Crystal Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - "Egg As A Service": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), - - "65th Egg": AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_reference: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_brown: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_raw: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_pickled: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_big: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_swan: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_forbidden: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_shadow: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_vanity: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_service: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + + iname.egg_depraved: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_chaos: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_upside_down: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_evil: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_sweet: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_chocolate: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_value: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_plant: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_red: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_orange: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_sour: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_post_modern: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + + iname.egg_universal: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_lf: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_zen: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_future: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_friendship: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_truth: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_transcendental: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_ancient: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_magic: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_mystic: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_holiday: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_rain: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_razzle: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_dazzle: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + + iname.egg_virtual: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_normal: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_great: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_gorgeous: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_planet: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_moon: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_galaxy: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_sunset: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_goodnight: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_dream: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_travel: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_promise: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_ice: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_fire: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + + iname.egg_bubble: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_desert: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_clover: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_brick: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_neon: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_iridescent: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_rust: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_scarlet: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_sapphire: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_ruby: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_jade: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_obsidian: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_crystal: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + iname.egg_golden: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), + + iname.egg_65: AnimalWellItemData(ItemClassification.progression_skip_balancing, 1, "Eggs"), } item_name_to_id: Dict[str, int] = {name: item_base_id + data.item_id_offset for name, data in item_table.items()} diff --git a/worlds/animal-well/locations.py b/worlds/animal-well/locations.py index a9ba6a86bed2..7a316ff0568e 100644 --- a/worlds/animal-well/locations.py +++ b/worlds/animal-well/locations.py @@ -10,6 +10,7 @@ class AnimalWellLocationData(NamedTuple): location_base_id = 11553377 location_table: Dict[str, AnimalWellLocationData] = { + # eggs, sorted by row top-to-bottom lname.egg_reference: AnimalWellLocationData("Menu", "Eggs"), lname.egg_brown: AnimalWellLocationData("Menu", "Eggs"), lname.egg_raw: AnimalWellLocationData("Menu", "Eggs"), @@ -20,6 +21,7 @@ class AnimalWellLocationData(NamedTuple): lname.egg_shadow: AnimalWellLocationData("Menu", "Eggs"), lname.egg_vanity: AnimalWellLocationData("Menu", "Eggs"), lname.egg_service: AnimalWellLocationData("Menu", "Eggs"), + lname.egg_depraved: AnimalWellLocationData("Menu", "Eggs"), lname.egg_chaos: AnimalWellLocationData("Menu", "Eggs"), lname.egg_upside_down: AnimalWellLocationData("Menu", "Eggs"), @@ -32,6 +34,7 @@ class AnimalWellLocationData(NamedTuple): lname.egg_orange: AnimalWellLocationData("Menu", "Eggs"), lname.egg_sour: AnimalWellLocationData("Menu", "Eggs"), lname.egg_post_modern: AnimalWellLocationData("Menu", "Eggs"), + lname.egg_universal: AnimalWellLocationData("Menu", "Eggs"), lname.egg_lf: AnimalWellLocationData("Menu", "Eggs"), lname.egg_zen: AnimalWellLocationData("Menu", "Eggs"), @@ -46,6 +49,7 @@ class AnimalWellLocationData(NamedTuple): lname.egg_rain: AnimalWellLocationData("Menu", "Eggs"), lname.egg_razzle: AnimalWellLocationData("Menu", "Eggs"), lname.egg_dazzle: AnimalWellLocationData("Menu", "Eggs"), + lname.egg_virtual: AnimalWellLocationData("Menu", "Eggs"), lname.egg_normal: AnimalWellLocationData("Menu", "Eggs"), lname.egg_great: AnimalWellLocationData("Menu", "Eggs"), @@ -60,6 +64,7 @@ class AnimalWellLocationData(NamedTuple): lname.egg_promise: AnimalWellLocationData("Menu", "Eggs"), lname.egg_ice: AnimalWellLocationData("Menu", "Eggs"), lname.egg_fire: AnimalWellLocationData("Menu", "Eggs"), + lname.egg_bubble: AnimalWellLocationData("Menu", "Eggs"), lname.egg_desert: AnimalWellLocationData("Menu", "Eggs"), lname.egg_clover: AnimalWellLocationData("Menu", "Eggs"), @@ -74,6 +79,7 @@ class AnimalWellLocationData(NamedTuple): lname.egg_obsidian: AnimalWellLocationData("Menu", "Eggs"), lname.egg_crystal: AnimalWellLocationData("Menu", "Eggs"), lname.egg_golden: AnimalWellLocationData("Menu", "Eggs"), + lname.egg_65: AnimalWellLocationData("Menu", "Eggs"), } diff --git a/worlds/animal-well/names/item_names.py b/worlds/animal-well/names/item_names.py index 09899b5292d6..92890ede452b 100644 --- a/worlds/animal-well/names/item_names.py +++ b/worlds/animal-well/names/item_names.py @@ -64,3 +64,70 @@ two_keys = "Two Keys" # there's one spot that has two key doors adjacent to each other tanking_damage = "Tanking Damage" # for spots you can get to by taking up to 3 hearts of damage weird_skips = "Weird Skips" # skips that are questionably in logic and may or may not constitute a difficulty setting later + +# eggs, in a particular order but not one that actually matters +egg_forbidden = "Forbidden Egg" +egg_vanity = "Vanity Egg" +egg_reference = "Reference Egg" +egg_brown = "Brown Egg" +egg_service = "Egg As A Service" +egg_upside_down = "Upside Down Egg" +egg_red = "Red Egg" +egg_friendship = "Friendship Egg" +egg_plant = "Plant Egg" +egg_future = "Future Egg" +egg_raw = "Raw Egg" +egg_evil = "Evil Egg" +egg_orange = "Orange Egg" +egg_depraved = "Depraved Egg" +egg_sour = "Sour Egg" +egg_sweet = "Sweet Egg" +egg_crystal = "Crystal Egg" +egg_big = "Big Egg" +egg_pickled = "Pickled Egg" +egg_chocolate = "Chocolate Egg" +egg_post_modern = "Post Modern Egg" +egg_truth = "Truth Egg" +egg_transcendental = "Transcendental Egg" +egg_swan = "Swan Egg" +egg_shadow = "Shadow Egg" +egg_chaos = "Chaos Egg" +egg_value = "Value Egg" +egg_zen = "Zen Egg" +egg_razzle = "Razzle Egg" +egg_lf = "Laissez-faire Egg" +egg_universal = "Universal Basic Egg" +egg_rain = "Rain Egg" +egg_holiday = "Holiday Egg" +egg_virtual = "Virtual Egg" +egg_great = "Great Egg" +egg_mystic = "Mystic Egg" +egg_normal = "Normal Egg" +egg_dazzle = "Dazzle Egg" +egg_magic = "Magic Egg" +egg_ancient = "Ancient Egg" +egg_galaxy = "Galaxy Egg" +egg_sunset = "Sunset Egg" +egg_goodnight = "Goodnight Egg" +egg_brick = "Brick Egg" +egg_clover = "Clover Egg" +egg_neon = "Neon Egg" +egg_ice = "Ice Egg" +egg_iridescent = "Iridescent Egg" +egg_gorgeous = "Gorgeous Egg" +egg_dream = "Dream Egg" +egg_travel = "Travel Egg" +egg_planet = "Planet Egg" +egg_bubble = "Bubble Egg" +egg_moon = "Moon Egg" +egg_promise = "Promise Egg" +egg_fire = "Fire Egg" +egg_sapphire = "Sapphire Egg" +egg_ruby = "Ruby Egg" +egg_rust = "Rust Egg" +egg_jade = "Jade Egg" +egg_desert = "Desert Egg" +egg_scarlet = "Scarlet Egg" +egg_obsidian = "Obsidian Egg" +egg_golden = "Golden Egg" +egg_65 = "65th Egg" \ No newline at end of file diff --git a/worlds/animal-well/names/location_names.py b/worlds/animal-well/names/location_names.py index 052f2cd3f1ad..ed3a62f83662 100644 --- a/worlds/animal-well/names/location_names.py +++ b/worlds/animal-well/names/location_names.py @@ -2,12 +2,13 @@ map_chest = "Map Chest" stamp_chest = "Stamp Chest" pencil_chest = "Pencil Chest" + b_wand_chest = "B. Wand Chest" flute_chest = "Animal Flute Chest" slink_chest = "Slink Chest" yoyo_chest = "Yoyo Chest" mock_disc_chest = "Mock Disc Chest" -disc_spot = "Wolf Statue Holding Disc" # rename +disc_spot = "Wolf Disc Shrine" # rename lantern_chest = "Lantern Chest" b_ball_chest = "B. Ball Chest" remote_chest = "Remote Chest" diff --git a/worlds/animal-well/regions.py b/worlds/animal-well/regions.py index 6f46502cdd39..de750abc38b4 100644 --- a/worlds/animal-well/regions.py +++ b/worlds/animal-well/regions.py @@ -18,7 +18,7 @@ class AWData(NamedTuple): # region names fast_travel_fake = "Fast Travel Mid-Warp" # for the purpose of not putting all the entrances at the starting region starting_area = "Squirrel Main" -s_disc_area = "Squirrel S. Disc Area" +s_disc_area = "Squirrel S. Medal Area" starting_after_ghost = "Squirrel After Ghost" fast_travel = "Fast Travel Room" fast_travel_fish_teleport = "Fast Travel Fish Teleport Spot" From 339bb0d28e44658adc40a501a5b404f1521b5e1d Mon Sep 17 00:00:00 2001 From: Rooby-Roo Date: Fri, 24 May 2024 20:07:25 -0600 Subject: [PATCH 2/3] reorder item_names to match location_names only after putting in all this labor did I notice you asked for items.py and location.py i cry --- worlds/animal-well/names/item_names.py | 107 +++++++++++---------- worlds/animal-well/names/location_names.py | 12 ++- 2 files changed, 65 insertions(+), 54 deletions(-) diff --git a/worlds/animal-well/names/item_names.py b/worlds/animal-well/names/item_names.py index 92890ede452b..01e9130f87c5 100644 --- a/worlds/animal-well/names/item_names.py +++ b/worlds/animal-well/names/item_names.py @@ -1,69 +1,38 @@ # this file is a reference to the items that will end up going in rule names -# actual items -firecrackers = "Firecrackers" -disc = "Disc" -flute = "Animal Flute" +# major unique items bubble = "B. Wand" -bubble_long = "B.B. Wand" # large amount of jumps, reasonable with B.B. Wand +flute = "Animal Flute" slink = "Slink" yoyo = "Yoyo" +m_disc = "Mock Disc" +disc = "Disc" lantern = "Lantern" +ball = "B. Ball" +remote = "Remote" uv = "UV Lantern" -top = "Top" wheel = "Wheel" -remote = "Remote" -ball = "B. Ball" -m_disc = "Mock Disc" +top = "Top" +bubble_long = "B.B. Wand" # large amount of jumps, reasonable with B.B. Wand +firecrackers = "Firecrackers" +house_key = "House Key" +office_key = "Office Key" fanny_pack = "F. Pack" -e_medal = "E. Medal" k_shard = "K. Shard" k_medal = "K. Medal" # a fake item. 3 K. Shards exist in pool s_medal = "S. Medal" +e_medal = "E. Medal" + match = "Match" +matchbox = "Matchbox" # potentially an item if we want to simplify logic + key = "Key" -house_key = "House Key" -office_key = "Office Key" +key_ring = "Key Ring" # potentially an item if we want to simplify logic +# flames blue_flame = "B. Flame" # seahorse -violet_flame = "V. Flame" # chameleon green_flame = "G. Flame" # ostritch pink_flame = "P. Flame" # ghost dog - -song_home = "Top of the Well Song" -song_chinchilla = "Chinchilla Song" # the warp to the chinchilla vine platform bunny -song_bobcat = "Bobcat Song" # idk what we should do with this, but it kinda sucks as it is -song_fish = "Skeleton Fish Song" # teleports you to the right side of the lower screen of the fast travel room -song_barcode = "Barcode Song" # for barcode bunny - -# event items -activated_bird_fast_travel = "Activated Bird Fast Travel" -activated_bear_fast_travel = "Activated Bear Fast Travel" -activated_frog_fast_travel = "Activated Frog Fast Travel" -activated_squirrel_fast_travel = "Activated Squirrel Fast Travel" -activated_fish_fast_travel = "Activated Fish Fast Travel" -activated_dog_fast_travel = "Activated Dog Fast Travel" -activated_hippo_fast_travel = "Activated Hippo Fast Travel" -activated_bonefish_fast_travel = "Activated Bone Fish Fast Travel" -event_candle_penguin_lit = "Lit the Candle by the Penguins" -defeated_chameleon = "Defeated Chameleon" -switch_for_post_modern_egg = "Activated Switch for Post Modern Egg" -switch_next_to_bat_room = "Activated Switch next to Bat Room" # for getting up to the fast travel spot in dog area -light_all_candles = "Light all Candles" -dog_wheel_flip = "Flipped Dog Wheel" - -# fake items, for the purposes of rules -bubble_short = "Bubble Jumping - Short" -can_break_spikes = "Can Break Spikes" -can_break_spikes_below = "Can Break Spikes Below" # can break spikes but without disc basically -can_open_flame = "Can Open Flame" # you can break this with the flute and other items, need to verify which -disc_hop = "Disc Jumping" # hopping on a disc in midair without it bouncing first -disc_hop_hard = "Consecutive Disc Jumps" # hopping on a disc multiple times, or after a bubble jump -can_distract_dogs = "Can Distract Dogs" -can_defeat_ghost = "Can Defeat Ghost" -ball_tricky = "Ball Tricky" # for hitting things with the ball that aren't obviously meant to be -two_keys = "Two Keys" # there's one spot that has two key doors adjacent to each other -tanking_damage = "Tanking Damage" # for spots you can get to by taking up to 3 hearts of damage -weird_skips = "Weird Skips" # skips that are questionably in logic and may or may not constitute a difficulty setting later +violet_flame = "V. Flame" # chameleon # eggs, in a particular order but not one that actually matters egg_forbidden = "Forbidden Egg" @@ -130,4 +99,42 @@ egg_scarlet = "Scarlet Egg" egg_obsidian = "Obsidian Egg" egg_golden = "Golden Egg" -egg_65 = "65th Egg" \ No newline at end of file + +egg_65 = "65th Egg" + +# event items +activated_bird_fast_travel = "Activated Bird Fast Travel" +activated_bear_fast_travel = "Activated Bear Fast Travel" +activated_frog_fast_travel = "Activated Frog Fast Travel" +activated_squirrel_fast_travel = "Activated Squirrel Fast Travel" +activated_fish_fast_travel = "Activated Fish Fast Travel" +activated_dog_fast_travel = "Activated Dog Fast Travel" +activated_hippo_fast_travel = "Activated Hippo Fast Travel" +activated_bonefish_fast_travel = "Activated Bone Fish Fast Travel" +event_candle_penguin_lit = "Lit the Candle by the Penguins" +defeated_chameleon = "Defeated Chameleon" +switch_for_post_modern_egg = "Activated Switch for Post Modern Egg" +switch_next_to_bat_room = "Activated Switch next to Bat Room" # for getting up to the fast travel spot in dog area +light_all_candles = "All Candles Lit" +dog_wheel_flip = "Flipped Dog Wheel" + +# fake items, for the purposes of rules +bubble_short = "Bubble Jumping - Short" +can_break_spikes = "Can Break Spikes" +can_break_spikes_below = "Can Break Spikes Below" # can break spikes but without disc basically +can_open_flame = "Can Open Flame" # you can break this with the flute and other items, need to verify which +disc_hop = "Disc Jumping" # hopping on a disc in midair without it bouncing first +disc_hop_hard = "Consecutive Disc Jumps" # hopping on a disc multiple times, or after a bubble jump +can_distract_dogs = "Can Distract Dogs" +can_defeat_ghost = "Can Defeat Ghost" +ball_tricky = "Ball Tricky" # for hitting things with the ball that aren't obviously meant to be +two_keys = "Two Keys" # there's one spot that has two key doors adjacent to each other +tanking_damage = "Tanking Damage" # for spots you can get to by taking up to 3 hearts of damage +weird_skips = "Weird Skips" # skips that are questionably in logic and may or may not constitute a difficulty setting later + +# songs, to potentially be randomized +song_home = "Top of the Well Song" +song_chinchilla = "Chinchilla Song" # the warp to the chinchilla vine platform bunny +song_bobcat = "Bobcat Song" # idk what we should do with this, but it kinda sucks as it is +song_fish = "Skeleton Fish Song" # teleports you to the right side of the lower screen of the fast travel room +song_barcode = "Barcode Song" # for barcode bunny diff --git a/worlds/animal-well/names/location_names.py b/worlds/animal-well/names/location_names.py index ed3a62f83662..da4682a87ea9 100644 --- a/worlds/animal-well/names/location_names.py +++ b/worlds/animal-well/names/location_names.py @@ -8,7 +8,7 @@ slink_chest = "Slink Chest" yoyo_chest = "Yoyo Chest" mock_disc_chest = "Mock Disc Chest" -disc_spot = "Wolf Disc Shrine" # rename +disc_spot = "Wolf Disc Shrine" lantern_chest = "Lantern Chest" b_ball_chest = "B. Ball Chest" remote_chest = "Remote Chest" @@ -129,6 +129,7 @@ egg_scarlet = "Scarlet Egg Chest" # by the momma cat, in spikes egg_obsidian = "Obsidian Egg Chest" # behind fish pipe to lower rat lab egg_golden = "Golden Egg Chest" # ostrich wheel puzzle + egg_65 = "65th Egg Chest" # move to Major Items if Eggsanity becomes a setting # bnuuy @@ -150,14 +151,17 @@ bunny_file_bud = "Flowering Bunny" # bunny from file start codes # event locations -activate_frog_fast_travel = "Activate Frog Fast Travel" +activate_bird_fast_travel = "Activate Bird Fast Travel" activate_bear_fast_travel = "Activate Bear Fast Travel" +activate_frog_fast_travel = "Activate Frog Fast Travel" +activate_squirrel_fast_travel = "Activate Squirrel Fast Travel" +activate_fish_fast_travel = "Activate Fish Fast Travel" activate_dog_fast_travel = "Activate Dog Fast Travel" activate_hippo_fast_travel = "Activate Hippo Fast Travel" -activate_fish_fast_travel = "Activate Fish Fast Travel" - +activate_bonefish_fast_travel = "Activate Bone Fish Fast Travel" defeated_chameleon = "Defeated Chameleon" switch_for_post_modern_egg = "Switch for Post Modern Egg" switch_next_to_bat_room = "Switch next to Bat Room" # for getting up to the fast travel spot in dog area dog_wheel_flip = "Can Flip Dog Wheel" # item for you having access to the dog wheel +light_all_candles = "Light All Candles" victory_first = "First Victory" From b06c1b726a7fa0b5608247d0fed926b5aae1ea49 Mon Sep 17 00:00:00 2001 From: Rooby-Roo Date: Fri, 24 May 2024 20:58:21 -0600 Subject: [PATCH 3/3] Filling out the rest of locations hope I got em all --- worlds/animal-well/items.py | 8 +- worlds/animal-well/locations.py | 214 +++++++++++++++++++++----------- 2 files changed, 147 insertions(+), 75 deletions(-) diff --git a/worlds/animal-well/items.py b/worlds/animal-well/items.py index 78ee32103df8..1e87b25e826d 100644 --- a/worlds/animal-well/items.py +++ b/worlds/animal-well/items.py @@ -32,15 +32,17 @@ class AnimalWellItemData(NamedTuple): iname.m_disc: AnimalWellItemData(ItemClassification.progression, 1, "Toys"), iname.fanny_pack: AnimalWellItemData(ItemClassification.useful, 1, "Toys"), + iname.match: AnimalWellItemData(ItemClassification.progression, 9, "Toys"), - iname.e_medal: AnimalWellItemData(ItemClassification.progression, 1, "Keys"), - iname.s_medal: AnimalWellItemData(ItemClassification.progression, 1, "Keys"), - iname.k_shard: AnimalWellItemData(ItemClassification.progression, 3, "Keys"), iname.key: AnimalWellItemData(ItemClassification.progression, 6, "Keys"), iname.house_key: AnimalWellItemData(ItemClassification.progression, 1, "Keys"), iname.office_key: AnimalWellItemData(ItemClassification.progression, 1, "Keys"), + iname.e_medal: AnimalWellItemData(ItemClassification.progression, 1, "Keys"), + iname.s_medal: AnimalWellItemData(ItemClassification.progression, 1, "Keys"), + iname.k_shard: AnimalWellItemData(ItemClassification.progression, 3, "Keys"), + iname.blue_flame: AnimalWellItemData(ItemClassification.progression, 1, "Flames"), iname.green_flame: AnimalWellItemData(ItemClassification.progression, 1, "Flames"), iname.violet_flame: AnimalWellItemData(ItemClassification.progression, 1, "Flames"), diff --git a/worlds/animal-well/locations.py b/worlds/animal-well/locations.py index 7a316ff0568e..cc2561105b74 100644 --- a/worlds/animal-well/locations.py +++ b/worlds/animal-well/locations.py @@ -3,84 +3,154 @@ class AnimalWellLocationData(NamedTuple): - region: str - location_group: Optional[str] = None + location_groups: Optional[list[str]] = None location_base_id = 11553377 location_table: Dict[str, AnimalWellLocationData] = { + # major items + lname.b_wand_chest: AnimalWellLocationData(["Toys"]), + lname.bb_wand_chest: AnimalWellLocationData(["Toys"]), + lname.disc_spot: AnimalWellLocationData(["Toys"]), + lname.yoyo_chest: AnimalWellLocationData(["Toys"]), + lname.slink_chest: AnimalWellLocationData(["Toys"]), + lname.flute_chest: AnimalWellLocationData(["Toys"]), + lname.top_chest: AnimalWellLocationData(["Toys"]), + lname.lantern_chest: AnimalWellLocationData(["Toys"]), + lname.uv_lantern_chest: AnimalWellLocationData(["Toys"]), + lname.b_ball_chest: AnimalWellLocationData(["Toys"]), + lname.remote_chest: AnimalWellLocationData(["Toys"]), + lname.wheel_chest: AnimalWellLocationData(["Toys"]), + lname.firecracker_first: AnimalWellLocationData(["Toys"]), + + lname.mock_disc_chest: AnimalWellLocationData(["Toys"]), + lname.fanny_pack_chest: AnimalWellLocationData(), + + lname.match_start_ceiling: AnimalWellLocationData(["Matches"]), + lname.match_fish_mural: AnimalWellLocationData(["Matches"]), + lname.match_dog_switch_bounce: AnimalWellLocationData(["Matches"]), + lname.match_dog_upper_east: AnimalWellLocationData(["Matches"]), + lname.match_bear: AnimalWellLocationData(["Matches"]), + lname.match_above_egg_room: AnimalWellLocationData(["Matches"]), + lname.match_center_well: AnimalWellLocationData(["Matches"]), + lname.match_guard_room: AnimalWellLocationData(["Matches"]), + lname.match_under_mouse_statue: AnimalWellLocationData(["Matches"]), + + lname.key_bear_lower: AnimalWellLocationData(["Keys"]), + lname.key_bear_upper: AnimalWellLocationData(["Keys"]), + lname.key_chest_mouse_head_lever: AnimalWellLocationData(["Keys"]), + lname.key_frog_guard_room_west: AnimalWellLocationData(["Keys"]), + lname.key_frog_guard_room_east: AnimalWellLocationData(["Keys"]), + lname.key_dog: AnimalWellLocationData(["Keys"]), + lname.key_house: AnimalWellLocationData(["Keys"]), + lname.key_office: AnimalWellLocationData(["Keys"]), + + lname.medal_e: AnimalWellLocationData(["Keys", "Medals"]), + lname.medal_s: AnimalWellLocationData(["Keys", "Medals"]), + lname.medal_k: AnimalWellLocationData(["Keys", "Medals"]), + + lname.flame_blue: AnimalWellLocationData(["Flames"]), + lname.flame_green: AnimalWellLocationData(["Flames"]), + lname.flame_violet: AnimalWellLocationData(["Flames"]), + lname.flame_pink: AnimalWellLocationData(["Flames"]), + # eggs, sorted by row top-to-bottom - lname.egg_reference: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_brown: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_raw: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_pickled: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_big: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_swan: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_forbidden: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_shadow: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_vanity: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_service: AnimalWellLocationData("Menu", "Eggs"), - - lname.egg_depraved: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_chaos: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_upside_down: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_evil: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_sweet: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_chocolate: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_value: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_plant: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_red: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_orange: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_sour: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_post_modern: AnimalWellLocationData("Menu", "Eggs"), - - lname.egg_universal: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_lf: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_zen: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_future: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_friendship: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_truth: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_transcendental: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_ancient: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_magic: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_mystic: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_holiday: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_rain: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_razzle: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_dazzle: AnimalWellLocationData("Menu", "Eggs"), - - lname.egg_virtual: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_normal: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_great: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_gorgeous: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_planet: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_moon: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_galaxy: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_sunset: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_goodnight: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_dream: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_travel: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_promise: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_ice: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_fire: AnimalWellLocationData("Menu", "Eggs"), - - lname.egg_bubble: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_desert: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_clover: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_brick: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_neon: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_iridescent: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_rust: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_scarlet: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_sapphire: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_ruby: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_jade: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_obsidian: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_crystal: AnimalWellLocationData("Menu", "Eggs"), - lname.egg_golden: AnimalWellLocationData("Menu", "Eggs"), - - lname.egg_65: AnimalWellLocationData("Menu", "Eggs"), + lname.egg_reference: AnimalWellLocationData(["Eggs"]), + lname.egg_brown: AnimalWellLocationData(["Eggs"]), + lname.egg_raw: AnimalWellLocationData(["Eggs"]), + lname.egg_pickled: AnimalWellLocationData(["Eggs"]), + lname.egg_big: AnimalWellLocationData(["Eggs"]), + lname.egg_swan: AnimalWellLocationData(["Eggs"]), + lname.egg_forbidden: AnimalWellLocationData(["Eggs"]), + lname.egg_shadow: AnimalWellLocationData(["Eggs"]), + lname.egg_vanity: AnimalWellLocationData(["Eggs"]), + lname.egg_service: AnimalWellLocationData(["Eggs"]), + + lname.egg_depraved: AnimalWellLocationData(["Eggs"]), + lname.egg_chaos: AnimalWellLocationData(["Eggs"]), + lname.egg_upside_down: AnimalWellLocationData(["Eggs"]), + lname.egg_evil: AnimalWellLocationData(["Eggs"]), + lname.egg_sweet: AnimalWellLocationData(["Eggs"]), + lname.egg_chocolate: AnimalWellLocationData(["Eggs"]), + lname.egg_value: AnimalWellLocationData(["Eggs"]), + lname.egg_plant: AnimalWellLocationData(["Eggs"]), + lname.egg_red: AnimalWellLocationData(["Eggs"]), + lname.egg_orange: AnimalWellLocationData(["Eggs"]), + lname.egg_sour: AnimalWellLocationData(["Eggs"]), + lname.egg_post_modern: AnimalWellLocationData(["Eggs"]), + + lname.egg_universal: AnimalWellLocationData(["Eggs"]), + lname.egg_lf: AnimalWellLocationData(["Eggs"]), + lname.egg_zen: AnimalWellLocationData(["Eggs"]), + lname.egg_future: AnimalWellLocationData(["Eggs"]), + lname.egg_friendship: AnimalWellLocationData(["Eggs"]), + lname.egg_truth: AnimalWellLocationData(["Eggs"]), + lname.egg_transcendental: AnimalWellLocationData(["Eggs"]), + lname.egg_ancient: AnimalWellLocationData(["Eggs"]), + lname.egg_magic: AnimalWellLocationData(["Eggs"]), + lname.egg_mystic: AnimalWellLocationData(["Eggs"]), + lname.egg_holiday: AnimalWellLocationData(["Eggs"]), + lname.egg_rain: AnimalWellLocationData(["Eggs"]), + lname.egg_razzle: AnimalWellLocationData(["Eggs"]), + lname.egg_dazzle: AnimalWellLocationData(["Eggs"]), + + lname.egg_virtual: AnimalWellLocationData(["Eggs"]), + lname.egg_normal: AnimalWellLocationData(["Eggs"]), + lname.egg_great: AnimalWellLocationData(["Eggs"]), + lname.egg_gorgeous: AnimalWellLocationData(["Eggs"]), + lname.egg_planet: AnimalWellLocationData(["Eggs"]), + lname.egg_moon: AnimalWellLocationData(["Eggs"]), + lname.egg_galaxy: AnimalWellLocationData(["Eggs"]), + lname.egg_sunset: AnimalWellLocationData(["Eggs"]), + lname.egg_goodnight: AnimalWellLocationData(["Eggs"]), + lname.egg_dream: AnimalWellLocationData(["Eggs"]), + lname.egg_travel: AnimalWellLocationData(["Eggs"]), + lname.egg_promise: AnimalWellLocationData(["Eggs"]), + lname.egg_ice: AnimalWellLocationData(["Eggs"]), + lname.egg_fire: AnimalWellLocationData(["Eggs"]), + + lname.egg_bubble: AnimalWellLocationData(["Eggs"]), + lname.egg_desert: AnimalWellLocationData(["Eggs"]), + lname.egg_clover: AnimalWellLocationData(["Eggs"]), + lname.egg_brick: AnimalWellLocationData(["Eggs"]), + lname.egg_neon: AnimalWellLocationData(["Eggs"]), + lname.egg_iridescent: AnimalWellLocationData(["Eggs"]), + lname.egg_rust: AnimalWellLocationData(["Eggs"]), + lname.egg_scarlet: AnimalWellLocationData(["Eggs"]), + lname.egg_sapphire: AnimalWellLocationData(["Eggs"]), + lname.egg_ruby: AnimalWellLocationData(["Eggs"]), + lname.egg_jade: AnimalWellLocationData(["Eggs"]), + lname.egg_obsidian: AnimalWellLocationData(["Eggs"]), + lname.egg_crystal: AnimalWellLocationData(["Eggs"]), + lname.egg_golden: AnimalWellLocationData(["Eggs"]), + + lname.egg_65: AnimalWellLocationData(["Eggs"]), + + # all locations beyond this point have no cooresponding item in the item pool + lname.map_chest: AnimalWellLocationData(["Map Items"]), + lname.stamp_chest: AnimalWellLocationData(["Map Items"]), + lname.pencil_chest: AnimalWellLocationData(["Map Items"]), + lname.mama_cha: AnimalWellLocationData(), + lname.squirrel_acorn: AnimalWellLocationData(), + + # bnnnnuyuy + lname.bunny_barcode: AnimalWellLocationData(["Bunnies"]), + lname.bunny_chinchilla_vine: AnimalWellLocationData(["Bunnies"]), + lname.bunny_crow: AnimalWellLocationData(["Bunnies"]), + lname.bunny_disc_spike: AnimalWellLocationData(["Bunnies"]), + lname.bunny_dream: AnimalWellLocationData(["Bunnies"]), + lname.bunny_duck: AnimalWellLocationData(["Bunnies"]), + lname.bunny_face: AnimalWellLocationData(["Bunnies"]), + lname.bunny_file_bud: AnimalWellLocationData(["Bunnies"]), + lname.bunny_fish: AnimalWellLocationData(["Bunnies"]), + lname.bunny_ghost_dog: AnimalWellLocationData(["Bunnies"]), + lname.bunny_lava: AnimalWellLocationData(["Bunnies"]), + lname.bunny_map: AnimalWellLocationData(["Bunnies"]), + lname.bunny_mural: AnimalWellLocationData(["Bunnies"]), + lname.bunny_tv: AnimalWellLocationData(["Bunnies"]), + lname.bunny_uv: AnimalWellLocationData(["Bunnies"]), + lname.bunny_water_spike: AnimalWellLocationData(["Bunnies"]), } location_name_to_id: Dict[str, int] = {name: location_base_id + index for index, name in enumerate(location_table)}