From cccdf6481571cd883c9519cde0a717b6f336fbda Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Tue, 23 Jul 2024 02:34:47 -0400 Subject: Lingo: Add pilgrimage logic through Starting Room (#3654) * Lingo: Add pilgrimage logic through Starting Room * Added unit test * Reverse order of two doors in unit test * Remove print statements from TestPilgrimage * Update generated.dat --- data/LL1.yaml | 9 +++++++++ data/generated.dat | Bin 136017 -> 136277 bytes test/TestPilgrimage.py | 32 ++++++++++++++++++++++++++++---- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/data/LL1.yaml b/data/LL1.yaml index 970063d..e12ca02 100644 --- a/data/LL1.yaml +++ b/data/LL1.yaml @@ -140,6 +140,15 @@ painting: True The Colorful: painting: True + Welcome Back Area: + room: Welcome Back Area + door: Shortcut to Starting Room + Second Room: + door: Main Door + Hidden Room: + door: Back Right Door + Rhyme Room (Looped Square): + door: Rhyme Room Entrance panels: HI: id: Entry Room/Panel_hi_hi diff --git a/data/generated.dat b/data/generated.dat index 0653086..3ed6cb2 100644 Binary files a/data/generated.dat and b/data/generated.dat differ diff --git a/test/TestPilgrimage.py b/test/TestPilgrimage.py index 3cc9194..4c5e259 100644 --- a/test/TestPilgrimage.py +++ b/test/TestPilgrimage.py @@ -29,7 +29,6 @@ class TestPilgrimageWithRoofAndPaintings(LingoTestBase): "Outside The Undeterred - Green Painting"] for door in doors: - print(door) self.assertFalse(self.can_reach_location("Pilgrim Antechamber - PILGRIM")) self.collect_by_name(door) @@ -53,7 +52,6 @@ class TestPilgrimageNoRoofYesPaintings(LingoTestBase): "Starting Room - Street Painting"] for door in doors: - print(door) self.assertFalse(self.can_reach_location("Pilgrim Antechamber - PILGRIM")) self.collect_by_name(door) @@ -81,13 +79,40 @@ class TestPilgrimageNoRoofNoPaintings(LingoTestBase): "Orange Tower Fourth Floor - Hot Crusts Door"] for door in doors: - print(door) self.assertFalse(self.can_reach_location("Pilgrim Antechamber - PILGRIM")) self.collect_by_name(door) self.assertTrue(self.can_reach_location("Pilgrim Antechamber - PILGRIM")) +class TestPilgrimageRequireStartingRoom(LingoTestBase): + options = { + "enable_pilgrimage": "true", + "shuffle_colors": "false", + "shuffle_doors": "complex", + "pilgrimage_allows_roof_access": "false", + "pilgrimage_allows_paintings": "false", + "early_color_hallways": "false" + } + + def test_access(self): + doors = ["Second Room - Exit Door", "Crossroads - Roof Access", "Hub Room - Crossroads Entrance", + "Outside The Undeterred - Green Painting", "Outside The Undeterred - Number Hunt", + "Starting Room - Street Painting", "Outside The Initiated - Shortcut to Hub Room", + "Directional Gallery - Shortcut to The Undeterred", "Orange Tower First Floor - Salt Pepper Door", + "Color Hunt - Shortcut to The Steady", "The Bearer - Entrance", + "Orange Tower Fifth Floor - Quadruple Intersection", "The Tenacious - Shortcut to Hub Room", + "Outside The Agreeable - Tenacious Entrance", "Crossroads - Tower Entrance", + "Orange Tower Fourth Floor - Hot Crusts Door", "Challenge Room - Welcome Door", + "Number Hunt - Challenge Entrance", "Welcome Back Area - Shortcut to Starting Room"] + + for door in doors: + self.assertFalse(self.can_reach_location("Pilgrim Antechamber - PILGRIM")) + self.collect_by_name(door) + + self.assertTrue(self.can_reach_location("Pilgrim Antechamber - PILGRIM")) + + class TestPilgrimageYesRoofNoPaintings(LingoTestBase): options = { "enable_pilgrimage": "true", @@ -107,7 +132,6 @@ class TestPilgrimageYesRoofNoPaintings(LingoTestBase): "Orange Tower Fifth Floor - Quadruple Intersection"] for door in doors: - print(door) self.assertFalse(self.can_reach_location("Pilgrim Antechamber - PILGRIM")) self.collect_by_name(door) -- cgit 1.4.1