SMZ3: Fix Swamp Palace Entrace for minimal accessibility

This commit is contained in:
black-sliver 2022-08-04 12:39:31 +02:00 committed by Fabian Dill
parent 530b6cc360
commit 7c808bb03b
3 changed files with 5 additions and 1 deletions

View File

@ -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)

View File

@ -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",

View File

@ -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)