34 lines
2.0 KiB
Python
34 lines
2.0 KiB
Python
from typing import List
|
|
from ...Region import Z3Region
|
|
from ...Config import Config
|
|
from ...Location import Location, LocationType
|
|
from ...Item import ItemType
|
|
|
|
class HyruleCastle(Z3Region):
|
|
Name = "Hyrule Castle"
|
|
Area = "Hyrule Castle"
|
|
|
|
def __init__(self, world, config: Config):
|
|
super().__init__(world, config)
|
|
self.RegionItems = [ ItemType.KeyHC, ItemType.MapHC]
|
|
sphereOne = -10
|
|
self.Locations = [
|
|
Location(self, 256+91, 0x1EA79, LocationType.Regular, "Sanctuary").Weighted(sphereOne),
|
|
Location(self, 256+92, 0x1EB5D, LocationType.Regular, "Sewers - Secret Room - Left",
|
|
lambda items: items.CanLiftLight() or items.Lamp and items.KeyHC),
|
|
Location(self, 256+93, 0x1EB60, LocationType.Regular, "Sewers - Secret Room - Middle",
|
|
lambda items: items.CanLiftLight() or items.Lamp and items.KeyHC),
|
|
Location(self, 256+94, 0x1EB63, LocationType.Regular, "Sewers - Secret Room - Right",
|
|
lambda items: items.CanLiftLight() or items.Lamp and items.KeyHC),
|
|
Location(self, 256+95, 0x1E96E, LocationType.Regular, "Sewers - Dark Cross",
|
|
lambda items: items.Lamp),
|
|
Location(self, 256+96, 0x1EB0C, LocationType.Regular, "Hyrule Castle - Map Chest").Weighted(sphereOne),
|
|
Location(self, 256+97, 0x1E974, LocationType.Regular, "Hyrule Castle - Boomerang Chest",
|
|
lambda items: items.KeyHC).Weighted(sphereOne),
|
|
Location(self, 256+98, 0x1EB09, LocationType.Regular, "Hyrule Castle - Zelda's Cell",
|
|
lambda items: items.KeyHC).Weighted(sphereOne),
|
|
Location(self, 256+99, 0x5DF45, LocationType.NotInDungeon, "Link's Uncle")
|
|
.Allow(lambda item, items: self.Config.Keysanity or not item.IsDungeonItem()).Weighted(sphereOne),
|
|
Location(self, 256+100, 0x1E971, LocationType.NotInDungeon, "Secret Passage")
|
|
.Allow(lambda item, items: self.Config.Keysanity or not item.IsDungeonItem()).Weighted(sphereOne),
|
|
] |