Lingo: Add option to prevent shuffling postgame (#3350)
* Lingo: Add option to prevent shuffling postgame * Allow roof access on door shuffle * Fix broken unit test * Simplified THE END edge case * Revert unnecessary change * Review comments * Fix mastery unit test * Update generated.dat * Added player's name to error message
This commit is contained in:
committed by
GitHub
parent
878d5141ce
commit
e714d2e129
@@ -5,7 +5,8 @@ class TestMasteryWhenVictoryIsTheEnd(LingoTestBase):
|
||||
options = {
|
||||
"mastery_achievements": "22",
|
||||
"victory_condition": "the_end",
|
||||
"shuffle_colors": "true"
|
||||
"shuffle_colors": "true",
|
||||
"shuffle_postgame": "true",
|
||||
}
|
||||
|
||||
def test_requirement(self):
|
||||
@@ -43,7 +44,8 @@ class TestMasteryBlocksDependents(LingoTestBase):
|
||||
options = {
|
||||
"mastery_achievements": "24",
|
||||
"shuffle_colors": "true",
|
||||
"location_checks": "insanity"
|
||||
"location_checks": "insanity",
|
||||
"victory_condition": "level_2",
|
||||
}
|
||||
|
||||
def test_requirement(self):
|
||||
|
||||
62
worlds/lingo/test/TestPostgame.py
Normal file
62
worlds/lingo/test/TestPostgame.py
Normal file
@@ -0,0 +1,62 @@
|
||||
from . import LingoTestBase
|
||||
|
||||
|
||||
class TestPostgameVanillaTheEnd(LingoTestBase):
|
||||
options = {
|
||||
"shuffle_doors": "none",
|
||||
"victory_condition": "the_end",
|
||||
"shuffle_postgame": "false",
|
||||
}
|
||||
|
||||
def test_requirement(self):
|
||||
location_names = [location.name for location in self.multiworld.get_locations(self.player)]
|
||||
|
||||
self.assertTrue("The End (Solved)" in location_names)
|
||||
self.assertTrue("Champion's Rest - YOU" in location_names)
|
||||
self.assertFalse("Orange Tower Seventh Floor - THE MASTER" in location_names)
|
||||
self.assertFalse("The Red - Achievement" in location_names)
|
||||
|
||||
|
||||
class TestPostgameComplexDoorsTheEnd(LingoTestBase):
|
||||
options = {
|
||||
"shuffle_doors": "complex",
|
||||
"victory_condition": "the_end",
|
||||
"shuffle_postgame": "false",
|
||||
}
|
||||
|
||||
def test_requirement(self):
|
||||
location_names = [location.name for location in self.multiworld.get_locations(self.player)]
|
||||
|
||||
self.assertTrue("The End (Solved)" in location_names)
|
||||
self.assertFalse("Orange Tower Seventh Floor - THE MASTER" in location_names)
|
||||
self.assertTrue("The Red - Achievement" in location_names)
|
||||
|
||||
|
||||
class TestPostgameLateColorHunt(LingoTestBase):
|
||||
options = {
|
||||
"shuffle_doors": "none",
|
||||
"victory_condition": "the_end",
|
||||
"sunwarp_access": "disabled",
|
||||
"shuffle_postgame": "false",
|
||||
}
|
||||
|
||||
def test_requirement(self):
|
||||
location_names = [location.name for location in self.multiworld.get_locations(self.player)]
|
||||
|
||||
self.assertFalse("Champion's Rest - YOU" in location_names)
|
||||
|
||||
|
||||
class TestPostgameVanillaTheMaster(LingoTestBase):
|
||||
options = {
|
||||
"shuffle_doors": "none",
|
||||
"victory_condition": "the_master",
|
||||
"shuffle_postgame": "false",
|
||||
}
|
||||
|
||||
def test_requirement(self):
|
||||
location_names = [location.name for location in self.multiworld.get_locations(self.player)]
|
||||
|
||||
self.assertTrue("Orange Tower Seventh Floor - THE END" in location_names)
|
||||
self.assertTrue("Orange Tower Seventh Floor - Mastery Achievements" in location_names)
|
||||
self.assertTrue("The Red - Achievement" in location_names)
|
||||
self.assertFalse("Mastery Panels" in location_names)
|
||||
Reference in New Issue
Block a user