50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from dataclasses import dataclass
 | |
| from Options import Choice, Range, DefaultOnToggle, PerGameCommonOptions
 | |
| 
 | |
| 
 | |
| class ExtraRanks(Range):
 | |
|     """
 | |
|     How many extra Undernet Ranks to add to the pool in place of filler items.
 | |
|     The more ranks there are, the faster the game will go.
 | |
|     Depending on your other options, you might not have enough filler items to replace.
 | |
|     If generation errors occur, consider reducing this value.
 | |
|     """
 | |
|     display_name = "Extra Undernet Ranks"
 | |
|     range_start = 0
 | |
|     range_end = 16
 | |
|     default = 0
 | |
| 
 | |
| 
 | |
| class IncludeJobs(DefaultOnToggle):
 | |
|     """
 | |
|     Whether Jobs can be included in logic.
 | |
|     """
 | |
|     display_name = "Include Jobs"
 | |
| 
 | |
| # Possible logic options:
 | |
| # - Include Number Trader
 | |
| # - Include Secret Area
 | |
| # - Overworld Item Restrictions
 | |
| # - Cybermetro Locked Shortcuts
 | |
| 
 | |
| 
 | |
| class TradeQuestHinting(Choice):
 | |
|     """
 | |
|     Whether NPCs offering Chip Trades should show what item they provide.
 | |
|     None - NPCs will not provide any information on what item they will give
 | |
|     Partial - NPCs will state if an item is progression or not, but not the specific item
 | |
|     Full - NPCs will state what item they will give, providing an Archipelago Hint when doing so
 | |
|     """
 | |
|     display_name = "Trade Quest Hinting"
 | |
|     option_none = 0
 | |
|     option_partial = 1
 | |
|     option_full = 2
 | |
|     default = 2
 | |
| 
 | |
| 
 | |
| @dataclass
 | |
| class MMBN3Options(PerGameCommonOptions):
 | |
|     extra_ranks: ExtraRanks
 | |
|     include_jobs: IncludeJobs
 | |
|     trade_quest_hinting: TradeQuestHinting
 | |
|      | 
