You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: worlds/witness/options.py
+106-63
Original file line number
Diff line number
Diff line change
@@ -8,19 +8,23 @@
8
8
9
9
10
10
classDisableNonRandomizedPuzzles(Toggle):
11
-
"""Disables puzzles that cannot be randomized.
11
+
"""
12
+
Disables puzzles that cannot be randomized.
12
13
This includes many puzzles that heavily involve the environment, such as Shadows, Monastery or Orchard.
14
+
13
15
The lasers for those areas will activate as you solve optional puzzles, such as Discarded Panels.
14
-
Additionally, the panels activating Monastery Laser and Jungle Popup Wall will be on from the start."""
16
+
Additionally, the panel activating the Jungle Popup Wall will be on from the start.
17
+
"""
15
18
display_name="Disable non randomized puzzles"
16
19
17
20
18
21
classEarlyCaves(Choice):
19
-
"""Adds an item that opens the Caves Shortcuts to Swamp and Mountain,
20
-
allowing early access to the Caves even if you are not playing a remote Door Shuffle mode.
21
-
You can either add this item to the pool to be found on one of your randomized checks,
22
-
or you can outright start with it and have immediate access to the Caves.
23
-
If you choose "add_to_pool" and you are already playing a remote Door Shuffle mode, this setting will do nothing."""
22
+
"""
23
+
Adds an item that opens the Caves Shortcuts to Swamp and Mountain, allowing early access to the Caves even if you are not playing a remote Door Shuffle mode.
24
+
You can either add this item to the pool to be found in the multiworld, or you can outright start with it and have immediate access to the Caves.
25
+
26
+
If you choose "Add To Pool" and you are already playing a remote Door Shuffle mode, this option will do nothing.
27
+
"""
24
28
display_name="Early Caves"
25
29
option_off=0
26
30
alias_false=0
@@ -31,15 +35,19 @@ class EarlyCaves(Choice):
31
35
32
36
33
37
classShuffleSymbols(DefaultOnToggle):
34
-
"""You will need to unlock puzzle symbols as items to be able to solve the panels that contain those symbols.
35
-
If you turn this off, there will be no progression items in the game unless you turn on door shuffle."""
38
+
"""
39
+
If on, you will need to unlock puzzle symbols as items to be able to solve the panels that contain those symbols.
40
+
41
+
Please note that there is no minimum set of progression items in this randomizer.
42
+
If you turn this option off and don't turn on door shuffle or obelisk keys, there will be no progression items, which will disallow you from adding your yaml to a multiworld generation.
43
+
"""
36
44
display_name="Shuffle Symbols"
37
45
38
46
39
47
classShuffleLasers(Choice):
40
-
"""If on, the 11 lasers are turned into items and will activate on their own upon receiving them.
41
-
Note: There is a visual bug that can occur with the Desert Laser. It does not affect gameplay - The Laser can still
42
-
be redirected as normal, for both applications of redirection."""
48
+
"""
49
+
If on, the 11 lasers are turned into items and will activate on their own upon receiving them.
50
+
"""
43
51
display_name="Shuffle Lasers"
44
52
option_off=0
45
53
alias_false=0
@@ -50,10 +58,12 @@ class ShuffleLasers(Choice):
50
58
51
59
52
60
classShuffleDoors(Choice):
53
-
"""If on, opening doors, moving bridges etc. will require a "key".
61
+
"""
62
+
If on, opening doors, moving bridges etc. will require a "key".
54
63
If set to "panels", the panel on the door will be locked until receiving its corresponding key.
55
64
If set to "doors", the door will open immediately upon receiving its key. Door panels are added as location checks.
56
-
"Mixed" includes all doors from "doors", and all control panels (bridges, elevators etc.) from "panels"."""
65
+
"Mixed" includes all doors from "doors", and all control panels (bridges, elevators etc.) from "panels".
66
+
"""
57
67
display_name="Shuffle Doors"
58
68
option_off=0
59
69
option_panels=1
@@ -62,38 +72,45 @@ class ShuffleDoors(Choice):
62
72
63
73
64
74
classDoorGroupings(Choice):
65
-
"""If set to "none", there will be one key for every door, resulting in up to 120 keys being added to the item pool.
66
-
If set to "regional", all doors in the same general region will open at once with a single key,
67
-
reducing the amount of door items and complexity."""
75
+
"""
76
+
If set to "none", there will be one key for each door, potentially resulting in upwards of 120 keys being added to the item pool.
77
+
If set to "regional", all doors in the same general region will open at once with a single key, reducing the amount of door items and complexity.
78
+
"""
68
79
display_name="Door Groupings"
69
80
option_off=0
70
81
option_regional=1
71
82
72
83
73
84
classShuffleBoat(DefaultOnToggle):
74
-
"""If set, adds a "Boat" item to the item pool. Before receiving this item, you will not be able to use the boat."""
85
+
"""
86
+
If on, adds a "Boat" item to the item pool. Before receiving this item, you will not be able to use the boat.
87
+
"""
75
88
display_name="Shuffle Boat"
76
89
77
90
78
91
classShuffleDiscardedPanels(Toggle):
79
-
"""Add Discarded Panels into the location pool.
80
-
Solving certain Discarded Panels may still be necessary to beat the game, even if this is off - The main example
81
-
of this being the alternate activation triggers in disable_non_randomized."""
92
+
"""
93
+
Adds Discarded Panels into the location pool.
82
94
95
+
Even if this is off, solving certain Discarded Panels may still be necessary to beat the game - The main example of this being the alternate activation triggers in "Disable non randomized puzzles".
96
+
"""
83
97
display_name="Shuffle Discarded Panels"
84
98
85
99
86
100
classShuffleVaultBoxes(Toggle):
87
-
"""Add Vault Boxes to the location pool."""
101
+
"""
102
+
Adds Vault Boxes to the location pool.
103
+
"""
88
104
display_name="Shuffle Vault Boxes"
89
105
90
106
91
107
classShuffleEnvironmentalPuzzles(Choice):
92
108
"""
93
-
Add Environmental/Obelisk Puzzles into the location pool.
94
-
In "individual", every Environmental Puzzle sends an item.
95
-
In "obelisk_sides", completing every puzzle on one side of an Obelisk sends an item.
96
-
Note: In Obelisk Sides, any EPs excluded through another setting will be counted as pre-completed on their Obelisk.
109
+
Adds Environmental/Obelisk Puzzles into the location pool.
110
+
If set to "individual", every Environmental Puzzle sends an item.
111
+
If set to "Obelisk Sides", completing every puzzle on one side of an Obelisk sends an item.
112
+
113
+
Note: In Obelisk Sides, any EPs excluded through another option will be pre-completed on their Obelisk.
97
114
"""
98
115
display_name="Shuffle Environmental Puzzles"
99
116
option_off=0
@@ -102,17 +119,18 @@ class ShuffleEnvironmentalPuzzles(Choice):
102
119
103
120
104
121
classShuffleDog(Toggle):
105
-
"""Add petting the Town dog into the location pool."""
106
-
122
+
"""
123
+
Adds petting the Town dog into the location pool.
124
+
"""
107
125
display_name="Pet the Dog"
108
126
109
127
110
128
classEnvironmentalPuzzlesDifficulty(Choice):
111
129
"""
112
130
When "Shuffle Environmental Puzzles" is on, this setting governs which EPs are eligible for the location pool.
113
-
On "eclipse", every EP in the game is eligible, including the 1-hour-long "Theater Eclipse EP".
114
-
On "tedious", Theater Eclipse EP is excluded from the location pool.
115
-
On "normal", several other difficult or long EPs are excluded as well.
131
+
If set to "eclipse", every EP in the game is eligible, including the 1-hour-long "Theater Eclipse EP".
132
+
If set to "tedious", Theater Eclipse EP is excluded from the location pool.
133
+
If set to "normal", several other difficult or long EPs are excluded as well.
116
134
"""
117
135
display_name="Environmental Puzzles Difficulty"
118
136
option_normal=0
@@ -123,26 +141,31 @@ class EnvironmentalPuzzlesDifficulty(Choice):
123
141
classObeliskKeys(DefaultOnToggle):
124
142
"""
125
143
Add one Obelisk Key item per Obelisk, locking you out of solving any of the associated Environmental Puzzles.
144
+
126
145
Does nothing if "Shuffle Environmental Puzzles" is set to "off".
127
146
"""
128
147
display_name="Obelisk Keys"
129
148
130
149
131
150
classShufflePostgame(Toggle):
132
-
"""Adds locations into the pool that are guaranteed to become accessible after or at the same time as your goal.
133
-
Use this if you don't play with release on victory. IMPORTANT NOTE: The possibility of your second
134
-
"Progressive Dots" showing up in the Caves is ignored, they will still be considered "postgame" in base settings."""
151
+
"""
152
+
Adds locations into the pool that are guaranteed to become accessible after or at the same time as your goal.
153
+
Use this if you don't play with release on victory.
154
+
"""
135
155
display_name="Shuffle Postgame"
136
156
137
157
138
158
classVictoryCondition(Choice):
139
-
"""Set the victory condition for this world.
159
+
"""
160
+
Set the victory condition for this world.
140
161
Elevator: Start the elevator at the bottom of the mountain (requires Mountain Lasers).
141
162
Challenge: Beat the secret Challenge (requires Challenge Lasers).
142
163
Mountain Box Short: Input the short solution to the Mountaintop Box (requires Mountain Lasers).
143
164
Mountain Box Long: Input the long solution to the Mountaintop Box (requires Challenge Lasers).
165
+
144
166
It is important to note that while the Mountain Box requires Desert Laser to be redirected in Town for that laser
145
-
to count, the laser locks on the Elevator and Challenge Timer panels do not."""
167
+
to count, the laser locks on the Elevator and Challenge Timer panels do not.
168
+
"""
146
169
display_name="Victory Condition"
147
170
option_elevator=0
148
171
option_challenge=1
@@ -151,51 +174,61 @@ class VictoryCondition(Choice):
151
174
152
175
153
176
classPuzzleRandomization(Choice):
154
-
"""Puzzles in this randomizer are randomly generated. This setting changes the difficulty/types of puzzles."""
177
+
"""
178
+
Puzzles in this randomizer are randomly generated. This option changes the difficulty/types of puzzles.
179
+
"""
155
180
display_name="Puzzle Randomization"
156
181
option_sigma_normal=0
157
182
option_sigma_expert=1
158
183
option_none=2
159
184
160
185
161
186
classMountainLasers(Range):
162
-
"""Sets the amount of lasers required to enter the Mountain.
163
-
If set to a higher amount than 7, the mountaintop box will be slightly rotated to make it possible to solve without
164
-
the hatch being opened.
165
-
This change will also be applied logically to the long solution ("Challenge Lasers" setting)."""
187
+
"""
188
+
Sets the number of lasers required to enter the Mountain.
189
+
If set to a higher number than 7, the mountaintop box will be slightly rotated to make it possible to solve without the hatch being opened.
190
+
This change will also be applied logically to the long solution ("Challenge Lasers" option).
191
+
"""
166
192
display_name="Required Lasers for Mountain Entry"
167
193
range_start=1
168
194
range_end=11
169
195
default=7
170
196
171
197
172
198
classChallengeLasers(Range):
173
-
"""Sets the amount of beams required to enter the Caves through the Mountain Bottom Floor Discard."""
199
+
"""
200
+
Sets the number of lasers required to enter the Caves through the Mountain Bottom Floor Discard and to unlock the Challenge Timer Panel.
201
+
"""
174
202
display_name="Required Lasers for Challenge"
175
203
range_start=1
176
204
range_end=11
177
205
default=11
178
206
179
207
180
208
classElevatorsComeToYou(Toggle):
181
-
"""If true, the Quarry Elevator, Bunker Elevator and Swamp Long Bridge will "come to you" if you approach them.
182
-
This does actually affect logic as it allows unintended backwards / early access into these areas."""
209
+
"""
210
+
If on, the Quarry Elevator, Bunker Elevator and Swamp Long Bridge will "come to you" if you approach them.
211
+
This does actually affect logic as it allows unintended backwards / early access into these areas.
212
+
"""
183
213
display_name="All Bridges & Elevators come to you"
184
214
185
215
186
216
classTrapPercentage(Range):
187
-
"""Replaces junk items with traps, at the specified rate."""
217
+
"""
218
+
Replaces junk items with traps, at the specified rate.
219
+
"""
188
220
display_name="Trap Percentage"
189
221
range_start=0
190
222
range_end=100
191
223
default=20
192
224
193
225
194
226
classTrapWeights(OptionDict):
195
-
"""Specify the weights determining how many copies of each trap item will be in your itempool.
227
+
"""
228
+
Specify the weights determining how many copies of each trap item will be in your itempool.
196
229
If you don't want a specific type of trap, you can set the weight for it to 0 (Do not delete the entry outright!).
197
-
If you set all trap weights to 0, you will get no traps, bypassing the "Trap Percentage" option."""
198
-
230
+
If you set all trap weights to 0, you will get no traps, bypassing the "Trap Percentage" option.
231
+
"""
199
232
display_name="Trap Weights"
200
233
schema=Schema({
201
234
trap_name: And(int, lambdan: n>=0)
@@ -210,50 +243,60 @@ class TrapWeights(OptionDict):
210
243
211
244
212
245
classPuzzleSkipAmount(Range):
213
-
"""Adds this number of Puzzle Skips into the pool, if there is room. Puzzle Skips let you skip one panel.
214
-
Works on most panels in the game - The only big exception is The Challenge."""
246
+
"""
247
+
Adds this many Puzzle Skips into the pool, if there is room. Puzzle Skips let you skip one panel.
248
+
"""
215
249
display_name="Puzzle Skips"
216
250
range_start=0
217
251
range_end=30
218
252
default=10
219
253
220
254
221
255
classHintAmount(Range):
222
-
"""Adds hints to Audio Logs. If set to a low amount, up to 2 additional duplicates of each hint will be added.
223
-
Remaining Audio Logs will have junk hints."""
256
+
"""
257
+
Adds hints to Audio Logs. If set to a low amount, up to 2 additional duplicates of each hint will be added.
258
+
Remaining Audio Logs will have junk hints.
259
+
"""
224
260
display_name="Hints on Audio Logs"
225
261
range_start=0
226
262
range_end=49
227
263
default=12
228
264
229
265
230
266
classAreaHintPercentage(Range):
231
-
"""There are two types of hints for The Witness.
232
-
"Location hints" hint one location in your world / containing an item for your world.
233
-
"Area hints" will tell you some general info about the items you can find in one of the
234
-
main geographic areas on the island.
235
-
Use this option to specify how many of your hints you want to be area hints. The rest will be location hints."""
267
+
"""
268
+
There are two types of hints for The Witness.
269
+
"Location hints" hint one location in your world or one location containing an item for your world.
270
+
"Area hints" tell you some general info about the items you can find in one of the main geographic areas on the island.
271
+
Use this option to specify how many of your hints you want to be area hints. The rest will be location hints.
272
+
"""
236
273
display_name="Area Hint Percentage"
237
274
range_start=0
238
275
range_end=100
239
276
default=33
240
277
241
278
242
279
classLaserHints(Toggle):
243
-
"""If on, lasers will tell you where their items are if you walk close to them in-game.
244
-
Only applies if laser shuffle is enabled."""
280
+
"""
281
+
If on, lasers will tell you where their items are if you walk close to them in-game.
282
+
Only applies if Laser Shuffle is enabled.
283
+
"""
245
284
display_name="Laser Hints"
246
285
247
286
248
287
classDeathLink(Toggle):
249
-
"""If on: Whenever you fail a puzzle (with some exceptions), everyone who is also on Death Link dies.
250
-
The effect of a "death" in The Witness is a Bonk Trap."""
288
+
"""
289
+
If on, whenever you fail a puzzle (with some exceptions), you and everyone who is also on Death Link dies.
290
+
The effect of a "death" in The Witness is a Bonk Trap.
291
+
"""
251
292
display_name="Death Link"
252
293
253
294
254
295
classDeathLinkAmnesty(Range):
255
-
"""Number of panel fails to allow before sending a death through Death Link.
256
-
0 means every panel fail will send a death, 1 means every other panel fail will send a death, etc."""
296
+
"""
297
+
The number of panel fails to allow before sending a death through Death Link.
298
+
0 means every panel fail will send a death, 1 means every other panel fail will send a death, etc.
0 commit comments