Skip to content

Commit 32a0ba8

Browse files
removed rules from home point locations, because no home point location should have any rules on it since you can get a teleport item to get there instantly; (until i fix them, Beaurior, Shoudu, and Undercity Home Points will be in logic too early) doing this now to add region pass check on the c# side to make sure no one can get a home point location's item if they don't have the region pass
1 parent 5763b6e commit 32a0ba8

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

worlds/crystal_project/home_point_locations.py

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
from typing import List, Optional
22

33
from .constants.home_points import *
4-
from .constants.keys import *
54
from .locations import LocationData
65
from .options import CrystalProjectOptions
76
from .rules import CrystalProjectLogic
87

98

109
#Remember if you update the AP Region a Home Point is in or its name, go change it in the Menu connections function in the region.py file
10+
#No rules on any Home Point locations bc if you get their teleport item, you can get there with no rules whatsoever
1111
def get_home_points(player: int, options: Optional[CrystalProjectOptions]) -> List[LocationData]:
1212
logic = CrystalProjectLogic(player, options) # pyright: ignore [reportArgumentType]
1313
home_point_table: List[LocationData] = [
@@ -83,23 +83,31 @@ def get_home_points(player: int, options: Optional[CrystalProjectOptions]) -> Li
8383
#The Open Sea
8484
LocationData(HOMEPOINT_SAILORS_RAFT_AP_REGION, HOMEPOINT_SAILORS_RAFT_NAME, 3775),
8585
#Shoudu Province
86-
LocationData(HOMEPOINT_SHOUDU_FIELDS_AP_REGION, HOMEPOINT_SHOUDU_FIELDS_NAME, 576, lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE_AP_REGION, player=player) or state.can_reach(QUINTAR_RESERVE_AP_REGION, player=player)),
87-
LocationData(HOMEPOINT_SHOUDU_MARKET_AP_REGION, HOMEPOINT_SHOUDU_MARKET_NAME, 577, lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE_AP_REGION, player=player) or state.can_reach(QUINTAR_RESERVE_AP_REGION, player=player)),
86+
#former rules: lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE_AP_REGION, player=player) or state.can_reach(QUINTAR_RESERVE_AP_REGION, player=player)
87+
LocationData(HOMEPOINT_SHOUDU_FIELDS_AP_REGION, HOMEPOINT_SHOUDU_FIELDS_NAME, 576),
88+
#former rules: lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE_AP_REGION, player=player) or state.can_reach(QUINTAR_RESERVE_AP_REGION, player=player)
89+
LocationData(HOMEPOINT_SHOUDU_MARKET_AP_REGION, HOMEPOINT_SHOUDU_MARKET_NAME, 577),
8890
LocationData(HOMEPOINT_SHOUDU_PORT_AP_REGION, HOMEPOINT_SHOUDU_PORT_NAME, 672),
8991
LocationData(HOMEPOINT_SHANTY_INN_AP_REGION, HOMEPOINT_SHANTY_INN_NAME, 1523),
90-
LocationData(HOMEPOINT_SKY_ARENA_AP_REGION, HOMEPOINT_SKY_ARENA_NAME, 1524, lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(QUINTAR_RESERVE_AP_REGION, player=player)),
91-
LocationData(HOMEPOINT_PRIZE_COUNTER_AP_REGION, HOMEPOINT_PRIZE_COUNTER_NAME, 2731, lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE_AP_REGION, player=player) or state.can_reach(QUINTAR_RESERVE_AP_REGION, player=player)),
92-
LocationData(HOMEPOINT_SHOUDU_ELEVATOR_AP_REGION, HOMEPOINT_SHOUDU_ELEVATOR_NAME, 3523, lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE_AP_REGION, player=player) or state.can_reach(QUINTAR_RESERVE_AP_REGION, player=player)),
92+
#former rules: lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(QUINTAR_RESERVE_AP_REGION, player=player)
93+
LocationData(HOMEPOINT_SKY_ARENA_AP_REGION, HOMEPOINT_SKY_ARENA_NAME, 1524),
94+
#former rules: lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE_AP_REGION, player=player) or state.can_reach(QUINTAR_RESERVE_AP_REGION, player=player)
95+
LocationData(HOMEPOINT_PRIZE_COUNTER_AP_REGION, HOMEPOINT_PRIZE_COUNTER_NAME, 2731),
96+
#former rules: lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE_AP_REGION, player=player) or state.can_reach(QUINTAR_RESERVE_AP_REGION, player=player)
97+
LocationData(HOMEPOINT_SHOUDU_ELEVATOR_AP_REGION, HOMEPOINT_SHOUDU_ELEVATOR_NAME, 3523),
9398
#The Undercity
94-
LocationData(HOMEPOINT_THE_UNDERCITY_AP_REGION, HOMEPOINT_THE_UNDERCITY_NAME, 1266, lambda state: logic.has_swimming(state) or logic.has_horizontal_movement(state) or logic.has_vertical_movement(state) or state.can_reach(GANYMEDE_SHRINE_AP_REGION, player=player) or state.can_reach(QUINTAR_RESERVE_AP_REGION, player=player)),
99+
#former rules: lambda state: logic.has_swimming(state) or logic.has_horizontal_movement(state) or logic.has_vertical_movement(state) or state.can_reach(GANYMEDE_SHRINE_AP_REGION, player=player) or state.can_reach(QUINTAR_RESERVE_AP_REGION, player=player)
100+
LocationData(HOMEPOINT_THE_UNDERCITY_AP_REGION, HOMEPOINT_THE_UNDERCITY_NAME, 1266),
95101
#Ganymede Shrine
96102
LocationData(HOMEPOINT_GANYMEDE_SHRINE_AP_REGION, HOMEPOINT_GANYMEDE_SHRINE_NAME, 1573),
97103
#Beaurior Volcano
98104
LocationData(HOMEPOINT_BEAURIOR_ROCK_AP_REGION, HOMEPOINT_BEAURIOR_ROCK_NAME, 1792),
99105
# TODO: put volcano peak in separate ap region instead of included in Beaurior Rock (also items nearby, not just homepoint stone)
100-
LocationData(HOMEPOINT_BEAURIOR_VOLCANO_PEAK_AP_REGION, HOMEPOINT_BEAURIOR_VOLCANO_PEAK_NAME, 3037, lambda state: logic.has_key(state, SMALL_KEY, 4) and logic.has_key(state, BEAURIOR_BOSS_KEY)),
106+
#former rules: lambda state: logic.has_key(state, SMALL_KEY, 4) and logic.has_key(state, BEAURIOR_BOSS_KEY)
107+
LocationData(HOMEPOINT_BEAURIOR_VOLCANO_PEAK_AP_REGION, HOMEPOINT_BEAURIOR_VOLCANO_PEAK_NAME, 3037),
101108
#Beaurior Rock
102-
LocationData(HOMEPOINT_BOSS_ROOM_AP_REGION, HOMEPOINT_BOSS_ROOM_NAME, 822, lambda state: logic.has_key(state, SMALL_KEY, 4)),
109+
#former rules: lambda state: logic.has_key(state, SMALL_KEY, 4)
110+
LocationData(HOMEPOINT_BOSS_ROOM_AP_REGION, HOMEPOINT_BOSS_ROOM_NAME, 822),
103111
#Quintar Reserve
104112
LocationData(HOMEPOINT_DIONE_SHRINE_AP_REGION, HOMEPOINT_DIONE_SHRINE_NAME, 1595),
105113
#Dione Shrine

0 commit comments

Comments
 (0)