This commit is contained in:
CookieCat
2023-09-08 21:13:16 -04:00
parent 32561dde3c
commit 6c56f79abf
5 changed files with 14 additions and 5 deletions

View File

@@ -237,4 +237,4 @@ def create_dw_regions(world: World):
full_clear.progress_type = LocationProgressType.EXCLUDED
dw.locations.append(main_objective)
dw.locations.append(full_clear)
dw.locations.append(full_clear)

View File

@@ -377,8 +377,8 @@ def create_enemy_events(world: World):
if (area == "Bon Voyage!" or area == "Time Rift - Deep Sea") and not world.is_dlc1():
continue
if area == "Time Rift - Tour" and not world.is_dlc1() \
or world.multiworld.ExcludeTour[world.player].value > 0:
if area == "Time Rift - Tour" and (not world.is_dlc1()
or world.multiworld.ExcludeTour[world.player].value > 0):
continue
if area == "Bluefin Tunnel" and not world.is_dlc2():

View File

@@ -90,8 +90,7 @@ def create_itempool(world: World) -> List[Item]:
itempool += create_multiple_items(world, name, item_frequencies.get(name, 1), item_type)
total_locations: int = get_total_locations(world)
itempool += create_junk_items(world, total_locations - len(itempool))
itempool += create_junk_items(world, get_total_locations(world) - len(itempool))
return itempool

View File

@@ -79,6 +79,10 @@ def is_location_valid(world: World, location: str) -> bool:
and location in storybook_pages.keys():
return False
if world.multiworld.ShuffleActContracts[world.player].value == 0 \
and location in contract_locations.keys():
return False
if location not in world.shop_locs and location in shop_locations:
return False

View File

@@ -601,6 +601,12 @@ def randomize_act_entrances(world: World):
if region.name in blacklisted_combos.keys() and candidate.name in blacklisted_combos[region.name]:
continue
# Prevent Contractual Obligations from being inaccessible if contracts are not shuffled
if world.multiworld.ShuffleActContracts[world.player].value == 0:
if (region.name == "Your Contract has Expired" or region.name == "The Subcon Well") \
and candidate.name == "Contractual Obligations":
continue
if world.multiworld.FinaleShuffle[world.player].value > 0 and region.name in chapter_finales:
if candidate.name not in chapter_finales:
continue