diff options
Diffstat (limited to 'apworld/options.py')
-rw-r--r-- | apworld/options.py | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/apworld/options.py b/apworld/options.py index 5d1fd7c..4d9c3aa 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 | 3 | from Options import PerGameCommonOptions, Toggle, Choice, DefaultOnToggle, Range, OptionSet |
4 | 4 | ||
5 | 5 | ||
6 | class ShuffleDoors(DefaultOnToggle): | 6 | class ShuffleDoors(DefaultOnToggle): |
@@ -56,11 +56,7 @@ class ShuffleWorldports(Toggle): | |||
56 | """ | 56 | """ |
57 | Randomizes the connections between maps. This affects worldports only, which are the loading zones you walk into in | 57 | Randomizes the connections between maps. This affects worldports only, which are the loading zones you walk into in |
58 | order to change maps. This does not affect paintings, panels that teleport you, or certain other special connections | 58 | order to change maps. This does not affect paintings, panels that teleport you, or certain other special connections |
59 | like the one between The Shop and Control Center. Connections that depend on placing letters in keyholders are also | 59 | like the one between The Shop and Control Center. |
60 | currently not shuffled. | ||
61 | |||
62 | NOTE: It is highly recommended that you turn on Shuffle Control Center Colors when using Shuffle Worldports. Not | ||
63 | doing so runs the risk of creating an unfinishable seed. | ||
64 | """ | 60 | """ |
65 | display_name = "Shuffle Worldports" | 61 | display_name = "Shuffle Worldports" |
66 | 62 | ||
@@ -103,6 +99,23 @@ class EnableIcarus(Toggle): | |||
103 | display_name = "Enable Icarus" | 99 | display_name = "Enable Icarus" |
104 | 100 | ||
105 | 101 | ||
102 | class EnableGiftMaps(OptionSet): | ||
103 | """ | ||
104 | Controls whether the beta tester gift maps are randomized. By default, these are not accessible at all from within | ||
105 | the randomizer. Enabling at least one gift map will cause a panel to appear in The Entry's Starting Room. Gift maps | ||
106 | can be accessed by taking a player name that would ordinarily cause the game to load into a gift map, and entering | ||
107 | it into this panel. | ||
108 | |||
109 | In the base game, nothing happens once you complete a gift map. Masteries have been added to the gift maps in the | ||
110 | randomizer so that the player can be rewarded for completing them. | ||
111 | |||
112 | Note that the gift maps are intended only for specific people, and as a result may be frustrating or require | ||
113 | knowledge of inside jokes. The Crystalline is particularly difficult as it requires completing a parkour course. | ||
114 | """ | ||
115 | display_name = "Enable Gift Maps" | ||
116 | valid_keys = ["The Advanced", "The Charismatic", "The Crystalline", "The Fuzzy", "The Stellar"] | ||
117 | |||
118 | |||
106 | class DaedalusRoofAccess(Toggle): | 119 | class DaedalusRoofAccess(Toggle): |
107 | """ | 120 | """ |
108 | If enabled, the player will be logically expected to be able to go from the castle entrance to any part of Daedalus | 121 | If enabled, the player will be logically expected to be able to go from the castle entrance to any part of Daedalus |
@@ -182,6 +195,7 @@ class Lingo2Options(PerGameCommonOptions): | |||
182 | keyholder_sanity: KeyholderSanity | 195 | keyholder_sanity: KeyholderSanity |
183 | cyan_door_behavior: CyanDoorBehavior | 196 | cyan_door_behavior: CyanDoorBehavior |
184 | enable_icarus: EnableIcarus | 197 | enable_icarus: EnableIcarus |
198 | enable_gift_maps: EnableGiftMaps | ||
185 | daedalus_roof_access: DaedalusRoofAccess | 199 | daedalus_roof_access: DaedalusRoofAccess |
186 | strict_purple_ending: StrictPurpleEnding | 200 | strict_purple_ending: StrictPurpleEnding |
187 | strict_cyan_ending: StrictCyanEnding | 201 | strict_cyan_ending: StrictCyanEnding |