From ff9f33ec587bbbb51e5315f201e03cf643b6ce72 Mon Sep 17 00:00:00 2001 From: CookieCat Date: Fri, 10 May 2024 01:35:50 -0400 Subject: [PATCH] Evil --- worlds/ahit/Items.py | 75 +++++++++++++++++++++++++++-------------- worlds/ahit/__init__.py | 10 ++++-- 2 files changed, 57 insertions(+), 28 deletions(-) diff --git a/worlds/ahit/Items.py b/worlds/ahit/Items.py index 111864e2718..9c0df4a0622 100644 --- a/worlds/ahit/Items.py +++ b/worlds/ahit/Items.py @@ -175,6 +175,31 @@ def create_junk_items(world: "HatInTimeWorld", count: int) -> List[Item]: return junk_pool +def get_shop_trap_name(world: "HatInTimeWorld") -> str: + rand = world.random.randint(1, 9) + name = "" + if rand == 1: + name = "Time Plece" + elif rand == 2: + name = "Time Piece (Trust me bro)" + elif rand == 3: + name = "TimePiece" + elif rand == 4: + name = "Time Piece?" + elif rand == 5: + name = "Time Pizza" + elif rand == 6: + name = "Time piece" + elif rand == 7: + name = "TIme Piece" + elif rand == 8: + name = "Time Piece (maybe)" + elif rand == 9: + name = "Time Piece ;)" + + return name + + ahit_items = { "Yarn": ItemData(2000300001, ItemClassification.progression_skip_balancing), "Time Piece": ItemData(2000300002, ItemClassification.progression_skip_balancing), @@ -186,6 +211,18 @@ def create_junk_items(world: "HatInTimeWorld", count: int) -> List[Item]: "Dweller Mask": ItemData(2000300052, ItemClassification.progression), "Time Stop Hat": ItemData(2000300053, ItemClassification.progression), + # Badges + "Projectile Badge": ItemData(2000300024, ItemClassification.useful), + "Fast Hatter Badge": ItemData(2000300025, ItemClassification.useful), + "Hover Badge": ItemData(2000300026, ItemClassification.useful), + "Hookshot Badge": ItemData(2000300027, ItemClassification.progression), + "Item Magnet Badge": ItemData(2000300028, ItemClassification.useful), + "No Bonk Badge": ItemData(2000300029, ItemClassification.useful), + "Compass Badge": ItemData(2000300030, ItemClassification.useful), + "Scooter Badge": ItemData(2000300031, ItemClassification.useful), + "One-Hit Hero Badge": ItemData(2000300038, ItemClassification.progression, HatDLC.death_wish), + "Camera Badge": ItemData(2000300042, ItemClassification.progression, HatDLC.death_wish), + # Relics "Relic (Burger Patty)": ItemData(2000300006, ItemClassification.progression), "Relic (Burger Cushion)": ItemData(2000300007, ItemClassification.progression), @@ -199,23 +236,13 @@ def create_junk_items(world: "HatInTimeWorld", count: int) -> List[Item]: "Relic (Red Crayon)": ItemData(2000300015, ItemClassification.progression), "Relic (Blue Crayon)": ItemData(2000300016, ItemClassification.progression), "Relic (Green Crayon)": ItemData(2000300017, ItemClassification.progression), - - # Badges - "Projectile Badge": ItemData(2000300024, ItemClassification.useful), - "Fast Hatter Badge": ItemData(2000300025, ItemClassification.useful), - "Hover Badge": ItemData(2000300026, ItemClassification.useful), - "Hookshot Badge": ItemData(2000300027, ItemClassification.progression), - "Item Magnet Badge": ItemData(2000300028, ItemClassification.useful), - "No Bonk Badge": ItemData(2000300029, ItemClassification.useful), - "Compass Badge": ItemData(2000300030, ItemClassification.useful), - "Scooter Badge": ItemData(2000300031, ItemClassification.useful), - "One-Hit Hero Badge": ItemData(2000300038, ItemClassification.progression, HatDLC.death_wish), - "Camera Badge": ItemData(2000300042, ItemClassification.progression, HatDLC.death_wish), - - # Other - "Badge Pin": ItemData(2000300043, ItemClassification.useful), - "Umbrella": ItemData(2000300033, ItemClassification.progression), - "Progressive Painting Unlock": ItemData(2000300003, ItemClassification.progression), + # DLC + "Relic (Cake Stand)": ItemData(2000300018, ItemClassification.progression, HatDLC.dlc1), + "Relic (Shortcake)": ItemData(2000300019, ItemClassification.progression, HatDLC.dlc1), + "Relic (Chocolate Cake Slice)": ItemData(2000300020, ItemClassification.progression, HatDLC.dlc1), + "Relic (Chocolate Cake)": ItemData(2000300021, ItemClassification.progression, HatDLC.dlc1), + "Relic (Necklace Bust)": ItemData(2000300022, ItemClassification.progression, HatDLC.dlc2), + "Relic (Necklace)": ItemData(2000300023, ItemClassification.progression, HatDLC.dlc2), # Garbage items "25 Pons": ItemData(2000300034, ItemClassification.filler), @@ -229,15 +256,11 @@ def create_junk_items(world: "HatInTimeWorld", count: int) -> List[Item]: "Laser Trap": ItemData(2000300040, ItemClassification.trap), "Parade Trap": ItemData(2000300041, ItemClassification.trap), - # DLC1 items - "Relic (Cake Stand)": ItemData(2000300018, ItemClassification.progression, HatDLC.dlc1), - "Relic (Shortcake)": ItemData(2000300019, ItemClassification.progression, HatDLC.dlc1), - "Relic (Chocolate Cake Slice)": ItemData(2000300020, ItemClassification.progression, HatDLC.dlc1), - "Relic (Chocolate Cake)": ItemData(2000300021, ItemClassification.progression, HatDLC.dlc1), - - # DLC2 items - "Relic (Necklace Bust)": ItemData(2000300022, ItemClassification.progression, HatDLC.dlc2), - "Relic (Necklace)": ItemData(2000300023, ItemClassification.progression, HatDLC.dlc2), + # Other + "Badge Pin": ItemData(2000300043, ItemClassification.useful), + "Umbrella": ItemData(2000300033, ItemClassification.progression), + "Progressive Painting Unlock": ItemData(2000300003, ItemClassification.progression), + # DLC "Metro Ticket - Yellow": ItemData(2000300045, ItemClassification.progression, HatDLC.dlc2), "Metro Ticket - Green": ItemData(2000300046, ItemClassification.progression, HatDLC.dlc2), "Metro Ticket - Blue": ItemData(2000300047, ItemClassification.progression, HatDLC.dlc2), diff --git a/worlds/ahit/__init__.py b/worlds/ahit/__init__.py index 3c050730b2b..dd16a874898 100644 --- a/worlds/ahit/__init__.py +++ b/worlds/ahit/__init__.py @@ -1,5 +1,5 @@ from BaseClasses import Item, ItemClassification, Tutorial, Location, MultiWorld -from .Items import item_table, create_item, relic_groups, act_contracts, create_itempool +from .Items import item_table, create_item, relic_groups, act_contracts, create_itempool, get_shop_trap_name from .Regions import create_regions, randomize_act_entrances, chapter_act_info, create_events, get_shuffled_region from .Locations import location_table, contract_locations, is_location_valid, get_location_names, TASKSANITY_START_ID, \ get_total_locations @@ -226,7 +226,13 @@ def fill_slot_data(self) -> dict: shop_item_names: Dict[str, str] = {} for name in self.shop_locs: loc: Location = self.multiworld.get_location(name, self.player) - shop_item_names.setdefault(str(loc.address), loc.item.name) + item_name: str + if loc.item.classification is ItemClassification.trap and loc.item.game == "A Hat in Time": + item_name = get_shop_trap_name(self) + else: + item_name = loc.item.name + + shop_item_names.setdefault(str(loc.address), item_name) slot_data["ShopItemNames"] = shop_item_names