Fork of Archipelago Multi-Game Randomizer and Server that runs on https://ap.hollymcfarland.com
Go to file
caitsith2 6beeb7934d Add local_keys option to go in line with the *_shuffle options, and document both local_keys and l in easy.yaml 2020-06-19 16:10:22 -07:00
.github
WebHost no longer need webhost keep-alive with auto-shutdown 2020-06-18 14:48:28 +02:00
data rename baserom to basepatch to make it clearer what it is 2020-06-17 08:59:50 +02:00
test
.gitignore
Adjuster.py
AdjusterMain.py
BaseClasses.py implement "crossover logic". 2020-06-19 03:01:23 +02:00
Bosses.py
Dungeons.py
ER_hint_reference.txt
EntranceRandomizer.py Max triforce pieces reduced to 90 2020-06-18 08:48:33 -07:00
EntranceShuffle.py
Fill.py
Gui.py
GuiUtils.py
InvertedRegions.py
ItemList.py Actually make sure excess heart pieces/containers become 20 rupees, since the max is 20 hearts anyways. 2020-06-18 08:49:54 -07:00
Items.py implement "crossover logic". 2020-06-19 03:01:23 +02:00
LICENSE
Main.py Merge pull request #109 from Berserker66/extended_triforce_hunt 2020-06-17 10:34:59 +02:00
ModuleUpdate.py
MultiClient.py
MultiMystery.py
MultiServer.py
Mystery.py Add local_keys option to go in line with the *_shuffle options, and document both local_keys and l in easy.yaml 2020-06-19 16:10:22 -07:00
NetUtils.py
Options.py
OverworldGlitchRules.py
Patch.py
README.md Update readme 2020-06-19 03:35:21 +02:00
Regions.py
Rom.py apply local items in no_logic 2020-06-19 01:31:32 +02:00
Rules.py implement "crossover logic". 2020-06-19 03:01:23 +02:00
Text.py
Utils.py
WebUI.py
_config.yml Set theme jekyll-theme-slate 2020-06-19 03:22:27 +02:00
appveyor.yml
easy.yaml Add local_keys option to go in line with the *_shuffle options, and document both local_keys and l in easy.yaml 2020-06-19 16:10:22 -07:00
host.yaml
icon.ico
inno_setup.iss
meta.yaml
pytest.ini
requirements.txt
setup.py

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 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, preventing a crash when trying to connect among potential other 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
  • completely redesigned command interface, with !help and /help
  • New Goal: local triforce hunt - limits triforce pieces to your own world so it is your own goal to accomplish

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 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
  • improved !players command, mentioning how many players are currently connected of how many expected and who's missing
  • /forfeit Playername now works when the player is not currently connected
  • Added /hint and !hint, configuration in host.yaml and description in help
  • various commands, like /send and /hint use "fuzzy text matching", no longer requiring you 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 info)
  • Rom-Option for extendedmsu (see easy.yaml for more info)
  • Option for "timer"
  • 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 ER modes
  • Option for local items
  • 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 through host.yaml
  • Automatically starts QUsb2Snes, if it isn't running
  • Better reconnect to both snes and server