Fork of Archipelago Multi-Game Randomizer and Server that runs on https://ap.hollymcfarland.com
Go to file
compiling 4851a905cf
OWG fixes (#79)
* Fix Waterfall entrance being inaccessible with the flippers.
Fix Spectacle Rock and Bombos Tablet requiring moon pearl

* Inverted - make the blacksmith, purple chest, bottle merchant and master sword pedestal accessible without the moon pearl.

* Fix moon pearl checks to avoid requiring moon pearl for mirror accessible locations.

* Dark Desert Teleporter requires the mitts

* Fix OWG bunny rules

* Fix another bunny rule bug.

* Separate superbunny cave into 2 regions.
For OWG, allow superbunny in superbunny cave with no mirror when entering from the bottom
Fix boots clip logic to desert teleporter ledge and TR teleporter
Fix mirror wrap logic for pyramid fairy
For insanity shuffle, exiting Superbunny Cave bottom is now in logic.

* Always require pearl for Swamp (Superbunny cannot do anything)

* Allow clipping into the GT entrance

* Add OWG tests from vt_randomizer

* Add some extra vanilla test cases

* Allow superbunny into the Blind's Hideout entrance.

* More moon pearl / superbunny fixes
Use the Catfish region properly, so Catfish Descent works.

* Allow superbunny into tavern
Fix inverted Kings Grave logic

* Inverted OWG tests

* Update unit tests for King's Tomb clip.

* All superbunny to spiral cave item (with sword)

* Bunny revive is not possible in Sanctuary.

* More inverted tests

* Add/fix test cases

* Fix logic for Magic Bat

* Fix merge to multiworld

* Fix Floodgate superbunny rule

* Require bunny revival for all dungeons except for Swamp/TR Main/Hera/Sanctuary, which have extra requirements

* Require a weapon for Castle Tower.

* Test case fixes

* Update test case - superbunny into Kakariko Tavern is in logic
2020-04-28 17:34:30 +02:00
.github Github Sponsors 2020-02-25 13:46:42 +01:00
data --remote_items toggle: items will no longer be stored in the rom, a connection to a multiworld server will be required to receive them 2020-01-18 09:50:12 +01:00
test OWG fixes (#79) 2020-04-28 17:34:30 +02:00
.gitignore Pr 56 (#56) 2020-04-02 14:47:46 +02:00
Adjuster.py store last used adjuster settings and use them for patching 2020-04-26 15:14:30 +02:00
AdjusterMain.py store last used adjuster settings and use them for patching 2020-04-26 15:14:30 +02:00
BaseClasses.py rename has_blunt_weapon to has_melee_weapon 2020-04-20 19:17:10 +02:00
Bosses.py rename has_blunt_weapon to has_melee_weapon 2020-04-20 19:17:10 +02:00
Dungeons.py Update Dungeons.py (#72) 2020-04-25 05:51:40 +02:00
ER_hint_reference.txt Replace keysanity with map/compass/key/bk shuffle 2019-12-13 22:37:52 +01:00
EntranceRandomizer.py implement glitch_boots as a proper CLI option 2020-04-16 11:02:16 +02:00
EntranceShuffle.py OWG fixes (#79) 2020-04-28 17:34:30 +02:00
Fill.py some optimization 2020-04-14 18:59:00 +02:00
Gui.py store last used adjuster settings and use them for patching 2020-04-26 15:14:30 +02:00
GuiUtils.py Fix json decoding 2018-01-01 12:13:39 -05:00
InvertedRegions.py OWG fixes (#79) 2020-04-28 17:34:30 +02:00
ItemList.py introduce linked options to mystery 2020-04-25 02:24:37 +02:00
Items.py fix comapss 2020-04-22 04:59:49 +02:00
LICENSE Following this howto in the hopes of doing it right. IANAL. 2020-01-28 22:54:19 +01:00
Main.py unify versions 2020-04-20 14:50:49 +02:00
ModuleUpdate.py Run update/install once, as it installs/updates everything in one go 2020-03-22 02:34:24 +01:00
MultiClient.py store last used adjuster settings and use them for patching 2020-04-26 15:14:30 +02:00
MultiMystery.py Add --disable-autohost argument to MultiMystery.py 2020-04-21 00:02:03 -04:00
MultiServer.py warn older client versions that features are missing 2020-04-28 05:59:03 +02:00
Mystery.py 2.1.1 hotfix (#76) 2020-04-26 02:57:20 +02:00
OWGSets.py OWG fixes (#79) 2020-04-28 17:34:30 +02:00
Options.py Skeleton of new Options module 2020-03-18 16:15:32 +01:00
Patch.py store last used adjuster settings and use them for patching 2020-04-26 15:14:30 +02:00
Plando.py Disallow spaces in generated names 2020-04-18 21:46:57 +02:00
Plandomizer_Template.txt rename ocarina to flute. 2020-02-17 10:08:03 +01:00
README.md Update README.md 2020-04-21 21:14:07 +02:00
Regions.py OWG fixes (#79) 2020-04-28 17:34:30 +02:00
Rom.py looks like prog bow ganon hints got swapped and duped in a merge. 2020-04-21 21:40:15 +02:00
Rules.py OWG fixes (#79) 2020-04-28 17:34:30 +02:00
Text.py improve some random things 2020-03-05 02:31:26 +01:00
Utils.py warn older client versions that features are missing 2020-04-28 05:59:03 +02:00
appveyor.yml performance improvements and small adjustments 2020-03-10 00:38:29 +01:00
easy.yaml introduce linked options to mystery 2020-04-25 02:24:37 +02:00
host.yaml introduce forfeit_mode and remaining_mode, as well as server state for client has beaten the game 2020-04-25 15:11:58 +02:00
icon.ico the setup experience 2020-04-07 04:18:26 +02:00
inno_setup.iss do not ask for ROM file on update 2020-04-11 16:10:15 +02:00
meta.yaml document the meta.yaml some more and tweak it a bit 2020-02-22 20:03:46 +01:00
requirements.txt introduce persistent data storage, which for now just caches rom -> server pairs 2020-04-24 05:29:02 +02:00
setup.py remove qusb2snes log if it exists on compile 2020-04-11 16:36:13 +02:00

README.md

Berserker's Multiworld

This is a complete fork of Bonta's Multiworld V31. It is a drop-in replacement with everything from Bonta's Multiworld included. You can find a guide here: https://docs.google.com/document/d/1r7qs1-MK7YbFf2d-mEUeTy2wHykIf1ALG9pLtVvUbSw/edit# Or use the Wiki button at the top

Additions/Changes

Project

  • Available in precompiled form and guided setup for Windows 64Bit on Releases page.
  • Compatible with Python 3.7 and 3.8. Potentially future versions as well.
  • 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
  • Support for V31 extendedmsu
  • 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

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.

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

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

MultiClient.py

  • 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