diff options
Diffstat (limited to 'apworld/options.py')
| -rw-r--r-- | apworld/options.py | 20 |
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 @@ | |||
| 1 | from dataclasses import dataclass | 1 | from dataclasses import dataclass |
| 2 | 2 | ||
| 3 | from Options import PerGameCommonOptions, Toggle, Choice, DefaultOnToggle, Range, OptionSet | 3 | from Options import PerGameCommonOptions, Toggle, Choice, DefaultOnToggle, Range, OptionSet, FreeText |
| 4 | 4 | ||
| 5 | 5 | ||
| 6 | class ShuffleDoors(DefaultOnToggle): | 6 | class 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 | ||
| 181 | class 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 | |||
| 181 | class StrictPurpleEnding(DefaultOnToggle): | 190 | class 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 | ||
| 268 | class 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 |
| 260 | class Lingo2Options(PerGameCommonOptions): | 276 | class 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 | ||
