From 540fc2d9204d10781ddb21554b8a3b725440f922 Mon Sep 17 00:00:00 2001 From: gaithern Date: Mon, 18 Mar 2024 11:37:45 -0500 Subject: [PATCH] Add options for starting worlds, renamed locations --- worlds/khrecom/Locations.py | 16 ++++++++-------- worlds/khrecom/Options.py | 7 +++++++ worlds/khrecom/__init__.py | 4 ++-- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/worlds/khrecom/Locations.py b/worlds/khrecom/Locations.py index d28e6a1abe78..c14d13e49ecf 100644 --- a/worlds/khrecom/Locations.py +++ b/worlds/khrecom/Locations.py @@ -284,13 +284,13 @@ def get_locations_by_category(category: str) -> Dict[str, KHRECOMLocationData]: "Olympus Coliseum Room of Truth (Sleight Cross-slash)": KHRECOMLocationData("Progression", 269_2062), "Olympus Coliseum Room of Truth (Sleight Omnislash)": KHRECOMLocationData("Progression", 269_2063), "100 Acre Wood Veggie Panic (Sleight Cross-slash+)": KHRECOMLocationData("Progression", 269_2064), - "Starting Checks (Sleight Magic LV2)": KHRECOMLocationData("Progression", 269_2065), - "Starting Checks (Sleight Magic LV3)": KHRECOMLocationData("Progression", 269_2066), + "Pick Up Donald In Battle (Sleight Magic LV2)": KHRECOMLocationData("Progression", 269_2065), + "Pick Up Donald In Battle (Sleight Magic LV3)": KHRECOMLocationData("Progression", 269_2066), "Twilight Town Room of Rewards (Sleight Stardust Blitz)": KHRECOMLocationData("Progression", 269_2067), - "Starting Checks (Sleight Goofy Tornado LV2)": KHRECOMLocationData("Progression", 269_2068), - "Starting Checks (Sleight Goofy Tornado LV3)": KHRECOMLocationData("Progression", 269_2069), - "Starting Checks (Sleight Goofy Smash)": KHRECOMLocationData("Progression", 269_2070), - "Starting Checks (Sleight Wild Crush)": KHRECOMLocationData("Progression", 269_2071), + "Pick Up Goofy In Battle (Sleight Goofy Tornado LV2)": KHRECOMLocationData("Progression", 269_2068), + "Pick Up Goofy In Battle (Sleight Goofy Tornado LV3)": KHRECOMLocationData("Progression", 269_2069), + "Pick Up Goofy In Battle (Sleight Goofy Smash)": KHRECOMLocationData("Progression", 269_2070), + "Pick Up Goofy In Battle (Sleight Wild Crush)": KHRECOMLocationData("Progression", 269_2071), "Agrabah Ally (Sleight Sandstorm LV2)": KHRECOMLocationData("Progression", 269_2072), "Agrabah Ally (Sleight Sandstorm LV3)": KHRECOMLocationData("Progression", 269_2073), "Halloween Town Ally (Sleight Surprise! LV2)": KHRECOMLocationData("Progression", 269_2074), @@ -301,8 +301,8 @@ def get_locations_by_category(category: str) -> Dict[str, KHRECOMLocationData]: "Neverland Ally (Sleight Hummingbird LV3)": KHRECOMLocationData("Progression", 269_2079), "Hollow Bastion Ally (Sleight Furious Volley LV2)": KHRECOMLocationData("Progression", 269_2080), "Hollow Bastion Ally (Sleight Furious Volley LV3)": KHRECOMLocationData("Progression", 269_2081), - "Traverse Town Room of Beginnings (Sleight Lucky Bounty LV2)": KHRECOMLocationData("Progression", 269_2082), - "Traverse Town Room of Beginnings (Sleight Lucky Bounty LV3)": KHRECOMLocationData("Progression", 269_2083), + "Pick Up Pluto In Battle (Sleight Lucky Bounty LV2)": KHRECOMLocationData("Progression", 269_2082), + "Pick Up Pluto In Battle (Sleight Lucky Bounty LV3)": KHRECOMLocationData("Progression", 269_2083), "Final Marluxia": KHRECOMLocationData("Progression", 269_9999), } diff --git a/worlds/khrecom/Options.py b/worlds/khrecom/Options.py index 1d2d9b85efe1..25834c27e9ac 100644 --- a/worlds/khrecom/Options.py +++ b/worlds/khrecom/Options.py @@ -35,6 +35,12 @@ class DaysLocations(Toggle): """ display_name = "Days Locations" +class StartingWorlds(Toggle): + """ + Toggle whether 3 world cards are guaranteed as part of your starting checks. + """ + display_name = "Starting Worlds" + class ChecksBehindLeon(Toggle): """ Toggle whether to include checks behind the Leon sleight tutorial. If left off, the player can safely skip that room. @@ -73,3 +79,4 @@ class KHRECOMOptions(PerGameCommonOptions): levels: ChecksBehindSleightsLevels zeroes: Zeroes attack_power: AttackPower + starting_worlds: StartingWorlds diff --git a/worlds/khrecom/__init__.py b/worlds/khrecom/__init__.py index d2d21fee5a14..0683477f05a0 100644 --- a/worlds/khrecom/__init__.py +++ b/worlds/khrecom/__init__.py @@ -60,7 +60,7 @@ def create_items(self): starting_worlds = self.random.sample(list(starting_worlds.keys()),3) i = 0 while i < 4: - if i < 3: + if i < 3 and self.options.starting_worlds: self.multiworld.get_location(starting_locations[i], self.player).place_locked_item(self.create_item(starting_worlds[i])) elif i == 3 and self.options.early_cure: self.multiworld.get_location(starting_locations[i], self.player).place_locked_item(self.create_item("Card Set Cure")) @@ -72,7 +72,7 @@ def create_items(self): # Ignore filler, it will be added in a later stage. if data.category not in ["World Unlocks", "Gold Map Cards", "Friend Cards", "Enemy Cards", "Sleights"]: continue - if name not in starting_worlds: + if not self.options.starting_worlds or name not in starting_worlds: item_pool += [self.create_item(name) for _ in range(0, quantity)] # Fill any empty locations with filler items.