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
							 | 
						||
| 
								 | 
							
								}
							 |