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