39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | import typing | ||
|  | from Options import Choice, Option, Range | ||
|  | 
 | ||
|  | 
 | ||
|  | class IncomeBoost(Range): | ||
|  |     """How much extra income the player gets per turn per boost received.""" | ||
|  |     display_name = "Income Boost" | ||
|  |     range_start = 0 | ||
|  |     range_end = 100 | ||
|  |     default = 25 | ||
|  | 
 | ||
|  | 
 | ||
|  | class CommanderDefenseBoost(Range): | ||
|  |     """How much extra defense the player's commander gets per boost received.""" | ||
|  |     display_name = "Commander Defense Boost" | ||
|  |     range_start = 0 | ||
|  |     range_end = 8 | ||
|  |     default = 2 | ||
|  | 
 | ||
|  | 
 | ||
|  | class CommanderChoice(Choice): | ||
|  |     """How the player's commander is selected for missions.
 | ||
|  |     Locked Random: The player's commander is randomly predetermined for each level. | ||
|  |     Unlockable Factions: The player starts with Mercival and can unlock playable factions. | ||
|  |     Random Starting Faction:  The player starts with a random starting faction and can unlock the rest. | ||
|  |     When playing with unlockable factions, faction items are added to the pool. | ||
|  |     Extra faction items after the first also reward starting Groove charge."""
 | ||
|  |     display_name = "Commander Choice" | ||
|  |     option_locked_random = 0 | ||
|  |     option_unlockable_factions = 1 | ||
|  |     option_random_starting_faction = 2 | ||
|  | 
 | ||
|  | 
 | ||
|  | wargroove_options: typing.Dict[str, type(Option)] = { | ||
|  |     "income_boost": IncomeBoost, | ||
|  |     "commander_defense_boost": CommanderDefenseBoost, | ||
|  |     "commander_choice": CommanderChoice | ||
|  | } |