Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions worlds/crystal_project/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
from typing import List, Set, Dict, Any
from worlds.AutoWorld import World, WebWorld
from BaseClasses import Item, Tutorial, MultiWorld, CollectionState, ItemClassification
from Options import OptionError

class CrystalProjectWeb(WebWorld):
theme = "jungle"
Expand Down Expand Up @@ -300,7 +301,7 @@ def create_regions(self) -> None:
starting_passes_list.append(item_name)
break
if not is_inv_pass_for_included_region:
raise Exception(f"For player {self.player_name}: YAML settings were contradictory. Starting inventory contains {item_name}, "
raise OptionError(f"For player {self.player_name}: YAML settings were contradictory. Starting inventory contains {item_name}, "
f"but that region is not in {self.options.included_regions}. Change settings and regenerate.")

for item_name in self.options.start_inventory_from_pool.keys():
Expand All @@ -314,7 +315,7 @@ def create_regions(self) -> None:
starting_passes_list.append(item_name)
break
if not is_inv_pool_pass_for_included_region:
raise Exception(f"For player {self.player_name}: YAML settings were contradictory. Starting inventory from pool contains {item_name}, "
raise OptionError(f"For player {self.player_name}: YAML settings were contradictory. Starting inventory from pool contains {item_name}, "
f"but that region is not in {self.options.included_regions}. Change settings and regenerate.")

if len(starting_passes_list) > 0:
Expand All @@ -333,7 +334,7 @@ def create_regions(self) -> None:
actual_starting_level_value = self.options.starting_level.value

if self.options.regionsanity_starter_region_max_level.value < self.options.regionsanity_starter_region_min_level.value:
raise Exception(f"For player {self.player_name}: YAML settings were contradictory. Regionsanity Starter Level Min Value {self.options.regionsanity_starter_region_min_level.value} "
raise OptionError(f"For player {self.player_name}: YAML settings were contradictory. Regionsanity Starter Level Min Value {self.options.regionsanity_starter_region_min_level.value} "
f"is higher than Regionsanity Starter Level Max Value {self.options.regionsanity_starter_region_max_level.value}. Change settings and regenerate.")

for ap_region in self.get_regions():
Expand Down Expand Up @@ -370,7 +371,7 @@ def create_regions(self) -> None:
self.options.starting_level.value = actual_starting_level_value

if len(valid_starting_regions) == 0:
raise Exception(f"For player {self.player_name}: YAML settings were too restrictive. No valid regions are between Regionsanity Starter Level Min Value {self.options.regionsanity_starter_region_min_level.value} "
raise OptionError(f"For player {self.player_name}: YAML settings were too restrictive. No valid regions are between Regionsanity Starter Level Min Value {self.options.regionsanity_starter_region_min_level.value} "
f"and Regionsanity Starter Level Max Value {self.options.regionsanity_starter_region_max_level.value}. Change settings and regenerate.")

self.starter_ap_region = self.random.choice(valid_starting_regions).name
Expand Down Expand Up @@ -483,7 +484,7 @@ def get_total_progressive_levels(self, max_progressive_levels: int) -> int:
potential_max_level = max_progressive_levels * potential_progressive_level_size

if self.options.max_level.value > potential_max_level:
raise Exception(f"For player {self.player_name}: yaml settings were too restrictive. Needed at least {-(level_up_amount // -potential_progressive_level_size)} Progressive Levels, but only room for {max_progressive_levels} Progressive Levels in the pool. "
raise OptionError(f"For player {self.player_name}: yaml settings were too restrictive. Needed at least {-(level_up_amount // -potential_progressive_level_size)} Progressive Levels, but only room for {max_progressive_levels} Progressive Levels in the pool. "
f"This is usually caused by mods that add more items than locations. Change settings and regenerate.")
else:
message = (f"For player {self.player_name}: yaml settings were too restrictive. Only room for {max_progressive_levels} Progressive Levels in the pool. "
Expand Down Expand Up @@ -852,4 +853,4 @@ def fill_slot_data(self) -> Dict[str, Any]:
"maximumPassivePoints": self.options.maximum_passive_points.value,
"startingPassivePoints": self.options.starting_passive_points.value,
"passivePointBoostSize": self.options.passive_point_boost_size.value,
}
}