From 578451fcfa3f1d50a9b1931ce6fa23318a471dbd Mon Sep 17 00:00:00 2001 From: Doug Hoskisson Date: Wed, 27 Apr 2022 12:19:53 -0700 Subject: [PATCH 01/13] add some typing info to CollectionState (#468) --- BaseClasses.py | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/BaseClasses.py b/BaseClasses.py index a60951b2..e5d92b95 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -7,6 +7,7 @@ import json import functools from collections import OrderedDict, Counter, deque from typing import List, Dict, Optional, Set, Iterable, Union, Any, Tuple, TypedDict, Callable +import typing # this can go away when Python 3.8 support is dropped import secrets import random @@ -563,9 +564,20 @@ class MultiWorld(): return False +PathValue = Tuple[str, Optional["PathValue"]] + + class CollectionState(): - additional_init_functions: List[Callable] = [] - additional_copy_functions: List[Callable] = [] + prog_items: typing.Counter[Tuple[str, int]] + world: MultiWorld + reachable_regions: Dict[int, Set[Region]] + blocked_connections: Dict[int, Set[Entrance]] + events: Set[Location] + path: Dict[Union[Region, Entrance], PathValue] + locations_checked: Set[Location] + stale: Dict[int, bool] + additional_init_functions: List[Callable[[CollectionState, MultiWorld], None]] = [] + additional_copy_functions: List[Callable[[CollectionState, CollectionState], CollectionState]] = [] def __init__(self, parent: MultiWorld): self.prog_items = Counter() @@ -603,6 +615,7 @@ class CollectionState(): if new_region in rrp: bc.remove(connection) elif connection.can_reach(self): + assert new_region, "tried to search through an Entrance with no Region" rrp.add(new_region) bc.remove(connection) bc.update(new_region.exits) @@ -633,7 +646,8 @@ class CollectionState(): spot: Union[Location, Entrance, Region, str], resolution_hint: Optional[str] = None, player: Optional[int] = None) -> bool: - if not hasattr(spot, "can_reach"): + if isinstance(spot, str): + assert isinstance(player, int), "can_reach: player is required if spot is str" # try to resolve a name if resolution_hint == 'Location': spot = self.world.get_location(spot, player) @@ -644,7 +658,7 @@ class CollectionState(): spot = self.world.get_region(spot, player) return spot.can_reach(self) - def sweep_for_events(self, key_only: bool = False, locations: Set[Location] = None): + def sweep_for_events(self, key_only: bool = False, locations: Optional[Iterable[Location]] = None) -> None: if locations is None: locations = self.world.get_filled_locations() new_locations = True @@ -656,6 +670,7 @@ class CollectionState(): new_locations = reachable_events - self.events for event in new_locations: self.events.add(event) + assert isinstance(event.item, Item), "tried to collect Event with no Item" self.collect(event.item, True, event) def has(self, item: str, player: int, count: int = 1) -> bool: @@ -670,7 +685,7 @@ class CollectionState(): def count(self, item: str, player: int) -> int: return self.prog_items[item, player] - def has_group(self, item_name_group: str, player: int, count: int = 1): + def has_group(self, item_name_group: str, player: int, count: int = 1) -> bool: found: int = 0 for item_name in self.world.worlds[player].item_name_groups[item_name_group]: found += self.prog_items[item_name, player] @@ -678,7 +693,7 @@ class CollectionState(): return True return False - def count_group(self, item_name_group: str, player: int): + def count_group(self, item_name_group: str, player: int) -> int: found: int = 0 for item_name in self.world.worlds[player].item_name_groups[item_name_group]: found += self.prog_items[item_name, player] From 50eaf712a9d979459bcce7ef53ff9f6949b6500b Mon Sep 17 00:00:00 2001 From: Alchav <59858495+Alchav@users.noreply.github.com> Date: Thu, 28 Apr 2022 11:17:36 -0400 Subject: [PATCH 02/13] Remove outdated disclaimer --- MultiServer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MultiServer.py b/MultiServer.py index ca113a2c..b9ac9eef 100644 --- a/MultiServer.py +++ b/MultiServer.py @@ -1811,7 +1811,7 @@ class ServerCommandProcessor(CommonCommandProcessor): return False def _cmd_option(self, option_name: str, option: str): - """Set options for the server. Warning: expires on restart""" + """Set options for the server.""" attrtype = self.ctx.simple_options.get(option_name, None) if attrtype: From 3e8c821c028eb1568dccb67af273b10a63fb60bc Mon Sep 17 00:00:00 2001 From: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Fri, 29 Apr 2022 00:42:11 +0200 Subject: [PATCH 03/13] Add The Witness (#467) * Added The Witness Co-authored-by: metzner Co-authored-by: Jarno Westhof Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> --- README.md | 1 + .../static/assets/gameInfo/en_The Witness.md | 28 + .../assets/tutorial/The Witness/setup_en.md | 26 + .../static/assets/tutorial/tutorials.json | 19 + docs/network diagram.jpg | Bin 225503 -> 383052 bytes docs/network diagram.md | 2 + docs/network diagram.svg | 2 +- worlds/witness/Disable_Unrandomized.txt | 104 +++ worlds/witness/Options.py | 71 ++ worlds/witness/WitnessItems.txt | 21 + worlds/witness/WitnessLogic.txt | 712 ++++++++++++++++++ worlds/witness/__init__.py | 165 ++++ worlds/witness/items.py | 98 +++ worlds/witness/locations.py | 281 +++++++ worlds/witness/player_logic.py | 287 +++++++ worlds/witness/regions.py | 89 +++ worlds/witness/rules.py | 171 +++++ worlds/witness/static_logic.py | 138 ++++ worlds/witness/utils.py | 58 ++ 19 files changed, 2272 insertions(+), 1 deletion(-) create mode 100644 WebHostLib/static/assets/gameInfo/en_The Witness.md create mode 100644 WebHostLib/static/assets/tutorial/The Witness/setup_en.md create mode 100644 worlds/witness/Disable_Unrandomized.txt create mode 100644 worlds/witness/Options.py create mode 100644 worlds/witness/WitnessItems.txt create mode 100644 worlds/witness/WitnessLogic.txt create mode 100644 worlds/witness/__init__.py create mode 100644 worlds/witness/items.py create mode 100644 worlds/witness/locations.py create mode 100644 worlds/witness/player_logic.py create mode 100644 worlds/witness/regions.py create mode 100644 worlds/witness/rules.py create mode 100644 worlds/witness/static_logic.py create mode 100644 worlds/witness/utils.py diff --git a/README.md b/README.md index 935f34b5..98caa273 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ Currently, the following games are supported: * ChecksFinder * ArchipIDLE * Hollow Knight +* The Witness For setup and instructions check out our [tutorials page](https://archipelago.gg/tutorial/). Downloads can be found at [Releases](https://github.com/ArchipelagoMW/Archipelago/releases), including compiled diff --git a/WebHostLib/static/assets/gameInfo/en_The Witness.md b/WebHostLib/static/assets/gameInfo/en_The Witness.md new file mode 100644 index 00000000..23543285 --- /dev/null +++ b/WebHostLib/static/assets/gameInfo/en_The Witness.md @@ -0,0 +1,28 @@ +# The Witness + +## Where is the settings page? + +The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +config file. + +## What does randomization do to this game? + +Puzzles are randomly generated using the popular [Sigma Rando](https://github.com/sigma144/witness-randomizer). +They are made to be similar to the original game, but with different solutions. + +Ontop of that each puzzle symbol (Squares, Stars, Dots, etc.) is now an item. +Panels with puzzle symbols on them are now locked initially. + +## What is a "check" in The Witness? + +Solving the last panel in a row of panels or an important standalone panel will count as a check, and send out an item. + +## What "items" can you unlock in The Witness? + +Every puzzle symbol and many other puzzle mechanics are items. +This includes symbols such as "Dots", "Black/White Squares", "Colored Squares", "Stars", "Symmetry", "Shapers" (coll. "Tetris Pieces"), "Erasers" and many more. + +## The Jungle, Orchard, Forest and Color House aren't randomized. What gives? + +There are limitations to what can currently be randomized in The Witness. +There is an option to turn these non-randomized panels off, called "disable_non_randomized" in your yaml file. This will also slightly change the activation requirement of certain panels, detailed [here](https://github.com/sigma144/witness-randomizer/wiki/Activation-Triggers). \ No newline at end of file diff --git a/WebHostLib/static/assets/tutorial/The Witness/setup_en.md b/WebHostLib/static/assets/tutorial/The Witness/setup_en.md new file mode 100644 index 00000000..fe4ef56a --- /dev/null +++ b/WebHostLib/static/assets/tutorial/The Witness/setup_en.md @@ -0,0 +1,26 @@ +# The Witness Randomizer Setup + +## Required Software + +- [The Witness (Steam)](https://store.steampowered.com/app/210970/The_Witness/) +- [The Witness Archipalego Randomizer](https://github.com/JarnoWesthof/The-Witness-Randomizer-for-Archipelago) +- [ArchipelagoTextClient](https://github.com/ArchipelagoMW/Archipelago/releases) + +## Joining a MultiWorld Game + +This Randomizer can be very "moody" if you don't do everything in the correct order. +It is recommended to do every single one of these steps when you connect to a world. + +1. Launch The Witness +2. Start a fresh save (unless you have absolutely no other choice) +3. Do not move +4. Launch [The Witness Archipalego Randomizer](https://github.com/JarnoWesthof/The-Witness-Randomizer-for-Archipelago) +5. Enter the Archipelago Adress, Slot Name and Password +6. Press "Randomize" +7. Wait for the randomization to fully finish before moving in-game + +That's it! Have fun! + +## ArchipelagoTextClient + +Its recommended to have Archipelago's Text Client open on the side to keep track of what item you receive and send as The Witness has no in-game messages. \ No newline at end of file diff --git a/WebHostLib/static/assets/tutorial/tutorials.json b/WebHostLib/static/assets/tutorial/tutorials.json index 39ad81d4..2c88c125 100644 --- a/WebHostLib/static/assets/tutorial/tutorials.json +++ b/WebHostLib/static/assets/tutorial/tutorials.json @@ -574,5 +574,24 @@ ] } ] + }, + { + "gameTitle": "The Witness", + "tutorials": [ + { + "name": "Multiworld Setup Guide", + "description": "A guide to playing The Witness with Archipelago.", + "files": [ + { + "language": "English", + "filename": "The Witness/setup_en.md", + "link": "The Witness/setup/en", + "authors": [ + "NewSoupVi", "Jarno" + ] + } + ] + } + ] } ] diff --git a/docs/network diagram.jpg b/docs/network diagram.jpg index ad187d091bbc49daa17477ef37c3ea38ec64271a..96f7d084ebc635e531fda057d2d4c7b8805e719d 100644 GIT binary patch literal 383052 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

nULTQllfwt9(g+NAt%>E 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�BdG~iOoC9?W2z6&RbFd+XnD@wu0O4G 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

)Ss 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�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 z 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

x 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 SOE APCLIENTPP <--> MT + APCLIENTPP <-- The Witness Randomizer --> TW APCPP <--> SM64 APCPP <--> V6 end diff --git a/docs/network diagram.svg b/docs/network diagram.svg index e7bbd2cf..927883a6 100644 --- a/docs/network diagram.svg +++ b/docs/network diagram.svg @@ -1 +1 @@ -
Factorio
Secret of Evermore
WebHost (archipelago.gg)
.NET
Java
Native
SMZ3
Super Metroid
Ocarina of Time
Final Fantasy 1
A Link to the Past
ChecksFinder
FNA/XNA
Unity
Minecraft
Secret of Evermore
WebSockets
Integrated
Various, depending on SNES device
LuaSockets
Integrated
LuaSockets
Integrated
Integrated
WebSockets
Various, depending on SNES device
Various, depending on SNES device
Various, depending on SNES device
WebSockets
WebSockets
Mod the Spire
TCP
Forge Mod Loader
WebSockets
TsRandomizer
RogueLegacyRandomizer
BepInEx
QModLoader (BepInEx)
HK Modding API
WebSockets
SQL
Subprocesses
SQL
Deposit Generated Worlds
Provide Generation Instructions
Subprocesses
Subprocesses
RCON
UDP
Integrated
Factorio Server
FactorioClient
Factorio Games
Factorio Mod Generated by AP
Factorio Modding API
SNES
Configurable (waitress, gunicorn, flask)
AutoHoster
PonyORM DB
WebHost
Flask WebContent
AutoGenerator
Mod with Archipelago.MultiClient.Net
Risk of Rain 2
Subnautica
Hollow Knight
Raft
Timespinner
Rogue Legacy
Mod with Archipelago.MultiClient.Java
Slay the Spire
Minecraft Forge Server
Any Java Minecraft Clients
Game using apclientpp Client Library
Game using Apcpp Client Library
Super Mario 64 Ex
VVVVVV
Meritous
ap-soeclient
SNES
SNES
OoTClient
Lua Connector
BizHawk with Ocarina of Time Loaded
FF1Client
Lua Connector
BizHawk with Final Fantasy Loaded
SNES
ChecksFinderClient
ChecksFinder
Archipelago Server
CommonClient.py
Super Nintendo Interface (SNI)
SNIClient
\ No newline at end of file +
Factorio
Secret of Evermore
WebHost (archipelago.gg)
.NET
Java
Native
SMZ3
Super Metroid
Ocarina of Time
Final Fantasy 1
A Link to the Past
ChecksFinder
FNA/XNA
Unity
Minecraft
Secret of Evermore
WebSockets
Integrated
Various, depending on SNES device
LuaSockets
Integrated
LuaSockets
Integrated
Integrated
WebSockets
Various, depending on SNES device
Various, depending on SNES device
The Witness Randomizer
Various, depending on SNES device
WebSockets
WebSockets
Mod the Spire
TCP
Forge Mod Loader
WebSockets
TsRandomizer
RogueLegacyRandomizer
BepInEx
QModLoader (BepInEx)
HK Modding API
WebSockets
SQL
Subprocesses
SQL
Deposit Generated Worlds
Provide Generation Instructions
Subprocesses
Subprocesses
RCON
UDP
Integrated
Factorio Server
FactorioClient
Factorio Games
Factorio Mod Generated by AP
Factorio Modding API
SNES
Configurable (waitress, gunicorn, flask)
AutoHoster
PonyORM DB
WebHost
Flask WebContent
AutoGenerator
Mod with Archipelago.MultiClient.Net
Risk of Rain 2
Subnautica
Hollow Knight
Raft
Timespinner
Rogue Legacy
Mod with Archipelago.MultiClient.Java
Slay the Spire
Minecraft Forge Server
Any Java Minecraft Clients
Game using apclientpp Client Library
Game using Apcpp Client Library
Super Mario 64 Ex
VVVVVV
Meritous
The Witness
ap-soeclient
SNES
SNES
OoTClient
Lua Connector
BizHawk with Ocarina of Time Loaded
FF1Client
Lua Connector
BizHawk with Final Fantasy Loaded
SNES
ChecksFinderClient
ChecksFinder
Archipelago Server
CommonClient.py
Super Nintendo Interface (SNI)
SNIClient
```
\ No newline at end of file diff --git a/worlds/witness/Disable_Unrandomized.txt b/worlds/witness/Disable_Unrandomized.txt new file mode 100644 index 00000000..f5c60de6 --- /dev/null +++ b/worlds/witness/Disable_Unrandomized.txt @@ -0,0 +1,104 @@ +Event Items: +Shadows Laser Activation - 0x00021,0x17D28,0x17C71 +Bunker Laser Activation - 0x00061,0x17D01,0x17C42 +Monastery Laser Activation - 0x00A5B,0x17CE7,0x17FA9,0x17CA4 +Town Tower 4th Door Opens - 0x17CFB,0x3C12B,0x00B8D,0x17CF7 + +Requirement Changes: +0x17CA4 - True - True +0x28B39 - 0x2896A - Reflection +0x17CAB - True - True + +Region Changes: +Quarry (Quarry) - Outside Quarry - 0x17C09 - Quarry Mill - 0x275ED - Quarry Mill - 0x17CAC + +Disabled Locations: +0x03505 (Tutorial Gate Close) +0x0C335 (Tutorial Pillar) +0x0C373 (Tutorial Patio Floor) +0x009B8 (Symmetry Island Scenery Outlines 1) +0x003E8 (Symmetry Island Scenery Outlines 2) +0x00A15 (Symmetry Island Scenery Outlines 3) +0x00B53 (Symmetry Island Scenery Outlines 4) +0x00B8D (Symmetry Island Scenery Outlines 5) +0x00143 (Orchard Apple Tree 1) +0x0003B (Orchard Apple Tree 2) +0x00055 (Orchard Apple Tree 3) +0x032F7 (Orchard Apple Tree 4) +0x032FF (Orchard Apple Tree 5) +0x168B5 (Shadows Lower Avoid 1) +0x198BD (Shadows Lower Avoid 2) +0x198BF (Shadows Lower Avoid 3) +0x19771 (Shadows Lower Avoid 4) +0x0A8DC (Shadows Lower Avoid 5) +0x0AC74 (Shadows Lower Avoid 6) +0x0AC7A (Shadows Lower Avoid 7) +0x0A8E0 (Shadows Lower Avoid 8) +0x386FA (Shadows Environmental Avoid 1) +0x1C33F (Shadows Environmental Avoid 2) +0x196E2 (Shadows Environmental Avoid 3) +0x1972A (Shadows Environmental Avoid 4) +0x19809 (Shadows Environmental Avoid 5) +0x19806 (Shadows Environmental Avoid 6) +0x196F8 (Shadows Environmental Avoid 7) +0x1972F (Shadows Environmental Avoid 8) +0x19797 (Shadows Follow 1) +0x1979A (Shadows Follow 2) +0x197E0 (Shadows Follow 3) +0x197E8 (Shadows Follow 4) +0x197E5 (Shadows Follow 5) +0x19650 (Shadows Laser) +0x00139 (Keep Hedge Maze 1) +0x019DC (Keep Hedge Maze 2) +0x019E7 (Keep Hedge Maze 3) +0x01A0F (Keep Hedge Maze 4) +0x0360E (Laser Hedges) +0x00290 (Monastery Rhombic Avoid 1) +0x00038 (Monastery Rhombic Avoid 2) +0x00037 (Monastery Rhombic Avoid 3) +0x193A7 (Monastery Branch Avoid 1) +0x193AA (Monastery Branch Avoid 2) +0x193AB (Monastery Branch Follow 1) +0x193A6 (Monastery Branch Follow 2) +0x17CA4 (Monastery Laser) - 0x193A6 - True +0x18590 (Tree Outlines) - True - Symmetry & Environment +0x28AE3 (Vines Shadows Follow) - 0x18590 - Shadows Follow & Environment +0x28938 (Four-way Apple Tree) - 0x28AE3 - Environment +0x079DF (Triple Environmental Puzzle) - 0x28938 - Shadows Avoid & Environment & Reflection +0x28B39 (Hexagonal Reflection) - 0x079DF & 0x2896A - Reflection +0x03553 (Theater Tutorial Video) +0x03552 (Theater Desert Video) +0x0354E (Theater Jungle Video) +0x03549 (Theater Challenge Video) +0x0354F (Theater Shipwreck Video) +0x03545 (Theater Mountain Video) +0x002C4 (Waves 1) +0x00767 (Waves 2) +0x002C6 (Waves 3) +0x0070E (Waves 4) +0x0070F (Waves 5) +0x0087D (Waves 6) +0x002C7 (Waves 7) +0x15ADD (River Rhombic Avoid Vault) +0x03702 (River Vault Box) +0x17C2E (Door to Bunker) - True - Squares & Black/White Squares +0x09F7D (Bunker Drawn Squares 1) +0x09FDC (Bunker Drawn Squares 2) +0x09FF7 (Bunker Drawn Squares 3) +0x09F82 (Bunker Drawn Squares 4) +0x09FF8 (Bunker Drawn Squares 5) +0x09D9F (Bunker Drawn Squares 6) +0x09DA1 (Bunker Drawn Squares 7) +0x09DA2 (Bunker Drawn Squares 8) +0x09DAF (Bunker Drawn Squares 9) +0x0A010 (Bunker Drawn Squares through Tinted Glass 1) +0x0A01B (Bunker Drawn Squares through Tinted Glass 2) +0x0A01F (Bunker Drawn Squares through Tinted Glass 3) +0x0A099 (Door to Bunker Proper) +0x34BC5 (Bunker Drop-Down Door Open) +0x34BC6 (Bunker Drop-Down Door Close) +0x17E63 (Bunker Drop-Down Door Squares 1) +0x17E67 (Bunker Drop-Down Door Squares 2) +0x09DE0 (Bunker Laser) +0x0A079 (Bunker Elevator Control) +0x0042D (Mountaintop River Shape) \ No newline at end of file diff --git a/worlds/witness/Options.py b/worlds/witness/Options.py new file mode 100644 index 00000000..c150225d --- /dev/null +++ b/worlds/witness/Options.py @@ -0,0 +1,71 @@ +from typing import Dict +from BaseClasses import MultiWorld +from Options import Toggle, DefaultOnToggle, Option + + +# class HardMode(Toggle): +# "Play the randomizer in hardmode" +# display_name = "Hard Mode" + +# class UnlockSymbols(DefaultOnToggle): +# "All Puzzle symbols of a specific panel need to be unlocked before the panel can be used" +# display_name = "Unlock Symbols" + +class DisableNonRandomizedPuzzles(DefaultOnToggle): + """Disable puzzles that cannot be randomized. + Non randomized puzzles are Shadows, Monastery, and Greenhouse. + The lasers for those areas will be activated as you solve optional puzzles throughout the island.""" + display_name = "Disable non randomized puzzles" + + +class ShuffleDiscardedPanels(Toggle): + """Discarded Panels will have items on them. + Solving certain Discarded Panels may still be necessary!""" + display_name = "Shuffle Discarded Panels" + + +class ShuffleVaultBoxes(Toggle): + """Vault Boxes will have items on them.""" + display_name = "Shuffle Vault Boxes" + + +class ShuffleUncommonLocations(Toggle): + """Adds the following checks to the pool: + Mountaintop River Shape, Tutorial Patio Floor, Theater Videos""" + display_name = "Shuffle Uncommon Locations" + + +class ShuffleHardLocations(Toggle): + """Adds some harder locations into the game, e.g. Mountain Secret Area panels""" + display_name = "Shuffle Hard Locations" + + +class ChallengeVictoryCondition(Toggle): + """The victory condition now becomes beating the Challenge area, + instead of the final elevator.""" + display_name = "Victory on beating the Challenge" + + +the_witness_options: Dict[str, Option] = { + # "hard_mode": HardMode, + # "unlock_symbols": UnlockSymbols, + "disable_non_randomized_puzzles": DisableNonRandomizedPuzzles, + "shuffle_discarded_panels": ShuffleDiscardedPanels, + "shuffle_vault_boxes": ShuffleVaultBoxes, + "shuffle_uncommon": ShuffleUncommonLocations, + "shuffle_hard": ShuffleHardLocations, + "challenge_victory": ChallengeVictoryCondition +} + + +def is_option_enabled(world: MultiWorld, player: int, name: str) -> bool: + return get_option_value(world, player, name) > 0 + + +def get_option_value(world: MultiWorld, player: int, name: str) -> int: + option = getattr(world, name, None) + + if option is None: + return 0 + + return int(option[player].value) diff --git a/worlds/witness/WitnessItems.txt b/worlds/witness/WitnessItems.txt new file mode 100644 index 00000000..2eb8d735 --- /dev/null +++ b/worlds/witness/WitnessItems.txt @@ -0,0 +1,21 @@ +Progression: +0 - Dots +1 - Colored Dots +5 - Sound Dots +10 - Symmetry +20 - Triangles +30 - Eraser +40 - Shapers +41 - Rotated Shapers +50 - Negative Shapers +60 - Stars +61 - Stars + Same Colored Symbol +71 - Black/White Squares +72 - Colored Squares + +Boosts: +500 - Speed Boost + +Traps: +600 - Slowness Trap +610 - Power Surge Trap diff --git a/worlds/witness/WitnessLogic.txt b/worlds/witness/WitnessLogic.txt new file mode 100644 index 00000000..5a9d9de5 --- /dev/null +++ b/worlds/witness/WitnessLogic.txt @@ -0,0 +1,712 @@ +First Hallway (First Hallway) - Entry - True: +0x00064 (Straight) - True - True +0x00182 (Bend) - 0x00064 - True + +Tutorial (Tutorial) - First Hallway - 0x00182: +0x00293 (Front Center) - True - True +0x00295 (Center Left) - 0x00293 - True +0x002C2 (Front Left) - 0x00295 - True +0x0A3B5 (Back Left) - True - True +0x0A3B2 (Back Right) - True - True +0x03629 (Gate Open) - 0x002C2 & 0x0A3B5 & 0x0A3B2 - True +0x03505 (Gate Close) - 0x2FAF6 - True +0x0C335 (Pillar) - True - Triangles - True +0x0C373 (Patio Floor) - 0x0C335 - True + +Outside Tutorial (Outside Tutorial) - Tutorial - 0x03629: +0x033D4 (Vault) - True - Dots & Squares & Black/White Squares +0x03481 (Vault Box) - 0x033D4 - True +0x0A171 (Optional Door 1) - 0x0A3B5 - Dots +0x17CFB (Discard) - 0x0A171 - Triangles +0x04CA4 (Optional Door 2) - 0x0A171 - Dots & Squares & Black/White Squares +0x0005D (Dots Introduction 1) - True - Dots +0x0005E (Dots Introduction 2) - 0x0005D - Dots +0x0005F (Dots Introduction 3) - 0x0005E - Dots +0x00060 (Dots Introduction 4) - 0x0005F - Dots +0x00061 (Dots Introduction 5) - 0x00060 - Dots +0x018AF (Squares Introduction 1) - True - Squares & Black/White Squares +0x0001B (Squares Introduction 2) - 0x018AF - Squares & Black/White Squares +0x012C9 (Squares Introduction 3) - 0x0001B - Squares & Black/White Squares +0x0001C (Squares Introduction 4) - 0x012C9 - Squares & Black/White Squares +0x0001D (Squares Introduction 5) - 0x0001C - Squares & Black/White Squares +0x0001E (Squares Introduction 6) - 0x0001D - Squares & Black/White Squares +0x0001F (Squares Introduction 7) - 0x0001E - Squares & Black/White Squares +0x00020 (Squares Introduction 8) - 0x0001F - Squares & Black/White Squares +0x00021 (Squares Introduction 9) - 0x00020 - Squares & Black/White Squares + +Main Island () - Outside Tutorial - True: + +Outside Glass Factory (Glass Factory) - Main Island - True: +0x01A54 (Entry Door) - True - Symmetry +0x3C12B (Discard) - True - Triangles + +Inside Glass Factory (Glass Factory) - Outside Glass Factory - 0x01A54: +0x00086 (Vertical Symmetry 1) - True - Symmetry +0x00087 (Vertical Symmetry 2) - 0x00086 - Symmetry +0x00059 (Vertical Symmetry 3) - 0x00087 - Symmetry +0x00062 (Vertical Symmetry 4) - 0x00059 - Symmetry +0x0005C (Vertical Symmetry 5) - 0x00062 - Symmetry +0x0008D (Rotational Symmetry 1) - 0x0005C - Symmetry +0x00081 (Rotational Symmetry 2) - 0x0008D - Symmetry +0x00083 (Rotational Symmetry 3) - 0x00081 - Symmetry +0x00084 (Melting 1) - 0x00083 - Symmetry +0x00082 (Melting 2) - 0x00084 - Symmetry +0x0343A (Melting 3) - 0x00082 - Symmetry +0x17CC8 (Boat Spawn) - True - Boat + +Outside Symmetry Island (Symmetry Island) - Main Island - True: +0x000B0 (Door to Symmetry Island Lower) - True - Dots + +Symmetry Island Lower (Symmetry Island) - Outside Symmetry Island - 0x000B0: +0x00022 (Black Dots 1) - True - Symmetry & Dots +0x00023 (Black Dots 2) - 0x00022 - Symmetry & Dots +0x00024 (Black Dots 3) - 0x00023 - Symmetry & Dots +0x00025 (Black Dots 4) - 0x00024 - Symmetry & Dots +0x00026 (Black Dots 5) - 0x00025 - Symmetry & Dots +0x0007C (Colored Dots 1) - 0x00026 - Symmetry & Colored Dots +0x0007E (Colored Dots 2) - 0x0007C - Symmetry & Colored Dots +0x00075 (Colored Dots 3) - 0x0007E - Symmetry & Colored Dots +0x00073 (Colored Dots 4) - 0x00075 - Symmetry & Colored Dots +0x00077 (Colored Dots 5) - 0x00073 - Symmetry & Colored Dots +0x00079 (Colored Dots 6) - 0x00077 - Symmetry & Colored Dots +0x00065 (Fading Lines 1) - 0x00079 - Symmetry & Colored Dots +0x0006D (Fading Lines 2) - 0x00065 - Symmetry & Colored Dots +0x00072 (Fading Lines 3) - 0x0006D - Symmetry & Colored Dots +0x0006F (Fading Lines 4) - 0x00072 - Symmetry & Colored Dots +0x00070 (Fading Lines 5) - 0x0006F - Symmetry & Colored Dots +0x00071 (Fading Lines 6) - 0x00070 - Symmetry & Colored Dots +0x00076 (Fading Lines 7) - 0x00071 - Symmetry & Colored Dots +0x009B8 (Scenery Outlines 1) - True - Symmetry & Environment +0x003E8 (Scenery Outlines 2) - 0x009B8 - Symmetry & Environment +0x00A15 (Scenery Outlines 3) - 0x003E8 - Symmetry & Environment +0x00B53 (Scenery Outlines 4) - 0x00A15 - Symmetry & Environment +0x00B8D (Scenery Outlines 5) - 0x00B53 - Symmetry & Environment +0x1C349 (Door to Symmetry Island Upper) - 0x00076 - Symmetry & Dots + +Symmetry Island Upper (Symmetry Island) - Symmetry Island Lower - 0x1C349: +0x00A52 (Yellow 1) - True - Symmetry & Colored Dots +0x00A57 (Yellow 2) - 0x00A52 - Symmetry & Colored Dots +0x00A5B (Yellow 3) - 0x00A57 - Symmetry & Colored Dots +0x00A61 (Blue 1) - 0x00A52 - Symmetry & Colored Dots +0x00A64 (Blue 2) - 0x00A61 & 0x00A52 - Symmetry & Colored Dots +0x00A68 (Blue 3) - 0x00A64 & 0x00A57 - Symmetry & Colored Dots +0x0360D (Laser) - 0x00A68 - True + +Orchard (Orchard) - Main Island - True: +0x00143 (Apple Tree 1) - True - Environment +0x0003B (Apple Tree 2) - 0x00143 - Environment +0x00055 (Apple Tree 3) - 0x0003B - Environment +0x032F7 (Apple Tree 4) - 0x00055 - Environment +0x032FF (Apple Tree 5) - 0x032F7 - Environment + +Desert Outside (Desert) - Main Island - True: +0x0CC7B (Vault) - True - Dots & Shapers & Rotated Shapers & Negative Shapers +0x0339E (Vault Box) - 0x0CC7B - True +0x17CE7 (Discard) - True - Triangles +0x00698 (Sun Reflection 1) - True - Reflection +0x0048F (Sun Reflection 2) - 0x00698 - Reflection +0x09F92 (Sun Reflection 3) - 0x0048F & 0x09FA0 - Reflection +0x09FA0 (Reflection 3 Control) - 0x0048F - True +0x0A036 (Sun Reflection 4) - 0x09F92 - Reflection +0x09DA6 (Sun Reflection 5) - 0x09F92 - Reflection +0x0A049 (Sun Reflection 6) - 0x09F92 - Reflection +0x0A053 (Sun Reflection 7) - 0x0A036 & 0x09DA6 & 0x0A049 - Reflection +0x09F94 (Sun Reflection 8) - 0x0A053 & 0x09F86 - Reflection +0x09F86 (Reflection 8 Control) - 0x0A053 - True +0x0C339 (Door to Desert Flood Light Room) - 0x09F94 - True + +Desert Floodlight Room (Desert) - Desert Outside - 0x0C339: +0x09FAA (Light Control) - True - True +0x00422 (Artificial Light Reflection 1) - 0x09FAA - Reflection +0x006E3 (Artificial Light Reflection 2) - 0x09FAA - Reflection +0x0A02D (Artificial Light Reflection 3) - 0x09FAA & 0x00422 & 0x006E3 - Reflection + +Desert Pond Room (Desert) - Desert Floodlight Room - 0x0A02D: +0x00C72 (Pond Reflection 1) - True - Reflection +0x0129D (Pond Reflection 2) - 0x00C72 - Reflection +0x008BB (Pond Reflection 3) - 0x0129D - Reflection +0x0078D (Pond Reflection 4) - 0x008BB - Reflection +0x18313 (Pond Reflection 5) - 0x0078D - Reflection +0x0A249 (Door to Desert Water Levels Room) - 0x18313 - Reflection + +Desert Water Levels Room (Desert) - Desert Pond Room - 0x0A249: +0x1C2DF (Reduce Water Level Far Left) - True - True +0x1831E (Reduce Water Level Far Right) - True - True +0x1C260 (Reduce Water Level Near Left) - True - True +0x1831C (Reduce Water Level Near Right) - True - True +0x1C2F3 (Raise Water Level Far Left) - True - True +0x1831D (Raise Water Level Far Right) - True - True +0x1C2B1 (Raise Water Level Near Left) - True - True +0x1831B (Raise Water Level Near Right) - True - True +0x04D18 (Flood Reflection 1) - True - Reflection +0x01205 (Flood Reflection 2) - 0x04D18 - Reflection +0x181AB (Flood Reflection 3) - 0x01205 - Reflection +0x0117A (Flood Reflection 4) - 0x181AB - Reflection +0x17ECA (Flood Reflection 5) - 0x0117A - Reflection +0x18076 (Flood Reflection 6) - 0x17ECA - Reflection + +Desert Elevator Room (Desert) - Desert Water Levels Room - 0x18076: +0x17C31 (Final Transparent Reflection) - True - Reflection +0x012D7 (Final Reflection) - 0x17C31 & 0x0A015 - Reflection +0x012D7 (Final Reflection) - 0x17C31 & 0x0A015 - Reflection +0x0A015 (Final Reflection Control) - 0x17C31 - True +0x0A15C (Final Bent Reflection 1) - True - Reflection +0x09FFF (Final Bent Reflection 2) - 0x0A15C - Reflection +0x0A15F (Final Bent Reflection 3) - 0x09FFF - Reflection +0x03608 (Laser) - 0x012D7 & 0x0A15F - True + +Outside Quarry (Quarry) - Main Island - True: +0x09E57 (Door to Quarry 1) - True - Squares & Black/White Squares +0x17C09 (Door to Quarry 2) - 0x09E57 - Shapers +0x17CC4 (Elevator Control) - 0x0367C - Dots & Eraser + +Quarry (Quarry) - Outside Quarry - 0x17C09 - Quarry Mill - 0x275ED - Quarry Mill - 0x17CAC - Shadows Ledge - 0x198BF: +0x01E5A (Door to Mill Left) - True - Squares & Black/White Squares +0x01E59 (Door to Mill Right) - True - Dots +0x17CF0 (Discard) - True - Triangles +0x03612 (Laser) - 0x0A3D0 & 0x0367C - Eraser & Shapers + +Quarry Mill (Quarry Mill) - Quarry - 0x01E59 & 0x01E5A: +0x275ED (Ground Floor Shortcut Door) - True - True +0x03678 (Lower Ramp Control) - True - Dots & Eraser +0x00E0C (Eraser and Dots 1) - 0x03678 - Dots & Eraser +0x01489 (Eraser and Dots 2) - 0x00E0C - Dots & Eraser +0x0148A (Eraser and Dots 3) - 0x01489 - Dots & Eraser +0x014D9 (Eraser and Dots 4) - 0x0148A - Dots & Eraser +0x014E7 (Eraser and Dots 5) - 0x014D9 - Dots & Eraser +0x014E8 (Eraser and Dots 6) - 0x014E7 - Dots & Eraser +0x03679 (Lower Lift Control) - 0x014E8 - Dots & Eraser +0x03675 (Upper Ramp Control) - 0x03679 - Dots & Eraser +0x03676 (Upper Lift Control) - 0x03679 - Dots & Eraser +0x00557 (Eraser and Squares 1) - 0x03679 - Squares & Colored Squares & Eraser +0x005F1 (Eraser and Squares 2) - 0x00557 - Squares & Colored Squares & Eraser +0x00620 (Eraser and Squares 3) - 0x005F1 - Squares & Colored Squares & Eraser +0x009F5 (Eraser and Squares 4) - 0x00620 - Squares & Colored Squares & Eraser +0x0146C (Eraser and Squares 5) - 0x009F5 - Squares & Colored Squares & Eraser +0x3C12D (Eraser and Squares 6) - 0x0146C - Squares & Colored Squares & Eraser +0x03686 (Eraser and Squares 7) - 0x3C12D - Squares & Colored Squares & Eraser +0x014E9 (Eraser and Squares 8) - 0x03686 - Squares & Colored Squares & Eraser +0x03677 (Stair Control) - 0x014E8 - Squares & Colored Squares & Eraser +0x3C125 (Big Squares & Dots & and Eraser) - 0x0367C - Squares & Black/White Squares & Dots & Eraser +0x0367C (Small Squares & Dots & and Eraser) - 0x014E9 - Squares & Colored Squares & Dots & Eraser +0x17CAC (Door to Outside Quarry Stairs) - True - True + +Quarry Boathouse (Quarry Boathouse) - Quarry - True: +0x034D4 (Intro Stars) - True - Stars +0x021D5 (Intro Shapers) - True - Shapers & Rotated Shapers +0x03852 (Ramp Height Control) - 0x034D4 & 0x021D5 - Rotated Shapers +0x021B3 (Eraser and Shapers 1) - 0x03852 - Shapers & Eraser +0x021B4 (Eraser and Shapers 2) - 0x021B3 - Shapers & Eraser +0x021B0 (Eraser and Shapers 3) - 0x021B4 - Shapers & Eraser +0x021AF (Eraser and Shapers 4) - 0x021B0 - Shapers & Eraser +0x021AE (Eraser and Shapers 5) - 0x021AF - Shapers & Eraser & Broken Shapers +0x03858 (Ramp Horizontal Control) - 0x021AE - Shapers & Eraser +0x38663 (Shortcut Door) - 0x03858 - True +0x021B5 (Stars and Colored Eraser 1) - 0x03858 - Stars & Stars + Same Colored Symbol & Eraser +0x021B6 (Stars and Colored Eraser 2) - 0x021B5 - Stars & Stars + Same Colored Symbol & Eraser +0x021B7 (Stars and Colored Eraser 3) - 0x021B6 - Stars & Stars + Same Colored Symbol & Eraser +0x021BB (Stars and Colored Eraser 4) - 0x021B7 - Stars & Stars + Same Colored Symbol & Eraser +0x09DB5 (Stars and Colored Eraser 5) - 0x021BB - Stars & Stars + Same Colored Symbol & Eraser +0x09DB1 (Stars and Colored Eraser 6) - 0x09DB5 - Stars & Stars + Same Colored Symbol & Eraser +0x3C124 (Stars and Colored Eraser 7) - 0x09DB1 - Stars & Stars + Same Colored Symbol & Eraser +0x09DB3 (Stars & Eraser & and Shapers 1) - 0x3C124 - Stars & Eraser & Shapers +0x09DB4 (Stars & Eraser & and Shapers 2) - 0x09DB3 - Stars & Eraser & Shapers +0x275FA (Hook Control) - 0x03858 - Shapers & Eraser +0x17CA6 (Boat Spawn) - True - Boat +0x0A3CB (Stars & Eraser & and Shapers 3) - 0x09DB4 - Stars & Eraser & Shapers +0x0A3CC (Stars & Eraser & and Shapers 4) - 0x0A3CB - Stars & Eraser & Shapers +0x0A3D0 (Stars & Eraser & and Shapers 5) - 0x0A3CC - Stars & Eraser & Shapers + +Shadows (Shadows) - Main Island - True - Keep Glass Plates - 0x09E49: +0x334DB (Door Timer Outside) - True - True +0x0AC74 (Lower Avoid 6) - 0x0A8DC - Shadows Avoid +0x0AC7A (Lower Avoid 7) - 0x0AC74 - Shadows Avoid +0x0A8E0 (Lower Avoid 8) - 0x0AC7A - Shadows Avoid +0x386FA (Environmental Avoid 1) - 0x0A8E0 - Shadows Avoid & Environment +0x1C33F (Environmental Avoid 2) - 0x386FA - Shadows Avoid & Environment +0x196E2 (Environmental Avoid 3) - 0x1C33F - Shadows Avoid & Environment +0x1972A (Environmental Avoid 4) - 0x196E2 - Shadows Avoid & Environment +0x19809 (Environmental Avoid 5) - 0x1972A - Shadows Avoid & Environment +0x19806 (Environmental Avoid 6) - 0x19809 - Shadows Avoid & Environment +0x196F8 (Environmental Avoid 7) - 0x19806 - Shadows Avoid & Environment +0x1972F (Environmental Avoid 8) - 0x196F8 - Shadows Avoid & Environment +0x19797 (Follow 1) - 0x0A8E0 - Shadows Follow +0x1979A (Follow 2) - 0x19797 - Shadows Follow +0x197E0 (Follow 3) - 0x1979A - Shadows Follow +0x197E8 (Follow 4) - 0x197E0 - Shadows Follow +0x197E5 (Follow 5) - 0x197E8 - Shadows Follow +0x19650 (Laser) - 0x197E5 & 0x196F8 - Shadows Avoid & Shadows Follow + +Shadows Ledge (Shadows) - Shadows - 0x334DB | 0x334DC | 0x0A8DC: +0x334DC (Door Timer Inside) - True - True +0x168B5 (Lower Avoid 1) - True - Shadows Avoid +0x198BD (Lower Avoid 2) - 0x168B5 - Shadows Avoid +0x198BF (Lower Avoid 3) - 0x198BD & 0x334DC - Shadows Avoid +0x19771 (Lower Avoid 4) - 0x198BF - Shadows Avoid +0x0A8DC (Lower Avoid 5) - 0x19771 - Shadows Avoid + +Keep (Keep) - Main Island - True: + +Keep Hedges (Keep) - Keep - True: +0x00139 (Hedge Maze 1) - True - Environment +0x019DC (Hedge Maze 2) - 0x00139 - Environment +0x019E7 (Hedge Maze 3) - 0x019DC - Environment & Sound +0x01A0F (Hedge Maze 4) - 0x019E7 - Environment + +Keep Glass Plates (Keep) - Keep - True - Keep Tower - 0x0361B: +0x0A3A8 (Reset Pressure Plates 1) - True - True +0x033EA (Pressure Plates 1) - 0x0A3A8 - Pressure Plates & Dots +0x0A3B9 (Reset Pressure Plates 2) - 0x033EA - True +0x01BE9 (Pressure Plates 2) - 0x033EA & 0x0A3B9 - Pressure Plates & Stars & Stars + Same Colored Symbol & Squares & Black/White Squares +0x0A3BB (Reset Pressure Plates 3) - 0x0A3A8 - True +0x01CD3 (Pressure Plates 3) - 0x0A3A8 & 0x0A3BB - Pressure Plates & Shapers & Squares & Black/White Squares & Colored Squares +0x0A3AD (Reset Pressure Plates 4) - 0x01CD3 - True +0x01D3F (Pressure Plates 4) - 0x01CD3 & 0x0A3AD - Pressure Plates & Shapers & Dots & Symmetry +0x17D27 (Discard) - 0x01CD3 - Triangles +0x09E49 (Shortcut to Shadows) - 0x01CD3 - True + +Shipwreck (Shipwreck) - Keep Glass Plates - 0x033EA: +0x00AFB (Vault) - True - Symmetry & Sound & Sound Dots & Colored Dots +0x03535 (Vault Box) - 0x00AFB - True +0x17D28 (Discard) - True - Triangles + +Keep Tower (Keep) - Keep Hedges - 0x01A0F - Keep Glass Plates - 0x01D3F: +0x0361B (Shortcut to Keep Glass Plates) - True - True +0x0360E (Laser Hedges) - 0x01A0F - Environment & Sound +0x03317 (Laser Pressure Plates) - 0x01D3F - Shapers & Squares & Black/White Squares & Colored Squares & Stars & Stars + Same Colored Symbol & Dots + +Outside Monastery (Monastery) - Main Island - True: +0x03713 (Shortcut) - True - True +0x00B10 (Door Open Left) - True - True +0x00C92 (Door Open Right) - True - True +0x00290 (Rhombic Avoid 1) - 0x09D9B - Environment +0x00038 (Rhombic Avoid 2) - 0x09D9B & 0x00290 - Environment +0x00037 (Rhombic Avoid 3) - 0x09D9B & 0x00038 - Environment +0x17CA4 (Laser) - 0x193A6 - True + +Inside Monastery (Monastery) - Outside Monastery - 0x00B10 & 0x00C92: +0x09D9B (Overhead Door Control) - True - Dots +0x193A7 (Branch Avoid 1) - 0x00037 - Environment +0x193AA (Branch Avoid 2) - 0x193A7 - Environment +0x193AB (Branch Follow 1) - 0x193AA - Environment +0x193A6 (Branch Follow 2) - 0x193AB - Environment + +Monastery Garden (Monastery) - Outside Monastery - 0x00037 - Outside Jungle River - 0x17CAA: + +Town (Town) - Main Island - True - Theater - 0x0A168 | 0x33AB2: +0x0A054 (Boat Summon) - True - Boat +0x0A0C8 (Cargo Box) - True - Squares & Black/White Squares & Shapers +0x17D01 (Cargo Box Discard) - 0x0A0C8 - Triangles +0x09F98 (Desert Laser Redirect) - True - True +0x18590 (Tree Outlines) - True - Symmetry & Environment +0x28AE3 (Vines Shadows Follow) - 0x18590 - Shadows Follow & Environment +0x28938 (Four-way Apple Tree) - 0x28AE3 - Environment +0x079DF (Triple Environmental Puzzle) - 0x28938 - Shadows Avoid & Environment & Reflection +0x28B39 (Hexagonal Reflection) - 0x079DF & 0x2896A - Reflection +0x28998 (Tinted Door to RGB House) - True - Stars & Rotated Shapers +0x28A0D (Door to Church) - 0x28998 - Stars & RGB & Environment +0x28A69 (Square Avoid) - 0x28A0D - Environment +0x28A79 (Maze Stair Control) - True - Environment +0x2896A (Maze Rooftop Bridge Control) - 0x28A79 - Shapers +0x17C71 (Rooftop Discard) - 0x2896A - Triangles +0x28AC7 (Symmetry Squares 1) - 0x2896A - Symmetry & Squares & Black/White Squares +0x28AC8 (Symmetry Squares 2) - 0x28AC7 - Symmetry & Squares & Black/White Squares +0x28ACA (Symmetry Squares 3 + Dots) - 0x28AC8 - Symmetry & Squares & Black/White Squares & Dots +0x28ACB (Symmetry Squares 4 + Dots) - 0x28ACA - Symmetry & Squares & Black/White Squares & Dots +0x28ACC (Symmetry Squares 5 + Dots) - 0x28ACB - Symmetry & Squares & Black/White Squares & Dots +0x2899C (Full Dot Grid Shapers 1) - True - Rotated Shapers & Dots +0x28A33 (Full Dot Grid Shapers 2) - 0x2899C - Shapers & Dots +0x28ABF (Full Dot Grid Shapers 3) - 0x28A33 - Shapers & Rotated Shapers & Dots +0x28AC0 (Full Dot Grid Shapers 4) - 0x28ABF - Rotated Shapers & Dots +0x28AC1 (Full Dot Grid Shapers 5) - 0x28AC0 - Rotated Shapers & Dots +0x28AD9 (Shapers & Dots & and Eraser) - 0x28AC1 - Rotated Shapers & Dots & Eraser +0x17F5F (Windmill Door) - True - Dots + +RGB House (Town) - Town - 0x28998: +0x034E4 (Sound Room Left) - True - Sound & Sound Waves +0x034E3 (Sound Room Right) - True - Sound & Sound Dots +0x334D8 (RGB Control) - 0x034E4 & 0x034E3 - Rotated Shapers & RGB & Squares & Colored Squares +0x03C0C (RGB Squares) - 0x334D8 - RGB & Squares & Colored Squares & Black/White Squares +0x03C08 (RGB Stars) - 0x334D8 - RGB & Stars + +Town Tower Top (Town) - Town - 0x28A69 & 0x28B39 & 0x28ACC & 0x28AD9: +0x032F5 (Laser) - True - True + +Windmill Interior (Windmill) - Town - 0x17F5F: +0x17D02 (Turn Control) - True - Dots +0x17F89 (Door to Front of Theater) - True - Squares & Black/White Squares + +Theater (Theater) - Windmill Interior - 0x17F89: +0x00815 (Video Input) - True - True +0x03553 (Tutorial Video) - 0x00815 & 0x03481 - True +0x03552 (Desert Video) - 0x00815 & 0x0339E - True +0x0354E (Jungle Video) - 0x00815 & 0x03702 - True +0x03549 (Challenge Video) - 0x00815 & 0x2FAF6 - True +0x0354F (Shipwreck Video) - 0x00815 & 0x03535 - True +0x03545 (Mountain Video) - 0x00815 & 0x03542 - True +0x0A168 (Door to Cargo Box Left) - True - Squares & Black/White Squares & Eraser +0x33AB2 (Door to Cargo Box Right) - True - Squares & Black/White Squares & Shapers +0x17CF7 (Discard) - True - Triangles + +Jungle (Jungle) - Main Island - True: +0x17CDF (Shore Boat Spawn) - True - Boat +0x17F9B (Discard) - True - Triangles +0x002C4 (Waves 1) - True - Sound & Sound Waves +0x00767 (Waves 2) - 0x002C4 - Sound & Sound Waves +0x002C6 (Waves 3) - 0x00767 - Sound & Sound Waves +0x0070E (Waves 4) - 0x002C6 - Sound & Sound Waves +0x0070F (Waves 5) - 0x0070E - Sound & Sound Waves +0x0087D (Waves 6) - 0x0070F - Sound & Sound Waves +0x002C7 (Waves 7) - 0x0087D - Sound & Sound Waves +0x17CAB (Popup Wall Control) - 0x002C7 - True +0x0026D (Popup Wall 1) - 0x17CAB - Sound & Sound Dots +0x0026E (Popup Wall 2) - 0x0026D - Sound & Sound Dots +0x0026F (Popup Wall 3) - 0x0026E - Sound & Sound Dots +0x00C3F (Popup Wall 4) - 0x0026F - Sound & Sound Dots +0x00C41 (Popup Wall 5) - 0x00C3F - Sound & Sound Dots +0x014B2 (Popup Wall 6) - 0x00C41 - Sound & Sound Dots +0x03616 (Laser) - 0x014B2 - True +0x337FA (Shortcut to River) - True - True + +Outside Jungle River (River) - Main Island - True - Jungle - 0x337FA: +0x17CAA (Rhombic Avoid to Monastery Garden) - True - Environment +0x15ADD (Rhombic Avoid Vault) - True - Environment +0x03702 (Vault Box) - 0x15ADD - True + +Outside Bunker (Bunker) - Main Island - True - Inside Bunker - 0x0A079: +0x17C2E (Door to Bunker) - True - Squares & Black/White Squares +0x09DE0 (Laser) - 0x0A079 - True + +Inside Bunker (Bunker) - Outside Bunker - 0x17C2E: +0x09F7D (Drawn Squares 1) - True - Squares & Colored Squares +0x09FDC (Drawn Squares 2) - 0x09F7D - Squares & Colored Squares & Black/White Squares +0x09FF7 (Drawn Squares 3) - 0x09FDC - Squares & Colored Squares & Black/White Squares +0x09F82 (Drawn Squares 4) - 0x09FF7 - Squares & Colored Squares & Black/White Squares +0x09FF8 (Drawn Squares 5) - 0x09F82 - Squares & Colored Squares & Black/White Squares +0x09D9F (Drawn Squares 6) - 0x09FF8 - Squares & Colored Squares & Black/White Squares +0x09DA1 (Drawn Squares 7) - 0x09D9F - Squares & Colored Squares +0x09DA2 (Drawn Squares 8) - 0x09DA1 - Squares & Colored Squares +0x09DAF (Drawn Squares 9) - 0x09DA2 - Squares & Colored Squares +0x0A099 (Door to Bunker Proper) - 0x09DAF - True +0x0A010 (Drawn Squares through Tinted Glass 1) - 0x0A099 - Squares & Colored Squares & RGB & Environment +0x0A01B (Drawn Squares through Tinted Glass 2) - 0x0A010 - Squares & Colored Squares & Black/White Squares & RGB & Environment +0x0A01F (Drawn Squares through Tinted Glass 3) - 0x0A01B - Squares & Colored Squares & Black/White Squares & RGB & Environment +0x34BC5 (Drop-Down Door Open) - 0x0A01F - True +0x34BC6 (Drop-Down Door Close) - 0x34BC5 - True +0x17E63 (Drop-Down Door Squares 1) - 0x0A01F & 0x34BC5 - Squares & Colored Squares & RGB & Environment +0x17E67 (Drop-Down Door Squares 2) - 0x17E63 & 0x34BC6 - Squares & Colored Squares & Black/White Squares & RGB +0x0A079 (Elevator Control) - 0x17E67 - Squares & Colored Squares & Black/White Squares & RGB + +Outside Swamp (Swamp) - Main Island - True: +0x0056E (Entry Door) - True - Shapers + +Swamp Entry Area (Swamp) - Outside Swamp - 0x0056E: +0x00469 (Seperatable Shapers 1) - True - Shapers +0x00472 (Seperatable Shapers 2) - 0x00469 - Shapers +0x00262 (Seperatable Shapers 3) - 0x00472 - Shapers +0x00474 (Seperatable Shapers 4) - 0x00262 - Shapers +0x00553 (Seperatable Shapers 5) - 0x00474 - Shapers +0x0056F (Seperatable Shapers 6) - 0x00553 - Shapers +0x00390 (Combinable Shapers 1) - 0x0056F - Shapers +0x010CA (Combinable Shapers 2) - 0x00390 - Shapers +0x00983 (Combinable Shapers 3) - 0x010CA - Shapers +0x00984 (Combinable Shapers 4) - 0x00983 - Shapers +0x00986 (Combinable Shapers 5) - 0x00984 - Shapers +0x00985 (Combinable Shapers 6) - 0x00986 - Shapers +0x00987 (Combinable Shapers 7) - 0x00985 - Shapers +0x181A9 (Combinable Shapers 8) - 0x00987 - Shapers +0x00609 (Slide Bridge) - 0x181A9 - Shapers + +Swamp Near Platform (Swamp) - Swamp Entry Area - 0x00609 | 0x18488: +0x00999 (Broken Shapers 1) - 0x00990 - Broken Shapers +0x0099D (Broken Shapers 2) - 0x00999 - Broken Shapers +0x009A0 (Broken Shapers 3) - 0x0099D - Broken Shapers +0x009A1 (Broken Shapers 4) - 0x009A0 - Broken Shapers +0x00002 (Cyan Underwater Negative Shapers 1) - 0x00006 - Shapers & Negative Shapers +0x00004 (Cyan Underwater Negative Shapers 2) - 0x00002 - Shapers & Negative Shapers +0x00005 (Cyan Underwater Negative Shapers 3) - 0x00004 - Shapers & Negative Shapers +0x013E6 (Cyan Underwater Negative Shapers 4) - 0x00005 - Shapers & Negative Shapers +0x00596 (Cyan Underwater Negative Shapers 5) - 0x013E6 - Shapers & Negative Shapers +0x18488 (Cyan Underwater Sliding Bridge Control) - 0x00006 - Shapers + +Swamp Platform (Swamp) - Swamp Near Platform - True: +0x00982 (Platform Shapers 1) - True - Shapers +0x0097F (Platform Shapers 2) - 0x00982 - Shapers +0x0098F (Platform Shapers 3) - 0x0097F - Shapers +0x00990 (Platform Shapers 4) - 0x0098F - Shapers +0x17C0D (Platform Shortcut Door Left) - True - Shapers +0x17C0E (Platform Shortcut Door Right) - True - Shapers + +Swamp Rotating Bridge Near Side (Swamp) - Swamp Near Platform - 0x009A1: +0x00007 (Rotated Shapers 1) - 0x009A1 - Rotated Shapers +0x00008 (Rotated Shapers 2) - 0x00007 - Rotated Shapers & Shapers +0x00009 (Rotated Shapers 3) - 0x00008 - Rotated Shapers +0x0000A (Rotated Shapers 4) - 0x00009 - Rotated Shapers +0x00001 (Red Underwater Negative Shapers 1) - 0x00596 - Shapers & Negative Shapers +0x014D2 (Red Underwater Negative Shapers 2) - 0x00596 - Shapers & Negative Shapers +0x014D4 (Red Underwater Negative Shapers 3) - 0x00596 - Shapers & Negative Shapers +0x014D1 (Red Underwater Negative Shapers 4) - 0x00596 - Shapers & Negative Shapers + +Swamp Near Boat (Swamp) - Swamp Rotating Bridge Near Side - 0x009A1 - Swamp Platform - 0x17C0D & 0x17C0E: +0x181F5 (Rotating Bridge) - True - Rotated Shapers, Shapers +0x09DB8 (Boat Spawn) - True - Boat +0x003B2 (More Rotated Shapers 1) - 0x0000A - Rotated Shapers +0x00A1E (More Rotated Shapers 2) - 0x003B2 - Rotated Shapers +0x00C2E (More Rotated Shapers 3) - 0x00A1E - Rotated Shapers +0x00E3A (More Rotated Shapers 4) - 0x00C2E - Rotated Shapers +0x009A6 (Underwater Back Optional) - 0x00E3A - Shapers +0x009AB (Blue Underwater Negative Shapers 1) - 0x00E3A - Shapers & Negative Shapers +0x009AD (Blue Underwater Negative Shapers 2) - 0x009AB - Shapers & Negative Shapers +0x009AE (Blue Underwater Negetive Shapers 3) - 0x009AD - Shapers & Negative Shapers +0x009AF (Blue Underwater Negative Shapers 4) - 0x009AE - Shapers & Negative Shapers +0x00006 (Blue Underwater Negative Shapers 5) - 0x009AF - Shapers & Negative Shapers & Broken Negative Shapers +0x17E2B (Long Bridge Control) - True - Rotated Shapers + +Swamp Maze (Swamp) - Swamp Rotating Bridge Near Side - 0x00001 & 0x014D2 & 0x014D4 & 0x014D1 - Outside Swamp - 0x17C05 & 0x17C02: +0x17C04 (Maze Control) - True - Shapers & Negative Shapers & Rotated Shapers & Environment +0x03615 (Laser) - 0x17C04 - True +0x17C05 (Near Laser Shortcut Door Left) - True - Rotated Shapers +0x17C02 (Near Laser Shortcut Door Right) - 0x17C05 - Shapers & Negative Shapers & Rotated Shapers + +Treehouse Entry Area (Treehouse): +0x17C95 (Boat Spawn) - True - Boat +0x0288C (First Door) - True - Stars +0x02886 (Second Door) - 0x0288C - Stars +0x17D72 (Yellow Bridge 1) - 0x02886 - Stars +0x17D8F (Yellow Bridge 2) - 0x17D72 - Stars +0x17D74 (Yellow Bridge 3) - 0x17D8F - Stars +0x17DAC (Yellow Bridge 4) - 0x17D74 - Stars +0x17D9E (Yellow Bridge 5) - 0x17DAC - Stars +0x17DB9 (Yellow Bridge 6) - 0x17D9E - Stars +0x17D9C (Yellow Bridge 7) - 0x17DB9 - Stars +0x17DC2 (Yellow Bridge 8) - 0x17D9C - Stars +0x17DC4 (Yellow Bridge 9) - 0x17DC2 - Stars +0x0A182 (Beyond Yellow Bridge Door) - 0x17DC4 - Stars + +Treehouse Beyond Yellow Bridge (Treehouse) - Treehouse Entry Area - 0x0A182: +0x2700B (Laser House Door Timer Outside Control) - True - True +0x17DC8 (First Purple Bridge 1) - True - Stars & Dots +0x17DC7 (First Purple Bridge 2) - 0x17DC8 - Stars & Dots +0x17CE4 (First Purple Bridge 3) - 0x17DC7 - Stars & Dots +0x17D2D (First Purple Bridge 4) - 0x17CE4 - Stars & Dots +0x17D6C (First Purple Bridge 5) - 0x17D2D - Stars & Dots +0x17D9B (Second Purple Bridge 1) - 0x17D6C - Stars & Squares & Black/White Squares +0x17D99 (Second Purple Bridge 2) - 0x17D9B - Stars & Squares & Black/White Squares +0x17DAA (Second Purple Bridge 3) - 0x17D99 - Stars & Squares & Black/White Squares +0x17D97 (Second Purple Bridge 4) - 0x17DAA - Stars & Squares & Black/White Squares & Colored Squares +0x17BDF (Second Purple Bridge 5) - 0x17D97 - Stars & Squares & Colored Squares +0x17D91 (Second Purple Bridge 6) - 0x17BDF - Stars & Squares & Colored Squares +0x17DC6 (Second Purple Bridge 7) - 0x17D91 - Stars & Squares & Colored Squares +0x17E3C (Green Bridge 1) - True - Stars & Shapers +0x17E4D (Green Bridge 2) - 0x17E3C - Stars & Shapers +0x17E4F (Green Bridge 3) - 0x17E4D - Stars & Shapers & Rotated Shapers +0x17E52 (Green Bridge 4 & Directional) - 0x17E4F - Stars & Rotated Shapers & Environment +0x17E5B (Green Bridge 5) - 0x17E52 - Stars & Shapers & Colored Shapers & Stars + Same Colored Symbol +0x17E5F (Green Bridge 6) - 0x17E5B - Stars & Shapers & Colored Shapers & Negative Shapers & Colored Negative Shapers & Stars + Same Colored Symbol +0x17E61 (Green Bridge 7) - 0x17E5F - Stars & Shapers & Rotated Shapers +0x17FA9 (Green Bridge Discard) - 0x17E61 - Triangles +0x17DB3 (Left Orange Bridge 1) - 0x17DC6 - Stars & Squares & Black/White Squares & Stars + Same Colored Symbol +0x17DB5 (Left Orange Bridge 2) - 0x17DB3 - Stars & Squares & Black/White Squares & Stars + Same Colored Symbol +0x17DB6 (Left Orange Bridge 3) - 0x17DB5 - Stars & Squares & Black/White Squares & Stars + Same Colored Symbol +0x17DC0 (Left Orange Bridge 4) - 0x17DB6 - Stars & Squares & Black/White Squares & Stars + Same Colored Symbol +0x17DD7 (Left Orange Bridge 5) - 0x17DC0 - Stars & Squares & Black/White Squares & Colored Squares & Stars + Same Colored Symbol +0x17DD9 (Left Orange Bridge 6) - 0x17DD7 - Stars & Squares & Black/White Squares & Colored Squares & Stars + Same Colored Symbol +0x17DB8 (Left Orange Bridge 7) - 0x17DD9 - Stars & Squares & Black/White Squares & Colored Squares & Stars + Same Colored Symbol +0x17DDC (Left Orange Bridge 8) - 0x17DB8 - Stars & Squares & Colored Squares & Stars + Same Colored Symbol +0x17DD1 (Left Orange Bridge 9 & Directional) - 0x17DDC - Stars & Squares & Colored Squares & Stars + Same Colored Symbol & Environment +0x17DDE (Left Orange Bridge 10) - 0x17DD1 - Stars & Squares & Colored Squares & Stars + Same Colored Symbol +0x17DE3 (Left Orange Bridge 11) - 0x17DDE - Stars & Squares & Colored Squares & Stars + Same Colored Symbol +0x17DEC (Left Orange Bridge 12) - 0x17DE3 - Stars & Squares & Black/White Squares & Stars + Same Colored Symbol +0x17DAE (Left Orange Bridge 13) - 0x17DEC - Stars & Squares & Black/White Squares & Stars + Same Colored Symbol +0x17DB0 (Left Orange Bridge 14) - 0x17DAE - Stars & Squares & Black/White Squares & Stars + Same Colored Symbol +0x17DDB (Left Orange Bridge 15) - 0x17DB0 - Stars & Squares & Black/White Squares & Stars + Same Colored Symbol +0x17FA0 (Burned House Discard) - 0x17DDB - Triangles +0x17D88 (Right Orange Bridge 1) - True - Stars +0x17DB4 (Right Orange Bridge 2) - 0x17D88 - Stars +0x17D8C (Right Orange Bridge 3) - 0x17DB4 - Stars +0x17CE3 (Right Orange Bridge 4 & Directional) - 0x17D8C - Stars & Environment +0x17DCD (Right Orange Bridge 5) - 0x17CE3 - Stars +0x17DB2 (Right Orange Bridge 6) - 0x17DCD - Stars +0x17DCC (Right Orange Bridge 7) - 0x17DB2 - Stars +0x17DCA (Right Orange Bridge 8) - 0x17DCC - Stars +0x17D8E (Right Orange Bridge 9) - 0x17DCA - Stars +0x17DB7 (Right Orange Bridge 10 & Directional) - 0x17D8E - Stars +0x17DB1 (Right Orange Bridge 11) - 0x17DB7 - Stars +0x17DA2 (Right Orange Bridge 12) - 0x17DB1 - Stars + +Treehouse Laser Room (Treehouse) - Treehouse Beyond Yellow Bridge - 0x2700B & 0x17DA2 & 0x17DDB: +0x03613 (Laser) - True - True +0x17CBC (Laser House Door Timer Inside Control) - True - True + +Treehouse Bridge Platform (Treehouse) - Treehouse Beyond Yellow Bridge - 0x17DA2 - Main Island - 0x037FF: +0x037FF (Bridge Control) - True - Stars + +Mountaintop (Mountaintop) - Main Island - True: +0x0042D (River Shape) - True - True +0x09F7F (Box Open) - 7 Lasers - True +0x17C34 (Trap Door Triple Exit) - 0x09F7F - Stars & Squares & Black/White Squares & Stars + Same Colored Symbol +0x17C42 (Discard) - True - Triangles +0x002A6 (Vault) - True - Symmetry & Colored Dots & Squares & Black/White Squares & Dots +0x03542 (Vault Box) - 0x002A6 - True + +Inside Mountain Top Layer (Inside Mountain) - Mountaintop - 0x17C34: +0x09E39 (Light Bridge Controller) - True - Squares & Black/White Squares & Colored Squares & Eraser & Colored Eraser + +Inside Mountain Top Layer Bridge (Inside Mountain) - Inside Mountain Top Layer - 0x09E39: +0x09E7A (Obscured Vision 1) - True - Obscured & Squares & Black/White Squares & Dots +0x09E71 (Obscured Vision 2) - 0x09E7A - Obscured & Squares & Black/White Squares & Dots +0x09E72 (Obscured Vision 3) - 0x09E71 - Obscured & Squares & Black/White Squares & Rotated Shapers & Dots +0x09E69 (Obscured Vision 4) - 0x09E72 - Obscured & Squares & Black/White Squares & Dots +0x09E7B (Obscured Vision 5) - 0x09E69 - Obscured & Squares & Black/White Squares & Dots +0x09E73 (Moving Background 1) - True - Moving & Stars & Squares & Black/White Squares & Stars + Same Colored Symbol +0x09E75 (Moving Background 2) - 0x09E73 - Moving & Stars & Squares & Black/White Squares & Stars + Same Colored Symbol +0x09E78 (Moving Background 3) - 0x09E75 - Moving & Shapers +0x09E79 (Moving Background 4) - 0x09E78 - Moving & Shapers & Rotated Shapers +0x09E6C (Moving Background 5) - 0x09E79 - Moving & Stars & Squares & Black/White Squares & Stars + Same Colored Symbol +0x09E6F (Moving Background 6) - 0x09E6C - Moving & Stars & Rotated Shapers & Shapers +0x09E6B (Moving Background 7) - 0x09E6F - Moving & Stars & Dots +0x33AF5 (Physically Obstructed 1) - True - Squares & Black/White Squares & Environment & Symmetry +0x33AF7 (Physically Obstructed 2) - 0x33AF5 - Squares & Black/White Squares & Stars & Environment +0x09F6E (Physically Obstructed 3) - 0x33AF7 - Symmetry & Dots & Environment +0x09EAD (Angled Inside Trash 1) - True - Squares & Black/White Squares & Shapers & Angled +0x09EAF (Angled Inside Trash 2) - 0x09EAD - Squares & Black/White Squares & Shapers & Angled + +Inside Mountain Second Layer (Inside Mountain) - Inside Mountain Top Layer Bridge - 0x09EAF & 0x09F6E & 0x09E6B & 0x09E7B: +0x09FD3 (Color Cycle 1) - True - Color Cycle & RGB & Stars & Squares & Colored Squares & Stars + Same Colored Symbol +0x09FD4 (Color Cycle 2) - 0x09FD3 - Color Cycle & RGB & Stars & Squares & Colored Squares & Stars + Same Colored Symbol +0x09FD6 (Color Cycle 3) - 0x09FD4 - Color Cycle & RGB & Stars & Squares & Colored Squares & Stars + Same Colored Symbol +0x09FD7 (Color Cycle 4) - 0x09FD6 - Color Cycle & RGB & Stars & Squares & Colored Squares & Stars + Same Colored Symbol & Shapers & Colored Shapers +0x09FD8 (Color Cycle 5) - 0x09FD7 - Color Cycle & RGB & Squares & Colored Squares & Symmetry & Colored Dots +0x09E86 (Light Bridge Controller 2) - 0x09FD7 - Stars & Stars + Same Colored Symbol & Colored Rotated Shapers & Eraser & Two Lines + +Inside Mountain Second Layer Beyond Bridge (Inside Mountain) - Inside Mountain Second Layer - 0x09E86: +0x09FCC (Same Solution 1) - True - Dots & Same Solution +0x09FCE (Same Solution 2) - 0x09FCC - Squares & Black/White Squares & Same Solution +0x09FCF (Same Solution 3) - 0x09FCE - Stars & Same Solution +0x09FD0 (Same Solution 4) - 0x09FCF - Rotated Shapers & Same Solution +0x09FD1 (Same Solution 5) - 0x09FD0 - Stars & Squares & Colored Squares & Stars + Same Colored Symbol & Same Solution +0x09FD2 (Same Solution 6) - 0x09FD1 - Shapers & Same Solution +0x09ED8 (Light Bridge Controller 3) - 0x09FD2 - Stars & Stars + Same Colored Symbol & Colored Rotated Shapers & Eraser & Two Lines + +Inside Mountain Second Layer Elevator (Inside Mountain) - Inside Mountain Second Layer - 0x09ED8 & 0x09E86: +0x09EEB (Elevator Control Panel) - True - Dots +0x17F93 (Elevator Discard) - True - Triangles + +Inside Mountain Third Layer (Inside Mountain) - Inside Mountain Second Layer Elevator - 0x09EEB: +0x09FC1 (Giant Puzzle Bottom Left) - True - Shapers & Eraser +0x09F8E (Giant Puzzle Bottom Right) - True - Shapers & Eraser +0x09F01 (Giant Puzzle Top Right) - True - Rotated Shapers +0x09EFF (Giant Puzzle Top Left) - True - Shapers & Eraser +0x09FDA (Giant Puzzle) - 0x09FC1 & 0x09F8E & 0x09F01 & 0x09EFF - Shapers & Symmetry + +Inside Mountain Bottom Layer (Inside Mountain) - Inside Mountain Third Layer - 0x09FDA - Inside Mountain Path to Secret Area - 0x334E1: +0x17FA2 (Bottom Layer Discard) - 11 Lasers & 0x09F7F - Triangles & Environment +0x01983 (Door to Final Room Left) - True - Shapers & Stars +0x01987 (Door to Final Room Right) - True - Squares & Colored Squares + + +Inside Mountain Path to Secret Area (Inside Mountain) - Inside Mountain Bottom Layer - 0x17FA2: +0x00FF8 (Door to Secret Area) - True - Triangles & Black/White Squares & Squares +0x334E1 (Rock Control) - True - True + +Inside Mountain Secret Area (Inside Mountain Secret Area) - Inside Mountain Path to Secret Area - 0x00FF8 - Main Island - 0x021D7 - Main Island - 0x17CF2: +0x021D7 (Shortcut to Mountain) - True - Triangles & Stars & Stars + Same Colored Symbol & Colored Triangles +0x17CF2 (Shortcut to Swamp) - True - Triangles +0x335AB (Elevator Inside Control) - True - Dots & Squares & Black/White Squares +0x335AC (Elevator Upper Outside Control) - 0x335AB - Squares & Black/White Squares +0x3369D (Elevator Lower Outside Control) - 0x335AB - Squares & Black/White Squares & Dots +0x00190 (Dot Grid Triangles 1) - True - Dots & Triangles +0x00558 (Dot Grid Triangles 2) - 0x00190 - Dots & Triangles +0x00567 (Dot Grid Triangles 3) - 0x00558 - Dots & Triangles +0x006FE (Dot Grid Triangles 4) - 0x00567 - Dots & Triangles +0x01A0D (Symmetry Triangles) - True - Symmetry & Triangles +0x008B8 (Squares and Triangles) - True - Squares & Black/White Squares & Triangles +0x00973 (Stars and Triangles) - 0x008B8 - Stars & Triangles +0x0097B (Stars and Triangles of same color) - 0x00973 - Stars & Triangles & Stars and Triangles of same color & Stars + Same Colored Symbol +0x0097D (Stars & Squares and Triangles) - 0x0097B - Stars & Squares & Black/White Squares & Stars + Same Colored Symbol & Triangles +0x0097E (Stars & Squares and Triangles 2) - 0x0097D - Stars & Squares & Black/White Squares & Stars + Same Colored Symbol & Stars and Triangles of same color +0x00994 (Rotated Shapers and Triangles 1) - True - Rotated Shapers & Triangles +0x334D5 (Rotated Shapers and Triangles 2) - 0x00994 - Rotated Shapers & Triangles +0x00995 (Rotated Shapers and Triangles 3) - 0x334D5 - Rotated Shapers & Triangles +0x00996 (Shapers and Triangles 1) - 0x00995 - Shapers & Triangles +0x00998 (Shapers and Triangles 2) - 0x00996 - Shapers & Triangles +0x009A4 (Broken Shapers) - True - Shapers & Broken Shapers +0x018A0 (Symmetry Shapers) - True - Shapers & Symmetry +0x00A72 (Broken and Negative Shapers) - True - Shapers & Broken Shapers & Negative Shapers +0x32962 (Rotated Broken Shapers) - True - Rotated Shapers & Broken Rotated Shapers +0x32966 (Stars and Squares) - True - Stars & Squares & Black/White Squares & Stars + Same Colored Symbol +0x01A31 (Rainbow Squares) - True - Color Cycle & RGB & Squares & Colored Squares +0x00B71 (Squares & Stars and Colored Eraser) - True - Colored Eraser & Squares & Colored Squares & Stars & Stars + Same Colored Symbol +0x09DD5 (Lone Pillar) - True - Pillar & Triangles +0x0A16E (Door to Challenge) - 0x09DD5 - Stars & Shapers & Colored Shapers & Stars + Same Colored Symbol +0x288EA (Wooden Beam Shapers) - True - Environment & Shapers +0x288FC (Wooden Beam Squares and Shapers) - True - Environment & Squares & Black/White Squares & Shapers & Rotated Shapers +0x289E7 (Wooden Beam Shapers and Squares) - True - Environment & Stars & Squares & Black/White Squares +0x288AA (Wooden Beam Shapers and Stars) - True - Environment & Stars & Shapers +0x17FB9 (Upstairs Dot Grid Negative Shapers) - True - Shapers & Dots & Negative Shapers +0x0A16B (Upstairs Dot Grid Squares) - True - Squares & Black/White Squares & Colored Squares & Dots +0x0A2CE (Upstairs Dot Grid Stars) - 0x0A16B - Stars & Dots +0x0A2D7 (Upstairs Dot Grid Triangles) - 0x0A2CE - Triangles & Dots +0x0A2DD (Upstairs Dot Grid Shapers) - 0x0A2D7 - Shapers & Dots +0x0A2EA (Upstairs Dot Grid Rotated Shapers) - 0x0A2DD - Rotated Shapers & Dots +0x0008F (Upstairs Invisible Dots 1) - True - Dots & Invisible Dots +0x0006B (Upstairs Invisible Dots 2) - 0x0008F - Dots & Invisible Dots +0x0008B (Upstairs Invisible Dots 3) - 0x0006B - Dots & Invisible Dots +0x0008C (Upstairs Invisible Dots 4) - 0x0008B - Dots & Invisible Dots +0x0008A (Upstairs Invisible Dots 5) - 0x0008C - Dots & Invisible Dots +0x00089 (Upstairs Invisible Dots 6) - 0x0008A - Dots & Invisible Dots +0x0006A (Upstairs Invisible Dots 7) - 0x00089 - Dots & Invisible Dots +0x0006C (Upstairs Invisible Dots 8) - 0x0006A - Dots & Invisible Dots +0x00027 (Upstairs Invisible Dot Symmetry 1) - True - Dots & Invisible Dots & Symmetry +0x00028 (Upstairs Invisible Dot Symmetry 2) - 0x00027 - Dots & Invisible Dots & Symmetry +0x00029 (Upstairs Invisible Dot Symmetry 3) - 0x00028 - Dots & Invisible Dots & Symmetry + +Challenge (Challenge) - Inside Mountain Secret Area - 0x0A16E: +0x0A332 (Start Timer) - True - True +0x0088E (Small Basic) - 0x0A332 - True +0x00BAF (Big Basic) - 0x0088E - True +0x00BF3 (Square) - 0x00BAF - Squares & Black/White Squares +0x00C09 (Maze Map) - 0x00BF3 - Dots +0x00CDB (Stars and Dots) - 0x00C09 - Stars & Dots +0x0051F (Symmetry) - 0x00CDB - Symmetry & Colored Dots & Dots +0x00524 (Stars and Shapers) - 0x0051F - Stars & Shapers +0x00CD4 (Big Basic 2) - 0x00524 - True +0x00CB9 (Choice Squares Right) - 0x00CD4 - Squares & Black/White Squares +0x00CA1 (Choice Squares Middle) - 0x00CD4 - Squares & Black/White Squares +0x00C80 (Choice Squares Left) - 0x00CD4 - Squares & Black/White Squares +0x00C68 (Choice Squares 2 Right) - 0x00CB9 | 0x00CA1 | 0x00C80 - Squares & Black/White Squares & Colored Squares +0x00C59 (Choice Squares 2 Middle) - 0x00CB9 | 0x00CA1 | 0x00C80 - Squares & Black/White Squares & Colored Squares +0x00C22 (Choice Squares 2 Left) - 0x00CB9 | 0x00CA1 | 0x00C80 - Squares & Black/White Squares & Colored Squares +0x034F4 (Maze Hidden 1) - 0x00C68 | 0x00C59 | 0x00C22 - Triangles +0x034EC (Maze Hidden 2) - 0x00C68 | 0x00C59 | 0x00C22 - Triangles +0x1C31A (Dots Pillar) - 0x034F4 & 0x034EC - Dots & Symmetry & Pillar +0x1C319 (Squares Pillar) - 0x034F4 & 0x034EC - Squares & Black/White Squares & Symmetry & Pillar +0x0356B (Vault Box) - 0x1C31A & 0x1C319 - True +0x039B4 (Door to Theater Walkway) - True - Triangles + +Theater Walkway (Theater Walkway) - Challenge - 0x039B4 - Theater - 0x27732 - Desert Elevator Room - 0x2773D & 0x03608 - Town - 0x09E85: +0x2FAF6 (Vault Box) - True - True +0x27732 (Door to Back of Theater) - True - True +0x2773D (Door to Desert Elevator Room) - True - True +0x09E85 (Door to Town) - True - Triangles + +Final Room (Inside Mountain Final Room) - Inside Mountain Bottom Layer - 0x01983 & 0x01987: +0x0383A (Stars Pillar) - True - Stars & Pillar +0x09E56 (Stars and Dots Pillar) - 0x0383A - Stars & Dots & Pillar +0x09E5A (Dot Grid Pillar) - 0x09E56 - Dots & Pillar +0x33961 (Sparse Dots Pillar) - 0x09E5A - Dots & Pillar +0x0383D (Dot Maze Pillar) - True - Dots & Pillar +0x0383F (Squares Pillar) - 0x0383D - Squares & Black/White Squares & Pillar +0x03859 (Shapers Pillar) - 0x0383F - Shapers & Pillar +0x339BB (Squares and Stars) - 0x03859 - Squares & Black/White Squares & Stars & Pillar + +Elevator (Inside Mountain Final Room) - Final Room - 0x339BB & 0x33961: +0x3D9A6 (Elevator Door Closer Left) - True - True +0x3D9A7 (Elevator Door Close Right) - True - True +0x3C113 (Elevator Door Open Left) - 0x3D9A6 | 0x3D9A7 - True +0x3C114 (Elevator Door Open Right) - 0x3D9A6 | 0x3D9A7 - True +0x3D9AA (Back Wall Left) - 0x3D9A6 | 0x3D9A7 - True +0x3D9A8 (Back Wall Right) - 0x3D9A6 | 0x3D9A7 - True +0x3D9A9 (Elevator Start) - 0x3D9AA | 0x3D9A8 - True + +Boat (Boat) - Main Island - 0x17CDF | 0x17CC8 | 0x17CA6 | 0x09DB8 | 0x17C95 - Inside Glass Factory - 0x17CDF | 0x17CC8 | 0x17CA6 | 0x09DB8 | 0x17C95 - Quarry Boathouse - 0x17CDF | 0x17CC8 | 0x17CA6 | 0x09DB8 | 0x17C95 - Swamp Near Boat - 0x17CDF | 0x17CC8 | 0x17CA6 | 0x09DB8 | 0x17C95 - Treehouse Entry Area - 0x17CDF | 0x17CC8 | 0x17CA6 | 0x09DB8 | 0x17C95: diff --git a/worlds/witness/__init__.py b/worlds/witness/__init__.py new file mode 100644 index 00000000..1c10c6bc --- /dev/null +++ b/worlds/witness/__init__.py @@ -0,0 +1,165 @@ +""" +Archipelago init file for The Witness +""" + +import typing + +from BaseClasses import Region, RegionType, Location, MultiWorld, Item, Entrance +from ..AutoWorld import World, WebWorld +from .player_logic import StaticWitnessLogic, WitnessPlayerLogic +from .locations import WitnessPlayerLocations, StaticWitnessLocations +from .items import WitnessItem, StaticWitnessItems, WitnessPlayerItems +from .rules import set_rules +from .regions import WitnessRegions +from .Options import is_option_enabled, the_witness_options + + +class WitnessWebWorld(WebWorld): + theme = "jungle" + + +class WitnessWorld(World): + """ + The Witness is an open-world puzzle game with dozens of locations + to explore and over 500 puzzles. Play the popular puzzle randomizer + by sigma144, with an added layer of progression randomization! + """ + game = "The Witness" + topology_present = False + static_logic = StaticWitnessLogic() + static_locat = StaticWitnessLocations() + static_items = StaticWitnessItems() + web = WitnessWebWorld() + options = the_witness_options + + item_name_to_id = { + name: data.code for name, data in static_items.ALL_ITEM_TABLE.items() + } + location_name_to_id = StaticWitnessLocations.ALL_LOCATIONS_TO_ID + + def _get_slot_data(self): + return { + 'seed': self.world.random.randint(0, 1000000), + 'victory_location': int(self.player_logic.VICTORY_LOCATION, 16), + 'panelhex_to_id': self.locat.CHECK_PANELHEX_TO_ID + } + + def generate_early(self): + self.player_logic = WitnessPlayerLogic(self.world, self.player) + self.locat = WitnessPlayerLocations(self.world, self.player, self.player_logic) + self.items = WitnessPlayerItems(self.locat, self.world, self.player, self.player_logic) + self.regio = WitnessRegions(self.locat) + + def generate_basic(self): + # Generate item pool + pool = [] + items_by_name = dict() + for item in self.items.ITEM_TABLE: + witness_item = self.create_item(item) + if item not in self.items.EVENT_ITEM_TABLE: + pool.append(witness_item) + items_by_name[item] = witness_item + + # Put good item on first check + random_good_item = self.world.random.choice(self.items.GOOD_ITEMS) + first_check = self.world.get_location( + "Tutorial Gate Open", self.player + ) + first_check.place_locked_item(items_by_name[random_good_item]) + pool.remove(items_by_name[random_good_item]) + + # Put in junk items to fill the rest + junk_pool = self.items.JUNK_WEIGHTS.copy() + junk_pool = self.world.random.choices( + list(junk_pool.keys()), weights=list(junk_pool.values()), + k=len(self.locat.CHECK_LOCATION_TABLE) - len(pool) - len(self.locat.EVENT_LOCATION_TABLE) - 1 + ) + + pool += [self.create_item(junk) for junk in junk_pool] + + # Tie Event Items to Event Locations (e.g. Laser Activations) + for event_location in self.locat.EVENT_LOCATION_TABLE: + item_obj = self.create_item( + self.player_logic.EVENT_ITEM_PAIRS[event_location] + ) + location_obj = self.world.get_location(event_location, self.player) + location_obj.place_locked_item(item_obj) + + self.world.itempool += pool + + def create_regions(self): + self.regio.create_regions(self.world, self.player, self.player_logic) + + def set_rules(self): + set_rules(self.world, self.player, self.player_logic, self.locat) + + def fill_slot_data(self) -> dict: + slot_data = self._get_slot_data() + + slot_data["hard_mode"] = False + + for option_name in the_witness_options: + slot_data[option_name] = is_option_enabled( + self.world, self.player, option_name + ) + + return slot_data + + def create_item(self, name: str) -> Item: + # this conditional is purely for unit tests, which need to be able to create an item before generate_early + if hasattr(self, 'items'): + item = self.items.ITEM_TABLE[name] + else: + item = StaticWitnessItems.ALL_ITEM_TABLE[name] + + new_item = WitnessItem( + name, item.progression, item.code, player=self.player + ) + new_item.trap = item.trap + return new_item + + def get_filler_item_name(self) -> str: # Used ny itemlinks + junk_pool = self.items.JUNK_WEIGHTS.copy() + + return self.world.random.choices(list(junk_pool.keys()), weights=list(junk_pool.values()))[0] + + +class WitnessLocation(Location): + """ + Archipelago Location for The Witness + """ + game: str = "The Witness" + check_hex: int = -1 + + def __init__(self, player: int, name: str, address: typing.Optional[int], parent, ch_hex: int = -1): + super().__init__(player, name, address, parent) + self.check_hex = ch_hex + + +def create_region(world: MultiWorld, player: int, name: str, + locat: WitnessPlayerLocations, region_locations=None, exits=None): + """ + Create an Archipelago Region for The Witness + """ + + ret = Region(name, RegionType.Generic, name, player) + ret.world = world + if region_locations: + for location in region_locations: + loc_id = locat.CHECK_LOCATION_TABLE[location] + + check_hex = -1 + if location in StaticWitnessLogic.CHECKS_BY_NAME: + check_hex = int( + StaticWitnessLogic.CHECKS_BY_NAME[location]["checkHex"], 0 + ) + location = WitnessLocation( + player, location, loc_id, ret, check_hex + ) + + ret.locations.append(location) + if exits: + for single_exit in exits: + ret.exits.append(Entrance(player, single_exit, ret)) + + return ret diff --git a/worlds/witness/items.py b/worlds/witness/items.py new file mode 100644 index 00000000..4e19bfa7 --- /dev/null +++ b/worlds/witness/items.py @@ -0,0 +1,98 @@ +""" +Defines progression, junk and event items for The Witness +""" +import copy +from typing import Dict, NamedTuple, Optional + +from BaseClasses import Item, MultiWorld +from . import StaticWitnessLogic, WitnessPlayerLocations, WitnessPlayerLogic +from .Options import is_option_enabled + + +class ItemData(NamedTuple): + """ + ItemData for an item in The Witness + """ + code: Optional[int] + progression: bool + event: bool = False + trap: bool = False + + +class WitnessItem(Item): + """ + Item from the game The Witness + """ + game: str = "The Witness" + + +class StaticWitnessItems: + """ + Class that handles Witness items independent of world settings + """ + + ALL_ITEM_TABLE: Dict[str, ItemData] = {} + + JUNK_WEIGHTS = { + "Speed Boost": 1, + "Slowness": 0.8, + "Power Surge": 0.2, + } + + def __init__(self): + item_tab = dict() + + for item in StaticWitnessLogic.ALL_ITEMS: + if item[0] == "11 Lasers" or item == "7 Lasers": + continue + + item_tab[item[0]] = ItemData(158000 + item[1], True, False) + + for item in StaticWitnessLogic.ALL_TRAPS: + item_tab[item[0]] = ItemData( + 158000 + item[1], False, False, True + ) + + for item in StaticWitnessLogic.ALL_BOOSTS: + item_tab[item[0]] = ItemData(158000 + item[1], False, False) + + item_tab = dict(sorted( + item_tab.items(), + key=lambda single_item: single_item[1].code + if isinstance(single_item[1].code, int) else 0) + ) + + for key, item in item_tab.items(): + self.ALL_ITEM_TABLE[key] = item + + +class WitnessPlayerItems: + """ + Class that defines Items for a single world + """ + + def __init__(self, locat: WitnessPlayerLocations, world: MultiWorld, player: int, player_logic: WitnessPlayerLogic): + """Adds event items after logic changes due to options""" + self.EVENT_ITEM_TABLE = dict() + self.ITEM_TABLE = copy.copy(StaticWitnessItems.ALL_ITEM_TABLE) + + self.GOOD_ITEMS = [ + "Dots", "Black/White Squares", "Stars", + "Shapers", "Symmetry" + ] + + if is_option_enabled(world, player, "shuffle_discarded_panels"): + self.GOOD_ITEMS.append("Triangles") + if not is_option_enabled(world, player, "disable_non_randomized_puzzles"): + self.GOOD_ITEMS.append("Colored Squares") + + for event_location in locat.EVENT_LOCATION_TABLE: + location = player_logic.EVENT_ITEM_PAIRS[event_location] + self.EVENT_ITEM_TABLE[location] = ItemData(None, True, True) + self.ITEM_TABLE[location] = ItemData(None, True, True) + + self.JUNK_WEIGHTS = { + key: value for (key, value) + in StaticWitnessItems.JUNK_WEIGHTS.items() + if key in self.ITEM_TABLE.keys() + } diff --git a/worlds/witness/locations.py b/worlds/witness/locations.py new file mode 100644 index 00000000..548dcafd --- /dev/null +++ b/worlds/witness/locations.py @@ -0,0 +1,281 @@ +""" +Defines constants for different types of locations in the game +""" + +from .Options import is_option_enabled +from .player_logic import StaticWitnessLogic, WitnessPlayerLogic + + +class StaticWitnessLocations: + """ + Witness Location Constants that stay consistent across worlds + """ + ID_START = 158000 + + TYPE_OFFSETS = { + "General": 0, + "Discard": 600, + "Vault": 650, + "Laser": 700, + } + + GENERAL_LOCATIONS = { + "Tutorial Gate Open", + + "Outside Tutorial Vault Box", + "Outside Tutorial Discard", + "Outside Tutorial Dots Introduction 5", + "Outside Tutorial Squares Introduction 9", + + "Glass Factory Discard", + "Glass Factory Vertical Symmetry 5", + "Glass Factory Rotational Symmetry 3", + "Glass Factory Melting 3", + + "Symmetry Island Black Dots 5", + "Symmetry Island Colored Dots 6", + "Symmetry Island Fading Lines 7", + "Symmetry Island Scenery Outlines 5", + "Symmetry Island Laser", + + "Orchard Apple Tree 5", + + "Desert Vault Box", + "Desert Discard", + "Desert Sun Reflection 8", + "Desert Artificial Light Reflection 3", + "Desert Pond Reflection 5", + "Desert Flood Reflection 6", + "Desert Laser", + + "Quarry Mill Eraser and Dots 6", + "Quarry Mill Eraser and Squares 8", + "Quarry Mill Small Squares & Dots & and Eraser", + "Quarry Mill Big Squares & Dots & and Eraser", + "Quarry Boathouse Intro Shapers", + "Quarry Boathouse Eraser and Shapers 5", + "Quarry Boathouse Stars & Eraser & and Shapers 2", + "Quarry Boathouse Stars & Eraser & and Shapers 5", + "Quarry Discard", + "Quarry Laser", + + "Shadows Lower Avoid 8", + "Shadows Environmental Avoid 8", + "Shadows Follow 5", + "Shadows Laser", + + "Keep Hedge Maze 4", + "Keep Pressure Plates 4", + "Keep Discard", + "Keep Laser Hedges", + "Keep Laser Pressure Plates", + + "Shipwreck Vault Box", + "Shipwreck Discard", + + "Monastery Rhombic Avoid 3", + "Monastery Branch Follow 2", + "Monastery Laser", + + "Town Cargo Box Discard", + "Town Hexagonal Reflection", + "Town Square Avoid", + "Town Rooftop Discard", + "Town Symmetry Squares 5 + Dots", + "Town Full Dot Grid Shapers 5", + "Town Shapers & Dots & and Eraser", + "Town Laser", + + "Theater Discard", + + "Jungle Discard", + "Jungle Waves 3", + "Jungle Waves 7", + "Jungle Popup Wall 6", + "Jungle Laser", + + "River Vault Box", + + "Bunker Drawn Squares 5", + "Bunker Drawn Squares 9", + "Bunker Drawn Squares through Tinted Glass 3", + "Bunker Drop-Down Door Squares 2", + "Bunker Laser", + + "Swamp Seperatable Shapers 6", + "Swamp Combinable Shapers 8", + "Swamp Broken Shapers 4", + "Swamp Cyan Underwater Negative Shapers 5", + "Swamp Platform Shapers 4", + "Swamp Rotated Shapers 4", + "Swamp Red Underwater Negative Shapers 4", + "Swamp More Rotated Shapers 4", + "Swamp Blue Underwater Negative Shapers 5", + "Swamp Laser", + + "Treehouse Yellow Bridge 9", + "Treehouse First Purple Bridge 5", + "Treehouse Second Purple Bridge 7", + "Treehouse Green Bridge 7", + "Treehouse Green Bridge Discard", + "Treehouse Left Orange Bridge 15", + "Treehouse Burned House Discard", + "Treehouse Right Orange Bridge 12", + "Treehouse Laser", + + "Mountaintop Trap Door Triple Exit", + "Mountaintop Discard", + "Mountaintop Vault Box", + + "Inside Mountain Obscured Vision 5", + "Inside Mountain Moving Background 7", + "Inside Mountain Physically Obstructed 3", + "Inside Mountain Angled Inside Trash 2", + "Inside Mountain Color Cycle 5", + "Inside Mountain Same Solution 6", + "Inside Mountain Elevator Discard", + "Inside Mountain Giant Puzzle", + } + + UNCOMMON_LOCATIONS = { + "Mountaintop River Shape", + "Tutorial Patio Floor", + "Theater Tutorial Video", + "Theater Desert Video", + "Theater Jungle Video", + "Theater Shipwreck Video", + "Theater Mountain Video", + "Town RGB Squares", + "Town RGB Stars", + "Swamp Underwater Back Optional", + } + + HARD_LOCATIONS = { + "Tutorial Gate Close", + + "Inside Mountain Secret Area Dot Grid Triangles 4", + "Inside Mountain Secret Area Symmetry Triangles", + "Inside Mountain Secret Area Stars & Squares and Triangles 2", + "Inside Mountain Secret Area Shapers and Triangles 2", + "Inside Mountain Secret Area Symmetry Shapers", + "Inside Mountain Secret Area Broken and Negative Shapers", + "Inside Mountain Secret Area Broken Shapers", + + "Inside Mountain Secret Area Rainbow Squares", + "Inside Mountain Secret Area Squares & Stars and Colored Eraser", + "Inside Mountain Secret Area Rotated Broken Shapers", + "Inside Mountain Secret Area Stars and Squares", + "Inside Mountain Secret Area Lone Pillar", + "Inside Mountain Secret Area Wooden Beam Shapers", + "Inside Mountain Secret Area Wooden Beam Squares and Shapers", + "Inside Mountain Secret Area Wooden Beam Shapers and Squares", + "Inside Mountain Secret Area Wooden Beam Shapers and Stars", + "Inside Mountain Secret Area Upstairs Invisible Dots 8", + "Inside Mountain Secret Area Upstairs Invisible Dot Symmetry 3", + "Inside Mountain Secret Area Upstairs Dot Grid Shapers", + "Inside Mountain Secret Area Upstairs Dot Grid Rotated Shapers", + + "Challenge Vault Box", + "Theater Walkway Vault Box", + "Inside Mountain Bottom Layer Discard", + "Theater Challenge Video", + } + + ALL_LOCATIONS_TO_ID = dict() + + @staticmethod + def get_id(chex): + """ + Calculates the location ID for any given location + """ + + panel_offset = StaticWitnessLogic.CHECKS_BY_HEX[chex]["idOffset"] + type_offset = StaticWitnessLocations.TYPE_OFFSETS[ + StaticWitnessLogic.CHECKS_BY_HEX[chex]["panelType"] + ] + + return StaticWitnessLocations.ID_START + panel_offset + type_offset + + @staticmethod + def get_event_name(panel_hex): + """ + Returns the event name of any given panel. + Currently this is always "Panelname Solved" + """ + + return StaticWitnessLogic.CHECKS_BY_HEX[panel_hex]["checkName"] + " Solved" + + def __init__(self): + all_loc_to_id = { + panel_obj["checkName"]: self.get_id(chex) + for chex, panel_obj in StaticWitnessLogic.CHECKS_BY_HEX.items() + } + + all_loc_to_id = dict( + sorted(all_loc_to_id.items(), key=lambda loc: loc[1]) + ) + + for key, item in all_loc_to_id.items(): + self.ALL_LOCATIONS_TO_ID[key] = item + + +class WitnessPlayerLocations: + """ + Class that defines locations for a single player + """ + + def __init__(self, world, player, player_logic: WitnessPlayerLogic): + self.PANEL_TYPES_TO_SHUFFLE = {"General", "Laser"} + self.CHECK_LOCATIONS = ( + StaticWitnessLocations.GENERAL_LOCATIONS + ) + + """Defines locations AFTER logic changes due to options""" + + if is_option_enabled(world, player, "shuffle_discarded_panels"): + self.PANEL_TYPES_TO_SHUFFLE.add("Discard") + + if is_option_enabled(world, player, "shuffle_vault_boxes"): + self.PANEL_TYPES_TO_SHUFFLE.add("Vault") + + if is_option_enabled(world, player, "shuffle_uncommon"): + self.CHECK_LOCATIONS = self.CHECK_LOCATIONS | StaticWitnessLocations.UNCOMMON_LOCATIONS + + if is_option_enabled(world, player, "shuffle_hard"): + self.CHECK_LOCATIONS = self.CHECK_LOCATIONS | StaticWitnessLocations.HARD_LOCATIONS + + self.CHECK_LOCATIONS = self.CHECK_LOCATIONS | player_logic.ADDED_CHECKS + + self.CHECK_LOCATIONS = self.CHECK_LOCATIONS - { + StaticWitnessLogic.CHECKS_BY_HEX[check_hex]["checkName"] + for check_hex in player_logic.COMPLETELY_DISABLED_CHECKS + } + + self.CHECK_PANELHEX_TO_ID = { + StaticWitnessLogic.CHECKS_BY_NAME[ch]["checkHex"]: StaticWitnessLocations.ALL_LOCATIONS_TO_ID[ch] + for ch in self.CHECK_LOCATIONS + } + + self.CHECK_PANELHEX_TO_ID = dict( + sorted(self.CHECK_PANELHEX_TO_ID.items(), key=lambda item: item[1]) + ) + + event_locations = { + p for p in player_logic.NECESSARY_EVENT_PANELS + if StaticWitnessLogic.CHECKS_BY_HEX[p]["checkName"] + not in self.CHECK_LOCATIONS + or p in player_logic.ALWAYS_EVENT_HEX_CODES + } + + self.EVENT_LOCATION_TABLE = { + StaticWitnessLocations.get_event_name(panel_hex): None + for panel_hex in event_locations + } + + check_dict = { + location: StaticWitnessLocations.get_id(StaticWitnessLogic.CHECKS_BY_NAME[location]["checkHex"]) + for location in self.CHECK_LOCATIONS + if StaticWitnessLogic.CHECKS_BY_NAME[location]["panelType"] in self.PANEL_TYPES_TO_SHUFFLE + } + + self.CHECK_LOCATION_TABLE = {**self.EVENT_LOCATION_TABLE, **check_dict} diff --git a/worlds/witness/player_logic.py b/worlds/witness/player_logic.py new file mode 100644 index 00000000..82a6d07b --- /dev/null +++ b/worlds/witness/player_logic.py @@ -0,0 +1,287 @@ +""" +Parses the WitnessLogic.txt logic file into useful data structures. +This is the heart of the randomization. + +In WitnessLogic.txt we have regions defined with their connections: + +Region Name (Short name) - Connected Region 1 - Connection Requirement 1 - Connected Region 2... + +And then panels in that region with the hex code used in the game +previous panels that are required to turn them on, as well as the symbols they require: + +0x##### (Panel Name) - Required Panels - Required Items + +On __init__, the base logic is read and all panels are given Location IDs. +When the world has parsed its options, a second function is called to finalize the logic. +""" + +import copy +from BaseClasses import MultiWorld +from .static_logic import StaticWitnessLogic +from .utils import define_new_region, get_disable_unrandomized_list, parse_lambda +from .Options import is_option_enabled + + +class WitnessPlayerLogic: + """WITNESS LOGIC CLASS""" + + def reduce_req_within_region(self, panel_hex): + """ + Panels in this game often only turn on when other panels are solved. + Those other panels may have different item requirements. + It would be slow to recursively check solvability each time. + This is why we reduce the item dependencies within the region. + Panels outside of the same region will still be checked manually. + """ + + if self.DEPENDENT_REQUIREMENTS_BY_HEX[panel_hex]["panels"] == frozenset({frozenset()}): + return self.DEPENDENT_REQUIREMENTS_BY_HEX[panel_hex]["items"] + + all_options = set() + + these_items = self.DEPENDENT_REQUIREMENTS_BY_HEX[panel_hex]["items"] + these_panels = self.DEPENDENT_REQUIREMENTS_BY_HEX[panel_hex]["panels"] + check_obj = StaticWitnessLogic.CHECKS_BY_HEX[panel_hex] + + for option in these_panels: + dependent_items_for_option = frozenset({frozenset()}) + + for option_panel in option: + new_items = set() + dep_obj = StaticWitnessLogic.CHECKS_BY_HEX.get(option_panel) + if option_panel in {"7 Lasers", "11 Lasers"}: + new_items = frozenset({frozenset([option_panel])}) + # If a panel turns on when a panel in a different region turns on, + # the latter panel will be an "event panel", unless it ends up being + # a location itself. This prevents generation failures. + elif dep_obj["region"]["name"] != check_obj["region"]["name"]: + new_items = frozenset({frozenset([option_panel])}) + self.EVENT_PANELS_FROM_PANELS.add(option_panel) + else: + new_items = self.reduce_req_within_region(option_panel) + + updated_items = set() + + for items_option in dependent_items_for_option: + for items_option2 in new_items: + updated_items.add(items_option.union(items_option2)) + + dependent_items_for_option = updated_items + + for items_option in these_items: + for dependentItem in dependent_items_for_option: + all_options.add(items_option.union(dependentItem)) + + return frozenset(all_options) + + def make_single_adjustment(self, adj_type, line): + """Makes a single logic adjustment based on additional logic file""" + + if adj_type == "Event Items": + line_split = line.split(" - ") + hex_set = line_split[1].split(",") + + for hex_code in hex_set: + self.ALWAYS_EVENT_NAMES_BY_HEX[hex_code] = line_split[0] + + """ + Should probably do this differently... + Events right now depend on a panel. + That seems bad. + """ + + to_remove = set() + + for hex_code, event_name in self.ALWAYS_EVENT_NAMES_BY_HEX.items(): + if hex_code not in hex_set and event_name == line_split[0]: + to_remove.add(hex_code) + + for remove in to_remove: + del self.ALWAYS_EVENT_NAMES_BY_HEX[remove] + + return + + if adj_type == "Requirement Changes": + line_split = line.split(" - ") + + required_items = parse_lambda(line_split[2]) + items_actually_in_the_game = {item[0] for item in StaticWitnessLogic.ALL_ITEMS} + required_items = frozenset( + subset.intersection(items_actually_in_the_game) + for subset in required_items + ) + + requirement = { + "panels": parse_lambda(line_split[1]), + "items": required_items + } + + self.DEPENDENT_REQUIREMENTS_BY_HEX[line_split[0]] = requirement + + return + + if adj_type == "Disabled Locations": + self.COMPLETELY_DISABLED_CHECKS.add(line[:7]) + + return + + if adj_type == "Region Changes": + new_region_and_options = define_new_region(line + ":") + + self.CONNECTIONS_BY_REGION_NAME[new_region_and_options[0]["name"]] = new_region_and_options[1] + + return + + if adj_type == "Added Locations": + self.ADDED_CHECKS.add(line) + + def make_options_adjustments(self, world, player): + """Makes logic adjustments based on options""" + adjustment_linesets_in_order = [] + + if is_option_enabled(world, player, "challenge_victory"): + self.VICTORY_LOCATION = "0x0356B" + else: + self.VICTORY_LOCATION = "0x3D9A9" + + self.COMPLETELY_DISABLED_CHECKS.add( + self.VICTORY_LOCATION + ) + + if is_option_enabled(world, player, "disable_non_randomized_puzzles"): + adjustment_linesets_in_order.append(get_disable_unrandomized_list()) + + for adjustment_lineset in adjustment_linesets_in_order: + current_adjustment_type = None + + for line in adjustment_lineset: + if len(line) == 0: + continue + + if line[-1] == ":": + current_adjustment_type = line[:-1] + continue + + self.make_single_adjustment(current_adjustment_type, line) + + def make_dependency_reduced_checklist(self): + """ + Turns dependent check set into semi-independent check set + """ + + for check_hex in self.DEPENDENT_REQUIREMENTS_BY_HEX.keys(): + indep_requirement = self.reduce_req_within_region(check_hex) + + self.REQUIREMENTS_BY_HEX[check_hex] = indep_requirement + + def make_event_item_pair(self, panel): + """ + Makes a pair of an event panel and its event item + """ + name = StaticWitnessLogic.CHECKS_BY_HEX[panel]["checkName"] + " Solved" + pair = (name, self.EVENT_ITEM_NAMES[panel]) + return pair + + def make_event_panel_lists(self): + """ + Special event panel data structures + """ + + for region_conn in self.CONNECTIONS_BY_REGION_NAME.values(): + for region_and_option in region_conn: + for panelset in region_and_option[1]: + for panel in panelset: + self.EVENT_PANELS_FROM_REGIONS.add(panel) + + self.ALWAYS_EVENT_NAMES_BY_HEX[self.VICTORY_LOCATION] = "Victory" + + self.ORIGINAL_EVENT_PANELS.update(self.EVENT_PANELS_FROM_PANELS) + self.ORIGINAL_EVENT_PANELS.update(self.EVENT_PANELS_FROM_REGIONS) + self.NECESSARY_EVENT_PANELS.update(self.EVENT_PANELS_FROM_PANELS) + + for panel in self.EVENT_PANELS_FROM_REGIONS: + for region_name, region in StaticWitnessLogic.ALL_REGIONS_BY_NAME.items(): + for connection in self.CONNECTIONS_BY_REGION_NAME[region_name]: + connected_r = connection[0] + if connected_r not in StaticWitnessLogic.ALL_REGIONS_BY_NAME: + continue + if region_name == "Boat" or connected_r == "Boat": + continue + connected_r = StaticWitnessLogic.ALL_REGIONS_BY_NAME[connected_r] + if not any([panel in option for option in connection[1]]): + continue + if panel not in region["panels"] | connected_r["panels"]: + self.NECESSARY_EVENT_PANELS.add(panel) + + for always_hex, always_item in self.ALWAYS_EVENT_NAMES_BY_HEX.items(): + self.ALWAYS_EVENT_HEX_CODES.add(always_hex) + self.NECESSARY_EVENT_PANELS.add(always_hex) + self.EVENT_ITEM_NAMES[always_hex] = always_item + + for panel in self.NECESSARY_EVENT_PANELS: + pair = self.make_event_item_pair(panel) + self.EVENT_ITEM_PAIRS[pair[0]] = pair[1] + + def __init__(self, world: MultiWorld, player: int): + self.EVENT_PANELS_FROM_PANELS = set() + self.EVENT_PANELS_FROM_REGIONS = set() + + self.CONNECTIONS_BY_REGION_NAME = copy.copy(StaticWitnessLogic.STATIC_CONNECTIONS_BY_REGION_NAME) + self.DEPENDENT_REQUIREMENTS_BY_HEX = copy.copy(StaticWitnessLogic.STATIC_DEPENDENT_REQUIREMENTS_BY_HEX) + self.REQUIREMENTS_BY_HEX = dict() + + # Determining which panels need to be events is a difficult process. + # At the end, we will have EVENT_ITEM_PAIRS for all the necessary ones. + self.ORIGINAL_EVENT_PANELS = set() + self.NECESSARY_EVENT_PANELS = set() + self.EVENT_ITEM_PAIRS = dict() + self.ALWAYS_EVENT_HEX_CODES = set() + self.COMPLETELY_DISABLED_CHECKS = set() + self.ADDED_CHECKS = set() + self.VICTORY_LOCATION = "0x0356B" + self.EVENT_ITEM_NAMES = { + "0x01A0F": "Keep Laser Panel (Hedge Mazes) Activates", + "0x09D9B": "Monastery Overhead Doors Open", + "0x193A6": "Monastery Laser Panel Activates", + "0x00037": "Monastery Branch Panels Activate", + "0x0A079": "Access to Bunker Laser", + "0x0A3B5": "Door to Tutorial Discard Opens", + "0x01D3F": "Keep Laser Panel (Pressure Plates) Activates", + "0x09F7F": "Mountain Access", + "0x0367C": "Quarry Laser Mill Requirement Met", + "0x009A1": "Swamp Rotating Bridge Near Side", + "0x00006": "Swamp Cyan Water Drains", + "0x00990": "Swamp Broken Shapers 1 Activates", + "0x0A8DC": "Lower Avoid 6 Activates", + "0x0000A": "Swamp More Rotated Shapers 1 Access", + "0x09ED8": "Inside Mountain Second Layer Both Light Bridges Solved", + "0x0A3D0": "Quarry Laser Boathouse Requirement Met", + "0x00596": "Swamp Red Water Drains", + "0x28B39": "Town Tower 4th Door Opens" + } + + self.ALWAYS_EVENT_NAMES_BY_HEX = { + "0x0360D": "Symmetry Laser Activation", + "0x03608": "Desert Laser Activation", + "0x09F98": "Desert Laser Redirection", + "0x03612": "Quarry Laser Activation", + "0x19650": "Shadows Laser Activation", + "0x0360E": "Keep Laser Hedges Activation", + "0x03317": "Keep Laser Pressure Plates Activation", + "0x17CA4": "Monastery Laser Activation", + "0x032F5": "Town Laser Activation", + "0x03616": "Jungle Laser Activation", + "0x09DE0": "Bunker Laser Activation", + "0x03615": "Swamp Laser Activation", + "0x03613": "Treehouse Laser Activation", + "0x03535": "Shipwreck Video Pattern Knowledge", + "0x03542": "Mountain Video Pattern Knowledge", + "0x0339E": "Desert Video Pattern Knowledge", + "0x03481": "Tutorial Video Pattern Knowledge", + "0x03702": "Jungle Video Pattern Knowledge", + "0x2FAF6": "Theater Walkway Video Pattern Knowledge", + } + + self.make_options_adjustments(world, player) + self.make_dependency_reduced_checklist() + self.make_event_panel_lists() diff --git a/worlds/witness/regions.py b/worlds/witness/regions.py new file mode 100644 index 00000000..a7d549e7 --- /dev/null +++ b/worlds/witness/regions.py @@ -0,0 +1,89 @@ +""" +Defines Region for The Witness, assigns locations to them, +and connects them with the proper requirements +""" + +from BaseClasses import MultiWorld, Entrance +from . import StaticWitnessLogic +from .locations import WitnessPlayerLocations +from .player_logic import WitnessPlayerLogic + + +class WitnessRegions: + """Class that defines Witness Regions""" + + locat = None + logic = None + + def make_lambda(self, panel_hex_to_solve_set, world, player, player_logic): + """ + Lambdas are made in a for loop, so the values have to be captured + This function is for that purpose + """ + + return lambda state: state._witness_can_solve_panels( + panel_hex_to_solve_set, world, player, player_logic, self.locat + ) + + def connect(self, world: MultiWorld, player: int, source: str, target: str, player_logic: WitnessPlayerLogic, + panel_hex_to_solve_set=None): + """ + connect two regions and set the corresponding requirement + """ + source_region = world.get_region(source, player) + target_region = world.get_region(target, player) + + connection = Entrance( + player, + source + " to " + target + " via " + str(panel_hex_to_solve_set), + source_region + ) + + connection.access_rule = self.make_lambda(panel_hex_to_solve_set, world, player, player_logic) + + source_region.exits.append(connection) + connection.connect(target_region) + + def create_regions(self, world, player: int, player_logic: WitnessPlayerLogic): + """ + Creates all the regions for The Witness + """ + from . import create_region + + world.regions += [ + create_region(world, player, 'Menu', self.locat, None, ["The Splashscreen?"]), + ] + + all_locations = set() + + for region_name, region in StaticWitnessLogic.ALL_REGIONS_BY_NAME.items(): + locations_for_this_region = [ + StaticWitnessLogic.CHECKS_BY_HEX[panel]["checkName"] for panel in region["panels"] + if StaticWitnessLogic.CHECKS_BY_HEX[panel]["checkName"] in self.locat.CHECK_LOCATION_TABLE + ] + locations_for_this_region += [ + StaticWitnessLogic.CHECKS_BY_HEX[panel]["checkName"] + " Solved" for panel in region["panels"] + if StaticWitnessLogic.CHECKS_BY_HEX[panel]["checkName"] + " Solved" in self.locat.EVENT_LOCATION_TABLE + ] + + all_locations = all_locations | set(locations_for_this_region) + + world.regions += [ + create_region(world, player, region_name, self.locat,locations_for_this_region) + ] + + for region_name, region in StaticWitnessLogic.ALL_REGIONS_BY_NAME.items(): + for connection in player_logic.CONNECTIONS_BY_REGION_NAME[region_name]: + if connection[0] == "Entry": + continue + self.connect(world, player, region_name, + connection[0], player_logic, connection[1]) + self.connect(world, player, connection[0], + region_name, player_logic, connection[1]) + + world.get_entrance("The Splashscreen?", player).connect( + world.get_region('First Hallway', player) + ) + + def __init__(self, locat: WitnessPlayerLocations): + self.locat = locat diff --git a/worlds/witness/rules.py b/worlds/witness/rules.py new file mode 100644 index 00000000..e7ef30aa --- /dev/null +++ b/worlds/witness/rules.py @@ -0,0 +1,171 @@ +""" +Defines the rules by which locations can be accessed, +depending on the items received +""" + +# pylint: disable=E1101 + +from BaseClasses import MultiWorld +from .player_logic import WitnessPlayerLogic +from .Options import is_option_enabled +from .locations import WitnessPlayerLocations +from . import StaticWitnessLogic +from ..AutoWorld import LogicMixin +from ..generic.Rules import set_rule + + +class WitnessLogic(LogicMixin): + """ + Logic macros that get reused + """ + + def _witness_has_lasers(self, world, player: int, amount: int) -> bool: + lasers = 0 + + lasers += int(self.has("Symmetry Laser Activation", player)) + lasers += int(self.has("Desert Laser Activation", player) + and self.has("Desert Laser Redirection", player)) + lasers += int(self.has("Town Laser Activation", player)) + lasers += int(self.has("Monastery Laser Activation", player)) + lasers += int(self.has("Keep Laser Pressure Plates Activation", player) and ( + is_option_enabled(world, player, "disable_non_randomized_puzzles") + or self.has("Keep Laser Hedges Activation", player) + )) + lasers += int(self.has("Quarry Laser Activation", player)) + lasers += int(self.has("Treehouse Laser Activation", player)) + lasers += int(self.has("Jungle Laser Activation", player)) + lasers += int(self.has("Bunker Laser Activation", player)) + lasers += int(self.has("Swamp Laser Activation", player)) + lasers += int(self.has("Shadows Laser Activation", player)) + + return lasers >= amount + + def _witness_can_solve_panel(self, panel, world, player, player_logic: WitnessPlayerLogic, locat): + """ + Determines whether a panel can be solved + """ + + panel_obj = StaticWitnessLogic.CHECKS_BY_HEX[panel] + check_name = panel_obj["checkName"] + + if (check_name + " Solved" in locat.EVENT_LOCATION_TABLE + and not self.has(player_logic.EVENT_ITEM_PAIRS[check_name + " Solved"], player)): + return False + if panel not in player_logic.ORIGINAL_EVENT_PANELS and not self.can_reach(check_name, "Location", player): + return False + if (panel in player_logic.ORIGINAL_EVENT_PANELS + and check_name + " Solved" not in locat.EVENT_LOCATION_TABLE + and not self._witness_safe_manual_panel_check(panel, world, player, player_logic, locat)): + return False + + return True + + def _witness_meets_item_requirements(self, panel, world, player, player_logic: WitnessPlayerLogic, locat): + """ + Checks whether item and panel requirements are met for + a panel + """ + + panel_req = player_logic.REQUIREMENTS_BY_HEX[panel] + + for option in panel_req: + if len(option) == 0: + return True + + valid_option = True + + for item in option: + if item == "7 Lasers": + if not self._witness_has_lasers(world, player, 7): + valid_option = False + break + elif item == "11 Lasers": + if not self._witness_has_lasers(world, player, 11): + valid_option = False + break + elif item in player_logic.NECESSARY_EVENT_PANELS: + if StaticWitnessLogic.CHECKS_BY_HEX[item]["checkName"] + " Solved" in locat.EVENT_LOCATION_TABLE: + valid_option = self.has(player_logic.EVENT_ITEM_NAMES[item], player) + else: + valid_option = self.can_reach( + StaticWitnessLogic.CHECKS_BY_HEX[item]["checkName"], "Location", player + ) + if not valid_option: + break + elif not self.has(item, player): + valid_option = False + break + + if valid_option: + return True + + return False + + def _witness_safe_manual_panel_check(self, panel, world, player, player_logic: WitnessPlayerLogic, locat): + """ + nested can_reach can cause problems, but only if the region being + checked is neither of the two original regions from the first + can_reach. + A nested can_reach is okay here because the only panels this + function is called on are panels that exist on either side of all + connections they are required for. + The spoiler log looks so much nicer this way, + it gets rid of a bunch of event items, only leaving a couple. :) + """ + region = StaticWitnessLogic.CHECKS_BY_HEX[panel]["region"]["name"] + + return ( + self._witness_meets_item_requirements(panel, world, player, player_logic, locat) + and self.can_reach(region, "Region", player) + ) + + def _witness_can_solve_panels(self, panel_hex_to_solve_set, world, player, player_logic: WitnessPlayerLogic, locat): + """ + Checks whether a set of panels can be solved. + """ + + for option in panel_hex_to_solve_set: + if len(option) == 0: + return True + + valid_option = True + + for panel in option: + if not self._witness_can_solve_panel(panel, world, player, player_logic, locat): + valid_option = False + break + + if valid_option: + return True + return False + + +def make_lambda(check_hex, world, player, player_logic, locat): + """ + Lambdas are created in a for loop so values need to be captured + """ + return lambda state: state._witness_meets_item_requirements( + check_hex, world, player, player_logic, locat + ) + + +def set_rules(world: MultiWorld, player: int, player_logic: WitnessPlayerLogic, locat: WitnessPlayerLocations): + """ + Sets all rules for all locations + """ + + for location in locat.CHECK_LOCATION_TABLE: + real_location = location + + if location in locat.EVENT_LOCATION_TABLE: + real_location = location[:-7] + + panel = StaticWitnessLogic.CHECKS_BY_NAME[real_location] + check_hex = panel["checkHex"] + + rule = make_lambda(check_hex, world, player, player_logic, locat) + + set_rule(world.get_location(location, player), rule) + + world.completion_condition[player] = \ + lambda state: state.has('Victory', player) diff --git a/worlds/witness/static_logic.py b/worlds/witness/static_logic.py new file mode 100644 index 00000000..680ca680 --- /dev/null +++ b/worlds/witness/static_logic.py @@ -0,0 +1,138 @@ +import os + +from .utils import define_new_region, parse_lambda + + +class StaticWitnessLogic: + ALL_ITEMS = set() + ALL_TRAPS = set() + ALL_BOOSTS = set() + + EVENT_PANELS_FROM_REGIONS = set() + + # All regions with a list of panels in them and the connections to other regions, before logic adjustments + ALL_REGIONS_BY_NAME = dict() + STATIC_CONNECTIONS_BY_REGION_NAME = dict() + + CHECKS_BY_HEX = dict() + CHECKS_BY_NAME = dict() + STATIC_DEPENDENT_REQUIREMENTS_BY_HEX = dict() + + def parse_items(self): + """ + Parses currently defined items from WitnessItems.txt + """ + + path = os.path.join(os.path.dirname(__file__), "WitnessItems.txt") + with open(path, "r", encoding="utf-8") as file: + current_set = self.ALL_ITEMS + + for line in file.readlines(): + line = line.strip() + + if line == "Progression:": + current_set = self.ALL_ITEMS + continue + if line == "Boosts:": + current_set = self.ALL_BOOSTS + continue + if line == "Traps:": + current_set = self.ALL_TRAPS + continue + if line == "": + continue + + line_split = line.split(" - ") + + current_set.add((line_split[1], int(line_split[0]))) + + def read_logic_file(self): + """ + Reads the logic file and does the initial population of data structures + """ + path = os.path.join(os.path.dirname(__file__), "WitnessLogic.txt") + with open(path, "r", encoding="utf-8") as file: + current_region = "" + + discard_ids = 0 + normal_panel_ids = 0 + vault_ids = 0 + laser_ids = 0 + + for line in file.readlines(): + line = line.strip() + + if line == "": + continue + + if line[0] != "0": + new_region_and_connections = define_new_region(line) + current_region = new_region_and_connections[0] + region_name = current_region["name"] + self.ALL_REGIONS_BY_NAME[region_name] = current_region + self.STATIC_CONNECTIONS_BY_REGION_NAME[region_name] = new_region_and_connections[1] + continue + + line_split = line.split(" - ") + + check_name_full = line_split.pop(0) + + check_hex = check_name_full[0:7] + check_name = check_name_full[9:-1] + + required_panel_lambda = line_split.pop(0) + required_item_lambda = line_split.pop(0) + + laser_names = { + "Laser", + "Laser Hedges", + "Laser Pressure Plates", + "Desert Laser Redirect" + } + is_vault_or_video = "Vault" in check_name or "Video" in check_name + + if "Discard" in check_name: + location_type = "Discard" + location_id = discard_ids + discard_ids += 1 + elif is_vault_or_video or check_name == "Tutorial Gate Close": + location_type = "Vault" + location_id = vault_ids + vault_ids += 1 + elif check_name in laser_names: + location_type = "Laser" + location_id = laser_ids + laser_ids += 1 + else: + location_type = "General" + location_id = normal_panel_ids + normal_panel_ids += 1 + + required_items = parse_lambda(required_item_lambda) + items_actually_in_the_game = {item[0] for item in self.ALL_ITEMS} + required_items = frozenset( + subset.intersection(items_actually_in_the_game) + for subset in required_items + ) + + requirement = { + "panels": parse_lambda(required_panel_lambda), + "items": required_items + } + + self.CHECKS_BY_HEX[check_hex] = { + "checkName": current_region["shortName"] + " " + check_name, + "checkHex": check_hex, + "region": current_region, + "idOffset": location_id, + "panelType": location_type + } + + self.CHECKS_BY_NAME[self.CHECKS_BY_HEX[check_hex]["checkName"]] = self.CHECKS_BY_HEX[check_hex] + self.STATIC_DEPENDENT_REQUIREMENTS_BY_HEX[check_hex] = requirement + + current_region["panels"].add(check_hex) + + def __init__(self): + self.parse_items() + self.read_logic_file() diff --git a/worlds/witness/utils.py b/worlds/witness/utils.py new file mode 100644 index 00000000..85f43ab2 --- /dev/null +++ b/worlds/witness/utils.py @@ -0,0 +1,58 @@ +import os +from Utils import cache_argsless + + +def define_new_region(region_string): + """ + Returns a region object by parsing a line in the logic file + """ + + region_string = region_string[:-1] + line_split = region_string.split(" - ") + + region_name_full = line_split.pop(0) + + region_name_split = region_name_full.split(" (") + + region_name = region_name_split[0] + region_name_simple = region_name_split[1][:-1] + + options = set() + + for _ in range(len(line_split) // 2): + connected_region = line_split.pop(0) + corresponding_lambda = line_split.pop(0) + + options.add( + (connected_region, parse_lambda(corresponding_lambda)) + ) + + region_obj = { + "name": region_name, + "shortName": region_name_simple, + "panels": set() + } + return region_obj, options + + +def parse_lambda(lambda_string): + """ + Turns a lambda String literal like this: a | b & c + into a set of sets like this: {{a}, {b, c}} + The lambda has to be in DNF. + """ + if lambda_string == "True": + return frozenset([frozenset()]) + split_ands = set(lambda_string.split(" | ")) + lambda_set = frozenset({frozenset(a.split(" & ")) for a in split_ands}) + + return lambda_set + + +@cache_argsless +def get_disable_unrandomized_list(): + adjustment_file = "Disable_Unrandomized.txt" + path = os.path.join(os.path.dirname(__file__), adjustment_file) + + with open(path) as f: + return [line.strip() for line in f.readlines()] \ No newline at end of file From 46d31c3ee32bb0c61a2369c785732ed633289de5 Mon Sep 17 00:00:00 2001 From: beauxq Date: Thu, 28 Apr 2022 09:03:44 -0700 Subject: [PATCH 04/13] typing, mostly in AutoWorld.py includes a bugfix (that was found by static type checking) in `get_filler_item_name` --- BaseClasses.py | 2 +- Utils.py | 22 +++++++++------ docs/api.md | 10 +++---- worlds/AutoWorld.py | 69 +++++++++++++++++++++++++-------------------- 4 files changed, 57 insertions(+), 46 deletions(-) diff --git a/BaseClasses.py b/BaseClasses.py index e5d92b95..e3b8aaf7 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -36,7 +36,7 @@ class MultiWorld(): plando_texts: List[Dict[str, str]] plando_items: List[List[Dict[str, Any]]] plando_connections: List - worlds: Dict[int, Any] + worlds: Dict[int, auto_world] groups: Dict[int, Group] itempool: List[Item] is_race: bool = False diff --git a/Utils.py b/Utils.py index 2068d48b..a764dea9 100644 --- a/Utils.py +++ b/Utils.py @@ -36,41 +36,45 @@ except ImportError: from yaml import Loader -def int16_as_bytes(value): +def int16_as_bytes(value: int) -> typing.List[int]: value = value & 0xFFFF return [value & 0xFF, (value >> 8) & 0xFF] -def int32_as_bytes(value): +def int32_as_bytes(value: int) -> typing.List[int]: value = value & 0xFFFFFFFF return [value & 0xFF, (value >> 8) & 0xFF, (value >> 16) & 0xFF, (value >> 24) & 0xFF] -def pc_to_snes(value): +def pc_to_snes(value: int) -> int: return ((value << 1) & 0x7F0000) | (value & 0x7FFF) | 0x8000 -def snes_to_pc(value): +def snes_to_pc(value: int) -> int: return ((value & 0x7F0000) >> 1) | (value & 0x7FFF) -def cache_argsless(function): +RetType = typing.TypeVar("RetType") + + +def cache_argsless(function: typing.Callable[[], RetType]) -> typing.Callable[[], RetType]: if function.__code__.co_argcount: raise Exception("Can only cache 0 argument functions with this cache.") - result = sentinel = object() + sentinel = object() + result: typing.Union[object, RetType] = sentinel - def _wrap(): + def _wrap() -> RetType: nonlocal result if result is sentinel: result = function() - return result + return typing.cast(RetType, result) return _wrap def is_frozen() -> bool: - return getattr(sys, 'frozen', False) + return typing.cast(bool, getattr(sys, 'frozen', False)) def local_path(*path: str) -> str: diff --git a/docs/api.md b/docs/api.md index cb1b1e4b..f81c29b3 100644 --- a/docs/api.md +++ b/docs/api.md @@ -430,7 +430,7 @@ In addition, the following methods can be implemented and attributes can be set #### generate_early ```python -def generate_early(self): +def generate_early(self) -> None: # read player settings to world instance self.final_boss_hp = self.world.final_boss_hp[self.player].value ``` @@ -456,7 +456,7 @@ def create_event(self, event: str): #### create_items ```python -def create_items(self): +def create_items(self) -> None: # Add items to the Multiworld. # If there are two of the same item, the item has to be twice in the pool. # Which items are added to the pool may depend on player settings, @@ -483,7 +483,7 @@ def create_items(self): #### create_regions ```python -def create_regions(self): +def create_regions(self) -> None: # Add regions to the multiworld. "Menu" is the required starting point. # Arguments to Region() are name, type, human_readable_name, player, world r = Region("Menu", None, "Menu", self.player, self.world) @@ -518,7 +518,7 @@ def create_regions(self): #### generate_basic ```python -def generate_basic(self): +def generate_basic(self) -> None: # place "Victory" at "Final Boss" and set collection as win condition self.world.get_location("Final Boss", self.player)\ .place_locked_item(self.create_event("Victory")) @@ -539,7 +539,7 @@ def generate_basic(self): from ..generic.Rules import add_rule, set_rule, forbid_item from Items import get_item_type -def set_rules(self): +def set_rules(self) -> None: # For some worlds this step can be omitted if either a Logic mixin # (see below) is used, it's easier to apply the rules from data during # location generation or everything is in generate_basic diff --git a/worlds/AutoWorld.py b/worlds/AutoWorld.py index b2df8486..ee7f618d 100644 --- a/worlds/AutoWorld.py +++ b/worlds/AutoWorld.py @@ -1,16 +1,16 @@ from __future__ import annotations import logging -from typing import Dict, Set, Tuple, List, Optional, TextIO, Any, Callable, Union +from typing import Dict, FrozenSet, Set, Tuple, List, Optional, TextIO, Any, Callable, Union from BaseClasses import MultiWorld, Item, CollectionState, Location from Options import Option class AutoWorldRegister(type): - world_types: Dict[str, World] = {} + world_types: Dict[str, AutoWorldRegister] = {} - def __new__(cls, name: str, bases, dct: Dict[str, Any]): + def __new__(cls, name: str, bases: Tuple[type, ...], dct: Dict[str, Any]) -> AutoWorldRegister: if "web" in dct: assert isinstance(dct["web"], WebWorld), "WebWorld has to be instantiated." # filter out any events @@ -34,7 +34,8 @@ class AutoWorldRegister(type): if "required_client_version" in dct and bases: for base in bases: if "required_client_version" in base.__dict__: - dct["required_client_version"] = max(dct["required_client_version"], base.required_client_version) + dct["required_client_version"] = max(dct["required_client_version"], + base.__dict__["required_client_version"]) # construct class new_class = super().__new__(cls, name, bases, dct) @@ -44,9 +45,9 @@ class AutoWorldRegister(type): class AutoLogicRegister(type): - def __new__(cls, name, bases, dct): + def __new__(cls, name: str, bases: Tuple[type, ...], dct: Dict[str, Any]) -> AutoLogicRegister: new_class = super().__new__(cls, name, bases, dct) - function: Callable + function: Callable[..., Any] for item_name, function in dct.items(): if item_name == "copy_mixin": CollectionState.additional_copy_functions.append(function) @@ -59,13 +60,13 @@ class AutoLogicRegister(type): return new_class -def call_single(world: MultiWorld, method_name: str, player: int, *args): +def call_single(world: MultiWorld, method_name: str, player: int, *args: Any) -> Any: method = getattr(world.worlds[player], method_name) return method(*args) -def call_all(world: MultiWorld, method_name: str, *args): - world_types = set() +def call_all(world: MultiWorld, method_name: str, *args: Any) -> None: + world_types: Set[AutoWorldRegister] = set() for player in world.player_ids: world_types.add(world.worlds[player].__class__) call_single(world, method_name, player, *args) @@ -76,7 +77,7 @@ def call_all(world: MultiWorld, method_name: str, *args): stage_callable(world, *args) -def call_stage(world: MultiWorld, method_name: str, *args): +def call_stage(world: MultiWorld, method_name: str, *args: Any) -> None: world_types = {world.worlds[player].__class__ for player in world.player_ids} for world_type in world_types: stage_callable = getattr(world_type, f"stage_{method_name}", None) @@ -101,10 +102,12 @@ class World(metaclass=AutoWorldRegister): """A World object encompasses a game's Items, Locations, Rules and additional data or functionality required. A Game should have its own subclass of World in which it defines the required data structures.""" - options: Dict[str, type(Option)] = {} # link your Options mapping + options: Dict[str, Option[Any]] = {} # link your Options mapping game: str # name the game topology_present: bool = False # indicate if world type has any meaningful layout/pathing - all_item_and_group_names: Set[str] = frozenset() # gets automatically populated with all item and item group names + + # gets automatically populated with all item and item group names + all_item_and_group_names: FrozenSet[str] = frozenset() # map names to their IDs item_name_to_id: Dict[str, int] = {} @@ -126,7 +129,7 @@ class World(metaclass=AutoWorldRegister): # update this if the resulting multidata breaks forward-compatibility of the server required_server_version: Tuple[int, int, int] = (0, 2, 4) - hint_blacklist: Set[str] = frozenset() # any names that should not be hintable + hint_blacklist: FrozenSet[str] = frozenset() # any names that should not be hintable # NOTE: remote_items and remote_start_inventory are now available in the network protocol for the client to set. # These values will be removed. @@ -168,61 +171,65 @@ class World(metaclass=AutoWorldRegister): # can also be implemented as a classmethod and called "stage_", # in that case the MultiWorld object is passed as an argument and it gets called once for the entire multiworld. # An example of this can be found in alttp as stage_pre_fill - def generate_early(self): + def generate_early(self) -> None: pass - def create_regions(self): + def create_regions(self) -> None: pass - def create_items(self): + def create_items(self) -> None: pass - def set_rules(self): + def set_rules(self) -> None: pass - def generate_basic(self): + def generate_basic(self) -> None: pass - def pre_fill(self): + def pre_fill(self) -> None: """Optional method that is supposed to be used for special fill stages. This is run *after* plando.""" pass @classmethod - def fill_hook(cls, progitempool: List[Item], nonexcludeditempool: List[Item], - localrestitempool: Dict[int, List[Item]], nonlocalrestitempool: Dict[int, List[Item]], - restitempool: List[Item], fill_locations: List[Location]): + def fill_hook(cls, + progitempool: List[Item], + nonexcludeditempool: List[Item], + localrestitempool: Dict[int, List[Item]], + nonlocalrestitempool: Dict[int, List[Item]], + restitempool: List[Item], + fill_locations: List[Location]) -> None: """Special method that gets called as part of distribute_items_restrictive (main fill). This gets called once per present world type.""" pass - def post_fill(self): + def post_fill(self) -> None: """Optional Method that is called after regular fill. Can be used to do adjustments before output generation.""" - def generate_output(self, output_directory: str): + def generate_output(self, output_directory: str) -> None: """This method gets called from a threadpool, do not use world.random here. If you need any last-second randomization, use MultiWorld.slot_seeds[slot] instead.""" pass - def fill_slot_data(self) -> dict: + def fill_slot_data(self) -> Dict[str, Any]: # json of WebHostLib.models.Slot """Fill in the slot_data field in the Connected network package.""" return {} - def modify_multidata(self, multidata: dict): + def modify_multidata(self, multidata: Dict[str, Any]) -> None: # TODO: TypedDict for multidata? """For deeper modification of server multidata.""" pass # Spoiler writing is optional, these may not get called. - def write_spoiler_header(self, spoiler_handle: TextIO): + def write_spoiler_header(self, spoiler_handle: TextIO) -> None: """Write to the spoiler header. If individual it's right at the end of that player's options, if as stage it's right under the common header before per-player options.""" pass - def write_spoiler(self, spoiler_handle: TextIO): + def write_spoiler(self, spoiler_handle: TextIO) -> None: """Write to the spoiler "middle", this is after the per-player options and before locations, meant for useful or interesting info.""" pass - def write_spoiler_end(self, spoiler_handle: TextIO): + def write_spoiler_end(self, spoiler_handle: TextIO) -> None: """Write to the end of the spoiler""" pass @@ -236,7 +243,7 @@ class World(metaclass=AutoWorldRegister): def get_filler_item_name(self) -> str: """Called when the item pool needs to be filled with additional items to match location count.""" logging.warning(f"World {self} is generating a filler item without custom filler pool.") - return self.world.random.choice(self.item_name_to_id) + return self.world.random.choice(tuple(self.item_name_to_id.keys())) # decent place to implement progressive items, in most cases can stay as-is def collect_item(self, state: CollectionState, item: Item, remove: bool = False) -> Optional[str]: @@ -247,6 +254,7 @@ class World(metaclass=AutoWorldRegister): :param remove: indicate if this is meant to remove from state instead of adding.""" if item.advancement: return item.name + return None # called to create all_state, return Items that are created during pre_fill def get_pre_fill_items(self) -> List[Item]: @@ -277,4 +285,3 @@ class World(metaclass=AutoWorldRegister): # please use a prefix as all of them get clobbered together class LogicMixin(metaclass=AutoLogicRegister): pass - From ff783cf9a534b04dfb061c55df6a37187aec94b0 Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Fri, 29 Apr 2022 04:05:45 +0200 Subject: [PATCH 05/13] WebHost: update flask --- WebHostLib/requirements.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/WebHostLib/requirements.txt b/WebHostLib/requirements.txt index da8f682a..e3cea7c7 100644 --- a/WebHostLib/requirements.txt +++ b/WebHostLib/requirements.txt @@ -1,7 +1,7 @@ -flask>=2.0.3 +flask>=2.1.2 pony>=0.7.16 waitress>=2.1.0 flask-caching>=1.10.1 -Flask-Compress>=1.11 -Flask-Limiter>=2.2.0 +Flask-Compress>=1.12 +Flask-Limiter>=2.4.5.1 bokeh>=2.4.2 \ No newline at end of file From 09670a4475eaed1fa00fb61d47ec6402e7002059 Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Fri, 29 Apr 2022 02:58:36 +0200 Subject: [PATCH 06/13] Factorio: demote EnergyLink text to debug logging level. --- FactorioClient.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/FactorioClient.py b/FactorioClient.py index 94c6844a..0b85dca3 100644 --- a/FactorioClient.py +++ b/FactorioClient.py @@ -121,8 +121,8 @@ class FactorioContext(CommonContext): gained = int(args["original_value"] - args["value"]) gained_text = Utils.format_SI_prefix(gained) + "J" if gained: - logger.info(f"EnergyLink: Received {gained_text}. " - f"{Utils.format_SI_prefix(args['value'])}J remaining.") + logger.debug(f"EnergyLink: Received {gained_text}. " + f"{Utils.format_SI_prefix(args['value'])}J remaining.") self.rcon_client.send_command(f"/ap-energylink {gained}") @@ -187,7 +187,7 @@ async def game_watcher(ctx: FactorioContext): }])) ctx.rcon_client.send_command( f"/ap-energylink -{value}") - logger.info(f"EnergyLink: Sent {Utils.format_SI_prefix(value)}J") + logger.debug(f"EnergyLink: Sent {Utils.format_SI_prefix(value)}J") await asyncio.sleep(0.1) From e8579771a5645342aea3981d529ea044d1f82142 Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Thu, 28 Apr 2022 00:11:06 +0200 Subject: [PATCH 07/13] Requirements: update websockets --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index e300fa00..9956a64a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ colorama>=0.4.4 -websockets>=10.2 +websockets>=10.3 PyYAML>=6.0 thefuzz[speedup]>=0.19.0 jinja2>=3.1.1 From 894a30b9bd3581ee2f05b486d9593f893c26dda9 Mon Sep 17 00:00:00 2001 From: espeon65536 <81029175+espeon65536@users.noreply.github.com> Date: Fri, 29 Apr 2022 20:37:28 -0500 Subject: [PATCH 08/13] Check for ROMs at beginning of generation (#475) --- Main.py | 2 ++ docs/api.md | 3 +++ worlds/AutoWorld.py | 6 ++++++ worlds/alttp/__init__.py | 6 ++++++ worlds/oot/__init__.py | 4 ++++ worlds/sm/__init__.py | 6 ++++++ worlds/smz3/__init__.py | 4 ++++ worlds/soe/__init__.py | 6 ++++++ 8 files changed, 37 insertions(+) diff --git a/Main.py b/Main.py index dcef4392..19025500 100644 --- a/Main.py +++ b/Main.py @@ -93,6 +93,8 @@ def main(args, seed=None, baked_server_options: Optional[Dict[str, object]] = No f"Location IDs: {min(cls.location_id_to_name):{numlength}} - " f"{max(cls.location_id_to_name):{numlength}}") + AutoWorld.call_stage(world, "assert_generate") + AutoWorld.call_all(world, "generate_early") logger.info('') diff --git a/docs/api.md b/docs/api.md index f81c29b3..239e65bc 100644 --- a/docs/api.md +++ b/docs/api.md @@ -426,6 +426,9 @@ In addition, the following methods can be implemented and attributes can be set * `required_client_version: Tuple(int, int, int)` Client version as tuple of 3 ints to make sure the client is compatible to this world (e.g. implements all required features) when connecting. +* `assert_generate(cls, world)` is a class method called at the start of + generation to check the existence of prerequisite files, usually a ROM for + games which require one. #### generate_early diff --git a/worlds/AutoWorld.py b/worlds/AutoWorld.py index ee7f618d..7f974741 100644 --- a/worlds/AutoWorld.py +++ b/worlds/AutoWorld.py @@ -171,6 +171,12 @@ class World(metaclass=AutoWorldRegister): # can also be implemented as a classmethod and called "stage_", # in that case the MultiWorld object is passed as an argument and it gets called once for the entire multiworld. # An example of this can be found in alttp as stage_pre_fill + @classmethod + def assert_generate(cls) -> None: + """Checks that a game is capable of generating, usually checks for some base file like a ROM. + Not run for unittests since they don't produce output""" + pass + def generate_early(self) -> None: pass diff --git a/worlds/alttp/__init__.py b/worlds/alttp/__init__.py index 1a3453f9..9e028b2d 100644 --- a/worlds/alttp/__init__.py +++ b/worlds/alttp/__init__.py @@ -56,6 +56,12 @@ class ALTTPWorld(World): self.has_progressive_bows = False super(ALTTPWorld, self).__init__(*args, **kwargs) + @classmethod + def stage_assert_generate(cls, world): + rom_file = get_base_rom_path() + if not os.path.exists(rom_file): + raise FileNotFoundError(rom_file) + def generate_early(self): player = self.player world = self.world diff --git a/worlds/oot/__init__.py b/worlds/oot/__init__.py index 18b0f939..cc68488c 100644 --- a/worlds/oot/__init__.py +++ b/worlds/oot/__init__.py @@ -89,6 +89,10 @@ class OOTWorld(World): self.hint_data_available = threading.Event() super(OOTWorld, self).__init__(world, player) + @classmethod + def stage_assert_generate(cls, world: MultiWorld): + rom = Rom(file=get_options()['oot_options']['rom_file']) + def generate_early(self): # Player name MUST be at most 16 bytes ascii-encoded, otherwise won't write to ROM correctly if len(bytes(self.world.get_player_name(self.player), 'ascii')) > 16: diff --git a/worlds/sm/__init__.py b/worlds/sm/__init__.py index 305ac87b..50115093 100644 --- a/worlds/sm/__init__.py +++ b/worlds/sm/__init__.py @@ -83,6 +83,12 @@ class SMWorld(World): self.rom_name_available_event = threading.Event() super().__init__(world, player) + @classmethod + def stage_assert_generate(cls, world): + rom_file = get_base_rom_path() + if not os.path.exists(rom_file): + raise FileNotFoundError(rom_file) + def generate_early(self): Logic.factory('vanilla') diff --git a/worlds/smz3/__init__.py b/worlds/smz3/__init__.py index 6cb43878..8d3cd06b 100644 --- a/worlds/smz3/__init__.py +++ b/worlds/smz3/__init__.py @@ -60,6 +60,10 @@ class SMZ3World(World): self.unreachable = [] super().__init__(world, player) + @classmethod + def stage_assert_generate(cls, world): + base_combined_rom = get_base_rom_bytes() + def generate_early(self): config = Config({}) config.GameMode = GameMode.Multiworld diff --git a/worlds/soe/__init__.py b/worlds/soe/__init__.py index 244c6f07..fd94ebf2 100644 --- a/worlds/soe/__init__.py +++ b/worlds/soe/__init__.py @@ -175,6 +175,12 @@ class SoEWorld(World): res.trap = item.type == pyevermizer.CHECK_TRAP return res + @classmethod + def stage_assert_generate(cls, world): + rom_file = get_base_rom_path() + if not os.path.exists(rom_file): + raise FileNotFoundError(rom_file) + def create_regions(self): # TODO: generate *some* regions from locations' requirements? r = Region('Menu', RegionType.Generic, 'Menu', self.player, self.world) From 5eab07d8d63d6101529842563b79ed413ad68d5b Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Sat, 30 Apr 2022 04:39:08 +0200 Subject: [PATCH 09/13] Network: add games argument to GetDataPackage (#473) --- MultiServer.py | 9 ++++++++- Utils.py | 6 +++--- docs/network protocol.md | 7 +++---- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/MultiServer.py b/MultiServer.py index b9ac9eef..a454284f 100644 --- a/MultiServer.py +++ b/MultiServer.py @@ -1466,7 +1466,13 @@ async def process_client_cmd(ctx: Context, client: Client, args: dict): elif cmd == "GetDataPackage": exclusions = args.get("exclusions", []) - if exclusions: + if "games" in args: + games = {name: game_data for name, game_data in network_data_package["games"].items() + if name in set(args.get("games", []))} + await ctx.send_msgs(client, [{"cmd": "DataPackage", + "data": {"games": games}}]) + # TODO: remove exclusions behaviour around 0.5.0 + elif exclusions: exclusions = set(exclusions) games = {name: game_data for name, game_data in network_data_package["games"].items() if name not in exclusions} @@ -1474,6 +1480,7 @@ async def process_client_cmd(ctx: Context, client: Client, args: dict): package["games"] = games await ctx.send_msgs(client, [{"cmd": "DataPackage", "data": package}]) + else: await ctx.send_msgs(client, [{"cmd": "DataPackage", "data": network_data_package}]) diff --git a/Utils.py b/Utils.py index a764dea9..b353e9a7 100644 --- a/Utils.py +++ b/Utils.py @@ -58,8 +58,7 @@ RetType = typing.TypeVar("RetType") def cache_argsless(function: typing.Callable[[], RetType]) -> typing.Callable[[], RetType]: - if function.__code__.co_argcount: - raise Exception("Can only cache 0 argument functions with this cache.") + assert not function.__code__.co_argcount, "Can only cache 0 argument functions with this cache." sentinel = object() result: typing.Union[object, RetType] = sentinel @@ -482,7 +481,8 @@ class VersionException(Exception): pass -def format_SI_prefix(value, power=1000, power_labels=('', 'k', 'M', 'G', 'T', "P", "E", "Z", "Y")): +# noinspection PyPep8Naming +def format_SI_prefix(value, power=1000, power_labels=('', 'k', 'M', 'G', 'T', "P", "E", "Z", "Y")) -> str: n = 0 while value > power: diff --git a/docs/network protocol.md b/docs/network protocol.md index ae93e369..48b8448d 100644 --- a/docs/network protocol.md +++ b/docs/network protocol.md @@ -305,9 +305,9 @@ Basic chat command which sends text to the server to be distributed to other cli Requests the data package from the server. Does not require client authentication. #### Arguments -| Name | Type | Notes | -| ------ | ----- | ------ | -| exclusions | list\[str\] | Optional. If specified, will not send back the specified data. Such as, \["Factorio"\] -> Datapackage without Factorio data.| +| Name | Type | Notes | +|-------| ----- |---------------------------------------------------------------------------------------------------------------------------------| +| games | list\[str\] | Optional. If specified, will only send back the specified data. Such as, \["Factorio"\] -> Datapackage with only Factorio data. | ### Bounce Send this message to the server, tell it which clients should receive the message and @@ -569,7 +569,6 @@ Note: | Name | Type | Notes | | ------ | ----- | ------ | | games | dict[str, GameData] | Mapping of all Games and their respective data | -| version | int | Sum of all per-game version numbers, for clients that don't bother with per-game caching/updating. | #### GameData GameData is a **dict** but contains these keys and values. It's broken out into another "type" for ease of documentation. From bb710cc360657ab3814cc58a5d3d3561655c675a Mon Sep 17 00:00:00 2001 From: metzner Date: Sat, 30 Apr 2022 04:44:15 +0200 Subject: [PATCH 10/13] Fix: Traps weren't showing up --- worlds/witness/WitnessItems.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/worlds/witness/WitnessItems.txt b/worlds/witness/WitnessItems.txt index 2eb8d735..75504974 100644 --- a/worlds/witness/WitnessItems.txt +++ b/worlds/witness/WitnessItems.txt @@ -17,5 +17,5 @@ Boosts: 500 - Speed Boost Traps: -600 - Slowness Trap -610 - Power Surge Trap +600 - Slowness +610 - Power Surge From 897cbb9826bcb7ab80c815ae5f5573982baaed4c Mon Sep 17 00:00:00 2001 From: metzner Date: Sat, 30 Apr 2022 04:56:38 +0200 Subject: [PATCH 11/13] Moved Quarry Big Panel to uncommon --- worlds/witness/locations.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/worlds/witness/locations.py b/worlds/witness/locations.py index 548dcafd..a1d52b89 100644 --- a/worlds/witness/locations.py +++ b/worlds/witness/locations.py @@ -51,7 +51,6 @@ class StaticWitnessLocations: "Quarry Mill Eraser and Dots 6", "Quarry Mill Eraser and Squares 8", "Quarry Mill Small Squares & Dots & and Eraser", - "Quarry Mill Big Squares & Dots & and Eraser", "Quarry Boathouse Intro Shapers", "Quarry Boathouse Eraser and Shapers 5", "Quarry Boathouse Stars & Eraser & and Shapers 2", @@ -140,6 +139,7 @@ class StaticWitnessLocations: UNCOMMON_LOCATIONS = { "Mountaintop River Shape", "Tutorial Patio Floor", + "Quarry Mill Big Squares & Dots & and Eraser", "Theater Tutorial Video", "Theater Desert Video", "Theater Jungle Video", From 4a703481ba72f2a7eb309f4754dc54b2de8c9507 Mon Sep 17 00:00:00 2001 From: metzner Date: Sat, 30 Apr 2022 05:30:04 +0200 Subject: [PATCH 12/13] Removed Mountain Trap Door Triple Exit location. --- worlds/witness/locations.py | 1 - 1 file changed, 1 deletion(-) diff --git a/worlds/witness/locations.py b/worlds/witness/locations.py index a1d52b89..9d52c7d0 100644 --- a/worlds/witness/locations.py +++ b/worlds/witness/locations.py @@ -122,7 +122,6 @@ class StaticWitnessLocations: "Treehouse Right Orange Bridge 12", "Treehouse Laser", - "Mountaintop Trap Door Triple Exit", "Mountaintop Discard", "Mountaintop Vault Box", From 9d638671bbe5f799e02d2fc9ff479a1b508a2292 Mon Sep 17 00:00:00 2001 From: metzner Date: Sat, 30 Apr 2022 05:31:55 +0200 Subject: [PATCH 13/13] Removed Tutorial Gate Close as a location for compatibility with current randomizer version --- worlds/witness/locations.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/worlds/witness/locations.py b/worlds/witness/locations.py index 9d52c7d0..0bfaf011 100644 --- a/worlds/witness/locations.py +++ b/worlds/witness/locations.py @@ -150,8 +150,6 @@ class StaticWitnessLocations: } HARD_LOCATIONS = { - "Tutorial Gate Close", - "Inside Mountain Secret Area Dot Grid Triangles 4", "Inside Mountain Secret Area Symmetry Triangles", "Inside Mountain Secret Area Stars & Squares and Triangles 2",