diff --git a/worlds/animal-well/items.py b/worlds/animal-well/items.py index 81a4c8e6f631..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"), @@ -48,72 +50,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..cc2561105b74 100644 --- a/worlds/animal-well/locations.py +++ b/worlds/animal-well/locations.py @@ -3,78 +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] = { - 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"), + # 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(["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)} diff --git a/worlds/animal-well/names/item_names.py b/worlds/animal-well/names/item_names.py index 09899b5292d6..01e9130f87c5 100644 --- a/worlds/animal-well/names/item_names.py +++ b/worlds/animal-well/names/item_names.py @@ -1,39 +1,106 @@ # 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 +violet_flame = "V. Flame" # chameleon -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 +# 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" # event items activated_bird_fast_travel = "Activated Bird Fast Travel" @@ -48,7 +115,7 @@ 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" +light_all_candles = "All Candles Lit" dog_wheel_flip = "Flipped Dog Wheel" # fake items, for the purposes of rules @@ -64,3 +131,10 @@ 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 052f2cd3f1ad..da4682a87ea9 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" lantern_chest = "Lantern Chest" b_ball_chest = "B. Ball Chest" remote_chest = "Remote Chest" @@ -128,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 @@ -149,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" 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"