|
1 | 1 | from typing import List, Optional |
2 | 2 |
|
3 | 3 | from .constants.home_points import * |
4 | | -from .constants.keys import * |
5 | 4 | from .locations import LocationData |
6 | 5 | from .options import CrystalProjectOptions |
7 | 6 | from .rules import CrystalProjectLogic |
8 | 7 |
|
9 | 8 |
|
10 | 9 | #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 |
11 | 11 | def get_home_points(player: int, options: Optional[CrystalProjectOptions]) -> List[LocationData]: |
12 | 12 | logic = CrystalProjectLogic(player, options) # pyright: ignore [reportArgumentType] |
13 | 13 | home_point_table: List[LocationData] = [ |
@@ -83,23 +83,31 @@ def get_home_points(player: int, options: Optional[CrystalProjectOptions]) -> Li |
83 | 83 | #The Open Sea |
84 | 84 | LocationData(HOMEPOINT_SAILORS_RAFT_AP_REGION, HOMEPOINT_SAILORS_RAFT_NAME, 3775), |
85 | 85 | #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), |
88 | 90 | LocationData(HOMEPOINT_SHOUDU_PORT_AP_REGION, HOMEPOINT_SHOUDU_PORT_NAME, 672), |
89 | 91 | 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), |
93 | 98 | #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), |
95 | 101 | #Ganymede Shrine |
96 | 102 | LocationData(HOMEPOINT_GANYMEDE_SHRINE_AP_REGION, HOMEPOINT_GANYMEDE_SHRINE_NAME, 1573), |
97 | 103 | #Beaurior Volcano |
98 | 104 | LocationData(HOMEPOINT_BEAURIOR_ROCK_AP_REGION, HOMEPOINT_BEAURIOR_ROCK_NAME, 1792), |
99 | 105 | # 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), |
101 | 108 | #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), |
103 | 111 | #Quintar Reserve |
104 | 112 | LocationData(HOMEPOINT_DIONE_SHRINE_AP_REGION, HOMEPOINT_DIONE_SHRINE_NAME, 1595), |
105 | 113 | #Dione Shrine |
|
0 commit comments