From 7c808bb03b3bd9042c543c56f48f7f3fa14286dc Mon Sep 17 00:00:00 2001 From: black-sliver <59490463+black-sliver@users.noreply.github.com> Date: Thu, 4 Aug 2022 12:39:31 +0200 Subject: [PATCH] SMZ3: Fix Swamp Palace Entrace for minimal accessibility --- worlds/smz3/TotalSMZ3/Config.py | 1 + worlds/smz3/TotalSMZ3/Regions/Zelda/SwampPalace.py | 3 ++- worlds/smz3/__init__.py | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/worlds/smz3/TotalSMZ3/Config.py b/worlds/smz3/TotalSMZ3/Config.py index bfcd541b..1c3bddb1 100644 --- a/worlds/smz3/TotalSMZ3/Config.py +++ b/worlds/smz3/TotalSMZ3/Config.py @@ -48,6 +48,7 @@ class Config: Keysanity: bool = KeyShuffle != KeyShuffle.Null Race: bool = False GanonInvincible: GanonInvincible = GanonInvincible.BeforeCrystals + MinimalAccessibility: bool = False # AP specific accessibility: minimal def __init__(self, options: Dict[str, str]): self.GameMode = self.ParseOption(options, GameMode.Multiworld) diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/SwampPalace.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/SwampPalace.py index 1805e74d..ab7c86a6 100644 --- a/worlds/smz3/TotalSMZ3/Regions/Zelda/SwampPalace.py +++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/SwampPalace.py @@ -14,7 +14,8 @@ class SwampPalace(Z3Region, IReward): self.Reward = RewardType.Null self.Locations = [ Location(self, 256+135, 0x1EA9D, LocationType.Regular, "Swamp Palace - Entrance") - .Allow(lambda item, items: self.Config.Keysanity or item.Is(ItemType.KeySP, self.world)), + .Allow(lambda item, items: self.Config.Keysanity or self.Config.MinimalAccessibility or + item.Is(ItemType.KeySP, self.world)), Location(self, 256+136, 0x1E986, LocationType.Regular, "Swamp Palace - Map Chest", lambda items: items.KeySP), Location(self, 256+137, 0x1E989, LocationType.Regular, "Swamp Palace - Big Chest", diff --git a/worlds/smz3/__init__.py b/worlds/smz3/__init__.py index 0cd9a0e2..58e8b656 100644 --- a/worlds/smz3/__init__.py +++ b/worlds/smz3/__init__.py @@ -19,6 +19,7 @@ from ..AutoWorld import World, AutoLogicRegister, WebWorld from .Rom import get_base_rom_bytes, SMZ3DeltaPatch from .ips import IPS_Patch from .Options import smz3_options +from Options import Accessibility world_folder = os.path.dirname(__file__) logger = logging.getLogger("SMZ3") @@ -189,6 +190,7 @@ class SMZ3World(World): config.KeyShuffle = KeyShuffle(self.world.key_shuffle[self.player].value) config.Keysanity = config.KeyShuffle != KeyShuffle.Null config.GanonInvincible = GanonInvincible.BeforeCrystals + config.MinimalAccessibility = self.world.accessibility[self.player] == Accessibility.option_minimal self.local_random = random.Random(self.world.random.randint(0, 1000)) self.smz3World = TotalSMZ3World(config, self.world.get_player_name(self.player), self.player, self.world.seed_name)