From b63e0d75f8172f69daf7a73bda525348348d5b81 Mon Sep 17 00:00:00 2001 From: Richard Snider Date: Wed, 4 Feb 2026 03:00:41 -0700 Subject: [PATCH 1/3] add groups for shop unlocks --- worlds/crosscode/codegen/lists.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/worlds/crosscode/codegen/lists.py b/worlds/crosscode/codegen/lists.py index ddccd6e7d447..420083118d4c 100644 --- a/worlds/crosscode/codegen/lists.py +++ b/worlds/crosscode/codegen/lists.py @@ -344,6 +344,14 @@ def __add_shop(self, shop_display_name: str, raw_shop: dict[str, typing.Any]): "en_US": f"Unlocks \\c[3]all item slots\\c[0] in the shop \\c[3]{real_name}\\c[0]." } + shop_unlocks = self.item_groups.setdefault(f"Shop Unlocks", []) + if by_shop_item not in shop_unlocks: + shop_unlocks.append(by_shop_item) + + global_item_group = self.item_groups.setdefault("Global Slot Unlocks", []) + slots_item_group = self.item_groups.setdefault("Slot Unlocks", []) + this_shop_item_group = self.item_groups.setdefault(f"Slot Unlocks: {shop_base_name}", []) + for item_name in raw_shop["slots"]: item_data = self.ctx.rando_data["items"][item_name] @@ -376,6 +384,9 @@ def __add_shop(self, shop_display_name: str, raw_shop: dict[str, typing.Any]): by_shop_and_id_item = self.__add_shop_unlock_item(by_shop_and_id_name) self.shop_unlock_by_shop_and_id[shop_name, item_id] = by_shop_and_id_item + slots_item_group.append(by_shop_and_id_item) + this_shop_item_group.append(by_shop_and_id_item) + self.descriptions[by_shop_and_id_item.combo_id] = { "en_US": f"Unlocks the slot selling \\c[3]{item_name}\\c[0] in \\c[3]{real_name}\\c[0]." } @@ -409,6 +420,8 @@ def __add_shop(self, shop_display_name: str, raw_shop: dict[str, typing.Any]): self.shop_unlock_by_id[item_id] = by_id_item self.global_shop_locations[item_id] = global_location + global_item_group.append(by_id_item) + self.locations_data[global_location.name] = global_location self.descriptions[by_id_item.combo_id] = { From 01727f6ca09ba58516e635ff50f63ff8b9c15281 Mon Sep 17 00:00:00 2001 From: Richard Snider Date: Wed, 4 Feb 2026 02:28:01 -0700 Subject: [PATCH 2/3] add codegen and generation support for newly specified groups and item pools --- worlds/crosscode/codegen/gen.py | 1 + worlds/crosscode/codegen/lists.py | 23 +- worlds/crosscode/item_pools.py | 394 +++++++++++++++++- .../templates/item_pools.template.py | 6 + worlds/crosscode/types/world.py | 1 + worlds/crosscode/world.py | 22 +- worlds/crosscode/world_data.py | 3 +- 7 files changed, 427 insertions(+), 23 deletions(-) diff --git a/worlds/crosscode/codegen/gen.py b/worlds/crosscode/codegen/gen.py index e193f4d2d87e..00b5e03fc594 100644 --- a/worlds/crosscode/codegen/gen.py +++ b/worlds/crosscode/codegen/gen.py @@ -140,6 +140,7 @@ def generate_python_file_item_pools(self): item_pools_complete = template.render( item_pools=self.lists.item_pools, + item_groups=self.lists.item_groups, **self.common_args ) diff --git a/worlds/crosscode/codegen/lists.py b/worlds/crosscode/codegen/lists.py index 420083118d4c..fc1561139f1c 100644 --- a/worlds/crosscode/codegen/lists.py +++ b/worlds/crosscode/codegen/lists.py @@ -52,6 +52,7 @@ class ListInfo: dynamic_items: dict[str, ItemData] item_pools: dict[str, list[ItemPoolEntry]] + item_groups: dict[str, list[ItemData]] reward_amounts: dict[str, int] @@ -96,6 +97,7 @@ def __init__(self, ctx: Context): self.dynamic_items = {} self.item_pools = {} + self.item_groups = {} self.reward_amounts = {} @@ -153,6 +155,8 @@ def build(self): self.__add_progressive_chains(file["progressiveChains"]) + self.__add_item_group_list(self.ctx.rando_data["itemGroups"]) + self.__add_vars(self.ctx.rando_data["vars"]) def __get_cached_location_id(self, name: str) -> typing.Optional[int]: @@ -454,10 +458,15 @@ def __add_item_data_list(self, item_list: dict[str, dict[str, typing.Any]]): for name, raw_item in item_list.items(): self.__add_item_data(name, raw_item) - def __add_item_pool(self, name: str, raw: list[dict[str, typing.Any]]): + def __add_item_pool(self, name: str, raw: dict[str, typing.Any] | list[dict[str, typing.Any]], make_group: bool = True): """ Add an item pool to the list of item pools. """ + + if isinstance(raw, dict): + self.__add_item_pool(name, raw["items"], raw.get("group", True)) + return + pool: list[ItemPoolEntry] = [] for data in raw: item = self.__add_reward(data["item"]) @@ -469,13 +478,23 @@ def __add_item_pool(self, name: str, raw: list[dict[str, typing.Any]]): self.item_pools[name] = pool - def __add_item_pool_list(self, raw: dict[str, list[dict[str, typing.Any]]]): + if make_group: + self.item_groups[name] = [e.item for e in pool] + + def __add_item_pool_list(self, raw: dict[str, dict[str, typing.Any] | list[dict[str, typing.Any]]]): """ Add a list of item pools to the list of item pools. """ for name, pool in raw.items(): self.__add_item_pool(name, pool) + def __add_item_group(self, name: str, raw: list[list[typing.Any]]): + self.item_groups[name] = [self.__add_reward(item) for item in raw] + + def __add_item_group_list(self, raw: dict[str, list[list[typing.Any]]]): + for name, pool in raw.items(): + self.__add_item_group(name, pool) + def __add_reward(self, reward: list[dict[str, typing.Any]]) -> ItemData: """ Ensure an item reward is in the list of items. diff --git a/worlds/crosscode/item_pools.py b/worlds/crosscode/item_pools.py index 40ac95a8bdaa..0262c98fbd87 100644 --- a/worlds/crosscode/item_pools.py +++ b/worlds/crosscode/item_pools.py @@ -10,7 +10,7 @@ from .types.condition import * item_pools_template: dict[str, list[ItemPoolEntry]] = { - "required": [ + "Required": [ ItemPoolEntry(item=items_dict['Heat', 1], quantity=1), ItemPoolEntry(item=items_dict['Cold', 1], quantity=1), ItemPoolEntry(item=items_dict['Shock', 1], quantity=1), @@ -69,7 +69,7 @@ ItemPoolEntry(item=items_dict['Golden Triangle', 1], quantity=3), ItemPoolEntry(item=items_dict["King's Ring", 1], quantity=1), ], - "fillerCommonCons": [ + "Common Consumables": [ ItemPoolEntry(item=items_dict['Sandwich', 3], quantity=40), ItemPoolEntry(item=items_dict['Hi-Sandwich', 3], quantity=40), ItemPoolEntry(item=items_dict['Green Leaf Tea', 2], quantity=40), @@ -78,7 +78,7 @@ ItemPoolEntry(item=items_dict['Fruit Salad', 3], quantity=25), ItemPoolEntry(item=items_dict['Veggie Wraps', 3], quantity=25), ], - "fillerCommonDrop": [ + "Common Drops": [ ItemPoolEntry(item=items_dict['Autumn Leaves', 4], quantity=15), ItemPoolEntry(item=items_dict['Gold Beetle', 4], quantity=15), ItemPoolEntry(item=items_dict['Feather Leaf', 5], quantity=17), @@ -99,7 +99,7 @@ ItemPoolEntry(item=items_dict['Blue Grass', 4], quantity=9), ItemPoolEntry(item=items_dict['Dirty Rubble', 4], quantity=9), ], - "fillerRareCons": [ + "Rare Consumables": [ ItemPoolEntry(item=items_dict['Chef Sandwich', 3], quantity=40), ItemPoolEntry(item=items_dict['Mega-Sandwich', 2], quantity=35), ItemPoolEntry(item=items_dict['Sweet Berry Tea', 2], quantity=40), @@ -110,7 +110,7 @@ ItemPoolEntry(item=items_dict['Fruit Pie', 3], quantity=15), ItemPoolEntry(item=items_dict['Ginger Tom. Salad', 3], quantity=10), ], - "fillerRareDrop": [ + "Rare Drops": [ ItemPoolEntry(item=items_dict['Season Apples', 5], quantity=18), ItemPoolEntry(item=items_dict['Twilight Dew', 5], quantity=18), ItemPoolEntry(item=items_dict['Rusty Bits', 5], quantity=18), @@ -131,7 +131,7 @@ ItemPoolEntry(item=items_dict['Pink Petal', 3], quantity=13), ItemPoolEntry(item=items_dict['Spark Tin', 3], quantity=11), ], - "fillerEpicCons": [ + "Epic Consumables": [ ItemPoolEntry(item=items_dict['Cross Sandwich', 2], quantity=50), ItemPoolEntry(item=items_dict['Pepper Night Tea', 1], quantity=40), ItemPoolEntry(item=items_dict['Blazing Bun', 1], quantity=35), @@ -143,7 +143,7 @@ ItemPoolEntry(item=items_dict['Crab Mead', 3], quantity=15), ItemPoolEntry(item=items_dict['Whale Wine', 3], quantity=15), ], - "fillerEpicDrop": [ + "Epic Drops": [ ItemPoolEntry(item=items_dict['Bear Cicada', 3], quantity=14), ItemPoolEntry(item=items_dict['Azure Dragonfly', 3], quantity=18), ItemPoolEntry(item=items_dict['Frozen Tear', 3], quantity=18), @@ -164,7 +164,7 @@ ItemPoolEntry(item=items_dict['Mystery Grape', 3], quantity=12), ItemPoolEntry(item=items_dict['Cobalt Crystal', 4], quantity=12), ], - "fillerLegendary": [ + "Legendary Consumables": [ ItemPoolEntry(item=items_dict['Final Dinner', 1], quantity=30), ItemPoolEntry(item=items_dict['Full Course', 1], quantity=30), ItemPoolEntry(item=items_dict['One Up', 1], quantity=30), @@ -176,7 +176,7 @@ ItemPoolEntry(item=items_dict['Dk Pepper', 1], quantity=15), ItemPoolEntry(item=items_dict['Mooncake', 1], quantity=12), ], - "pets": [ + "Pets": [ ItemPoolEntry(item=items_dict['Orange Twister', 1], quantity=1), ItemPoolEntry(item=items_dict['Baby Peng', 1], quantity=1), ItemPoolEntry(item=items_dict['FDNI Fox', 1], quantity=1), @@ -200,4 +200,380 @@ ItemPoolEntry(item=items_dict['Chunky', 1], quantity=1), ], +} + +item_groups: dict[str, list[ItemData]] = { + "Common Consumables": [ + items_dict['Sandwich', 3], + items_dict['Hi-Sandwich', 3], + items_dict['Green Leaf Tea', 2], + items_dict['Spicy Bun', 3], + items_dict['Meaty Risotto', 1], + items_dict['Fruit Salad', 3], + items_dict['Veggie Wraps', 3], + ], + "Common Drops": [ + items_dict['Autumn Leaves', 4], + items_dict['Gold Beetle', 4], + items_dict['Feather Leaf', 5], + items_dict['Pike Wood', 5], + items_dict['Bergen Ice', 5], + items_dict['Bug Shell', 5], + items_dict['Tough Sand', 4], + items_dict['Vivid Water', 5], + items_dict['Crystal Leek', 4], + items_dict['Old Bones', 4], + items_dict['Parched Leaves', 4], + items_dict['White Grain', 4], + items_dict['Curly Fern', 4], + items_dict['Common Planter', 4], + items_dict['Blue Mango', 4], + items_dict['Venom Shroom', 4], + items_dict['Green Arbor', 4], + items_dict['Blue Grass', 4], + items_dict['Dirty Rubble', 4], + ], + "Rare Consumables": [ + items_dict['Chef Sandwich', 3], + items_dict['Mega-Sandwich', 2], + items_dict['Sweet Berry Tea', 2], + items_dict['Flaming Bun', 3], + items_dict['Steak, rare', 3], + items_dict['Chili Con Carne', 2], + items_dict['Shrimp Risotto', 1], + items_dict['Fruit Pie', 3], + items_dict['Ginger Tom. Salad', 3], + ], + "Rare Drops": [ + items_dict['Season Apples', 5], + items_dict['Twilight Dew', 5], + items_dict['Rusty Bits', 5], + items_dict['Metal Gears', 3], + items_dict['Purple Ore Lump', 6], + items_dict['Arid Lumber', 4], + items_dict['Cactone Fruit', 4], + items_dict['Palmapple Seed', 3], + items_dict['Glaring Rock', 4], + items_dict['Helix Relic', 5], + items_dict['Ripe Apples', 5], + items_dict['Sunset Dew', 5], + items_dict['Steel Comb', 4], + items_dict['Spiky Nut', 4], + items_dict['Exotic Resin', 3], + items_dict['Glowing Sphere', 4], + items_dict['Catalop Pellet', 4], + items_dict['Pink Petal', 3], + items_dict['Spark Tin', 3], + ], + "Epic Consumables": [ + items_dict['Cross Sandwich', 2], + items_dict['Pepper Night Tea', 1], + items_dict['Blazing Bun', 1], + items_dict['Chili Dog', 1], + items_dict['Gourmet Steak', 2], + items_dict['Cold Platter', 2], + items_dict['Green Risotto', 2], + items_dict['Bear Beer', 3], + items_dict['Crab Mead', 3], + items_dict['Whale Wine', 3], + ], + "Epic Drops": [ + items_dict['Bear Cicada', 3], + items_dict['Azure Dragonfly', 3], + items_dict['Frozen Tear', 3], + items_dict['Winter Thorn', 2], + items_dict['Blue Orb', 2], + items_dict['Rainbow Gem', 3], + items_dict['Maroon Chestnut', 4], + items_dict['Ancient Earth', 3], + items_dict['Lucid Shard', 3], + items_dict['Wolf Cicada', 4], + items_dict['Crimson Dragonfly', 3], + items_dict['Elder Wood', 3], + items_dict['Royal Hive', 2], + items_dict['Moon Fruit', 3], + items_dict['Star Fruit', 2], + items_dict['Virus Root', 2], + items_dict['Steel Bamboo', 4], + items_dict['Mystery Grape', 3], + items_dict['Cobalt Crystal', 4], + ], + "Legendary Consumables": [ + items_dict['Final Dinner', 1], + items_dict['Full Course', 1], + items_dict['One Up', 1], + items_dict['Rising Super Star', 1], + items_dict['Guacamole Toast', 1], + items_dict['Cheese Spaetzle', 1], + items_dict['Spicy Beat-0-Type', 1], + items_dict['Durian', 1], + items_dict['Dk Pepper', 1], + items_dict['Mooncake', 1], + ], + "Pets": [ + items_dict['Orange Twister', 1], + items_dict['Baby Peng', 1], + items_dict['FDNI Fox', 1], + items_dict['Good Boy', 1], + items_dict['S-Rex', 1], + items_dict["Lil' Reap", 1], + items_dict['Red Liz', 1], + items_dict['Shy Fly', 1], + items_dict['T.A.N.K.', 1], + items_dict['Micro Crawler', 1], + items_dict['Cool Bar', 1], + items_dict['Batboy', 1], + items_dict['Butterfliege', 1], + items_dict['Piggybank', 1], + items_dict['Seedling', 1], + items_dict['Turbo', 1], + items_dict['I Rob-0T', 1], + items_dict['Baby of the East', 1], + items_dict['Goose', 1], + items_dict['Nuclear Roach', 1], + items_dict['Chunky', 1], + ], + "Arms": [ + items_dict["Edge o' All", 1], + items_dict['Bronze Edge', 1], + items_dict['Core Drill', 1], + items_dict['Iron Edge', 1], + items_dict['Steel Edge', 1], + items_dict['Giga Spiral Drill', 1], + items_dict['Silver Edge', 1], + items_dict['Titan Edge', 1], + items_dict['Cobalt Edge', 1], + items_dict['Galaxy Spiral Drill', 1], + items_dict['Laser Edge', 1], + items_dict['Infinity Spiral Drill', 1], + items_dict['Daikon', 1], + items_dict['Battered Fist', 1], + items_dict['Disciple Gloves', 1], + items_dict['Rapier Carrot', 1], + items_dict['Western Starfist', 1], + items_dict['Adept Gloves', 1], + items_dict['Aehre', 1], + items_dict["Lawkeeper's Fist", 1], + items_dict['Panzer Fist', 1], + items_dict['Unbreaking Fist', 1], + items_dict['Brostick of Force', 1], + items_dict['Eternal Salami', 1], + items_dict['Meister Gloves', 1], + items_dict["Mugger's Blade", 1], + items_dict['Hardwood Stave', 1], + items_dict['Winterclaw', 1], + items_dict['Maverick Edge', 1], + items_dict['Humming Razor', 1], + items_dict['Sunset Claw', 1], + items_dict['Twitching Slicer', 1], + items_dict["Survivor's Blade", 1], + items_dict['Shuddering Cleaver', 1], + items_dict['Hydra Fang', 1], + items_dict['Skirmisher', 1], + items_dict['Civilian Trigger', 1], + items_dict['Copper Gull', 1], + items_dict["Gunner's Trigger", 1], + items_dict["Hunter's Bolt", 1], + items_dict['Rough Branch', 1], + items_dict['Silver Hawk', 1], + items_dict['Golden Revolver', 1], + items_dict['Bigger Stick', 1], + items_dict['Marksmen Trigger', 1], + items_dict['Golden Falcon', 1], + items_dict['Knocking One', 1], + items_dict['Pendulum Striker', 1], + items_dict['Swiftspike', 1], + items_dict['Climbing Pick', 1], + items_dict['Rocksplitter', 1], + items_dict['Prickly Bracer', 1], + items_dict['Hidden Blade', 1], + items_dict['Bright Bracer', 1], + items_dict['Sneaky Shiv', 1], + items_dict['Sparkling Bracer', 1], + items_dict['Sonic Spike', 1], + items_dict['Shining Bracer', 1], + items_dict['Warkeeper', 1], + items_dict['Mantis Whip', 1], + items_dict['Radiant Bracer', 1], + items_dict['Progressive All-Purpose Arms', 1], + items_dict['Progressive Defensive Arms', 1], + items_dict['Progressive Melee Arms', 1], + items_dict['Progressive Ranged Arms', 1], + items_dict['Progressive Special Arms', 1], + items_dict['Progressive Class-Based Arms', 1], + items_dict['Progressive Arms', 1], + ], + "Torsos": [ + items_dict['Second Hide', 1], + items_dict['Bronze Mail', 1], + items_dict['Iron Mail', 1], + items_dict['Bronze Chest Plate', 1], + items_dict['Steel Mail', 1], + items_dict['Silver Chest Plate', 1], + items_dict['Silver Mail', 1], + items_dict['Titan Mail', 1], + items_dict['Cobalt Mail', 1], + items_dict['Golden Chest Plate', 1], + items_dict['Laser Mail', 1], + items_dict['Plate of Chests', 1], + items_dict['Scrappy Plate', 1], + items_dict['Spiky Jacket', 1], + items_dict['Hardrock Plate', 1], + items_dict['Magic Robe', 1], + items_dict['Crystal Plate', 1], + items_dict['Ramming Shell', 1], + items_dict['Vermillion Mantle', 1], + items_dict['Survival Plate', 1], + items_dict['Timeworn Belt', 1], + items_dict['Plated Plate', 1], + items_dict['Reactive Plate', 1], + items_dict['Leaf Cape', 1], + items_dict['Bubblebelt', 1], + items_dict['Tattered Satchel', 1], + items_dict['Petal Cloak', 1], + items_dict['Prism Pouch', 1], + items_dict['Rootweave', 1], + items_dict['Bluefiber Robe', 1], + items_dict['Infinite Bag', 1], + items_dict['Pioneer Vest', 1], + items_dict['Infinity+1 Bag', 1], + items_dict['Lifefiber Uniform', 1], + items_dict['Bovine Armor', 1], + items_dict['Assault Vest', 1], + items_dict['Dessert Vest', 1], + items_dict['Assassin Garb', 1], + items_dict['Loose Trenchcoat', 1], + items_dict['Shadowy Cloak', 1], + items_dict['Centaur Vest', 1], + items_dict['Zealous Lamellar', 1], + items_dict['Assault Harness', 1], + items_dict['Killing Dress', 1], + items_dict['Progressive All-Purpose Torsos', 1], + items_dict['Progressive Defensive Torsos', 1], + items_dict['Progressive Mixed Torsos', 1], + items_dict['Progressive Offensive Torsos', 1], + items_dict['Progressive Torsos', 1], + items_dict['Progressive Class-Based Torsos', 1], + ], + "Legs": [ + items_dict['Grasswalkers', 1], + items_dict['Bronze Boots', 1], + items_dict['Iron Boots', 1], + items_dict['Steel Boots', 1], + items_dict['Silver Boots', 1], + items_dict['Titan Boots', 1], + items_dict['Urban Sneakers', 1], + items_dict['Cobalt Boots', 1], + items_dict['Lead Boots', 1], + items_dict['Laser Boots', 1], + items_dict['Unicorn Greaves', 1], + items_dict['Old Geta', 1], + items_dict['Rusty Anchors', 1], + items_dict['Bull Stompers', 1], + items_dict['Icewalkers', 1], + items_dict['Wooly Socks', 1], + items_dict['Ancient Sandals', 1], + items_dict['Curly Slippers', 1], + items_dict['Lavish Anchors', 1], + items_dict['Stable Footguard', 1], + items_dict['Pathfinders', 1], + items_dict['Hydraulic Anchors', 1], + items_dict['Bamboots', 1], + items_dict['Brave Anchors', 1], + items_dict['Praetorian Anchors', 1], + items_dict['Mistwalkers', 1], + items_dict['Paedalos', 1], + items_dict['Fleety Sandals', 1], + items_dict['Feline Paws', 1], + items_dict['Desert Sandals', 1], + items_dict['Weird Skates', 1], + items_dict['Carpet Runners', 1], + items_dict['Shinkickers', 1], + items_dict['Boom Walkers', 1], + items_dict['Trench Boots', 1], + items_dict['Lunatic Paws', 1], + items_dict['Deadly Dancers', 1], + items_dict['Combat Skates', 1], + items_dict['Artillery Boots', 1], + items_dict['Progressive All-Purpose Legs', 1], + items_dict['Progressive Defensive Legs', 1], + items_dict['Progressive Offensive Legs', 1], + items_dict['Progressive Legs', 1], + ], + "Heads": [ + items_dict["Explorer's Cap", 1], + items_dict['Bronze Goggles', 1], + items_dict['Iron Goggles', 1], + items_dict["Thief's Band", 1], + items_dict['Mighty Strand', 1], + items_dict['Strawhat', 1], + items_dict['Steel Goggles', 1], + items_dict['Silver Goggles', 1], + items_dict['Dried Grass Hat', 1], + items_dict['Titan Goggles', 1], + items_dict['Scarecrown', 1], + items_dict['Strawberry Hat', 1], + items_dict["Bandit's Scarf", 1], + items_dict['Cobalt Goggles', 1], + items_dict['Tengu Mask', 1], + items_dict["Burglar's Rope", 1], + items_dict['Laser Goggles', 1], + items_dict['The Last Strawhat', 1], + items_dict['Gorgon Veil', 1], + items_dict['Cooling Veil', 1], + items_dict["Student's Bandana", 1], + items_dict['Furry Cap', 1], + items_dict['Proper Tophat', 1], + items_dict["Miner's Helmet", 1], + items_dict['Chilling Veil', 1], + items_dict['Dented Crown', 1], + items_dict['Red Bandana', 1], + items_dict["Electrician's Cap", 1], + items_dict['Climate Cowl', 1], + items_dict['Hardhead Hat', 1], + items_dict['Serene Bubble', 1], + items_dict["Dragon's Bandana", 1], + items_dict['Tranquil Earmuffs', 1], + items_dict["Recruit's Scope", 1], + items_dict['Shady Monocle', 1], + items_dict['Edgy Headphones', 1], + items_dict['Longears', 1], + items_dict['Fin Cap', 1], + items_dict['Nomadic Turban', 1], + items_dict['Shiny Glasses', 1], + items_dict['Nifty Grey Shades', 1], + items_dict['Faedora', 1], + items_dict['Mystic Mohawk', 1], + items_dict['Scouting Visor', 1], + items_dict['Furious Hothead', 1], + items_dict['Trackwalker Visor', 1], + items_dict['Progressive All-Purpose Heads', 1], + items_dict['Progressive Defensive Heads', 1], + items_dict['Progressive Offensive Heads', 1], + items_dict['Progressive Heads', 1], + ], + "Dungeon Keys": [ + items_dict['Mine Key', 1], + items_dict['Mine Master Key', 1], + items_dict["Faj'ro Key", 1], + items_dict["Faj'ro Master Key", 1], + items_dict["So'najiz Key", 1], + items_dict["Zir'vitar Key", 1], + items_dict["Krys'kajo Key", 1], + items_dict['Kajo Master Key', 1], + items_dict["Ku'lero Key", 1], + items_dict["Ku'lero Master Key", 1], + ], + "Chest Keys": [ + items_dict["Thief's Key", 1], + items_dict['White Key', 1], + items_dict['Radiant Key', 1], + ], + "Elements": [ + items_dict['Heat', 1], + items_dict['Cold', 1], + items_dict['Shock', 1], + items_dict['Wave', 1], + ], + } \ No newline at end of file diff --git a/worlds/crosscode/templates/item_pools.template.py b/worlds/crosscode/templates/item_pools.template.py index bc954cb26f6a..9d9d9f9effd6 100644 --- a/worlds/crosscode/templates/item_pools.template.py +++ b/worlds/crosscode/templates/item_pools.template.py @@ -11,3 +11,9 @@ "{{name}}": {{pool | emit_list("item_pool_entry") | indent(4)}}, {% endfor %} } + +item_groups: dict[str, list[ItemData]] = { + {% for name, group in item_groups.items() -%} + "{{name}}": {{group | emit_list("item_ref") | indent(4)}}, + {% endfor %} +} diff --git a/worlds/crosscode/types/world.py b/worlds/crosscode/types/world.py index 5a9924b3b4f8..4a878256e7b7 100644 --- a/worlds/crosscode/types/world.py +++ b/worlds/crosscode/types/world.py @@ -38,6 +38,7 @@ class WorldData: # item_pools.py item_pools_template: dict[str, list[ItemPoolEntry]] + item_groups: dict[str, list[ItemData]] # prog_items.py progressive_chains: dict[str, ProgressiveItemChain] diff --git a/worlds/crosscode/world.py b/worlds/crosscode/world.py index 7680a822ac0b..9d6ce825b8fd 100644 --- a/worlds/crosscode/world.py +++ b/worlds/crosscode/world.py @@ -78,8 +78,8 @@ class CrossCodeWorld(World): } item_name_groups = { - name: { entry.item.name for entry in entries } - for name, entries in world_data.item_pools_template.items() + name: {data.name for data in entry} + for name, entry in world_data.item_groups.items() } location_name_groups = { @@ -116,13 +116,13 @@ class CrossCodeWorld(World): pools: Pools _filler_pool_names: list[str] = [ - "fillerCommonCons", - "fillerCommonDrop", - "fillerRareCons", - "fillerRareDrop", - "fillerEpicCons", - "fillerEpicDrop", - "fillerLegendary", + "Common Consumables", + "Common Drops", + "Rare Consumables", + "Rare Drops", + "Epic Consumables", + "Epic Drops", + "Legendary Consumables", ] _filler_pool_weights: list[int] @@ -316,7 +316,7 @@ def generate_early(self): self.enabled_chain_names |= self._equip_chain_names self.required_items = Counter() - self.required_items.update(self.pools.item_pools["required"]) + self.required_items.update(self.pools.item_pools["Required"]) # self._equip_chain_names is a set, so sort for deterministic results. for name in sorted(self._equip_chain_names): @@ -360,7 +360,7 @@ def generate_early(self): self.multiworld.push_precollected(self.create_item("Disc of Flora")) if self.options.start_with_pet.value: - chosen_pet = self.pools.pull_items_from_pool("pets", self.random)[0] + chosen_pet = self.pools.pull_items_from_pool("Pets", self.random)[0] self.multiworld.push_precollected(self.create_item(chosen_pet.name)) if self.options.chest_lock_randomization.value: diff --git a/worlds/crosscode/world_data.py b/worlds/crosscode/world_data.py index fd69a209f941..3e64e2e2366a 100644 --- a/worlds/crosscode/world_data.py +++ b/worlds/crosscode/world_data.py @@ -9,7 +9,7 @@ from .shops import shop_dict, per_shop_locations, global_shop_locations, shop_unlock_by_id, shop_unlock_by_shop, \ shop_unlock_by_shop_and_id from .locations import locations_dict, events_dict, locked_locations, pool_locations, location_groups -from .item_pools import item_pools_template +from .item_pools import item_pools_template, item_groups from .prog_items import progressive_chains, progressive_items from .vars import variable_definitions @@ -33,6 +33,7 @@ shop_unlock_by_shop=shop_unlock_by_shop, shop_unlock_by_shop_and_id=shop_unlock_by_shop_and_id, item_pools_template=item_pools_template, + item_groups=item_groups, progressive_chains=progressive_chains, progressive_items=progressive_items, variable_definitions=variable_definitions From 768ad30223255a7f8664fdcf9d978756d226de3e Mon Sep 17 00:00:00 2001 From: Richard Snider Date: Wed, 11 Mar 2026 02:11:36 -0600 Subject: [PATCH 3/3] add codegen for prog chains in certain circumstances (+ do codegen) --- worlds/crosscode/codegen/lists.py | 7 + worlds/crosscode/item_pools.py | 615 +++++++++++++++++++++++++++++- worlds/crosscode/regions.py | 6 +- 3 files changed, 624 insertions(+), 4 deletions(-) diff --git a/worlds/crosscode/codegen/lists.py b/worlds/crosscode/codegen/lists.py index fc1561139f1c..77694bba877e 100644 --- a/worlds/crosscode/codegen/lists.py +++ b/worlds/crosscode/codegen/lists.py @@ -529,6 +529,13 @@ def __add_progressive_chain(self, name: str, raw: dict[str, typing.Any]): raw["reserved"] = True _, item = self.__add_item_data(f"Progressive {chain.display_name}", raw) self.progressive_items[name] = item + if raw.get("group", False) and isinstance(chain, ProgressiveItemChainSingle): + if isinstance(raw["group"], str): + group_name = raw["group"] + else: + group_name = chain.display_name + self.item_groups[group_name] = [entry.item for entry in chain.items] + self.item_groups[group_name].append(item) def __add_progressive_chains(self, raw: dict[str, dict[str, typing.Any]]): """ diff --git a/worlds/crosscode/item_pools.py b/worlds/crosscode/item_pools.py index 0262c98fbd87..36b232eef66b 100644 --- a/worlds/crosscode/item_pools.py +++ b/worlds/crosscode/item_pools.py @@ -203,6 +203,551 @@ } item_groups: dict[str, list[ItemData]] = { + "Shop Unlocks": [ + items_dict['Shop Unlock: Harbor Items', 1], + items_dict['Shop Unlock: Harbor Weapons', 1], + items_dict['Shop Unlock: Harbor North Weapons', 1], + items_dict["Shop Unlock: Tara's Shop", 1], + items_dict['Shop Unlock: Harbor Backer Items', 1], + items_dict['Shop Unlock: Bergen Items', 1], + items_dict['Shop Unlock: Bergen Weapons', 1], + items_dict["Shop Unlock: Hermit's Hut", 1], + items_dict["Shop Unlock: Ba'kii Items", 1], + items_dict["Shop Unlock: Ba'kii Weapons", 1], + items_dict['Shop Unlock: Basin Vending Machine', 1], + items_dict['Shop Unlock: Basin Items', 1], + items_dict['Shop Unlock: Basin Weapons', 1], + items_dict['Shop Unlock: Calzone Shop', 1], + items_dict['Shop Unlock: Ridge Weapons', 1], + items_dict['Shop Unlock: Ridge Items', 1], + items_dict['Shop Unlock: Rhombus Weapons', 1], + items_dict['Shop Unlock: Rhombus Items', 1], + items_dict['Shop Unlock: Rhombus Curios', 1], + items_dict['Shop Unlock: Rhombus Backer Items', 1], + items_dict['Shop Unlock: Vermillion Weapons', 1], + items_dict['Shop Unlock: Vermillion Items', 1], + ], + "Global Slot Unlocks": [ + items_dict['Global Slot Unlock: Sandwich', 1], + items_dict['Global Slot Unlock: Hi-Sandwich', 1], + items_dict['Global Slot Unlock: Green Leaf Tea', 1], + items_dict['Global Slot Unlock: Just Water', 1], + items_dict['Global Slot Unlock: Spicy Bun', 1], + items_dict['Global Slot Unlock: Fruit Drink', 1], + items_dict['Global Slot Unlock: Rice Cracker', 1], + items_dict['Global Slot Unlock: Veggie Sticks', 1], + items_dict['Global Slot Unlock: Kebab Roll', 1], + items_dict['Global Slot Unlock: Meaty Risotto', 1], + items_dict['Global Slot Unlock: Bergen Ice Cream', 1], + items_dict['Global Slot Unlock: Sweet Lemonjuice', 1], + items_dict['Global Slot Unlock: Salted Peanuts', 1], + items_dict["Global Slot Unlock: Cup o' Coffee", 1], + items_dict['Global Slot Unlock: Snack Mix', 1], + items_dict['Global Slot Unlock: Bronze Goggles', 1], + items_dict['Global Slot Unlock: Bronze Edge', 1], + items_dict['Global Slot Unlock: Bronze Mail', 1], + items_dict['Global Slot Unlock: Bronze Boots', 1], + items_dict['Global Slot Unlock: Iron Goggles', 1], + items_dict['Global Slot Unlock: Iron Edge', 1], + items_dict['Global Slot Unlock: Iron Mail', 1], + items_dict['Global Slot Unlock: Iron Boots', 1], + items_dict['Global Slot Unlock: Silver Goggles', 1], + items_dict['Global Slot Unlock: Silver Edge', 1], + items_dict['Global Slot Unlock: Silver Mail', 1], + items_dict['Global Slot Unlock: Silver Boots', 1], + items_dict['Global Slot Unlock: Steel Goggles', 1], + items_dict['Global Slot Unlock: Steel Edge', 1], + items_dict['Global Slot Unlock: Steel Mail', 1], + items_dict['Global Slot Unlock: Steel Boots', 1], + items_dict['Global Slot Unlock: Rising Super Star', 1], + items_dict['Global Slot Unlock: Dk Pepper', 1], + items_dict['Global Slot Unlock: Cheese Spaetzle', 1], + items_dict['Global Slot Unlock: Maultasche', 1], + items_dict['Global Slot Unlock: Durian', 1], + items_dict['Global Slot Unlock: PengoPop', 1], + items_dict['Global Slot Unlock: Spicy Beat-0-Type', 1], + items_dict['Global Slot Unlock: Werewolf Stick', 1], + items_dict['Global Slot Unlock: Mooncake', 1], + items_dict['Global Slot Unlock: Guacamole Toast', 1], + items_dict['Global Slot Unlock: Willis Waldmahl', 1], + items_dict['Global Slot Unlock: Pumpkin Spice Cof.', 1], + items_dict['Global Slot Unlock: Chili Con Carne', 1], + items_dict['Global Slot Unlock: Sweet Berry Tea', 1], + items_dict['Global Slot Unlock: Titan Goggles', 1], + items_dict['Global Slot Unlock: Titan Edge', 1], + items_dict['Global Slot Unlock: Titan Mail', 1], + items_dict['Global Slot Unlock: Titan Boots', 1], + items_dict['Global Slot Unlock: One Up', 1], + items_dict['Global Slot Unlock: Cobalt Goggles', 1], + items_dict['Global Slot Unlock: Cobalt Edge', 1], + items_dict['Global Slot Unlock: Cobalt Mail', 1], + items_dict['Global Slot Unlock: Cobalt Boots', 1], + items_dict['Global Slot Unlock: Laser Goggles', 1], + items_dict['Global Slot Unlock: Laser Edge', 1], + items_dict['Global Slot Unlock: Laser Mail', 1], + items_dict['Global Slot Unlock: Laser Boots', 1], + items_dict['Global Slot Unlock: Chest Detector', 1], + ], + "Slot Unlocks": [ + items_dict['Slot Unlock: Sandwich (Harbor Items)', 1], + items_dict['Slot Unlock: Hi-Sandwich (Harbor Items)', 1], + items_dict['Slot Unlock: Green Leaf Tea (Harbor Items)', 1], + items_dict['Slot Unlock: Just Water (Harbor Items)', 1], + items_dict['Slot Unlock: Spicy Bun (Harbor Items)', 1], + items_dict['Slot Unlock: Fruit Drink (Harbor Items)', 1], + items_dict['Slot Unlock: Rice Cracker (Harbor Items)', 1], + items_dict['Slot Unlock: Veggie Sticks (Harbor Items)', 1], + items_dict['Slot Unlock: Kebab Roll (Harbor Items + Blue Ice)', 1], + items_dict['Slot Unlock: Meaty Risotto (Harbor Items + Blue Ice)', 1], + items_dict['Slot Unlock: Bergen Ice Cream (Harbor Items + Red Flame)', 1], + items_dict['Slot Unlock: Sweet Lemonjuice (Harbor Items + Red Flame)', 1], + items_dict['Slot Unlock: Salted Peanuts (Harbor Items + Green Seed)', 1], + items_dict["Slot Unlock: Cup o' Coffee (Harbor Items + Green Seed)", 1], + items_dict['Slot Unlock: Snack Mix (Harbor Items + Green Seed)', 1], + items_dict['Slot Unlock: Bronze Goggles (Harbor Weapons)', 1], + items_dict['Slot Unlock: Bronze Edge (Harbor Weapons)', 1], + items_dict['Slot Unlock: Bronze Mail (Harbor Weapons)', 1], + items_dict['Slot Unlock: Bronze Boots (Harbor Weapons)', 1], + items_dict['Slot Unlock: Iron Goggles (Harbor Weapons)', 1], + items_dict['Slot Unlock: Iron Edge (Harbor Weapons)', 1], + items_dict['Slot Unlock: Iron Mail (Harbor Weapons)', 1], + items_dict['Slot Unlock: Iron Boots (Harbor Weapons)', 1], + items_dict['Slot Unlock: Silver Goggles (Harbor Weapons + Red Flame)', 1], + items_dict['Slot Unlock: Silver Edge (Harbor Weapons + Red Flame)', 1], + items_dict['Slot Unlock: Silver Mail (Harbor Weapons + Red Flame)', 1], + items_dict['Slot Unlock: Silver Boots (Harbor Weapons + Red Flame)', 1], + items_dict['Slot Unlock: Steel Goggles (Harbor North Weapons)', 1], + items_dict['Slot Unlock: Steel Edge (Harbor North Weapons)', 1], + items_dict['Slot Unlock: Steel Mail (Harbor North Weapons)', 1], + items_dict['Slot Unlock: Steel Boots (Harbor North Weapons)', 1], + items_dict['Slot Unlock: Silver Goggles (Harbor North Weapons)', 1], + items_dict['Slot Unlock: Silver Edge (Harbor North Weapons)', 1], + items_dict['Slot Unlock: Silver Mail (Harbor North Weapons)', 1], + items_dict['Slot Unlock: Silver Boots (Harbor North Weapons)', 1], + items_dict["Slot Unlock: Sandwich (Tara's Shop)", 1], + items_dict['Slot Unlock: Rising Super Star (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Dk Pepper (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Cheese Spaetzle (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Maultasche (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Durian (Harbor Backer Items)', 1], + items_dict['Slot Unlock: PengoPop (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Spicy Beat-0-Type (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Werewolf Stick (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Mooncake (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Guacamole Toast (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Willis Waldmahl (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Pumpkin Spice Cof. (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Sandwich (Bergen Items)', 1], + items_dict['Slot Unlock: Hi-Sandwich (Bergen Items)', 1], + items_dict['Slot Unlock: Green Leaf Tea (Bergen Items)', 1], + items_dict['Slot Unlock: Just Water (Bergen Items)', 1], + items_dict['Slot Unlock: Spicy Bun (Bergen Items)', 1], + items_dict['Slot Unlock: Fruit Drink (Bergen Items)', 1], + items_dict['Slot Unlock: Rice Cracker (Bergen Items)', 1], + items_dict['Slot Unlock: Veggie Sticks (Bergen Items)', 1], + items_dict['Slot Unlock: Kebab Roll (Bergen Items + Blue Ice)', 1], + items_dict['Slot Unlock: Meaty Risotto (Bergen Items + Blue Ice)', 1], + items_dict['Slot Unlock: Bergen Ice Cream (Bergen Items + Red Flame)', 1], + items_dict['Slot Unlock: Sweet Lemonjuice (Bergen Items + Red Flame)', 1], + items_dict['Slot Unlock: Salted Peanuts (Bergen Items + Green Seed)', 1], + items_dict["Slot Unlock: Cup o' Coffee (Bergen Items + Green Seed)", 1], + items_dict['Slot Unlock: Snack Mix (Bergen Items + Green Seed)', 1], + items_dict['Slot Unlock: Iron Goggles (Bergen Weapons)', 1], + items_dict['Slot Unlock: Iron Edge (Bergen Weapons)', 1], + items_dict['Slot Unlock: Iron Mail (Bergen Weapons)', 1], + items_dict['Slot Unlock: Iron Boots (Bergen Weapons)', 1], + items_dict["Slot Unlock: Chili Con Carne (Hermit's Hut)", 1], + items_dict["Slot Unlock: Sweet Lemonjuice (Hermit's Hut)", 1], + items_dict["Slot Unlock: Sweet Berry Tea (Hermit's Hut)", 1], + items_dict["Slot Unlock: Sandwich (Ba'kii Items)", 1], + items_dict["Slot Unlock: Hi-Sandwich (Ba'kii Items)", 1], + items_dict["Slot Unlock: Green Leaf Tea (Ba'kii Items)", 1], + items_dict["Slot Unlock: Just Water (Ba'kii Items)", 1], + items_dict["Slot Unlock: Spicy Bun (Ba'kii Items)", 1], + items_dict["Slot Unlock: Fruit Drink (Ba'kii Items)", 1], + items_dict["Slot Unlock: Rice Cracker (Ba'kii Items)", 1], + items_dict["Slot Unlock: Veggie Sticks (Ba'kii Items)", 1], + items_dict["Slot Unlock: Bergen Ice Cream (Ba'kii Items)", 1], + items_dict["Slot Unlock: Sweet Lemonjuice (Ba'kii Items)", 1], + items_dict["Slot Unlock: Kebab Roll (Ba'kii Items + Blue Ice)", 1], + items_dict["Slot Unlock: Meaty Risotto (Ba'kii Items + Blue Ice)", 1], + items_dict["Slot Unlock: Salted Peanuts (Ba'kii Items + Green Seed)", 1], + items_dict["Slot Unlock: Cup o' Coffee (Ba'kii Items + Green Seed)", 1], + items_dict["Slot Unlock: Snack Mix (Ba'kii Items + Green Seed)", 1], + items_dict["Slot Unlock: Iron Goggles (Ba'kii Weapons)", 1], + items_dict["Slot Unlock: Iron Edge (Ba'kii Weapons)", 1], + items_dict["Slot Unlock: Iron Mail (Ba'kii Weapons)", 1], + items_dict["Slot Unlock: Iron Boots (Ba'kii Weapons)", 1], + items_dict["Slot Unlock: Steel Goggles (Ba'kii Weapons)", 1], + items_dict["Slot Unlock: Steel Edge (Ba'kii Weapons)", 1], + items_dict["Slot Unlock: Steel Mail (Ba'kii Weapons)", 1], + items_dict["Slot Unlock: Steel Boots (Ba'kii Weapons)", 1], + items_dict['Slot Unlock: Sandwich (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Hi-Sandwich (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Green Leaf Tea (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Just Water (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Spicy Bun (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Fruit Drink (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Rice Cracker (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Veggie Sticks (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Bergen Ice Cream (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Sweet Lemonjuice (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Salted Peanuts (Basin Vending Machine)', 1], + items_dict["Slot Unlock: Cup o' Coffee (Basin Vending Machine)", 1], + items_dict['Slot Unlock: Snack Mix (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Kebab Roll (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Meaty Risotto (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Sandwich (Basin Items)', 1], + items_dict['Slot Unlock: Hi-Sandwich (Basin Items)', 1], + items_dict['Slot Unlock: Green Leaf Tea (Basin Items)', 1], + items_dict['Slot Unlock: Just Water (Basin Items)', 1], + items_dict['Slot Unlock: Kebab Roll (Basin Items)', 1], + items_dict['Slot Unlock: Meaty Risotto (Basin Items)', 1], + items_dict['Slot Unlock: Spicy Bun (Basin Items)', 1], + items_dict['Slot Unlock: Fruit Drink (Basin Items)', 1], + items_dict['Slot Unlock: Rice Cracker (Basin Items)', 1], + items_dict['Slot Unlock: Veggie Sticks (Basin Items)', 1], + items_dict['Slot Unlock: Bergen Ice Cream (Basin Items)', 1], + items_dict['Slot Unlock: Sweet Lemonjuice (Basin Items)', 1], + items_dict['Slot Unlock: Salted Peanuts (Basin Items)', 1], + items_dict["Slot Unlock: Cup o' Coffee (Basin Items)", 1], + items_dict['Slot Unlock: Snack Mix (Basin Items)', 1], + items_dict['Slot Unlock: Silver Goggles (Basin Weapons)', 1], + items_dict['Slot Unlock: Silver Edge (Basin Weapons)', 1], + items_dict['Slot Unlock: Silver Mail (Basin Weapons)', 1], + items_dict['Slot Unlock: Silver Boots (Basin Weapons)', 1], + items_dict['Slot Unlock: Titan Goggles (Basin Weapons)', 1], + items_dict['Slot Unlock: Titan Edge (Basin Weapons)', 1], + items_dict['Slot Unlock: Titan Mail (Basin Weapons)', 1], + items_dict['Slot Unlock: Titan Boots (Basin Weapons)', 1], + items_dict['Slot Unlock: One Up (Calzone Shop)', 1], + items_dict['Slot Unlock: Titan Goggles (Ridge Weapons)', 1], + items_dict['Slot Unlock: Titan Edge (Ridge Weapons)', 1], + items_dict['Slot Unlock: Titan Mail (Ridge Weapons)', 1], + items_dict['Slot Unlock: Titan Boots (Ridge Weapons)', 1], + items_dict['Slot Unlock: Cobalt Goggles (Ridge Weapons)', 1], + items_dict['Slot Unlock: Cobalt Edge (Ridge Weapons)', 1], + items_dict['Slot Unlock: Cobalt Mail (Ridge Weapons)', 1], + items_dict['Slot Unlock: Cobalt Boots (Ridge Weapons)', 1], + items_dict['Slot Unlock: Sandwich (Ridge Items)', 1], + items_dict['Slot Unlock: Hi-Sandwich (Ridge Items)', 1], + items_dict['Slot Unlock: Green Leaf Tea (Ridge Items)', 1], + items_dict['Slot Unlock: Just Water (Ridge Items)', 1], + items_dict['Slot Unlock: Kebab Roll (Ridge Items)', 1], + items_dict['Slot Unlock: Meaty Risotto (Ridge Items)', 1], + items_dict['Slot Unlock: Spicy Bun (Ridge Items)', 1], + items_dict['Slot Unlock: Fruit Drink (Ridge Items)', 1], + items_dict['Slot Unlock: Rice Cracker (Ridge Items)', 1], + items_dict['Slot Unlock: Veggie Sticks (Ridge Items)', 1], + items_dict['Slot Unlock: Bergen Ice Cream (Ridge Items)', 1], + items_dict['Slot Unlock: Sweet Lemonjuice (Ridge Items)', 1], + items_dict['Slot Unlock: Salted Peanuts (Ridge Items)', 1], + items_dict["Slot Unlock: Cup o' Coffee (Ridge Items)", 1], + items_dict['Slot Unlock: Snack Mix (Ridge Items)', 1], + items_dict['Slot Unlock: Cobalt Goggles (Rhombus Weapons)', 1], + items_dict['Slot Unlock: Cobalt Edge (Rhombus Weapons)', 1], + items_dict['Slot Unlock: Cobalt Mail (Rhombus Weapons)', 1], + items_dict['Slot Unlock: Cobalt Boots (Rhombus Weapons)', 1], + items_dict['Slot Unlock: Laser Goggles (Rhombus Weapons)', 1], + items_dict['Slot Unlock: Laser Edge (Rhombus Weapons)', 1], + items_dict['Slot Unlock: Laser Mail (Rhombus Weapons)', 1], + items_dict['Slot Unlock: Laser Boots (Rhombus Weapons)', 1], + items_dict['Slot Unlock: Sandwich (Rhombus Items)', 1], + items_dict['Slot Unlock: Hi-Sandwich (Rhombus Items)', 1], + items_dict['Slot Unlock: Green Leaf Tea (Rhombus Items)', 1], + items_dict['Slot Unlock: Just Water (Rhombus Items)', 1], + items_dict['Slot Unlock: Kebab Roll (Rhombus Items)', 1], + items_dict['Slot Unlock: Meaty Risotto (Rhombus Items)', 1], + items_dict['Slot Unlock: Spicy Bun (Rhombus Items)', 1], + items_dict['Slot Unlock: Fruit Drink (Rhombus Items)', 1], + items_dict['Slot Unlock: Rice Cracker (Rhombus Items)', 1], + items_dict['Slot Unlock: Veggie Sticks (Rhombus Items)', 1], + items_dict['Slot Unlock: Bergen Ice Cream (Rhombus Items)', 1], + items_dict['Slot Unlock: Sweet Lemonjuice (Rhombus Items)', 1], + items_dict['Slot Unlock: Salted Peanuts (Rhombus Items)', 1], + items_dict["Slot Unlock: Cup o' Coffee (Rhombus Items)", 1], + items_dict['Slot Unlock: Snack Mix (Rhombus Items)', 1], + items_dict['Slot Unlock: Chest Detector (Rhombus Curios)', 1], + items_dict['Slot Unlock: Rising Super Star (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Dk Pepper (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Cheese Spaetzle (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Maultasche (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Durian (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: PengoPop (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Spicy Beat-0-Type (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Werewolf Stick (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Mooncake (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Guacamole Toast (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Willis Waldmahl (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Pumpkin Spice Cof. (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Steel Goggles (Vermillion Weapons)', 1], + items_dict['Slot Unlock: Steel Edge (Vermillion Weapons)', 1], + items_dict['Slot Unlock: Steel Mail (Vermillion Weapons)', 1], + items_dict['Slot Unlock: Steel Boots (Vermillion Weapons)', 1], + items_dict['Slot Unlock: Silver Goggles (Vermillion Weapons)', 1], + items_dict['Slot Unlock: Silver Edge (Vermillion Weapons)', 1], + items_dict['Slot Unlock: Silver Mail (Vermillion Weapons)', 1], + items_dict['Slot Unlock: Silver Boots (Vermillion Weapons)', 1], + items_dict['Slot Unlock: Sandwich (Vermillion Items)', 1], + items_dict['Slot Unlock: Hi-Sandwich (Vermillion Items)', 1], + items_dict['Slot Unlock: Green Leaf Tea (Vermillion Items)', 1], + items_dict['Slot Unlock: Just Water (Vermillion Items)', 1], + items_dict['Slot Unlock: Spicy Bun (Vermillion Items)', 1], + items_dict['Slot Unlock: Fruit Drink (Vermillion Items)', 1], + items_dict['Slot Unlock: Rice Cracker (Vermillion Items)', 1], + items_dict['Slot Unlock: Veggie Sticks (Vermillion Items)', 1], + ], + "Slot Unlocks: Harbor Items": [ + items_dict['Slot Unlock: Sandwich (Harbor Items)', 1], + items_dict['Slot Unlock: Hi-Sandwich (Harbor Items)', 1], + items_dict['Slot Unlock: Green Leaf Tea (Harbor Items)', 1], + items_dict['Slot Unlock: Just Water (Harbor Items)', 1], + items_dict['Slot Unlock: Spicy Bun (Harbor Items)', 1], + items_dict['Slot Unlock: Fruit Drink (Harbor Items)', 1], + items_dict['Slot Unlock: Rice Cracker (Harbor Items)', 1], + items_dict['Slot Unlock: Veggie Sticks (Harbor Items)', 1], + items_dict['Slot Unlock: Kebab Roll (Harbor Items + Blue Ice)', 1], + items_dict['Slot Unlock: Meaty Risotto (Harbor Items + Blue Ice)', 1], + items_dict['Slot Unlock: Bergen Ice Cream (Harbor Items + Red Flame)', 1], + items_dict['Slot Unlock: Sweet Lemonjuice (Harbor Items + Red Flame)', 1], + items_dict['Slot Unlock: Salted Peanuts (Harbor Items + Green Seed)', 1], + items_dict["Slot Unlock: Cup o' Coffee (Harbor Items + Green Seed)", 1], + items_dict['Slot Unlock: Snack Mix (Harbor Items + Green Seed)', 1], + ], + "Slot Unlocks: Harbor Weapons": [ + items_dict['Slot Unlock: Bronze Goggles (Harbor Weapons)', 1], + items_dict['Slot Unlock: Bronze Edge (Harbor Weapons)', 1], + items_dict['Slot Unlock: Bronze Mail (Harbor Weapons)', 1], + items_dict['Slot Unlock: Bronze Boots (Harbor Weapons)', 1], + items_dict['Slot Unlock: Iron Goggles (Harbor Weapons)', 1], + items_dict['Slot Unlock: Iron Edge (Harbor Weapons)', 1], + items_dict['Slot Unlock: Iron Mail (Harbor Weapons)', 1], + items_dict['Slot Unlock: Iron Boots (Harbor Weapons)', 1], + items_dict['Slot Unlock: Silver Goggles (Harbor Weapons + Red Flame)', 1], + items_dict['Slot Unlock: Silver Edge (Harbor Weapons + Red Flame)', 1], + items_dict['Slot Unlock: Silver Mail (Harbor Weapons + Red Flame)', 1], + items_dict['Slot Unlock: Silver Boots (Harbor Weapons + Red Flame)', 1], + ], + "Slot Unlocks: Harbor North Weapons": [ + items_dict['Slot Unlock: Steel Goggles (Harbor North Weapons)', 1], + items_dict['Slot Unlock: Steel Edge (Harbor North Weapons)', 1], + items_dict['Slot Unlock: Steel Mail (Harbor North Weapons)', 1], + items_dict['Slot Unlock: Steel Boots (Harbor North Weapons)', 1], + items_dict['Slot Unlock: Silver Goggles (Harbor North Weapons)', 1], + items_dict['Slot Unlock: Silver Edge (Harbor North Weapons)', 1], + items_dict['Slot Unlock: Silver Mail (Harbor North Weapons)', 1], + items_dict['Slot Unlock: Silver Boots (Harbor North Weapons)', 1], + ], + "Slot Unlocks: Tara's Shop": [ + items_dict["Slot Unlock: Sandwich (Tara's Shop)", 1], + ], + "Slot Unlocks: Harbor Backer Items": [ + items_dict['Slot Unlock: Rising Super Star (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Dk Pepper (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Cheese Spaetzle (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Maultasche (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Durian (Harbor Backer Items)', 1], + items_dict['Slot Unlock: PengoPop (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Spicy Beat-0-Type (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Werewolf Stick (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Mooncake (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Guacamole Toast (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Willis Waldmahl (Harbor Backer Items)', 1], + items_dict['Slot Unlock: Pumpkin Spice Cof. (Harbor Backer Items)', 1], + ], + "Slot Unlocks: Bergen Items": [ + items_dict['Slot Unlock: Sandwich (Bergen Items)', 1], + items_dict['Slot Unlock: Hi-Sandwich (Bergen Items)', 1], + items_dict['Slot Unlock: Green Leaf Tea (Bergen Items)', 1], + items_dict['Slot Unlock: Just Water (Bergen Items)', 1], + items_dict['Slot Unlock: Spicy Bun (Bergen Items)', 1], + items_dict['Slot Unlock: Fruit Drink (Bergen Items)', 1], + items_dict['Slot Unlock: Rice Cracker (Bergen Items)', 1], + items_dict['Slot Unlock: Veggie Sticks (Bergen Items)', 1], + items_dict['Slot Unlock: Kebab Roll (Bergen Items + Blue Ice)', 1], + items_dict['Slot Unlock: Meaty Risotto (Bergen Items + Blue Ice)', 1], + items_dict['Slot Unlock: Bergen Ice Cream (Bergen Items + Red Flame)', 1], + items_dict['Slot Unlock: Sweet Lemonjuice (Bergen Items + Red Flame)', 1], + items_dict['Slot Unlock: Salted Peanuts (Bergen Items + Green Seed)', 1], + items_dict["Slot Unlock: Cup o' Coffee (Bergen Items + Green Seed)", 1], + items_dict['Slot Unlock: Snack Mix (Bergen Items + Green Seed)', 1], + ], + "Slot Unlocks: Bergen Weapons": [ + items_dict['Slot Unlock: Iron Goggles (Bergen Weapons)', 1], + items_dict['Slot Unlock: Iron Edge (Bergen Weapons)', 1], + items_dict['Slot Unlock: Iron Mail (Bergen Weapons)', 1], + items_dict['Slot Unlock: Iron Boots (Bergen Weapons)', 1], + ], + "Slot Unlocks: Hermit's Hut": [ + items_dict["Slot Unlock: Chili Con Carne (Hermit's Hut)", 1], + items_dict["Slot Unlock: Sweet Lemonjuice (Hermit's Hut)", 1], + items_dict["Slot Unlock: Sweet Berry Tea (Hermit's Hut)", 1], + ], + "Slot Unlocks: Ba'kii Items": [ + items_dict["Slot Unlock: Sandwich (Ba'kii Items)", 1], + items_dict["Slot Unlock: Hi-Sandwich (Ba'kii Items)", 1], + items_dict["Slot Unlock: Green Leaf Tea (Ba'kii Items)", 1], + items_dict["Slot Unlock: Just Water (Ba'kii Items)", 1], + items_dict["Slot Unlock: Spicy Bun (Ba'kii Items)", 1], + items_dict["Slot Unlock: Fruit Drink (Ba'kii Items)", 1], + items_dict["Slot Unlock: Rice Cracker (Ba'kii Items)", 1], + items_dict["Slot Unlock: Veggie Sticks (Ba'kii Items)", 1], + items_dict["Slot Unlock: Bergen Ice Cream (Ba'kii Items)", 1], + items_dict["Slot Unlock: Sweet Lemonjuice (Ba'kii Items)", 1], + items_dict["Slot Unlock: Kebab Roll (Ba'kii Items + Blue Ice)", 1], + items_dict["Slot Unlock: Meaty Risotto (Ba'kii Items + Blue Ice)", 1], + items_dict["Slot Unlock: Salted Peanuts (Ba'kii Items + Green Seed)", 1], + items_dict["Slot Unlock: Cup o' Coffee (Ba'kii Items + Green Seed)", 1], + items_dict["Slot Unlock: Snack Mix (Ba'kii Items + Green Seed)", 1], + ], + "Slot Unlocks: Ba'kii Weapons": [ + items_dict["Slot Unlock: Iron Goggles (Ba'kii Weapons)", 1], + items_dict["Slot Unlock: Iron Edge (Ba'kii Weapons)", 1], + items_dict["Slot Unlock: Iron Mail (Ba'kii Weapons)", 1], + items_dict["Slot Unlock: Iron Boots (Ba'kii Weapons)", 1], + items_dict["Slot Unlock: Steel Goggles (Ba'kii Weapons)", 1], + items_dict["Slot Unlock: Steel Edge (Ba'kii Weapons)", 1], + items_dict["Slot Unlock: Steel Mail (Ba'kii Weapons)", 1], + items_dict["Slot Unlock: Steel Boots (Ba'kii Weapons)", 1], + ], + "Slot Unlocks: Basin Vending Machine": [ + items_dict['Slot Unlock: Sandwich (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Hi-Sandwich (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Green Leaf Tea (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Just Water (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Spicy Bun (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Fruit Drink (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Rice Cracker (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Veggie Sticks (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Bergen Ice Cream (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Sweet Lemonjuice (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Salted Peanuts (Basin Vending Machine)', 1], + items_dict["Slot Unlock: Cup o' Coffee (Basin Vending Machine)", 1], + items_dict['Slot Unlock: Snack Mix (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Kebab Roll (Basin Vending Machine)', 1], + items_dict['Slot Unlock: Meaty Risotto (Basin Vending Machine)', 1], + ], + "Slot Unlocks: Basin Items": [ + items_dict['Slot Unlock: Sandwich (Basin Items)', 1], + items_dict['Slot Unlock: Hi-Sandwich (Basin Items)', 1], + items_dict['Slot Unlock: Green Leaf Tea (Basin Items)', 1], + items_dict['Slot Unlock: Just Water (Basin Items)', 1], + items_dict['Slot Unlock: Kebab Roll (Basin Items)', 1], + items_dict['Slot Unlock: Meaty Risotto (Basin Items)', 1], + items_dict['Slot Unlock: Spicy Bun (Basin Items)', 1], + items_dict['Slot Unlock: Fruit Drink (Basin Items)', 1], + items_dict['Slot Unlock: Rice Cracker (Basin Items)', 1], + items_dict['Slot Unlock: Veggie Sticks (Basin Items)', 1], + items_dict['Slot Unlock: Bergen Ice Cream (Basin Items)', 1], + items_dict['Slot Unlock: Sweet Lemonjuice (Basin Items)', 1], + items_dict['Slot Unlock: Salted Peanuts (Basin Items)', 1], + items_dict["Slot Unlock: Cup o' Coffee (Basin Items)", 1], + items_dict['Slot Unlock: Snack Mix (Basin Items)', 1], + ], + "Slot Unlocks: Basin Weapons": [ + items_dict['Slot Unlock: Silver Goggles (Basin Weapons)', 1], + items_dict['Slot Unlock: Silver Edge (Basin Weapons)', 1], + items_dict['Slot Unlock: Silver Mail (Basin Weapons)', 1], + items_dict['Slot Unlock: Silver Boots (Basin Weapons)', 1], + items_dict['Slot Unlock: Titan Goggles (Basin Weapons)', 1], + items_dict['Slot Unlock: Titan Edge (Basin Weapons)', 1], + items_dict['Slot Unlock: Titan Mail (Basin Weapons)', 1], + items_dict['Slot Unlock: Titan Boots (Basin Weapons)', 1], + ], + "Slot Unlocks: Calzone Shop": [ + items_dict['Slot Unlock: One Up (Calzone Shop)', 1], + ], + "Slot Unlocks: Ridge Weapons": [ + items_dict['Slot Unlock: Titan Goggles (Ridge Weapons)', 1], + items_dict['Slot Unlock: Titan Edge (Ridge Weapons)', 1], + items_dict['Slot Unlock: Titan Mail (Ridge Weapons)', 1], + items_dict['Slot Unlock: Titan Boots (Ridge Weapons)', 1], + items_dict['Slot Unlock: Cobalt Goggles (Ridge Weapons)', 1], + items_dict['Slot Unlock: Cobalt Edge (Ridge Weapons)', 1], + items_dict['Slot Unlock: Cobalt Mail (Ridge Weapons)', 1], + items_dict['Slot Unlock: Cobalt Boots (Ridge Weapons)', 1], + ], + "Slot Unlocks: Ridge Items": [ + items_dict['Slot Unlock: Sandwich (Ridge Items)', 1], + items_dict['Slot Unlock: Hi-Sandwich (Ridge Items)', 1], + items_dict['Slot Unlock: Green Leaf Tea (Ridge Items)', 1], + items_dict['Slot Unlock: Just Water (Ridge Items)', 1], + items_dict['Slot Unlock: Kebab Roll (Ridge Items)', 1], + items_dict['Slot Unlock: Meaty Risotto (Ridge Items)', 1], + items_dict['Slot Unlock: Spicy Bun (Ridge Items)', 1], + items_dict['Slot Unlock: Fruit Drink (Ridge Items)', 1], + items_dict['Slot Unlock: Rice Cracker (Ridge Items)', 1], + items_dict['Slot Unlock: Veggie Sticks (Ridge Items)', 1], + items_dict['Slot Unlock: Bergen Ice Cream (Ridge Items)', 1], + items_dict['Slot Unlock: Sweet Lemonjuice (Ridge Items)', 1], + items_dict['Slot Unlock: Salted Peanuts (Ridge Items)', 1], + items_dict["Slot Unlock: Cup o' Coffee (Ridge Items)", 1], + items_dict['Slot Unlock: Snack Mix (Ridge Items)', 1], + ], + "Slot Unlocks: Rhombus Weapons": [ + items_dict['Slot Unlock: Cobalt Goggles (Rhombus Weapons)', 1], + items_dict['Slot Unlock: Cobalt Edge (Rhombus Weapons)', 1], + items_dict['Slot Unlock: Cobalt Mail (Rhombus Weapons)', 1], + items_dict['Slot Unlock: Cobalt Boots (Rhombus Weapons)', 1], + items_dict['Slot Unlock: Laser Goggles (Rhombus Weapons)', 1], + items_dict['Slot Unlock: Laser Edge (Rhombus Weapons)', 1], + items_dict['Slot Unlock: Laser Mail (Rhombus Weapons)', 1], + items_dict['Slot Unlock: Laser Boots (Rhombus Weapons)', 1], + ], + "Slot Unlocks: Rhombus Items": [ + items_dict['Slot Unlock: Sandwich (Rhombus Items)', 1], + items_dict['Slot Unlock: Hi-Sandwich (Rhombus Items)', 1], + items_dict['Slot Unlock: Green Leaf Tea (Rhombus Items)', 1], + items_dict['Slot Unlock: Just Water (Rhombus Items)', 1], + items_dict['Slot Unlock: Kebab Roll (Rhombus Items)', 1], + items_dict['Slot Unlock: Meaty Risotto (Rhombus Items)', 1], + items_dict['Slot Unlock: Spicy Bun (Rhombus Items)', 1], + items_dict['Slot Unlock: Fruit Drink (Rhombus Items)', 1], + items_dict['Slot Unlock: Rice Cracker (Rhombus Items)', 1], + items_dict['Slot Unlock: Veggie Sticks (Rhombus Items)', 1], + items_dict['Slot Unlock: Bergen Ice Cream (Rhombus Items)', 1], + items_dict['Slot Unlock: Sweet Lemonjuice (Rhombus Items)', 1], + items_dict['Slot Unlock: Salted Peanuts (Rhombus Items)', 1], + items_dict["Slot Unlock: Cup o' Coffee (Rhombus Items)", 1], + items_dict['Slot Unlock: Snack Mix (Rhombus Items)', 1], + ], + "Slot Unlocks: Rhombus Curios": [ + items_dict['Slot Unlock: Chest Detector (Rhombus Curios)', 1], + ], + "Slot Unlocks: Rhombus Backer Items": [ + items_dict['Slot Unlock: Rising Super Star (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Dk Pepper (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Cheese Spaetzle (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Maultasche (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Durian (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: PengoPop (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Spicy Beat-0-Type (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Werewolf Stick (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Mooncake (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Guacamole Toast (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Willis Waldmahl (Rhombus Backer Items)', 1], + items_dict['Slot Unlock: Pumpkin Spice Cof. (Rhombus Backer Items)', 1], + ], + "Slot Unlocks: Vermillion Weapons": [ + items_dict['Slot Unlock: Steel Goggles (Vermillion Weapons)', 1], + items_dict['Slot Unlock: Steel Edge (Vermillion Weapons)', 1], + items_dict['Slot Unlock: Steel Mail (Vermillion Weapons)', 1], + items_dict['Slot Unlock: Steel Boots (Vermillion Weapons)', 1], + items_dict['Slot Unlock: Silver Goggles (Vermillion Weapons)', 1], + items_dict['Slot Unlock: Silver Edge (Vermillion Weapons)', 1], + items_dict['Slot Unlock: Silver Mail (Vermillion Weapons)', 1], + items_dict['Slot Unlock: Silver Boots (Vermillion Weapons)', 1], + ], + "Slot Unlocks: Vermillion Items": [ + items_dict['Slot Unlock: Sandwich (Vermillion Items)', 1], + items_dict['Slot Unlock: Hi-Sandwich (Vermillion Items)', 1], + items_dict['Slot Unlock: Green Leaf Tea (Vermillion Items)', 1], + items_dict['Slot Unlock: Just Water (Vermillion Items)', 1], + items_dict['Slot Unlock: Spicy Bun (Vermillion Items)', 1], + items_dict['Slot Unlock: Fruit Drink (Vermillion Items)', 1], + items_dict['Slot Unlock: Rice Cracker (Vermillion Items)', 1], + items_dict['Slot Unlock: Veggie Sticks (Vermillion Items)', 1], + ], "Common Consumables": [ items_dict['Sandwich', 3], items_dict['Hi-Sandwich', 3], @@ -333,6 +878,35 @@ items_dict['Nuclear Roach', 1], items_dict['Chunky', 1], ], + "Area Unlocks": [ + items_dict['Green Leaf Shade', 1], + items_dict['Mine Pass', 1], + items_dict['Blue Ice Shade', 1], + items_dict['Yellow Sand Shade', 1], + items_dict['Red Flame Shade', 1], + items_dict['Green Seed Shade', 1], + items_dict['Purple Bolt Shade', 1], + items_dict['Azure Drop Shade', 1], + items_dict['Star Shade', 1], + items_dict['Meteor Shade', 1], + items_dict['Progressive Area Unlock', 1], + ], + "Overworld Area Unlocks": [ + items_dict['Green Leaf Shade', 1], + items_dict['Blue Ice Shade', 1], + items_dict['Red Flame Shade', 1], + items_dict['Green Seed Shade', 1], + items_dict['Star Shade', 1], + items_dict['Meteor Shade', 1], + items_dict['Progressive Overworld Area Unlock', 1], + ], + "Dungeon Unlocks": [ + items_dict['Mine Pass', 1], + items_dict['Yellow Sand Shade', 1], + items_dict['Purple Bolt Shade', 1], + items_dict['Azure Drop Shade', 1], + items_dict['Progressive Dungeon Unlock', 1], + ], "Arms": [ items_dict["Edge o' All", 1], items_dict['Bronze Edge', 1], @@ -374,7 +948,7 @@ items_dict['Copper Gull', 1], items_dict["Gunner's Trigger", 1], items_dict["Hunter's Bolt", 1], - items_dict['Rough Branch', 1], + items_dict['Rough Branch', 2], items_dict['Silver Hawk', 1], items_dict['Golden Revolver', 1], items_dict['Bigger Stick', 1], @@ -552,6 +1126,45 @@ items_dict['Progressive Offensive Heads', 1], items_dict['Progressive Heads', 1], ], + "Broken Equipment": [ + items_dict['Broken Deck', 1], + items_dict['Broken Sword', 1], + items_dict['Broken Chakrams', 1], + items_dict['Broken Gauntlet', 1], + items_dict['Broken Shield', 1], + ], + "Side Area Unlocks": [ + items_dict['Guild Pass', 1], + items_dict['Old Dojo Key', 1], + items_dict['Cursed Coin', 1], + items_dict['Pond Slums Pass', 1], + items_dict['Maroon Cave Pass', 1], + items_dict['Shiny Orb', 1], + items_dict['East Gaia Pass', 1], + items_dict['West Gaia Pass', 1], + ], + "Discs": [ + items_dict['Disc of Insight', 1], + items_dict['Disc of Flora', 1], + ], + "Unique Trade Items": [ + items_dict['Old Blueprint', 1], + items_dict['Very Large Ember', 1], + items_dict['Halcyon Droplet', 1], + items_dict['Portrait of Ruin', 1], + items_dict["Heaven's Seed", 1], + items_dict['Everlasting Amber', 1], + items_dict['Galaxy Berry', 1], + items_dict['Dream Globe', 1], + items_dict['Tremor Engine', 1], + items_dict['Geta Wood', 1], + items_dict['Geta Glue', 1], + items_dict['Hungry Salmon', 1], + items_dict['Mysterious Box', 1], + items_dict['Omni Lock', 1], + items_dict['Golden Triangle', 1], + items_dict["King's Ring", 1], + ], "Dungeon Keys": [ items_dict['Mine Key', 1], items_dict['Mine Master Key', 1], diff --git a/worlds/crosscode/regions.py b/worlds/crosscode/regions.py index 0db851232b26..bd0ead8c3302 100644 --- a/worlds/crosscode/regions.py +++ b/worlds/crosscode/regions.py @@ -123,12 +123,12 @@ 'open7.8', 'open8', 'open9', - 'open10', - 'open10.Infested', + 'open10.Mid', 'open10.Grove', 'open10.Left', - 'open10.Mid', + 'open10', 'open10.Right', + 'open10.Infested', 'open11', 'open13.1', 'open13.2',