Fork of Archipelago Multi-Game Randomizer and Server that runs on https://ap.hollymcfarland.com
Go to file
Fabian Dill e0873c1277 Add Silver Bow as a working start item 2020-08-23 03:03:21 +02:00
.github
…
WebHostLib Add JSON schema for player settings, which playerSettings.yaml (formerly easy.yaml) will need to conform to when parsed to JSON. 2020-08-22 19:03:09 -04:00
data Update to fix security vulnerability in WebUI 2020-08-15 21:45:05 -04:00
test make all output paths host.yaml settable 2020-08-20 15:43:22 +02:00
.gitignore
…
Adjuster.py
…
AdjusterMain.py
…
BaseClasses.py optimize sweep_for_events, some has_ functions and some minor things 2020-08-22 19:19:29 +02:00
Bosses.py merge singularity and duality into one; under the singularity name 2020-08-19 21:10:02 +02:00
Dungeons.py make "universal" small key shuffle a thing and split it out of retro 2020-08-20 20:13:00 +02:00
ER_hint_reference.txt
…
EntranceRandomizer.py make "universal" small key shuffle a thing and split it out of retro 2020-08-20 20:13:00 +02:00
EntranceShuffle.py
…
Fill.py optimize sweep_for_events, some has_ functions and some minor things 2020-08-22 19:19:29 +02:00
Gui.py make "universal" small key shuffle a thing and split it out of retro 2020-08-20 20:13:00 +02:00
GuiUtils.py
…
InvertedRegions.py
…
ItemPool.py make "universal" small key shuffle a thing and split it out of retro 2020-08-20 20:13:00 +02:00
Items.py optimize sweep_for_events, some has_ functions and some minor things 2020-08-22 19:19:29 +02:00
LICENSE
…
Main.py Apply fake world fix to minor glitches (#135) 2020-08-22 15:28:24 +02:00
ModuleUpdate.py
…
MultiClient.py open webui only after asking for repatching in text console, as it can otherwise be easily missed. 2020-08-11 21:59:43 +02:00
MultiMystery.py make all output paths host.yaml settable 2020-08-20 15:43:22 +02:00
MultiServer.py
…
Mystery.py secure sprite table fill with threadlock 2020-08-22 02:56:33 +02:00
NetUtils.py
…
Options.py
…
OverworldGlitchRules.py
…
Patch.py
…
README.md Clean up README.md and easy.yaml (#133) 2020-08-11 15:18:12 +02:00
Regions.py
…
Rom.py Add Silver Bow as a working start item 2020-08-23 03:03:21 +02:00
Rules.py make "universal" small key shuffle a thing and split it out of retro 2020-08-20 20:13:00 +02:00
Text.py Correct formatting problems with MIT license text in the game text. 2020-08-03 19:21:25 -04:00
Utils.py make all output paths host.yaml settable 2020-08-20 15:43:22 +02:00
WebHost.py
…
WebUI.py
…
_config.yml
…
gameSettings.schema.json Add JSON schema for player settings, which playerSettings.yaml (formerly easy.yaml) will need to conform to when parsed to JSON. 2020-08-22 19:03:09 -04:00
host.yaml make all output paths host.yaml settable 2020-08-20 15:43:22 +02:00
icon.ico
…
inno_setup.iss
…
meta.yaml
…
playerSettings.yaml Add JSON schema for player settings, which playerSettings.yaml (formerly easy.yaml) will need to conform to when parsed to JSON. 2020-08-22 19:03:09 -04:00
pytest.ini
…
requirements.txt update modules, move markdown requirement and add tutorial caching 2020-08-14 19:29:59 +02:00
setup.py Add JSON schema for player settings, which playerSettings.yaml (formerly easy.yaml) will need to conform to when parsed to JSON. 2020-08-22 19:03:09 -04:00

README.md

Berserker's Multiworld

A Multiworld implementation for the Legend of Zelda: A Link to the Past Randomizer.
For setup and instructions there's a Wiki.
Downloads can be found at Releases, including compiled windows binaries.

Additions/Changes compared to Bonta's V31

Project

  • Available in precompiled form and guided setup for Windows 64Bit on the Releases page
  • Compatible with Python 3.7 and 3.8. Forward Checks for Python 4.0 are done
  • Update modules if they are too old to prevent crashes and other possible issues.
  • Autoinstall missing modules
  • Allow newer versions of modules than specified, as they will usually not break compatibility
  • Uses "V32" MSU
  • Has support for binary patching to allow legal distribution of multiworld rom files
  • Various performance improvements (over 100% faster in most cases)
  • Various fixes
  • Overworld Glitches Logic
  • Newer Entrance Randomizer Logic, allowing more potential item and boss locations
  • New Goal: local triforce hunt - Keeps triforce pieces local to your world

MultiMystery.py

  • Allows you to generate a Multiworld with individual player mystery weights. Since weights can also be set to 100%, this also allows for individual settings for each player in a regular multiworld. Basis is a .yaml file that sets these weights. You can find an easy.yaml in this project folder to get started
  • Additional instructions are at the start of the file. Open with a text editor
  • Configuration options can be found in the host.yaml file
  • Allows a new Mode called "Meta-Mystery", allowing certain mystery settings to apply to all players
    • For example, everyone gets the same but random goal

MultiServer.py

  • Supports automatic port-forwarding, can be enabled in host.yaml
  • Added commands /hint and !hint. See host.yaml for more information
  • Updates have been made to the following commands:
    • !players now displays the number of connected players, expected total player count, and which players are missing
    • forfeit now works when a player is no longer connected
    • /send, /hint, and various other commands now use "fuzzy text matching". It is no longer required to enter a location, player name or item name perfectly
  • Some item groups also exist, so /hint Bottles lists all bottle varieties

Mystery.py

  • Defaults to generating a non-race ROM (Bonta's only makes race ROMs at this time). If a race ROM is desired, pass --create-race as argument to it
  • When an error is generated due to a broken .yaml file, it now mentions in the error trace which file, line, and character is the culprit
  • Option for progressive items, allowing you to turn them off (see easy.yaml for more information)
  • Option for "timer", allows you to configure a timer to display in game and/or options for timed one hit knock out
  • Option for "dungeon_counters", allowing you to configure the dungeon item counter
  • Option for "glitch_boots", allowing to run glitched modes without automatic boots
  • Supports new Meta-Mystery mode. Read meta.yaml for details.
  • Added dungeonssimple and dungeonsfull entrance randomizer modes
  • Option for local items, allowing certain items to appear in your world only and not in other players' worlds
  • Option for linked options
  • Added 'l' to dungeon_items to have a local-world keysanity

MultiClient.py

  • Has a Webbrowser based UI now
  • Awaits a QUsb2Snes connection when started, latching on when available
  • Completely redesigned command interface, with !help and /help
  • Running it with a patch file will patch out the multiworld rom and then automatically connect to the host that created the multiworld
  • Cheating is now controlled by the server and can be disabled in host.yaml
  • Automatically starts QUsb2Snes, if it isn't running
  • Better reconnect to both snes and server