about summary refs log tree commit diff stats
path: root/apworld/options.py
diff options
context:
space:
mode:
Diffstat (limited to 'apworld/options.py')
-rw-r--r--apworld/options.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/apworld/options.py b/apworld/options.py index 6fe6d8d..c1eab33 100644 --- a/apworld/options.py +++ b/apworld/options.py
@@ -1,6 +1,6 @@
1from dataclasses import dataclass 1from dataclasses import dataclass
2 2
3from Options import PerGameCommonOptions, Toggle, Choice, DefaultOnToggle, Range, OptionSet 3from Options import PerGameCommonOptions, Toggle, Choice, DefaultOnToggle, Range, OptionSet, FreeText
4 4
5 5
6class ShuffleDoors(DefaultOnToggle): 6class ShuffleDoors(DefaultOnToggle):
@@ -178,6 +178,15 @@ class DaedalusRoofAccess(Toggle):
178 display_name = "Allow Daedalus Roof Access" 178 display_name = "Allow Daedalus Roof Access"
179 179
180 180
181class CustomMintEnding(FreeText):
182 """
183 If not blank, this will add a new panel that must be solved before collecting Mint Ending (EXIT in the Control
184 Center). The panel will only require typing the text provided for this option, which means the choice of letters
185 here has an impact on logic.
186 """
187 display_name = "Custom Mint Ending"
188
189
181class StrictPurpleEnding(DefaultOnToggle): 190class StrictPurpleEnding(DefaultOnToggle):
182 """ 191 """
183 If enabled, the player will be required to have all purple (level 1) letters in order to get Purple Ending. 192 If enabled, the player will be required to have all purple (level 1) letters in order to get Purple Ending.
@@ -256,6 +265,13 @@ class TrapPercentage(Range):
256 default = 0 265 default = 0
257 266
258 267
268class ShuffleMusic(Toggle):
269 """
270 If enabled, every map will be assigned a random music track.
271 """
272 display_name = "Shuffle Music"
273
274
259@dataclass 275@dataclass
260class Lingo2Options(PerGameCommonOptions): 276class Lingo2Options(PerGameCommonOptions):
261 shuffle_doors: ShuffleDoors 277 shuffle_doors: ShuffleDoors
@@ -273,9 +289,11 @@ class Lingo2Options(PerGameCommonOptions):
273 enable_gift_maps: EnableGiftMaps 289 enable_gift_maps: EnableGiftMaps
274 daedalus_only: DaedalusOnly 290 daedalus_only: DaedalusOnly
275 daedalus_roof_access: DaedalusRoofAccess 291 daedalus_roof_access: DaedalusRoofAccess
292 custom_mint_ending: CustomMintEnding
276 strict_purple_ending: StrictPurpleEnding 293 strict_purple_ending: StrictPurpleEnding
277 strict_cyan_ending: StrictCyanEnding 294 strict_cyan_ending: StrictCyanEnding
278 victory_condition: VictoryCondition 295 victory_condition: VictoryCondition
279 endings_requirement: EndingsRequirement 296 endings_requirement: EndingsRequirement
280 masteries_requirement: MasteriesRequirement 297 masteries_requirement: MasteriesRequirement
281 trap_percentage: TrapPercentage 298 trap_percentage: TrapPercentage
299 shuffle_music: ShuffleMusic