diff --git a/worlds/astalon/locations.py b/worlds/astalon/locations.py index 5072e60b4fe2..b5fcd3bad6ac 100644 --- a/worlds/astalon/locations.py +++ b/worlds/astalon/locations.py @@ -533,7 +533,7 @@ class LocationData: LocationName.GT_ATTACK.value: LocationData(RegionName.GT_BABY_GORGON, LocationGroup.ATTACK, Area.GT), LocationName.GT_HP_1_RING.value: LocationData(RegionName.GT_BOTTOM, LocationGroup.HEALTH, Area.GT), LocationName.GT_HP_5_KEY.value: LocationData(RegionName.GT_ASCENDANT_KEY, LocationGroup.HEALTH, Area.GT), - LocationName.GT_WHITE_KEY_START.value: LocationData(RegionName.ENTRANCE, LocationGroup.KEY_WHITE, Area.GT), + LocationName.GT_WHITE_KEY_START.value: LocationData(RegionName.GT_ENTRANCE, LocationGroup.KEY_WHITE, Area.GT), LocationName.GT_WHITE_KEY_RIGHT.value: LocationData(RegionName.GT_BOTTOM, LocationGroup.KEY_WHITE, Area.GT), LocationName.GT_WHITE_KEY_BOSS.value: LocationData(RegionName.GT_TOP_RIGHT, LocationGroup.KEY_WHITE, Area.GT), LocationName.GT_BLUE_KEY_BONESNAKE.value: LocationData(RegionName.GT_BOTTOM, LocationGroup.KEY_BLUE, Area.GT), @@ -605,7 +605,7 @@ class LocationData: LocationName.HOTP_BLUE_KEY_TELEPORTS.value: LocationData( RegionName.HOTP_SPIKE_TP_SECRET, LocationGroup.KEY_BLUE, Area.HOTP ), - LocationName.HOTP_BLUE_KEY_MAZE.value: LocationData(RegionName.HOTP_TP_PUZZLE, LocationGroup.KEY_BLUE, Area.HOTP), + LocationName.HOTP_BLUE_KEY_MAZE.value: LocationData(RegionName.HOTP_TP_FALL_TOP, LocationGroup.KEY_BLUE, Area.HOTP), LocationName.HOTP_RED_KEY.value: LocationData(RegionName.HOTP_RED_KEY, LocationGroup.KEY_RED, Area.HOTP), LocationName.ROA_ICARUS.value: LocationData(RegionName.ROA_ICARUS, LocationGroup.ITEM, Area.ROA), LocationName.ROA_EYE_GREEN.value: LocationData(RegionName.ROA_BOSS, LocationGroup.ITEM, Area.ROA), @@ -710,13 +710,13 @@ class LocationData: LocationName.SHOP_BRAM_AXE.value: LocationData(RegionName.SHOP_BRAM, LocationGroup.SHOP, Area.SHOP), LocationName.SHOP_BRAM_HUNTER.value: LocationData(RegionName.SHOP_BRAM, LocationGroup.SHOP, Area.SHOP), LocationName.SHOP_BRAM_WHIPLASH.value: LocationData(RegionName.SHOP_BRAM, LocationGroup.SHOP, Area.SHOP), - LocationName.GT_ALGUS.value: LocationData(RegionName.ENTRANCE, LocationGroup.CHARACTER, Area.GT), - LocationName.GT_ARIAS.value: LocationData(RegionName.ENTRANCE, LocationGroup.CHARACTER, Area.GT), - LocationName.GT_KYULI.value: LocationData(RegionName.ENTRANCE, LocationGroup.CHARACTER, Area.GT), + LocationName.GT_ALGUS.value: LocationData(RegionName.GT_ENTRANCE, LocationGroup.CHARACTER, Area.GT), + LocationName.GT_ARIAS.value: LocationData(RegionName.GT_ENTRANCE, LocationGroup.CHARACTER, Area.GT), + LocationName.GT_KYULI.value: LocationData(RegionName.GT_ENTRANCE, LocationGroup.CHARACTER, Area.GT), LocationName.MECH_ZEEK.value: LocationData(RegionName.MECH_ZEEK, LocationGroup.CHARACTER, Area.MECH), LocationName.TR_BRAM.value: LocationData(RegionName.TR_BRAM, LocationGroup.CHARACTER, Area.TR), LocationName.GT_ELEVATOR_2.value: LocationData(RegionName.GT_BOSS, LocationGroup.ELEVATOR, Area.GT), - LocationName.GT_SWITCH_2ND_ROOM.value: LocationData(RegionName.ENTRANCE, LocationGroup.SWITCH, Area.GT), + LocationName.GT_SWITCH_2ND_ROOM.value: LocationData(RegionName.GT_ENTRANCE, LocationGroup.SWITCH, Area.GT), LocationName.GT_SWITCH_1ST_CYCLOPS.value: LocationData(RegionName.GT_GORGONHEART, LocationGroup.SWITCH, Area.GT), LocationName.GT_SWITCH_SPIKE_TUNNEL.value: LocationData(RegionName.GT_TOP_LEFT, LocationGroup.SWITCH, Area.GT), LocationName.GT_SWITCH_BUTT_ACCESS.value: LocationData(RegionName.GT_SPIKE_TUNNEL, LocationGroup.SWITCH, Area.GT), diff --git a/worlds/astalon/regions.py b/worlds/astalon/regions.py index 492a337f8796..0136847c98e0 100644 --- a/worlds/astalon/regions.py +++ b/worlds/astalon/regions.py @@ -13,8 +13,8 @@ class RegionName(str, Enum): SHOP_BRAM = "Shop - Bram" FINAL_BOSS = "Final Boss" - ENTRANCE = "Entrance" - BESTIARY = "Bestiary" + GT_ENTRANCE = "Gorgon Tomb - Entrance" + GT_BESTIARY = "Gorgon Tomb - Bestiary" GT_BABY_GORGON = "Gorgon Tomb - Baby Gorgon" GT_BOTTOM = "Gorgon Tomb - Bottom" GT_VOID = "Gorgon Tomb - Void" @@ -268,7 +268,7 @@ class RegionData: astalon_regions: Dict[RegionName, RegionData] = { RegionName.MENU: RegionData( exits=( - RegionName.ENTRANCE, + RegionName.GT_ENTRANCE, RegionName.SHOP, ), ), @@ -287,9 +287,9 @@ class RegionData: RegionName.SHOP_ZEEK: RegionData(), RegionName.SHOP_BRAM: RegionData(), RegionName.FINAL_BOSS: RegionData(boss=True), - RegionName.ENTRANCE: RegionData( + RegionName.GT_ENTRANCE: RegionData( exits=( - RegionName.BESTIARY, + RegionName.GT_BESTIARY, RegionName.GT_BABY_GORGON, RegionName.GT_BOTTOM, RegionName.GT_VOID, @@ -310,7 +310,7 @@ class RegionData: multiplier=True, portal=True, ), - RegionName.BESTIARY: RegionData(), + RegionName.GT_BESTIARY: RegionData(), RegionName.GT_BABY_GORGON: RegionData(), RegionName.GT_BOTTOM: RegionData( exits=( diff --git a/worlds/astalon/rules.py b/worlds/astalon/rules.py index f77627c3657e..27c0f88a641f 100644 --- a/worlds/astalon/rules.py +++ b/worlds/astalon/rules.py @@ -139,8 +139,10 @@ def __call__(self, state: CollectionState, *items: T, disabled_case: Union[bool, (R.SHOP, R.SHOP_KYULI): lambda rules, state: rules.has(state, Character.KYULI), (R.SHOP, R.SHOP_ZEEK): lambda rules, state: rules.has(state, Character.ZEEK), (R.SHOP, R.SHOP_BRAM): lambda rules, state: rules.has(state, Character.BRAM), - (R.ENTRANCE, R.BESTIARY): lambda rules, state: (rules.blue_doors(state, BlueDoor.GT_HUNTER, disabled_case=True)), - (R.ENTRANCE, R.GT_BABY_GORGON): lambda rules, state: ( + (R.GT_ENTRANCE, R.GT_BESTIARY): lambda rules, state: ( + rules.blue_doors(state, BlueDoor.GT_HUNTER, disabled_case=True) + ), + (R.GT_ENTRANCE, R.GT_BABY_GORGON): lambda rules, state: ( rules.has(state, Eye.GREEN) and ( rules.has(state, KeyItem.CLAW) @@ -151,28 +153,28 @@ def __call__(self, state: CollectionState, *items: T, disabled_case: Union[bool, ) ) ), - (R.ENTRANCE, R.GT_BOTTOM): lambda rules, state: ( + (R.GT_ENTRANCE, R.GT_BOTTOM): lambda rules, state: ( rules.switches( state, Switch.GT_2ND_ROOM, disabled_case=lambda rules, state: rules.white_doors(state, WhiteDoor.GT_START, disabled_case=True), ) ), - (R.ENTRANCE, R.GT_VOID): lambda rules, state: rules.has(state, KeyItem.VOID), - (R.ENTRANCE, R.GT_GORGONHEART): lambda rules, state: ( + (R.GT_ENTRANCE, R.GT_VOID): lambda rules, state: rules.has(state, KeyItem.VOID), + (R.GT_ENTRANCE, R.GT_GORGONHEART): lambda rules, state: ( rules.switches(state, Switch.GT_GH_SHORTCUT, disabled_case=False) or rules.has_any(state, KeyItem.ICARUS, KeyItem.BOOTS) ), - (R.ENTRANCE, R.GT_BOSS): lambda rules, state: rules.elevator(state, Elevator.GT_2), - (R.ENTRANCE, R.MECH_ZEEK_CONNECTION): lambda rules, state: rules.elevator(state, Elevator.MECH_1), - (R.ENTRANCE, R.MECH_BOSS): lambda rules, state: rules.elevator(state, Elevator.MECH_2), - (R.ENTRANCE, R.HOTP_ELEVATOR): lambda rules, state: rules.elevator(state, Elevator.HOTP), - (R.ENTRANCE, R.HOTP_BOSS): lambda rules, state: rules.elevator(state, Elevator.ROA_1), - (R.ENTRANCE, R.ROA_ELEVATOR): lambda rules, state: rules.elevator(state, Elevator.ROA_2), - (R.ENTRANCE, R.APEX): lambda rules, state: rules.elevator(state, Elevator.APEX), - (R.ENTRANCE, R.CATA_ELEVATOR): lambda rules, state: rules.elevator(state, Elevator.CATA_1), - (R.ENTRANCE, R.CATA_BOSS): lambda rules, state: rules.elevator(state, Elevator.CATA_2), - (R.ENTRANCE, R.TR_START): lambda rules, state: rules.elevator(state, Elevator.TR), + (R.GT_ENTRANCE, R.GT_BOSS): lambda rules, state: rules.elevator(state, Elevator.GT_2), + (R.GT_ENTRANCE, R.MECH_ZEEK_CONNECTION): lambda rules, state: rules.elevator(state, Elevator.MECH_1), + (R.GT_ENTRANCE, R.MECH_BOSS): lambda rules, state: rules.elevator(state, Elevator.MECH_2), + (R.GT_ENTRANCE, R.HOTP_ELEVATOR): lambda rules, state: rules.elevator(state, Elevator.HOTP), + (R.GT_ENTRANCE, R.HOTP_BOSS): lambda rules, state: rules.elevator(state, Elevator.ROA_1), + (R.GT_ENTRANCE, R.ROA_ELEVATOR): lambda rules, state: rules.elevator(state, Elevator.ROA_2), + (R.GT_ENTRANCE, R.APEX): lambda rules, state: rules.elevator(state, Elevator.APEX), + (R.GT_ENTRANCE, R.CATA_ELEVATOR): lambda rules, state: rules.elevator(state, Elevator.CATA_1), + (R.GT_ENTRANCE, R.CATA_BOSS): lambda rules, state: rules.elevator(state, Elevator.CATA_2), + (R.GT_ENTRANCE, R.TR_START): lambda rules, state: rules.elevator(state, Elevator.TR), (R.GT_BOTTOM, R.GT_VOID): lambda rules, state: rules.has(state, Eye.RED), (R.GT_BOTTOM, R.GT_GORGONHEART): lambda rules, state: ( rules.white_doors(state, WhiteDoor.GT_MAP, disabled_case=True)