Fork of Archipelago Multi-Game Randomizer and Server that runs on https://ap.hollymcfarland.com
This reverts commit
|
||
---|---|---|
.github | ||
WebHostLib | ||
data | ||
test | ||
.gitignore | ||
Adjuster.py | ||
AdjusterMain.py | ||
BaseClasses.py | ||
Bosses.py | ||
Dungeons.py | ||
ER_hint_reference.txt | ||
EntranceRandomizer.py | ||
EntranceShuffle.py | ||
Fill.py | ||
Gui.py | ||
GuiUtils.py | ||
InvertedRegions.py | ||
ItemPool.py | ||
Items.py | ||
LICENSE | ||
Main.py | ||
ModuleUpdate.py | ||
MultiClient.py | ||
MultiMystery.py | ||
MultiServer.py | ||
Mystery.py | ||
NetUtils.py | ||
Options.py | ||
OverworldGlitchRules.py | ||
Patch.py | ||
README.md | ||
Regions.py | ||
Rom.py | ||
Rules.py | ||
Shops.py | ||
Text.py | ||
Utils.py | ||
WebHost.py | ||
WebUI.py | ||
_config.yml | ||
dumpSprites.py | ||
host.yaml | ||
icon.ico | ||
inno_setup_38.iss | ||
inno_setup_39.iss | ||
meta.yaml | ||
playerSettings.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 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 playerSettings.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 missingforfeit
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 playerSettings.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
anddungeonsfull
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