The Witness: Implement "Variety" puzzles mode (#3239)
* Variety Rando (But WitnessLogicVariety.txt is wrong * Actually variety the variety file (Ty Exempt-Medic <3) * This will be preopened * Tooltip explaining the different difficulties * Remove ?, those were correct * Less efficient but easier to follow * Parentheses * Fix some reqs * Not Arrows in Variety * Oops * Happy medic, I made a wacky solution * there we go * Lint oops * There * that copy is unnecessary * Turns out that copy is necessary still * yes * lol * Rename to Umbra Variety * missed one * Erase the Eraser * Fix remaining instances of 'variety' and don't have a symbol item on the gate in variety * reorder difficulties * inbetween * ruff * Fix Variety Invis requirements * Fix wooden beams variety * Fix PP2 variety * Mirror changes from 'Variety Mode Puzzle Change 3.2.3' * These also have Symmetry * merge error prevention * Update worlds/witness/data/static_items.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * no elif after return * add variety to the symbol requirement bleed test * Add variety to one of the 'other settings' unit tests * Add Variety minimal symbols unittest * oops * I did the dumb again * . * Incorporate changes from other PR into WitnesLogicVariety.txt * Update worlds/witness/data/WitnessLogicVariety.txt Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update worlds/witness/data/WitnessLogicVariety.txt Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update the reqs as well haha * Another difference, thanks Medic :§ * Wait no, this one was right * lol * apply changes to WitnessLogicVariety.txt * Add most recent Variety changes * oof --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
This commit is contained in:
		| @@ -46,6 +46,9 @@ class TestSymbolRequirementsMultiworld(WitnessMultiworldTestBase): | ||||
|         { | ||||
|             "puzzle_randomization": "none", | ||||
|         }, | ||||
|         { | ||||
|             "puzzle_randomization": "umbra_variety", | ||||
|         } | ||||
|     ] | ||||
|  | ||||
|     common_options = { | ||||
| @@ -63,12 +66,15 @@ class TestSymbolRequirementsMultiworld(WitnessMultiworldTestBase): | ||||
|             self.assertFalse(self.get_items_by_name("Arrows", 1)) | ||||
|             self.assertTrue(self.get_items_by_name("Arrows", 2)) | ||||
|             self.assertFalse(self.get_items_by_name("Arrows", 3)) | ||||
|             self.assertTrue(self.get_items_by_name("Arrows", 4)) | ||||
|  | ||||
|         with self.subTest("Test that Discards ask for Triangles in normal, but Arrows in expert."): | ||||
|             desert_discard = "0x17CE7" | ||||
|             triangles = frozenset({frozenset({"Triangles"})}) | ||||
|             arrows = frozenset({frozenset({"Arrows"})}) | ||||
|             both = frozenset({frozenset({"Triangles", "Arrows"})}) | ||||
|  | ||||
|             self.assertEqual(self.multiworld.worlds[1].player_logic.REQUIREMENTS_BY_HEX[desert_discard], triangles) | ||||
|             self.assertEqual(self.multiworld.worlds[2].player_logic.REQUIREMENTS_BY_HEX[desert_discard], arrows) | ||||
|             self.assertEqual(self.multiworld.worlds[3].player_logic.REQUIREMENTS_BY_HEX[desert_discard], triangles) | ||||
|             self.assertEqual(self.multiworld.worlds[4].player_logic.REQUIREMENTS_BY_HEX[desert_discard], both) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 NewSoupVi
					NewSoupVi