Skip to content

Commit 5ffc374

Browse files
committed
2 parents 579a356 + 030b2a7 commit 5ffc374

File tree

4 files changed

+32
-9
lines changed

4 files changed

+32
-9
lines changed

worlds/crystal_project/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class CrystalProjectWeb(WebWorld):
4040

4141
class CrystalProjectWorld(World):
4242
"""Crystal Project is a mix of old school job based jRPG mixed with a ton of 3D platforming and exploration."""
43-
apworld_version = "0.6.0"
43+
apworld_version = "0.6.1"
4444
game = "Crystal Project"
4545
options_dataclass = CrystalProjectOptions
4646
options: CrystalProjectOptions
@@ -155,7 +155,7 @@ def create_regions(self) -> None:
155155
all_passes_state.collect(self.create_item(region_pass), prevent_sweep=True)
156156
for region in self.get_regions():
157157
if region.can_reach(all_passes_state) and region.name != MENU and region.name != MODDED_ZONE:
158-
if len(region.locations) > 2:
158+
if len(region.locations) > 3:
159159
initially_reachable_regions.append(region)
160160
self.starter_region = self.random.choice(initially_reachable_regions).name
161161
# logging.getLogger().info("Starting region is " + self.starter_region)

worlds/crystal_project/home_points.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -79,13 +79,13 @@ def get_home_points(player: Optional[int], options: Optional[CrystalProjectOptio
7979
LocationData(ANCIENT_RESERVOIR, "Ancient Reservoir Entrance", 1124),
8080
LocationData(ANCIENT_RESERVOIR, "Main Reservoir Chamber", 1660),
8181

82-
LocationData(SHOUDU_PROVINCE, "Shoudu Fields", 576, lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE, player) or state.can_reach(QUINTAR_RESERVE, player)),
83-
LocationData(SHOUDU_PROVINCE, "Shoudu Market", 577, lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE, player) or state.can_reach(QUINTAR_RESERVE, player)),
82+
LocationData(SHOUDU_PROVINCE, "Shoudu Fields", 576, lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE, player=player) or state.can_reach(QUINTAR_RESERVE, player=player)),
83+
LocationData(SHOUDU_PROVINCE, "Shoudu Market", 577, lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE, player=player) or state.can_reach(QUINTAR_RESERVE, player=player)),
8484
LocationData(SHOUDU_PROVINCE, "Shoudu Port", 672),
85-
LocationData(SHOUDU_PROVINCE, "Shanty Inn", 1523, lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE, player) or state.can_reach(QUINTAR_RESERVE, player)),
86-
LocationData(SHOUDU_PROVINCE, "Sky Arena", 1524, lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(QUINTAR_RESERVE, player)),
87-
LocationData(SHOUDU_PROVINCE, "Prize Counter", 2731, lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE, player) or state.can_reach(QUINTAR_RESERVE, player)),
88-
LocationData(SHOUDU_PROVINCE, "Shoudu Elevator", 3523, lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE, player) or state.can_reach(QUINTAR_RESERVE, player)),
85+
LocationData(SHOUDU_PROVINCE, "Shanty Inn", 1523, lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE, player=player) or state.can_reach(QUINTAR_RESERVE, player=player)),
86+
LocationData(SHOUDU_PROVINCE, "Sky Arena", 1524, lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(QUINTAR_RESERVE, player=player)),
87+
LocationData(SHOUDU_PROVINCE, "Prize Counter", 2731, lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE, player=player) or state.can_reach(QUINTAR_RESERVE, player=player)),
88+
LocationData(SHOUDU_PROVINCE, "Shoudu Elevator", 3523, lambda state: logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(GANYMEDE_SHRINE, player=player) or state.can_reach(QUINTAR_RESERVE, player=player)),
8989

9090
LocationData(GANYMEDE_SHRINE, "Ganymede Shrine", 1573),
9191

worlds/crystal_project/locations.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1312,7 +1312,7 @@ def get_bosses(player: int, options: CrystalProjectOptions) -> List[LocationData
13121312
LocationData(CAPITAL_SEQUOIA, "Capital Sequoia Boss - Niltsi Summon", 1109 + boss_index_offset, lambda state: state.has(SUMMONER_JOB, player) and logic.is_area_in_level_range(state, 54)), #376, 178, -345 (Capital Sequoia (Maze) map) Monster ID: 93
13131313
LocationData(SALMON_BAY, "Salmon Bay Boss - Guaba Summon", 1138 + boss_index_offset, lambda state: state.has(SUMMONER_JOB, player) and logic.is_area_in_level_range(state, 58)), #-50, 91, -330 Monster ID: 94
13141314
LocationData(THE_UNDERCITY, "Underpass Boss - Pah Summon", 1130 + boss_index_offset, lambda state: state.has(SUMMONER_JOB, player) and (logic.has_swimming(state) or logic.has_glide(state)) and logic.is_area_in_level_range(state, 58)), #614, 91, -213 Monster ID: 97
1315-
LocationData(SHOUDU_PROVINCE, "Shoudu Province Boss - Tira Summon", 1132 + boss_index_offset, lambda state: state.has(SUMMONER_JOB, player) and (logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(QUINTAR_RESERVE, player) or state.can_reach(GANYMEDE_SHRINE, player)) and logic.is_area_in_level_range(state, 57)), #(720, 138, -278) Monster ID: 98
1315+
LocationData(SHOUDU_PROVINCE, "Shoudu Province Boss - Tira Summon", 1132 + boss_index_offset, lambda state: state.has(SUMMONER_JOB, player) and (logic.has_vertical_movement(state) or logic.has_glide(state) or state.can_reach(QUINTAR_RESERVE, player=player) or state.can_reach(GANYMEDE_SHRINE, player=player)) and logic.is_area_in_level_range(state, 57)), #(720, 138, -278) Monster ID: 98
13161316
LocationData(LAKE_DELENDE, "Lake Delende Boss - Ioske Summon", 1111 + boss_index_offset, lambda state: state.has(SUMMONER_JOB, player) and logic.is_area_in_level_range(state, 57)), #97, 126, -211 Monster ID: 92
13171317
LocationData(TALL_TALL_HEIGHTS, "Tall, Tall Heights Boss - Pamoa Summon", 1136 + boss_index_offset, lambda state: state.has(SUMMONER_JOB, player) and logic.has_vertical_movement(state) and logic.has_glide(state) and logic.is_area_in_level_range(state, 53)), #498, 218, -412 Monster ID: 91
13181318
LocationData(JIDAMBA_TANGLE, "Jidamba Tangle Boss - Juses Summon", 1134 + boss_index_offset, lambda state: state.has(SUMMONER_JOB, player) and (logic.has_swimming(state) or logic.has_glide(state)) and logic.is_area_in_level_range(state, 58)), #(672, 124, 106) Monster ID: 99
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
from .bases import CrystalProjectTestBase
2+
3+
class TestStuffingTheMostItemsIntoBeginnerRegions(CrystalProjectTestBase):
4+
options = {
5+
"goal": 2, #clamshells
6+
"clamshellGoalQuantity": 99,
7+
"extraClamshellsInPool": 99,
8+
"includedRegions": 0, #beginner
9+
"jobRando": 2, #full
10+
"startingJobQuantity": 1,
11+
"killBossesMode": 0,
12+
"shopsanity": 0,
13+
"regionsanity": 1,
14+
"progressiveLevelSize": 3,
15+
"maxLevel": 99,
16+
"keyMode": 2, #vanilla
17+
"startWithTreasureFinder": 0,
18+
"startWithMaps": 1,
19+
"includeSummonAbilities": 1,
20+
"includeScholarAbilities": 1
21+
}
22+
#Todo: turn off start with maps in the future once we get enough item massaging for that to not break unit tests
23+
run_default_tests = True

0 commit comments

Comments
 (0)