From 4ef54365596a50f109ee4af5bca5ac71adb7cd40 Mon Sep 17 00:00:00 2001 From: Scipio Wright Date: Sun, 15 Feb 2026 11:47:40 -0500 Subject: [PATCH] TUNIC: Depriority for some items (#5589) --- worlds/tunic/__init__.py | 9 ++++++++ worlds/tunic/items.py | 48 ++++++++++++++++++++-------------------- 2 files changed, 33 insertions(+), 24 deletions(-) diff --git a/worlds/tunic/__init__.py b/worlds/tunic/__init__.py index 1d59eeaeca..78c9dcdb67 100644 --- a/worlds/tunic/__init__.py +++ b/worlds/tunic/__init__.py @@ -348,6 +348,15 @@ class TunicWorld(World): if name == "Shield" and self.options.ladder_storage and not self.options.ladder_storage_without_items else None) or item_data.classification) + # if there's 6 or less in the pool, then I could see them landing on priority locations being desireable + if name == "Gold Questagon" and self.options.hexagon_goal > 6: + itemclass = itemclass | ItemClassification.deprioritized + # remove deprioritized from Fairies and Coins if Laurels are there + if name == "Fairy" and self.options.laurels_location == LaurelsLocation.option_10_fairies: + itemclass = ItemClassification.progression + if (name == "Golden Coin" and self.options.laurels_location in + (LaurelsLocation.option_10_coins, LaurelsLocation.option_6_coins)): + itemclass = ItemClassification.progression return TunicItem(name, itemclass, self.item_name_to_id[name], self.player) def create_items(self) -> None: diff --git a/worlds/tunic/items.py b/worlds/tunic/items.py index e8f201b926..1e24b3c0d7 100644 --- a/worlds/tunic/items.py +++ b/worlds/tunic/items.py @@ -30,14 +30,14 @@ item_table: dict[str, TunicItemData] = { "Lure x2": TunicItemData(IC.filler, 1, 11, "Consumables"), "Pepper x2": TunicItemData(IC.filler, 4, 12, "Consumables"), "Ivy x3": TunicItemData(IC.filler, 2, 13, "Consumables"), - "Effigy": TunicItemData(IC.useful, 12, 14, "Money", combat_ic=IC.progression), + "Effigy": TunicItemData(IC.useful, 12, 14, "Money", combat_ic=IC.progression | IC.deprioritized), "HP Berry": TunicItemData(IC.filler, 2, 15, "Consumables"), "HP Berry x2": TunicItemData(IC.filler, 4, 16, "Consumables"), "HP Berry x3": TunicItemData(IC.filler, 2, 17, "Consumables"), "MP Berry": TunicItemData(IC.filler, 4, 18, "Consumables"), "MP Berry x2": TunicItemData(IC.filler, 2, 19, "Consumables"), "MP Berry x3": TunicItemData(IC.filler, 7, 20, "Consumables"), - "Fairy": TunicItemData(IC.progression, 20, 21), + "Fairy": TunicItemData(IC.progression | IC.deprioritized, 20, 21), "Stick": TunicItemData(IC.progression | IC.useful, 1, 22, "Weapons"), "Sword": TunicItemData(IC.progression | IC.useful, 3, 23, "Weapons"), "Sword Upgrade": TunicItemData(IC.progression | IC.useful, 4, 24, "Weapons"), @@ -52,22 +52,22 @@ item_table: dict[str, TunicItemData] = { "Torch": TunicItemData(IC.useful, 0, 156), "Hourglass": TunicItemData(IC.useful, 1, 33), "Old House Key": TunicItemData(IC.progression, 1, 34, "Keys"), - "Key": TunicItemData(IC.progression, 2, 35, "Keys"), + "Key": TunicItemData(IC.progression | IC.deprioritized, 2, 35, "Keys"), "Fortress Vault Key": TunicItemData(IC.progression, 1, 36, "Keys"), - "Flask Shard": TunicItemData(IC.useful, 12, 37, combat_ic=IC.progression), + "Flask Shard": TunicItemData(IC.useful, 12, 37, combat_ic=IC.progression | IC.deprioritized), "Potion Flask": TunicItemData(IC.useful, 5, 38, "Flask", combat_ic=IC.progression), - "Golden Coin": TunicItemData(IC.progression, 17, 39), + "Golden Coin": TunicItemData(IC.progression | IC.deprioritized, 17, 39), "Card Slot": TunicItemData(IC.useful, 4, 40), "Red Questagon": TunicItemData(IC.progression_skip_balancing, 1, 41, "Hexagons"), "Green Questagon": TunicItemData(IC.progression_skip_balancing, 1, 42, "Hexagons"), "Blue Questagon": TunicItemData(IC.progression_skip_balancing, 1, 43, "Hexagons"), "Gold Questagon": TunicItemData(IC.progression_skip_balancing, 0, 44, "Hexagons"), "ATT Offering": TunicItemData(IC.useful, 4, 45, "Offerings", combat_ic=IC.progression), - "DEF Offering": TunicItemData(IC.useful, 4, 46, "Offerings", combat_ic=IC.progression), - "Potion Offering": TunicItemData(IC.useful, 3, 47, "Offerings", combat_ic=IC.progression), - "HP Offering": TunicItemData(IC.useful, 6, 48, "Offerings", combat_ic=IC.progression), - "MP Offering": TunicItemData(IC.useful, 3, 49, "Offerings", combat_ic=IC.progression), - "SP Offering": TunicItemData(IC.useful, 2, 50, "Offerings", combat_ic=IC.progression), + "DEF Offering": TunicItemData(IC.useful, 4, 46, "Offerings", combat_ic=IC.progression | IC.deprioritized), + "Potion Offering": TunicItemData(IC.useful, 3, 47, "Offerings", combat_ic=IC.progression | IC.deprioritized), + "HP Offering": TunicItemData(IC.useful, 6, 48, "Offerings", combat_ic=IC.progression | IC.deprioritized), + "MP Offering": TunicItemData(IC.useful, 3, 49, "Offerings", combat_ic=IC.progression | IC.deprioritized), + "SP Offering": TunicItemData(IC.useful, 2, 50, "Offerings", combat_ic=IC.progression | IC.deprioritized), "Hero Relic - ATT": TunicItemData(IC.progression_skip_balancing, 1, 51, "Hero Relics", combat_ic=IC.progression), "Hero Relic - DEF": TunicItemData(IC.progression_skip_balancing, 1, 52, "Hero Relics", combat_ic=IC.progression), "Hero Relic - HP": TunicItemData(IC.progression_skip_balancing, 1, 53, "Hero Relics", combat_ic=IC.progression), @@ -91,17 +91,17 @@ item_table: dict[str, TunicItemData] = { "Aura's Gem": TunicItemData(IC.useful, 1, 71, "Cards"), "Bone Card": TunicItemData(IC.useful, 1, 72, "Cards"), "Mr Mayor": TunicItemData(IC.useful, 1, 73, "Golden Treasures", combat_ic=IC.progression), - "Secret Legend": TunicItemData(IC.useful, 1, 74, "Golden Treasures", combat_ic=IC.progression), - "Sacred Geometry": TunicItemData(IC.useful, 1, 75, "Golden Treasures", combat_ic=IC.progression), - "Vintage": TunicItemData(IC.useful, 1, 76, "Golden Treasures", combat_ic=IC.progression), - "Just Some Pals": TunicItemData(IC.useful, 1, 77, "Golden Treasures", combat_ic=IC.progression), - "Regal Weasel": TunicItemData(IC.useful, 1, 78, "Golden Treasures", combat_ic=IC.progression), - "Spring Falls": TunicItemData(IC.useful, 1, 79, "Golden Treasures", combat_ic=IC.progression), - "Power Up": TunicItemData(IC.useful, 1, 80, "Golden Treasures", combat_ic=IC.progression), - "Back To Work": TunicItemData(IC.useful, 1, 81, "Golden Treasures", combat_ic=IC.progression), - "Phonomath": TunicItemData(IC.useful, 1, 82, "Golden Treasures", combat_ic=IC.progression), - "Dusty": TunicItemData(IC.useful, 1, 83, "Golden Treasures", combat_ic=IC.progression), - "Forever Friend": TunicItemData(IC.useful, 1, 84, "Golden Treasures", combat_ic=IC.progression), + "Secret Legend": TunicItemData(IC.useful, 1, 74, "Golden Treasures", combat_ic=IC.progression | IC.deprioritized), + "Sacred Geometry": TunicItemData(IC.useful, 1, 75, "Golden Treasures", combat_ic=IC.progression | IC.deprioritized), + "Vintage": TunicItemData(IC.useful, 1, 76, "Golden Treasures", combat_ic=IC.progression | IC.deprioritized), + "Just Some Pals": TunicItemData(IC.useful, 1, 77, "Golden Treasures", combat_ic=IC.progression | IC.deprioritized), + "Regal Weasel": TunicItemData(IC.useful, 1, 78, "Golden Treasures", combat_ic=IC.progression | IC.deprioritized), + "Spring Falls": TunicItemData(IC.useful, 1, 79, "Golden Treasures", combat_ic=IC.progression | IC.deprioritized), + "Power Up": TunicItemData(IC.useful, 1, 80, "Golden Treasures", combat_ic=IC.progression | IC.deprioritized), + "Back To Work": TunicItemData(IC.useful, 1, 81, "Golden Treasures", combat_ic=IC.progression | IC.deprioritized), + "Phonomath": TunicItemData(IC.useful, 1, 82, "Golden Treasures", combat_ic=IC.progression | IC.deprioritized), + "Dusty": TunicItemData(IC.useful, 1, 83, "Golden Treasures", combat_ic=IC.progression | IC.deprioritized), + "Forever Friend": TunicItemData(IC.useful, 1, 84, "Golden Treasures", combat_ic=IC.progression | IC.deprioritized), "Fool Trap": TunicItemData(IC.trap, 0, 85), "Money x1": TunicItemData(IC.filler, 3, 86, "Money"), "Money x2": TunicItemData(IC.filler, 0, 152, "Money"), @@ -120,9 +120,9 @@ item_table: dict[str, TunicItemData] = { "Money x50": TunicItemData(IC.filler, 7, 96, "Money"), "Money x64": TunicItemData(IC.filler, 1, 97, "Money"), "Money x100": TunicItemData(IC.filler, 5, 98, "Money"), - "Money x128": TunicItemData(IC.useful, 3, 99, "Money", combat_ic=IC.progression), - "Money x200": TunicItemData(IC.useful, 1, 100, "Money", combat_ic=IC.progression), - "Money x255": TunicItemData(IC.useful, 1, 101, "Money", combat_ic=IC.progression), + "Money x128": TunicItemData(IC.useful, 3, 99, "Money", combat_ic=IC.progression | IC.deprioritized), + "Money x200": TunicItemData(IC.useful, 1, 100, "Money", combat_ic=IC.progression | IC.deprioritized), + "Money x255": TunicItemData(IC.useful, 1, 101, "Money", combat_ic=IC.progression | IC.deprioritized), "Pages 0-1": TunicItemData(IC.useful, 1, 102, "Pages"), "Pages 2-3": TunicItemData(IC.useful, 1, 103, "Pages"), "Pages 4-5": TunicItemData(IC.useful, 1, 104, "Pages"),