90 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			90 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | from typing import Dict | ||
|  | from Options import Choice, DeathLink, DefaultOnToggle, Option, Range | ||
|  | 
 | ||
|  | 
 | ||
|  | class PathOption(Choice): | ||
|  |     """Choose where you would like Hidden Chest and Pedestal checks to be placed.
 | ||
|  |     Main Path includes the main 7 biomes you typically go through to get to the final boss. | ||
|  |     Side Path includes the Lukki Lair and Fungal Caverns. 9 biomes total. | ||
|  |     Main World includes the full world (excluding parallel worlds). 14 biomes total. | ||
|  |     Note: The Collapsed Mines have been combined into the Mines as the biome is tiny."""
 | ||
|  |     display_name = "Path Option" | ||
|  |     option_main_path = 1 | ||
|  |     option_side_path = 2 | ||
|  |     option_main_world = 3 | ||
|  |     default = 1 | ||
|  | 
 | ||
|  | 
 | ||
|  | class HiddenChests(Range): | ||
|  |     """Number of hidden chest checks added to the applicable biomes.""" | ||
|  |     display_name = "Hidden Chests per Biome" | ||
|  |     range_start = 0 | ||
|  |     range_end = 20 | ||
|  |     default = 3 | ||
|  | 
 | ||
|  | 
 | ||
|  | class PedestalChecks(Range): | ||
|  |     """Number of checks that will spawn on pedestals in the applicable biomes.""" | ||
|  |     display_name = "Pedestal Checks per Biome" | ||
|  |     range_start = 0 | ||
|  |     range_end = 20 | ||
|  |     default = 6 | ||
|  | 
 | ||
|  | 
 | ||
|  | class Traps(DefaultOnToggle): | ||
|  |     """Whether negative effects on the Noita world are added to the item pool.""" | ||
|  |     display_name = "Traps" | ||
|  | 
 | ||
|  | 
 | ||
|  | class OrbsAsChecks(Choice): | ||
|  |     """Decides whether finding the orbs that naturally spawn in the world count as checks.
 | ||
|  |     The Main Path option includes only the Floating Island and Abyss Orb Room orbs. | ||
|  |     The Side Path option includes the Main Path, Magical Temple, Lukki Lair, and Lava Lake orbs. | ||
|  |     The Main World option includes all 11 orbs."""
 | ||
|  |     display_name = "Orbs as Location Checks" | ||
|  |     option_no_orbs = 0 | ||
|  |     option_main_path = 1 | ||
|  |     option_side_path = 2 | ||
|  |     option_main_world = 3 | ||
|  |     default = 0 | ||
|  | 
 | ||
|  | 
 | ||
|  | class BossesAsChecks(Choice): | ||
|  |     """Makes bosses count as location checks. The boss only needs to die, you do not need the kill credit.
 | ||
|  |     The Main Path option includes Gate Guardian, Suomuhauki, and Kolmisilmä. | ||
|  |     The Side Path option includes the Main Path bosses, Sauvojen Tuntija, and Ylialkemisti. | ||
|  |     The All Bosses option includes all 12 bosses."""
 | ||
|  |     display_name = "Bosses as Location Checks" | ||
|  |     option_no_bosses = 0 | ||
|  |     option_main_path = 1 | ||
|  |     option_side_path = 2 | ||
|  |     option_all_bosses = 3 | ||
|  |     default = 0 | ||
|  | 
 | ||
|  | 
 | ||
|  | # Note: the Sampo is an item that is picked up to trigger the boss fight at the normal ending location. | ||
|  | # The sampo is required for every ending (having orbs and bringing the sampo to a different spot changes the ending). | ||
|  | class VictoryCondition(Choice): | ||
|  |     """Greed is to get to the bottom, beat the boss, and win the game.
 | ||
|  |     Pure is to get the 11 orbs in the main world, grab the sampo, and bring it to the mountain altar. | ||
|  |     Peaceful is to get all 33 orbs in main + parallel, grab the sampo, and bring it to the mountain altar. | ||
|  |     Orbs will be added to the randomizer pool according to what victory condition you chose. | ||
|  |     The base game orbs will not count towards these victory conditions."""
 | ||
|  |     display_name = "Victory Condition" | ||
|  |     option_greed_ending = 0 | ||
|  |     option_pure_ending = 1 | ||
|  |     option_peaceful_ending = 2 | ||
|  |     default = 0 | ||
|  | 
 | ||
|  | 
 | ||
|  | noita_options: Dict[str, type(Option)] = { | ||
|  |     "death_link": DeathLink, | ||
|  |     "bad_effects": Traps, | ||
|  |     "victory_condition": VictoryCondition, | ||
|  |     "path_option": PathOption, | ||
|  |     "hidden_chests": HiddenChests, | ||
|  |     "pedestal_checks": PedestalChecks, | ||
|  |     "orbs_as_checks": OrbsAsChecks, | ||
|  |     "bosses_as_checks": BossesAsChecks, | ||
|  | } |