39 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
| import typing
 | |
| from dataclasses import dataclass
 | |
| from Options import Option, DeathLink, Range, Toggle, PerGameCommonOptions
 | |
| 
 | |
| class DoorCost(Range):
 | |
|     """Amount of Trinkets required to enter Areas. Set to 0 to disable artificial locks."""
 | |
|     display_name = "Door Cost"
 | |
|     range_start = 0
 | |
|     range_end = 3
 | |
|     default = 3
 | |
| 
 | |
| class AreaCostRandomizer(Toggle):
 | |
|     """Randomize which Area requires which set of DoorCost Trinkets"""
 | |
|     display_name = "Area Cost Randomizer"
 | |
| 
 | |
| class DeathLinkAmnesty(Range):
 | |
|     """Amount of Deaths to take before sending a DeathLink signal, for balancing difficulty"""
 | |
|     display_name = "Death Link Amnesty"
 | |
|     range_start = 0
 | |
|     range_end = 30
 | |
|     default = 15
 | |
| 
 | |
| class AreaRandomizer(Toggle):
 | |
|     """Randomize Entrances to Areas"""
 | |
|     display_name = "Area Randomizer"
 | |
| 
 | |
| class MusicRandomizer(Toggle):
 | |
|     """Randomize Music"""
 | |
|     display_name = "Music Randomizer"
 | |
| 
 | |
| @dataclass
 | |
| class V6Options(PerGameCommonOptions):
 | |
|     music_rando: MusicRandomizer
 | |
|     area_rando: AreaRandomizer
 | |
|     door_cost: DoorCost
 | |
|     area_cost: AreaCostRandomizer
 | |
|     death_link: DeathLink
 | |
|     death_link_amnesty: DeathLinkAmnesty
 |