forked from NikolajDanger/APSly3
✨ Initial commit
This commit is contained in:
119
Sly3Options.py
Normal file
119
Sly3Options.py
Normal file
@@ -0,0 +1,119 @@
|
||||
from Options import (
|
||||
DeathLink,
|
||||
StartInventoryPool,
|
||||
PerGameCommonOptions,
|
||||
Choice,
|
||||
Toggle,
|
||||
DefaultOnToggle,
|
||||
Range,
|
||||
OptionGroup
|
||||
)
|
||||
from dataclasses import dataclass
|
||||
|
||||
class StartingEpisode(Choice):
|
||||
"""
|
||||
Select Which episode to start with.
|
||||
"""
|
||||
|
||||
display_name = "Starting Episode"
|
||||
option_An_Opera_of_Fear = 0
|
||||
option_Rumble_Down_Under = 1
|
||||
option_Flight_of_Fancy = 2
|
||||
option_A_Cold_Alliance = 3
|
||||
option_Dead_Men_Tell_No_Tales = 4
|
||||
default = 0
|
||||
|
||||
class Goal(Choice):
|
||||
"""
|
||||
Which boss you must defeat to goal.
|
||||
"""
|
||||
display_name = "Goal"
|
||||
option_Don_Octavio = 0
|
||||
option_Dark_Mask = 1
|
||||
option_Black_Baron = 2
|
||||
option_General_Tsao = 3
|
||||
option_Captain_LeFwee = 4
|
||||
option_Dr_M = 5
|
||||
option_All_Bosses = 6
|
||||
default = 5
|
||||
|
||||
|
||||
class IncludeMegaJump(Toggle):
|
||||
"""
|
||||
Add the Mega Jump ability to the pool.
|
||||
"""
|
||||
|
||||
display_name = "Include Mega Jump"
|
||||
|
||||
|
||||
class CoinsMinimum(Range):
|
||||
"""
|
||||
The minimum number of coins you'll receive when you get a "Coins" filler
|
||||
item.
|
||||
"""
|
||||
|
||||
display_name = "Coins Minimum"
|
||||
range_start = 0
|
||||
range_end = 1000
|
||||
default = 50
|
||||
|
||||
|
||||
class CoinsMaximum(Range):
|
||||
"""
|
||||
The maximum number of coins you'll receive when you get a "Coins" filler
|
||||
item.
|
||||
"""
|
||||
|
||||
display_name = "Coins Maximum"
|
||||
range_start = 0
|
||||
range_end = 1000
|
||||
default = 200
|
||||
|
||||
|
||||
class ThiefNetCostMinimum(Range):
|
||||
"""
|
||||
The minimum number of coins items on ThiefNet will cost.
|
||||
"""
|
||||
|
||||
display_name = "ThiefNet Cost Minimum"
|
||||
range_start = 0
|
||||
range_end = 9999
|
||||
default = 200
|
||||
|
||||
|
||||
class ThiefNetCostMaximum(Range):
|
||||
"""
|
||||
The maximum number of coins items on ThiefNet will cost.
|
||||
"""
|
||||
|
||||
display_name = "ThiefNet Cost Maximum"
|
||||
range_start = 0
|
||||
range_end = 9999
|
||||
default = 2000
|
||||
|
||||
@dataclass
|
||||
class Sly3Options(PerGameCommonOptions):
|
||||
start_inventory_from_pool: StartInventoryPool
|
||||
death_link: DeathLink
|
||||
starting_episode: StartingEpisode
|
||||
goal: Goal
|
||||
include_mega_jump: IncludeMegaJump
|
||||
coins_minimum: CoinsMinimum
|
||||
coins_maximum: CoinsMaximum
|
||||
thiefnet_minimum: ThiefNetCostMinimum
|
||||
thiefnet_maximum: ThiefNetCostMaximum
|
||||
|
||||
sly3_option_groups = [
|
||||
OptionGroup("Goal",[
|
||||
Goal
|
||||
]),
|
||||
OptionGroup("Items",[
|
||||
IncludeMegaJump,
|
||||
CoinsMinimum,
|
||||
CoinsMaximum
|
||||
]),
|
||||
OptionGroup("Locations",[
|
||||
ThiefNetCostMinimum,
|
||||
ThiefNetCostMaximum
|
||||
])
|
||||
]
|
||||
Reference in New Issue
Block a user