67 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | from Options import DefaultOnToggle, DeathLink, Range, Accessibility, Choice | ||
|  | 
 | ||
|  | 
 | ||
|  | class MessengerAccessibility(Accessibility): | ||
|  |     default = Accessibility.option_locations | ||
|  |     # defaulting to locations accessibility since items makes certain items self-locking | ||
|  |     __doc__ = Accessibility.__doc__.replace(f"default {Accessibility.default}", f"default {default}") | ||
|  | 
 | ||
|  | 
 | ||
|  | class Logic(DefaultOnToggle): | ||
|  |     """Whether the seed should be guaranteed completable.""" | ||
|  |     display_name = "Use Logic" | ||
|  | 
 | ||
|  | 
 | ||
|  | class PowerSeals(DefaultOnToggle): | ||
|  |     """Whether power seal locations should be randomized.""" | ||
|  |     display_name = "Shuffle Seals" | ||
|  | 
 | ||
|  | 
 | ||
|  | class Goal(Choice): | ||
|  |     """Requirement to finish the game. Power Seal Hunt will force power seal locations to be shuffled.""" | ||
|  |     display_name = "Goal" | ||
|  |     option_open_music_box = 0 | ||
|  |     option_power_seal_hunt = 1 | ||
|  | 
 | ||
|  | 
 | ||
|  | class MusicBox(DefaultOnToggle): | ||
|  |     """Whether the music box gauntlet needs to be done.""" | ||
|  |     display_name = "Music Box Gauntlet" | ||
|  | 
 | ||
|  | 
 | ||
|  | class NotesNeeded(Range): | ||
|  |     """How many notes are needed to access the Music Box.""" | ||
|  |     display_name = "Notes Needed" | ||
|  |     range_start = 1 | ||
|  |     range_end = 6 | ||
|  |     default = range_end | ||
|  | 
 | ||
|  | 
 | ||
|  | class AmountSeals(Range): | ||
|  |     """Number of power seals that exist in the item pool when power seal hunt is the goal.""" | ||
|  |     display_name = "Total Power Seals" | ||
|  |     range_start = 1 | ||
|  |     range_end = 45 | ||
|  |     default = range_end | ||
|  | 
 | ||
|  | 
 | ||
|  | class RequiredSeals(Range): | ||
|  |     """Percentage of total seals required to open the shop chest.""" | ||
|  |     display_name = "Percent Seals Required" | ||
|  |     range_start = 10 | ||
|  |     range_end = 100 | ||
|  |     default = range_end | ||
|  | 
 | ||
|  | 
 | ||
|  | messenger_options = { | ||
|  |     "accessibility": MessengerAccessibility, | ||
|  |     "enable_logic": Logic, | ||
|  |     "shuffle_seals": PowerSeals, | ||
|  |     "goal": Goal, | ||
|  |     "music_box": MusicBox, | ||
|  |     "notes_needed": NotesNeeded, | ||
|  |     "total_seals": AmountSeals, | ||
|  |     "percent_seals_required": RequiredSeals, | ||
|  |     "death_link": DeathLink, | ||
|  | } |