Skip to content

Releases: Berserker66/MultiWorld-Utilities

Berserker's Multiworld 4.1.3

03 May 11:46
Compare
Choose a tag to compare

This update brings one change, that needs some explaining.

Upon installation, the program retrieves a list of sprites from alttpr.com/sprites, this endpoint however also includes the link sprite in full, which belongs to Nintendo and alttpr.com has no rights to distribute that data. As a result, Amazon Web Services blocked access to the file for copyright infringement. This, however, broke the old installer as it tries to retrieve the file and gets "403 Access Denied".

This update therefore implements two changes:

  • ignore any sprites from author "Nintendo"
  • implement the ".apsprite" file format in addition to .zspr, which can store a delta from the link sprite stored in your rom to the stored sprite, so that none of the original Nintendo owned data is in the sprite file.

An update to Archipelago with this change, and also a Minecraft Randomizer, is coming soon.

Berserker's Multiworld 4.1.2

02 Apr 10:09
Compare
Choose a tag to compare

This branch has now properly entered maintenance status. New Features are worked on in the proper Archipelago project now. You can find its first release at https://github.com/ArchipelagoMW/Archipelago/releases. It is however still in early alpha states, for a stable game of LttP this version here remains the recommended way to play for now. But you can't play Factorio with this one ;)

General

  • Updated WebUI Node.js modules [@LegendaryLinux]
  • Can now disable the ability to Exporation Glitch into Triforce Room, this new flag can be controlled from host.yaml [@CaitSith2]
  • Sprite Pool options are now available in the adjuster GUI [@CaitSith2]
  • Variable Player Names now use Python formatting as an alternative, for example 'Player {player}' [@CaitSith2, @Berserker66]

Fixes

  • Prevent using er seeds with an empty string, like crossed- to get a static result in race mode [@CaitSith2]
  • Drastically reduced the chance that shop_slot_shuffle produces empty slots, at the cost of generation speed [@Berserker66]
  • Basic and Normal (Or Simple and Random, depending on naming convention) boss shuffles now have a new less biased Algorithm [@Berserker66, @CaitSith2]
    • Special thanks to TailsMK4 and el0 for data collection and ideas
  • Basic/Simple can no longer place more than duplicate bosses [@Berserker66]
  • Removed Herobrine [Herobrine]

Berserker's Multiworld 4.1.1

14 Mar 01:22
Compare
Choose a tag to compare

General

Fixes

  • "pre_roll" host.yaml option is now safe for your computer, eliminating arbitrary code injection [@CaitSith2]
  • explicit er layout seed numbers cannot be used when "race" is enabled to prevent a form of cheating, team names can still be used to get the desired non-repeatable endresult. [@Berserker66]
  • Allow plando'ing a boss into Tower of Hera [@CaitSith2]
  • Rupees added to item pool for shop_shuffle_slots now correctly use the owning player's name instead of number [@Berserker66]
  • Catch Boss Plando mistakes during mystery generation, not during world generation [@CaitSith2]

WebHost archipelago.gg

  • Solo Tracker should no longer forget to display some items [@CaitSith2, @Berserker66]
  • Solo Tracker now counts keys correctly [@CaitSith2]
  • Don't count progressive items over their limit in Solo tracker [@CaitSith2]
  • Multi Tracker links to Solo Tracker are no longer yellow-ish on yellow-ish [@LegendaryLinux]
  • Fix that layout group name seeds persisted between generation runs [@Berserker66]
  • weighted-settings now use the sprite's filename instead of display name where certain displayed characters may break filesystem conventions [@LegendaryLinux]

Berserker's Multiworld 4.1.0

04 Mar 19:16
Compare
Choose a tag to compare

Accessibility [@pepperpow]

  • By default now, many instances of flashing effects that may be detrimental to certain players and viewers health have been reduced or removed.
    • In non-race roms this can be re-enabled with the rom_option enableflashing, please only do so if the only people seeing your gameplay are those not affected by these health risks.

Inverted Update

  • The Flute can now be activated in the darkworld in inverted [@pepperpow]
  • Goal Sign was moved from castle balcony to yard [@pepperpow]
    • This makes it easier to reach the sign before the goal may already be solved, in modes such as ER and DR, and makes each sign (GT and Goal) reachable at different times, similar to Open

New option: triforcehud [@pepperpow]

  • hide_goal hides the triforce counter until you receive your first piece, this is the new default
  • hide_total hides the required triforce count until you speak with Murahdahla
  • hide_both combines the two

Layout seeding [@Berserker66, @CaitSith2]

  • ER layouts and in DR also those layouts, can now be set to be a certain seed or shared with other people, to allow cooperatively mapping out entrance and door-rando multiworlds.

General

  • Adjuster is now its own program and is no longer found as a tab in Creator [@Berserker66]
  • if shop_shuffle_slots is on together with universal keys and/or retro, some of the added 50 rupees are converted to 100 rupees to help with your additional expenses. [@Berserker66]
  • If hints are on, Zora and Bottle Merchant revert to their vanilla behaviour of telling you what you're about to purchase. [@Berserker66]
  • 7EF46B-7EF46C contain bit-flags for dungeon prizes collected for auto-tracking purposes [@CaitSith2]
  • mystery yamls now support "triggers", similar to linked_options these allow you to overwrite multiple options, but instead of a % chance they trigger on another option result rolling. [@Berserker66]
  • triggers and linked_options now support partial updating of rom_options [@CaitSith2]
  • "Activated Flute" is now a fully qualified item, for purposes such as starting inventory, sending items etc. [@Berserker66]
  • Advancement items are now colored differently to "trash". [@Berserker66]

Fixes

  • Progression Balancing was sped up by several times, especially for large multiworlds [@Berserker66]
  • Another case was fixed where progression balancing may get stuck entirely and generation would not finish before the death of the universe [@Berserker66]
  • Chain-Event sweeping was sped up, this mostly affects "solving" dungeons with local keys [@Berserker66]
  • Fix Beemizer 4 + Ice Rod Hunt still having Nothings [@CaitSith2]
  • Correctly set turtle rock medallion requirement from mystery yaml [@StructuralMike]
  • Change "price" to "prize" in prize shuffle description [@TWest3D]
  • Starting with an activated Flute no longer makes logic assume it has to be activated first [@Berserker66]
  • Safeguard SRAM from Hobo / Pedestal / Zora subarea writes [@pepperpow]

WebHost archipelago.gg

  • Fixed a case where the weighted-settings sprite list would not update on preset change [@LegendaryLinux]
  • Implemented a versioning system for the weighted-settings page [@LegendaryLinux]
  • MultiTracker's Hint table now pushes found hints to the bottom [@Berserker66]
  • Fixed a bug where "puke" color palettes would not take [@LegendaryLinux]
  • Added a per-person automatic "solo tracker" [@LegendaryLinux]
  • Collect and clean up shutdown server instances to not run against security limiters for open file descriptors [@Berserker66]
  • Text updates to various weighted-settings options [@LegendaryLinux]
  • WebUI marks advancement items orange [@LegendaryLinux]

Berserker's Multiworld 4.0.1

31 Jan 23:52
Compare
Choose a tag to compare

General

  • mystery system can now control the pyramid hole state [@CaitSith2]
    • this does not turn a slow ganon into fast ganon.
  • Rebalanced some Shop purchases [@Berserker66]
    • Health and Ammo Upgrades are siginificantly cheaper
      • It was observed that especially more experienced players would skip health always, but in mixed capability multiworlds this left some beginners struggling to survive. The hope is that a cheap health upgrade gets more consideration in general and make it more of a choice, with the occasional one cheap enough to just pick up.
    • Prices for Compasses/Maps were also cut a lot.
      • They were almost always skipped when expensive.
        • In most modes Compasses do nothing, so there isn't really any reason to pick them up other than to get access to the potion/ammo behind it, not much that can fix that.
        • Maps might actually get picked up now, especially if players are still looking for the dungeons they need.
    • Slightly reduced price of progression items.
      • The main concern is turning inverted mode into a grindfest in the beginning, mid-game money seems to be mostly adequate now.
  • Improved speed of "fill" yet more, removing no longer needed Item.priority [@Berserker66]

Beemizer [@Berserker66, @CaitSith2]

  • No longer removes any mail upgrades, health upgrades etc.
    • The new list is rupees, ammo and Nothing (ice rod hunt)

New settings:

beemizer: # Remove items from the global item pool and replace them with single bees (fill bottles) and bee traps
  0: 50 # No bee traps are placed
  1: 0 # 25% of rupees, bombs and arrows are replaced with bees, of which 60% are traps and 40% single bees
  2: 0 # 50% of rupees, bombs and arrows are replaced with bees, of which 70% are traps and 30% single bees
  3: 0 # 75% of rupees, bombs and arrows are replaced with bees, of which 80% are traps and 20% single bees
  4: 0 # 100% of rupees, bombs and arrows are replaced with bees, of which 90% are traps and 10% single bees

Fixes

Berserker's Multiworld 4.0.0

24 Jan 23:08
Compare
Choose a tag to compare

The last major release of Berserker's Multiworld*, as the next one should be Archipelago 1.0.0. Highlights in this update are @pepperpow 's Multishop and Plando Support.

Multishop [@pepperpow , @Berserker66 , @CaitSith2]

  • New option shop_shuffle_slots
    • Adds slots to Shops that will be filled with general item pool items, that can be sent across the multiworld. You can now pay for someone's Moon Pearl in Kakariko.
    • 0 to 30 slots definable, at 30 every shop will have 3 items
    • When purchased, the normal item will come back when you re-enter the shop, so your Blue Potion might be locked behind someone else's Piece of Heart
    • A small Star Icon indicates such items.
    • For each item moved to a shop, a 50 Rupee is added to the item pool.
  • New option inventories:
    • Generates new base inventory for the shops.
    • Can also include new purchasable Items, like Apples and Bees
  • New option custom witch's potion shop:
    • Include Potion Shop to be considered for all other shop options
  • Upgrade Shuffle:
    • If for any reason not all upgrades could find a valid overwritable in the item pool, the remainder is put back at Hylia Fairy
  • Take-Any Caves are now tracked by the server, and subsequently the tracker.

Plando [@Berserker66, @CaitSith2]

General

  • new goal: Ice Rod Hunt [@CaitSith2]
    • Your item pool is one Ice Rod, the rest Nothing, you start with everything exept the rod. Triforce is on your Turtle Rock Boss that is Trinexx
  • Bee Traps have learned how to hide [@pepperpow]
  • new options misery_mire_medallion and turtle_rock_medallion [@Berserker66]
    • allows to set the required medallion for entry
  • Client gets warned if it doesn't support auto forfeit when the server has it on. [@Berserker66]
  • Remove sexist text [@ScootyPuffJr1]
  • Missing and Forfeit can now act on anything that is in multidata, including locations and items the server does not recognize [@Berserker66]
  • Skull Woods Pinball room is now considered for hint tiles [@Berserker66]
  • Fix Take-Any entrance selection not being deterministic [@CaitSith2, @Berserker66]
  • Fix typo in weightedSettings.json regarding "Armor-Plated" [@Fischfilet89]
  • Client is now aware of total checks [@CaitSith2]
  • Fix problems with patching on certain OS' on certain drives [@Berserker66]

WebHost (https://archipelago.gg/)

Translations

  • Spanish MSU Tutorial [@Edos512]
  • French MSU Tutorial [Coxla]

Technical

  • WebUI Text display is now a subclass of logging.Logger [@Berserker66]
  • Items are now hashable [@Berserker66]
  • Localized item fill is now faster, by a factor of world amount. [@Berserker66]
  • Game is validated against fulfilling accessibility, not just beatability. [@Berserker66]
  • Unittest added for Shop Slot uniqueness. [@Berserker66]
  • Shop related code is moved to Shops.py [@Berserker66]
  • Dungeon Information in the basepatch is now stored in the same location as door-rando [@aerinon, @CaitSith2]

https://clips.twitch.tv/CourageousSleepyRutabagaMrDestructoid

*assuming plans don't change again.

Berserker's Multiworld 3.5.0

30 Dec 18:56
Compare
Choose a tag to compare

For the time being, the software will still be called "Berserker's Multiworld". The plan is, that Bonta's Multiworld and Berserker's Multiworld will remain as intercompatible multiworld imlementations. When we switch the softwares name to Archipelago, this will signify that we've broken compatibility. Archipelago will only work with Archipelago, and hopefully comes soon (tm).

Also Master is now Main, as per https://github.com/github/renaming

General

  • Qirn Jump is now in minor glitches logic, allowing passage via a bomb fake flipper from dark sanc to palace of darkness
    • Ancilla Overload as a fake flipper method remains out-of-logic
  • Reviewed and added to all of the logic unittests.
    • Special thanks to el0 and stunseed for glitch information in OWG logic
    • There are now over 8000 test cases that make sure that logic resolves to what it's supposed to and that these assumptions are not broken by accident in the future.
    • Now covers Inverted and Open X No Glitches/Minor Glitches/Overworld Glitches; still no ER tests
    • This revealed dozens of smaller/low chance logic issues, most of them revolving around not checking if a Flute can be activated in inverted
      • which consequently, were fixed
  • Add more junk hints [@wolfman2000]
  • Apply Sprite Data to rom later, allowing overwriting potentially corrupted sprite palette data from palette shuffling, this should fix some of the wrong-looking sprites
  • MultiClient can now name future errors in a connection failed message that it can't handle yet.
  • Implemented "Minimum Version" handling to Server and Client, baked into multidata.
    • This allows Servers and Clients to report that they are outdated and require an update, instead of failing during play.
    • An updated Server can tell any old Client it needs to update
    • Version checking is per-slot. For example, you may be prompted for an update if you have keydropshuffle enabled, but it will leave you in peace otherwise.

Enemizer

  • Update .NET and remove sprites
  • Tile Shuffle no longer requires Enemizer [@CaitSith2]
  • Strip rom header, if one is present. [@CaitSith2]
  • skip prepwork on rom, if its not even going to be enemized. [@CaitSith2]
  • Add missing kill-all rooms [@CaitSith2]
    • Turtle Rock - Roller Greed room. (have to kill all enemies before you can push the block.) (Supertile 0x04) [@CaitSith2]
    • Agahnim Tower - Dark archer room (Supertile 0x0E) [@CaitSith2]
    • Ice Palace - Entrance key drop room (Supertile 0xC0) [@CaitSith2]

Berserker's Multiworld 3.4.2

09 Dec 21:09
Compare
Choose a tag to compare

The big news since last update is that https://berserkermulti.world got a complete redesign by @LegendaryLinux and Krista Corkos. It is also now available at https://archipelago.gg.
You can now just select a few options, without mystery and generate a singleplayer game, including race support, without any yaml fiddling. You can also find all your content, including seeds you generated in the past. The Tutorial was also improved, and then translated by @Edos512 to Spanish as well as French by Coxla.

General

  • Removed various references that are highly specific to the community.
    • Swapped them out for Zelda, Gaming or General references where appropriate.
    • Edit: Apparently this needs explaining: these are references/jokes, not credits.
  • Easy Item Functionality no longer sets its own logic, so logic will not require you to do stuff like get an item from a Tablet using a Hammer anymore
  • Creator now shows the filename from which a given Sprite came from
  • Updated included VC++
  • Compiled version is back to Python 3.8, for Windows 7 compatibility
    • will re-evaluate this later. Dropping Windows 7 Support just wasn't intentional. But it might become intentional in the future, just not now.

Client

  • Warn if data transfer to SNES failed midway
  • Re-implement USB2SNES handling, CMD space writes and other compatibility modes, but better. Especially better at finding out when those modes are needed
    • Should now work fine on console using either usb2snes or updated QUSB2SNES (the one included will do)

WebHost (technical)

  • All API endpoints moved to /api in both folder and network routing
  • Added more API endpoints (get_rooms, get_seeds, room_info)
  • Added filename and author to sprite data package
  • better seed generation error page [@CaitSith2]

image

Berserker's Multiworld 3.4.1

30 Nov 21:26
Compare
Choose a tag to compare

If you use console with sd2snes or fxpak, please use the "FXPAK" client instead. It should now work with both current qusb2snes and usb2snes. This will be standard in the next proper update.

Fixes

  • WebHost Server settings got miss-slotted, now they default correctly again
  • remaining_mode wasn't settable through server_options
  • Create Sprite directory if it doesn't exist yet

Berserker's Multiworld 3.4.0

30 Nov 18:57
Compare
Choose a tag to compare

General

  • Implemented "non_local_items", forcing items to be outside of your world.
  • GT Sign may now say you "need a Crystal" [@CaitSith2]
  • If using CLI to generate, default to vanilla Entrance Shuffle if not specified
  • removed default QUsb2Snes config file, giving the user a menu instead on first run
  • Added "never adjust" option to Multiclient's built-in adjuster
  • added gui.py update_sprites cmd command, allowing you to update the sprite database
  • removed all sprites from the repository. If you're running from source, please run gui.py update_sprites once.
    • Installed version will download sprites during install
  • WebHost now tells the User the reason why the Generation failed
  • meta.yaml was updated with new goals

Fixes

  • Bombos is no longer castable on sworded seeds that don't have a sword yet on tiles with kholdstare/freezors [@CaitSith2]
  • "FillError" message if spheres are unreachable would result in non-printable objects, crashing the error before it could crash
  • Move Timer options in gui to custom panel to allow usage on displays with few vertical pixels again
  • MultiServer no longer crashes on invalid embedded server options and logs them instead
  • Program will no longer crash if expected options in host.yaml are missing [@CaitSith2]

Component Updates

  • updated included QUsb2Snes to 0.7.19.1
  • Multiclient no longer has special handling for FXPak, as QUsb2Snes now handles this
  • Python 3.8 -> 3.9
  • PonyORM 0.7.13 -> 0.7.14
  • prompt_toolkit 3.0.6 -> 3.0.8