diff --git a/worlds/witness/Options.py b/worlds/witness/Options.py index 27aa8b9d..ac1f2bc8 100644 --- a/worlds/witness/Options.py +++ b/worlds/witness/Options.py @@ -140,10 +140,13 @@ class PuzzleRandomization(Choice): class MountainLasers(Range): - """Sets the amount of beams required to enter the final area.""" + """Sets the amount of lasers required to enter the Mountain. + If set to a higher amount than 7, the mountaintop box will be slightly rotated to make it possible to solve without + the hatch being opened. + This change will also be applied logically to the long solution ("Challenge Lasers" setting).""" display_name = "Required Lasers for Mountain Entry" range_start = 1 - range_end = 7 + range_end = 11 default = 7 diff --git a/worlds/witness/player_logic.py b/worlds/witness/player_logic.py index e05199c2..5d538e62 100644 --- a/worlds/witness/player_logic.py +++ b/worlds/witness/player_logic.py @@ -323,7 +323,10 @@ class WitnessPlayerLogic: elif victory == 3: self.VICTORY_LOCATION = "0xFFF00" - if chal_lasers <= 7: + # Long box can usually only be solved by opening Mountain Entry. However, if it requires 7 lasers or less + # (challenge_lasers <= 7), you can now solve it without opening Mountain Entry first. + # Furthermore, if the user sets mountain_lasers > 7, the box is rotated to not require Mountain Entry either. + if chal_lasers <= 7 or mnt_lasers > 7: adjustment_linesets_in_order.append([ "Requirement Changes:", "0xFFF00 - 11 Lasers - True",