-
Notifications
You must be signed in to change notification settings - Fork 1.2k
AdventureClient: Replace Utils.get_settings with settings.get_settings #5043
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+7
−5
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
NewSoupVi
approved these changes
Jun 15, 2025
Ars-Ignis
added a commit
to Ars-Ignis/Archipelago
that referenced
this pull request
Jul 13, 2025
commit a9b35de7ee9d02d320aaae4b28259ae0ec3139ad
Author: Justus Lind <DeamonHunter@users.noreply.github.com>
Date: Sat Jul 12 23:02:49 2025 +1000
Muse Dash: Update song list to Rotaeno Update/7th Anniversary (#5066)
commit 125d053b61733031d0ebe8559f6edd006e1c4e94
Author: Scipio Wright <scipiowright@gmail.com>
Date: Sat Jul 12 07:52:02 2025 -0400
TUNIC: Fix missing line for UT stuff #5185
commit 585cbf95a6d1b65facd1f0058ba49c6174b24a00
Author: Scipio Wright <scipiowright@gmail.com>
Date: Sat Jul 12 07:14:34 2025 -0400
TUNIC: Add UT Support for Breakables (#5182)
commit 909565e5d958459093014e134ea21b18767cd1fd
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Sat Jul 12 07:12:04 2025 -0400
Stardew Valley: Remove Rarecrow Locations from Night Market when Museumsanity is Disabled (#5146)
commit a79423534c30de502a71944a5ec1d95ff32847fe
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Fri Jul 11 18:44:26 2025 -0400
LADX: Update marin.txt (#5178)
commit 7a6fb5e35b471ef196437dd97d23fd26402d903e
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Fri Jul 11 23:28:18 2025 +0200
Revert "Core: Take Counter back out of RestrictedUnpickler" (#5184)
* Revert "Core: Take Counter back out of RestrictedUnpickler #5169"
This reverts commit 95e09c8e2a681ecd5666822b04fe7fed3ed9dec1.
* Update Utils.py
commit 6af34b66fb166af42f73879152c1a030ff2423f1
Author: Zach “Phar” Parks <11338376+ThePhar@users.noreply.github.com>
Date: Fri Jul 11 12:34:46 2025 -0500
Various: Remove Rogue Legacy and Clique (#5177)
* Various: Remove Rogue Legacy and Clique
* Remove Clique from setup.py and revert network diagram.md change.
* Try again.
* Update network diagram.md
---------
Co-authored-by: Zach “Phar” Parks <phar@pharware.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 2974f7d11f57e97da00a568b1c03a670fd8938d0
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Fri Jul 11 19:27:28 2025 +0200
Core: Replace Clique with V6 in unit tests (#5181)
* replace Clique with V6 in unit tests
* no hard mode in V6
* modify regex in copy_world to allow : str
* oops
* I see now
* work around all typing
* there actually needs to be something
commit edc0c89753b6e5283d7289d6e60c5e050e5d8303
Author: Carter Hesterman <hestermancarter@gmail.com>
Date: Thu Jul 10 07:10:56 2025 -0600
CIV 6: Remove Erroneous Boost Prereqs for Computers Boost (#5134)
commit b1ff55dd061af9158c1747a57472d157e42ded92
Author: axe-y <58866768+axe-y@users.noreply.github.com>
Date: Thu Jul 10 08:33:52 2025 -0400
DLCQ: Fix/Refactor LFoD Start Inventory (#5176)
commit f4b5422f66c0f5332cb05998ad0f7731d4a436f3
Author: Remy Jette <remy@remyjette.com>
Date: Mon Jul 7 13:57:55 2025 -0700
Factorio: Fix link to world_gen documentation (#5171)
commit d4ebace99f17299c0fa861a1ccad42bdf4e332fe
Author: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
Date: Mon Jul 7 13:15:37 2025 -0400
[Jak and Daxter] Auto Detect Install Path after Game Launcher Update #5152
commit 95e09c8e2a681ecd5666822b04fe7fed3ed9dec1
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Mon Jul 7 16:24:35 2025 +0200
Core: Take Counter back out of RestrictedUnpickler #5169
commit 4623d59206e88132432b6db74945a717057b2f8a
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Mon Jul 7 15:51:39 2025 +0200
Core: ensure slot_data and er_hint_info are only base data types (#5144)
---------
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
commit e68b1ad42896ce5ec4c0ef0e46a21f0a21ab5cbb
Author: Doug Hoskisson <beauxq@users.noreply.github.com>
Date: Sun Jul 6 10:22:02 2025 -0700
CommonClient: fix extra panels added to `main_area_container` (#5151)
commit 072e2ece15429a49dda18898d266c9fa63905205
Author: Ixrec <ericrhitchcock@gmail.com>
Date: Sat Jul 5 22:01:08 2025 +0100
Docs: 'get_prefill_items' -> 'get_pre_fill_items' (#5167)
commit 11130037fe9a88d8be70a1624c35aea17daab680
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Thu Jul 3 15:08:36 2025 -0400
Stardew Valley: Fixed luck level requirements for slot machines #5160
# Conflicts:
# worlds/stardew_valley/data/craftable_data.py
commit ba66ef14ccdac88b486d357f9e5dbefb0aced610
Author: Scipio Wright <scipiowright@gmail.com>
Date: Wed Jul 2 08:14:35 2025 -0400
Update world api.md (#5149)
commit 8aacc23882c25a276dc03d766c9c3d6d11d65c79
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Sat Jun 28 11:36:09 2025 -0400
SDV: Add "Desert Transportation" and "Island Transportation" Item Groups (#5143)
commit 03e5fd3dae5a27cddd9fd4d3134d2d19f8d7562b
Author: Jonathan Tan <tanjo3@users.noreply.github.com>
Date: Sat Jun 28 10:46:37 2025 -0400
TWW: Fix Swords in Swordless Mode (#5137)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit da52598c0843922d02912a933aeb6aa23833587c
Author: Fly Hyping <brajcan@hotmail.com>
Date: Fri Jun 27 19:42:35 2025 -0400
Wargroove: Fix Communication Thread (#5125)
commit 52389731ebef8e0b516059c2597657690d99eeee
Author: Jonathan Tan <tanjo3@users.noreply.github.com>
Date: Fri Jun 27 18:46:00 2025 -0400
TWW: Update Preset S7 to S8 (#5138)
commit 21864f6f950d752b3fb8c0411517f5b442708ac4
Author: LiquidCat64 <74896918+LiquidCat64@users.noreply.github.com>
Date: Fri Jun 27 16:25:45 2025 -0600
CVCotM: Fix Advance Collection ROM (#5132)
commit 00f862528083fec98af71a1c8b94120c99469ff1
Author: DJ-lennart <alexander.lt.carlsson@hotmail.com>
Date: Sat Jun 21 16:31:12 2025 +0200
Civilization VI: Updated setup and info pages (#5123)
* Update setup_en.md
Updated setup instructions for Civilization VI in Archipelago
* Update en_Civilization VI.md
Updated info page for Civilization VI in Archipelago
* Update setup_en.md
commit c34e29c7124a1b66d9e68f0a747780cd8254d61a
Author: James White <james_white_d@hotmail.com>
Date: Fri Jun 20 21:52:54 2025 +0100
Pokemon RB: Client: Send bounce messages with current map ID (#5121)
commit e0ae3359f130e85f8c3a0d22dcdd315635d7cb5c
Author: palex00 <32203971+palex00@users.noreply.github.com>
Date: Fri Jun 20 20:55:49 2025 +0200
Pokémon RB: Use new link for a new tracker (#5122)
* Update setup_en.md
* Update setup_es.md
commit c2666bacd791e70a555e7d7fe1a35818b54c0905
Author: Katelyn Gigante <clockwork.singularity@gmail.com>
Date: Fri Jun 20 02:05:52 2025 +1000
core: Don't attempt to write to the inside of an OSX App Bundle (#4380)
* core: Frozen OSX should also use Home Directory
* Use Application Support instead of homedir
* Suggested changes
commit 4eefd9c3ceff76d35091895308f3097c16c0c6ca
Author: Aaron Wagener <mmmcheese158@gmail.com>
Date: Thu Jun 19 06:39:26 2025 -0500
Kivy: swap from the tab carousel to navigation bar (#4930)
* implement tabs as NavigationBar
* update the underline bar with the screen manager
* remove some unneeded kv
* remove the underline in favor of a full tab highlight
* fix insert transitions
* use on_release instead of on_press
* minor cleanup
* add remove_client_tab and add a caller to the NavigationBar for back compat
* unused imports
* Update kvui.py
---------
Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
commit 211456242e0e018bd3356ecca5325862fb654f2d
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Mon Jun 16 12:00:47 2025 -0500
KDL3: update to gifting protocol 3 and update settings usage (#4814)
* gift version 3
* update settings usage
* that really has just been broken this entire time
* remove unnecessary print
* Update client.py
* fix random flavor handling
* fix incorrect sender/receiver
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 6f244c4661a7aee59f452f61a51e61adb3f856d5
Author: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
Date: Mon Jun 16 12:54:08 2025 -0400
Docs: Update Plando Guide and Make it More User Friendly (#4858)
* Make plando guide more user friendly.
* Apply suggestions from code review
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Further updates for review.
* Clear search box when filtering by type.
* Forget previous commit name - more code review updates to doc.
* Move link to yaml tutorial.
* Replace STS example with Pokemon RB.
* Use non-key item examples in RB.
* Rooby's code review updates.
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Address some more feedback.
* Make Factorio example more accurate.
* Exempt's code review updates (round 4)
* Exempt's code review updates (round 4 + 1)
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 47bf6d724b20bb8455f360cc2ddecf82bfcf445c
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Mon Jun 16 10:56:47 2025 -0400
Minecraft Removal Cleanup (#5118)
commit 5c710ad032eedb6bd79ea2436490423c5a41aee0
Author: Ixrec <ericrhitchcock@gmail.com>
Date: Mon Jun 16 13:36:12 2025 +0100
Docs: Rework the "Events" Section of `world api.md` (#5012)
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit dda5a05cbb37fec368f811242c137817f85525a0
Author: BlastSlimey <89539656+BlastSlimey@users.noreply.github.com>
Date: Mon Jun 16 14:07:27 2025 +0200
shapez: Change Links to Shapesanity Cheat Sheet (#5047)
commit e0a63e0290270f117d1575896c0e9ab61eb05cae
Author: Natalie Weizenbaum <nex342@gmail.com>
Date: Mon Jun 16 05:02:06 2025 -0700
DS3: Link to the Appropriate .NET Runtime for Proton (#5093)
commit 92466595897a95c5ec984e4c530d0833fb8c8a72
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Mon Jun 16 13:49:30 2025 +0200
Make sure ladx removes the same copy of the starting item from the itempool that it's placing (#5110)
commit 377cdb84b4114de86ef370103641b3f00a8ababa
Author: digiholic <digikun@gmail.com>
Date: Mon Jun 16 05:47:55 2025 -0600
MMBN3: Fixes Generation Errors and General UX Smoothing (#5077)
Co-authored-by: qwint <qwint.42@gmail.com>
commit 0e759f25fd4a241cbd1a8793ff0a891a2b3bc322
Author: KonoTyran <Kono.Tyran@gmail.com>
Date: Mon Jun 16 03:31:16 2025 -0700
Remove Minecraft (#4672)
* Remove Minecraft
* remove minecraft
* remove minecraft
* elif -> if
---------
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
commit b408bb4f6eedc797ac693e4a9aacc40b1922a2a7
Author: qwint <qwint.42@gmail.com>
Date: Sun Jun 15 19:31:12 2025 -0500
Core: Docstring typo on Region.add_exits (#5089)
* doc typo
* Update BaseClasses.py
commit 135647941527b601248b8ba1331a82732a685806
Author: JusticePS <5125765+JusticePS@users.noreply.github.com>
Date: Sun Jun 15 16:30:45 2025 -0700
AdventureClient: Replace Utils.get_settings with settings.get_settings #5043
commit ec5b4e704f8167dd262579120a9aa99d746ab04d
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Sat Jun 14 09:28:02 2025 -0400
Plando Items: Better Warning for Nonexisting Worlds (#5112)
commit aa9e6175108afb16caec2411486e2f1a054ae4a6
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Sat Jun 14 09:27:22 2025 -0400
DS3: Apply Rules to Non-Randomized Locations (#5106)
commit ecb739ce96716f83d128648d0350df69b5aae7eb
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Sat Jun 14 09:26:58 2025 -0400
Plando Items: Fix Location Groups Unfolding (#5099)
commit 3b72140435d4d587a60865ea5e325f5b6aa1d950
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Sat Jun 14 09:26:22 2025 -0400
Shivers: Fix get_pre_fill_items (#5113)
commit 27a67705692e5abafbfc5dbd5753feb81294855c
Author: Louis M <prog@tioui.com>
Date: Sat Jun 14 07:17:33 2025 -0400
Aquaria: Fixing open waters urns not breakable with nature forms logic bug (#5072)
* Fixing open waters urns not breakable with nature forms logic bug
* Using list in comprehension only when useful
* Replacing damaging items by a constant
* Removing comprehension list creating from lambda
commit 2ff611167a4415f2d06b6904434e814cf6595174
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Sat Jun 14 12:21:25 2025 +0200
ALTTP: Fix take_any leaving a placed item in the multiworld itempool #5108
commit e83e178b63272d2a1ec96dd2ae04dbae64c3f737
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Fri Jun 13 20:29:23 2025 -0400
Stardew Valley: Fix 3 Logic Issues (#5094)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 068a7573737078d413cdd0fe1ea4c94bc2903821
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Fri Jun 13 20:29:06 2025 -0400
Item Plando: Fix `count` value (#5101)
commit 0ad4527719c60caacbb6b1777b256556c7ad52d9
Author: PoryGone <98504756+PoryGone@users.noreply.github.com>
Date: Fri Jun 13 16:01:19 2025 -0400
SA2B: Logic Fixes (#5095)
- Fixed King Boom Boo being able to appear in multiple boss gates
- `Final Rush - 16 Animals (Expert)` no longer requires `Sonic - Bounce Bracelet`
- `Dry Lagoon - 5 (Standard)` now requires `Rouge - Pick Nails`
- `Sand Ocean - Extra Life Box 2 (Standard/Hard/Expert)` no longer requires `Eggman - Jet Engine`
- `Security Hall - 8 Animals (Expert)` no longer requires `Rouge - Pick Nails`
- `Sky Rail - Item Box 8 (Standard)` now requires `Shadow - Air Shoes` and `Shadow - Mystic Melody`
- `Cosmic Wall - Chao Key 1 (Standard/Hard/Expert)` no longer requires `Eggman - Mystic Melody`
- `Cannon's Core - Pipe 2 (Expert)` no longer requires `Tails - Booster`
- `Cannon's Core - Gold Beetle` no longer requires `Tails - Booster` nor `Knuckles - Hammer Gloves`
commit 8c6327d024e6d18503b018b3555c0f24d88b13a6
Author: qwint <qwint.42@gmail.com>
Date: Fri Jun 13 14:56:09 2025 -0500
LTTP/SDV: use .name when appropriate in subtests (#5107)
commit aecbb2ab0259e8683dc848b538ac2ab7d5ee1fb9
Author: qwint <qwint.42@gmail.com>
Date: Fri Jun 13 05:28:58 2025 -0500
fix saving princess's use of subprocess helpers (#5103)
commit 52b11083fe23a6fdbf01ee4cda1dd2bc97800006
Author: JaredWeakStrike <96694163+JaredWeakStrike@users.noreply.github.com>
Date: Wed Jun 11 15:52:47 2025 -0400
KH2: Raise Exception for Misusing DonaldGoofyStatsanity Option (#4710)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit a8c87ce54ba68007e5f8f291355ffeeeed408ca1
Author: BadMagic100 <dempsey.sean@outlook.com>
Date: Mon Jun 9 20:55:40 2025 -0700
CI: Add GH_REPO environment variable to labeler (#5081)
commit ddb3240591feab473e76b1363fe4b45ff1110610
Author: JaredWeakStrike <96694163+JaredWeakStrike@users.noreply.github.com>
Date: Mon Jun 9 08:58:08 2025 -0400
KH2: Give warning when client has cached locations (#5000)
* a
* disconnect when connect to wrong slot
* connection to the wrong seed fix
* seed_name is always none
commit f25ef639f2d127bb991b6bf30913d1da832816c0
Author: qwint <qwint.42@gmail.com>
Date: Sun Jun 8 17:43:23 2025 -0500
Launcher: Fix Cli Components when installed to a directory with a space (#5091)
commit ab7d3ce4aadfc647c42c8d4dd0c7aa10f9e0e49d
Author: BlastSlimey <89539656+BlastSlimey@users.noreply.github.com>
Date: Fri Jun 6 00:05:53 2025 +0200
shapez: Remove preset unittests #5086
commit 50db922cefbde107dd33d588ce621336b956a397
Author: Jarno <jarnowesthof@gmail.com>
Date: Thu Jun 5 15:05:00 2025 +0200
Timespinner: Fixed generation error because of timezone locking (#5084)
* Fixed generation error because of timezone locking
* Refactored logic + prevent excluding warps when unchained keys in on
commit a2708edc37ff98e70b58f0f552deb14282f5a7ad
Author: Ehseezed <97066152+Ehseezed@users.noreply.github.com>
Date: Wed Jun 4 12:51:08 2025 -0500
Timespinner: Fix Castle Ramparts Region Connection #5082
Co-authored-by: ehseezed <Ehseezed@users.noreply.github.com>
commit 603a5005e2f5d055f1b66ac5d75c133459240868
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Tue Jun 3 08:49:10 2025 -0400
DS3: Fix Non-Crow Itemlinking and Mark Aldrich Ruby and Twin Dragon Greatshield As Missable (#4510)
* Fix Branch (Not Crow)
* Oops
* Mark Aldrich Ruby as missable
* Expand comment
* Short circuit
* Mark Twin Dragon Greatshield as missable
* Add missable cause
commit b4f68bce7671e83e1fd4a358e506705777228eb6
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Tue Jun 3 13:49:44 2025 +0200
Factorio: revamp args parsing and passing (#5036)
commit a76cec15397efc4758fc1d487fc5cbc97e663d7c
Author: Scipio Wright <scipiowright@gmail.com>
Date: Tue Jun 3 06:51:06 2025 -0400
TUNIC: Fix decoupled ER + ladder storage making invalid entrances #5075
commit 694e6bcae36bab4e49c60c3c8f097d2f440a0979
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Tue Jun 3 10:42:37 2025 +0000
Launcher/Utils: reset LD_LIBRARY_PATH for system EXEs (#5022)
commit b85b18cf5fb5db4dbcbd736ff4a3dafcfeeb0f3b
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Mon Jun 2 16:39:42 2025 +0000
SoE: remove outdated info from guide (#5064)
The client does not depend on Animation Frame anymore, so it can be backgrounded.
commit 04c707f8740c25373f090c8f03199d8c56f067de
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Mon Jun 2 17:06:54 2025 +0100
DKC3: Add missing indirect conditions (#5073)
A couple of Entrance access rules were checking for being able to reach
a Location, but a Location first checks for being able to reach its
parent Region, so it needs to be registered that access to that parent
Region can give access to the Entrance.
commit 99142fd6625b3bf3ef013bbd3bc1813c5d95923f
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Mon Jun 2 12:01:21 2025 -0400
Plando Items: Fix count with empty locations/location #5040
commit 0c5cb17d96af6091a5c35f13cc2fc62551679b09
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Mon Jun 2 16:56:11 2025 +0100
DLCQuest: Add missing indirect conditions (#5074)
The `Behind Rocks` and `Pickaxe Hard Cave` Entrances require being able
to reach the `Cut Content` region, but no indirect conditions were being
registered for this region.
The `set_lfod_self_obtained_items_rules` function was also using a
`world` parameter that was actually expecting a `MultiWorld` instance,
so I have renamed it for clarity and updated the function to use
`world.get_entrance()` rather than `multiworld.get_entrance()`.
Much of the rest of the file passes `MultiWorld` instances to `world`
parameters, but fixing all of these is out of the scope of the changes
in this patch, so has not been included.
commit cabde313b563990171c39bf2b644bf8f779df81b
Author: qwint <qwint.42@gmail.com>
Date: Mon Jun 2 10:53:57 2025 -0500
WebHost: Use expected APPlayerContainer manifest location directly when ingesting them #4754
commit 8f68bb342dcd9e4a38f41bbeb605a6e5c81319a4
Author: qwint <qwint.42@gmail.com>
Date: Mon Jun 2 10:53:18 2025 -0500
Core and Various Worlds: define patch_file_ending to APPlayerContainer (#5058)
* move to playercontainer
* moves patch_file_ending handling to APPlayerContainer and updates the worlds using it to define their extensions
* give oot a patch_file_ending as well
commit fab75d3a32ee16198b7bc67215dcef252e726250
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Sat May 31 07:57:42 2025 -0400
Stardew Valley: Fix Wizard Tower and Entrance Randomizer Softlocks (#4631)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit d19bf98dc4d977372759e73bd97356f3c3cd08c4
Author: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
Date: Fri May 30 10:31:00 2025 -0400
Jak and Daxter: Post-merge Polish (#5031)
- Cleans up a few missed references in the setup guide.
- Refactors Options class to use metaclass and decorators to enforce friendly limits on multiple levels.
- Templates generated from the website, even ones with `random` should not fail generation because the website will only allow values inside the friendly limits.
- _Uploaded_ yamls to the website with `random`, should also now respect friendly limits without the need for `random-range` shenanigans.
- _Uploaded_ yamls to the website, or yamls that are used to generate locally, that have hard-defined values outside the friendly limits, will be clamped/dragged/massaged into those limits (with logged warnings).
- Removed an early completion goal that was playing havoc with fill. Not enough people seem to use this goal, so its loss will not be mourned.
commit b0f41c0360bdd7621d6733204a03448dc82f42aa
Author: sgrunt <smelenchuk@gmail.com>
Date: Wed May 28 18:40:24 2025 -0600
Timespinner: Fix Connection Logic from Maw Cave Entrance to Maw (#4831)
Co-authored-by: sgrunt <sgrunt1987@gmail.com>
commit 6ebd60feaa4f70ca73ba473c1e40186e7383e901
Author: sgrunt <smelenchuk@gmail.com>
Date: Wed May 28 18:37:39 2025 -0600
Timespinner: Fix Logic Error with Risky Warp to Emperor's Tower and Lab Access (#4784)
Co-authored-by: sgrunt <sgrunt1987@gmail.com>
commit dd6007b3094e4cf3be4d13dc55b9ceb692e23123
Author: Jonathan Tan <tanjo3@users.noreply.github.com>
Date: Wed May 28 18:27:03 2025 -0400
TWW: Remove unnecessary items from slot data (#5045)
commit fde203379d9a844da8cea2bd620a0b48d9765429
Author: Ehseezed <97066152+Ehseezed@users.noreply.github.com>
Date: Wed May 28 14:04:57 2025 -0500
Timespinner: Fix Logic (#4803)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit fcb3efee01b2bdad2d29e099e8de9e19c85e95ad
Author: LiquidCat64 <74896918+LiquidCat64@users.noreply.github.com>
Date: Wed May 28 08:47:24 2025 -0600
CVCotM: Add Nerf Roc Wing to Slot Data and HoD Max Ups to `other_game_item_appearances` (#5051)
commit 19a21099ed11fa0fb92fa46606e62a8ac8dbdd43
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Tue May 27 16:21:43 2025 +0000
Webhost: update Flask to 3.1.1 (#5052)
commit 20ca7e71c765899007756490669b041878cc4e55
Author: Jonathan Tan <tanjo3@users.noreply.github.com>
Date: Tue May 27 01:57:20 2025 -0400
TWW: Update patch class (#5046)
commit 002202ff5fa9ced9fd100fc394f22323cc5efe73
Author: ScootyPuffJr1 <77215594+ScootyPuffJr1@users.noreply.github.com>
Date: Mon May 26 03:25:39 2025 -0400
Update OOT Guides (#5041)
* Update OOT Guides
* Minor update per review
commit 32487137e81d23139820aa2a6d3fd86d6ac104f5
Author: FlitPix <8645405+FlitPix@users.noreply.github.com>
Date: Sun May 25 17:17:30 2025 -0400
Core: Add descriptions to Components (#4849)
* Add descriptions to components
* Adhere to style guide
* Tweak BHC wording
* Trim Open Patch description
* Update text client description for consistency
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Remove newlines
---------
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
commit f327ab30a653acdd56376f53ee54577c9e0e06ed
Author: LiquidCat64 <74896918+LiquidCat64@users.noreply.github.com>
Date: Sun May 25 03:20:25 2025 -0600
CV64: Allow Holding Z to Use the Regular Shimmy Speed (#4730)
* Add the shimmy modifier hack.
* Update the Increase Shimmy Speed option description.
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit e7545cbc28d41e781a996a9fbe28dcf4c683174c
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Sat May 24 17:59:55 2025 -0400
SDV: Fixed Region for two Parrot Locations (#5042)
commit eba757d2cd468182f4d0500ab87c45d379b225d2
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Sat May 24 23:02:27 2025 +0200
Raft: Implement get_filler_item_name and refactor filler item code a bit (#4782)
* refactor filler item creation for Raft, implement get_filler_item_name
* wrong indent
* Update worlds/raft/__init__.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 4119763e23f948ccf9f2d2c7658456d33b953eb4
Author: Star Rauchenberger <fefferburbia@gmail.com>
Date: Sat May 24 09:35:06 2025 -0400
Lingo: Fix The Bearer's Pilgrimage Logic (#5005)
commit e830a6d6f56a5c97603c86599dbd9726aeaaf51b
Author: Jonathan Tan <tanjo3@users.noreply.github.com>
Date: Sat May 24 09:17:54 2025 -0400
TWW: Only add Filler for Excluded Locations Which are Progress Locations (#4993)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 704cd97f211a44b3a792f11a906f523da8554627
Author: Bryce Wilson <gyroscope15@gmail.com>
Date: Fri May 23 22:33:01 2025 -0700
BizHawkClient: Fix script to list all cores instead of explicit mapping (#5033)
commit 47a0dd696f9dd292788be284012e920c1b35067d
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Sat May 24 01:28:25 2025 -0400
Stardew Valley: Added moss to statue of blessings recipe (#5038)
commit c64791e3a8b0c51378182ad12da8d6f2a72e132e
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Sat May 24 01:15:41 2025 -0400
Stardew Valley: Replace current naive entrance rando with GER (#4624)
commit e82d50a3c5cdc67091a42059f922520dec691f9c
Author: Aaron Wagener <mmmcheese158@gmail.com>
Date: Fri May 23 17:13:34 2025 -0500
The Messenger: more generous portal validation (#5011)
* The Messenger: more generous portal validation
* remove the while and just go for 20 attempts. hopefully that's enough
commit 0a7aa9e3e2a1a9aea371a471f6102e554a042bd4
Author: qwint <qwint.42@gmail.com>
Date: Fri May 23 17:02:50 2025 -0500
Launcher: skip launcher gui when opening webhost list with no game handlers (#4888)
* calc relevant components before opening the launcher app so it can be skipped for text client only uri launches
* generically passthrough the url arg
* Apply suggestions from code review
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* flip if not else
* Update Launcher.py
* pluralize
---------
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
commit 13ca134d125d573af1394512a0ef4f78d60f0e7e
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Fri May 23 23:47:21 2025 +0200
Core: Fix a playthrough crash when a world uses "placement based logic" (#3915)
* Fix playthrough
* oops
* oops 2
* I don't like this
* that should do it
* Update BaseClasses.py
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Update BaseClasses.py
---------
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
commit 8671e9a39150d1efa41e04e12f00edecf916bb28
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Fri May 23 15:52:47 2025 -0400
Stardew Valley: Make animal catalog logically year 2 (#5032)
commit a7de89f45cadb885ee01a6216af836a34bc8b843
Author: BlastSlimey <89539656+BlastSlimey@users.noreply.github.com>
Date: Fri May 23 21:41:27 2025 +0200
shapez: Add game to README and CODEOWNERS (#5034)
* Aktualisieren von README.md
* Aktualisieren von CODEOWNERS
commit e9f51e330211743f52d20a9a1b570da8db4db6af
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Fri May 23 19:26:37 2025 +0000
Linux: avoid adding cwd to LD_LIBRARY_PATH (#5029)
When LD_LIBRARY_PATH is not set, the old code would also add
the current working directory to LD_LIBRARY_PATH, which is bad.
commit 5491f8c4598b93c179761014c5d4d6fc7ee3ed62
Author: Aaron Wagener <mmmcheese158@gmail.com>
Date: Thu May 22 21:28:56 2025 -0500
Core: Make `get_all_state` Sweeping Optional (#4828)
commit de71677208f43730ce62191290901759363e407c
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Thu May 22 21:30:30 2025 +0200
Core: only raise min_client_version for new gens (#4896)
commit 653ee2b625cc64461589abe3c836e87f3ca21bc3
Author: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
Date: Thu May 22 15:00:30 2025 -0400
Docs: Update Snippets to Modern Type Hints (#4987)
commit 62694b1ce77f881e0b3915358d1ab9867502d7fc
Author: qwint <qwint.42@gmail.com>
Date: Thu May 22 10:37:23 2025 -0500
Launcher: Fix on File Drop Error Message (#5026)
commit 9c0ad2b825ac3f95216a34b529291e3a1c02b8c1
Author: Rosalie <61372066+Rosalie-A@users.noreply.github.com>
Date: Thu May 22 11:35:38 2025 -0400
FF1: Bizhawk Client and APWorld Support (#4448)
Co-authored-by: beauxq <beauxq@yahoo.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 88b529593f655084b64040b731ad57a93a243e5a
Author: qwint <qwint.42@gmail.com>
Date: Thu May 22 10:08:15 2025 -0500
CommonClient: Add docs for Attributes (#5003)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 0351698ef71f3aa7b8fe178a6517c69e93e49053
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Thu May 22 11:07:57 2025 -0400
SDV: Fixed Import bases (#5025)
commit 984df75f837044aa55168816109ea284efba52f2
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Thu May 22 10:24:04 2025 -0400
Stardew Valley: Move and Rework Monstersanity Tests (#4911)
commit 402a8fb967d1306555da2c9b252781a10bc7b820
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Thu May 22 15:16:16 2025 +0100
AHiT: Add Dweller Mask Requirement to Normal Logic Rush Hour (#4499)
commit 45e3027f81fc0eba4ccd06b5e1ed1f3a1597a38d
Author: Aaron Wagener <mmmcheese158@gmail.com>
Date: Thu May 22 09:06:44 2025 -0500
The Messenger: Add a Component Icon and Description (#4850)
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 1d655a07cdffb6c58715ec1b97837a8be5bf8fab
Author: Aaron Wagener <mmmcheese158@gmail.com>
Date: Thu May 22 08:46:33 2025 -0500
Core: Add State add/remove/set Helpers (#4845)
commit c5e768ffe32fcea48ecfc81adca330e4a0b11d38
Author: FlitPix <8645405+FlitPix@users.noreply.github.com>
Date: Thu May 22 09:42:54 2025 -0400
Minecraft: Stop Using Utils.get_options (#4879)
commit 8cc6f1063475433e80f62107b95bb58769e3ed6b
Author: Aaron Wagener <mmmcheese158@gmail.com>
Date: Thu May 22 08:40:50 2025 -0500
The Messenger: Swap Options Docstrings to use rst, Add Option Groups (#4913)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit aeac83d643aaa91c2ab310414c959447d2be5cda
Author: Aaron Wagener <mmmcheese158@gmail.com>
Date: Thu May 22 08:29:24 2025 -0500
Generate: Don't Force Player Name for Weights Files (#4943)
commit 95efcf6803c7d60e0994e15dd18d1f00e9ff31a7
Author: qwint <qwint.42@gmail.com>
Date: Thu May 22 08:27:18 2025 -0500
Tests: Create CollectionState after MultiWorld.worlds (#4949)
commit 44a78cc821002a4b59feb3ffc9a195a8e28d5143
Author: josephwhite <22449090+josephwhite@users.noreply.github.com>
Date: Thu May 22 09:26:28 2025 -0400
OoT: Stop Using Utils.get_options (#4957)
commit e0918a7a89513fc13ad648b20c1cdf9a2502fd19
Author: Scipio Wright <scipiowright@gmail.com>
Date: Thu May 22 09:24:50 2025 -0400
TUNIC: Move some UT stuff out of init, put in UT poptracker integration support (#4967)
commit b52310f641a07a579169ce0ce3b07e7f26f946cb
Author: qwint <qwint.42@gmail.com>
Date: Thu May 22 08:12:28 2025 -0500
Wargroove: Cleanup `script_name` Component in `LauncherComponents` (#5021)
commit e3219ba45253132b932c1bad93d9d567d85e91c6
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Thu May 22 02:47:48 2025 -0500
WebHost: allow APPlayerContainers from "custom" worlds to be displayed in rooms (#4981)
Gives WebHost the ability to verify that a patch file is an APPlayerContainer (defined by #4331 as a APContainer containing the "player" field), and allowed it to display any patch file that it can verify is an APPlayerContainer.
commit 7079c17a0f761935b464e4949b0f08aab2535e00
Author: Fly Hyping <brajcan@hotmail.com>
Date: Thu May 22 03:11:34 2025 -0400
Wargroove: apworld doc fixes (#5023)
commit 3b8450036abf1861cf20129978e291f0e2baf9a3
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Wed May 21 23:22:55 2025 +0000
core: don't reconfigure stdout if it's fake (#5020)
commit defdf34e609ea91a9ce7373aa3dea4771d050ec0
Author: Fly Hyping <brajcan@hotmail.com>
Date: Wed May 21 19:00:45 2025 -0400
Wargroove: apworld (#4764)
- Players and AI can sacrifice their own units and upload them to the multiworld.
- Players and AI can summon random units from the multiworld.
- Has 4 new separate options for how many sacrifices and summons either the player or the AI can make per level attempt.
- New /sacrifice_summon command to toggle sacrifices and summons on/off. Useful if the AI makes a level impossible with their summons.
- Linux Support.
- Is an apworld now.
---------
Co-authored-by: Raspberry Floof <raspberry@rosenthalcastle.org>
Co-authored-by: KScl <ks@rosenthalcastle.org>
Co-authored-by: Abigail Fox <Raspberryfloof@users.noreply.github.com>
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
commit 6827368e60c1a3ef95002ea1b43b2a0f643dc8d4
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Thu May 22 00:45:49 2025 +0200
Core: generate templates faster and "cleaner" (#5019)
commit a409167f6479caa4b896daa4a9fbdee71ae1d0ae
Author: Katelyn Gigante <clockwork.singularity@gmail.com>
Date: Thu May 22 04:27:03 2025 +1000
core: Reconfigure stdout to utf8 (#5017)
commit a076b9257d3c15da7f7a96ae6b6aa0c2684244d7
Author: Natalie Weizenbaum <nex342@gmail.com>
Date: Wed May 21 09:59:04 2025 -0700
DS3: Don't make unrandomized items into events (#5018)
The DS3 static randomizer uses the relative ordering of location names
to map between Archipelago's notion of location IDs and the static
randomizer's. Treating unrandomized locations as excluded can break this
behavior by removing some locations from the list, causing further
locations to be incorrectly assigned.
The only reason this wasn't a bigger problem up to this point was that
location order only matters on a per-region and per-item basis. That
means this only causes problems in practice when a single region has
multiple locations with the same default item, and some of those
locations are randomized while others are not. Since exclusions (and
thus randomization) are usually done based on item types, we managed to
dodge this bullet for a long time.
commit 7e772b4ee9462045b0b0aff54e5fe7431ec4067f
Author: Sunny Bat <SunnyBat@users.noreply.github.com>
Date: Wed May 21 09:12:37 2025 -0700
Raft: Small Raft doc update, bugfix (#5008)
* Small doc touchups
* Advanced Scarecrow progressive
* Add period to doc
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
---------
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
commit 955a86803fe42006a3fd4d2e3915183a849a5df2
Author: Alchav <59858495+Alchav@users.noreply.github.com>
Date: Wed May 21 11:02:30 2025 -0400
Super Mario Land 2: Implement New Game (#2730)
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Co-authored-by: alchav <alchav@jalchavware.com>
commit d5bacaba639a9fc14a8148ea005112a76c700b56
Author: BlastSlimey <89539656+BlastSlimey@users.noreply.github.com>
Date: Wed May 21 14:30:39 2025 +0200
shapez: Implement New Game (#3960)
Adds shapez as a supported game in AP.
commit 3069deb019cf06a21af4625224be78d5118d61c6
Author: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
Date: Wed May 21 08:12:27 2025 -0400
Jak and Daxter: Implement New Game (#3291)
* Jak 1: Initial commit: Cell Locations, Items, and Regions modeled.
* Jak 1: Wrote Regions, Rules, init. Untested.
* Jak 1: Fixed mistakes, need better understanding of Entrances.
* Jak 1: Fixed bugs, refactored Regions, added missing Special Checks. First spoiler log generated.
* Jak 1: Add Scout Fly Locations, code and style cleanup.
* Jak 1: Add Scout Flies to Regions.
* Jak 1: Add version info.
* Jak 1: Reduced code smell.
* Jak 1: Fixed UT bugs, added Free The Sages as Locations.
* Jak 1: Refactor ID scheme to better fit game's scheme. Add more subregions and rules, but still missing one-way Entrances.
* Jak 1: Add some one-ways, adjust scout fly offset.
* Jak 1: Found Scout Fly ID's for first 4 maps.
* Jak 1: Add more scout fly ID's, refactor game/AP ID translation for easier reading and code reuse.
* Jak 1: Fixed a few things. Four maps to go.
* Jak 1: Last of the scout flies mapped!
* Jak 1: simplify citadel sages logic.
* Jak 1: WebWorld setup, some documentation.
* Jak 1: Initial checkin of Client. Removed the colon from the game name.
* Jak 1: Refactored client into components, working on async communication between the client and the game.
* Jak 1: In tandem with new ArchipelaGOAL memory structure, define read_memory.
* Jak 1: There's magic in the air...
* Jak 1: Fixed bug translating scout fly ID's.
* Jak 1: Make the REPL a little more verbose, easier to debug.
* Jak 1: Did you know Snowy Mountain had such specific unlock requirements? I didn't.
* Jak 1: Update Documentation.
* Jak 1: Simplify user interaction with agents, make process more robust/less dependent on order of ops.
* Jak 1: Simplified startup process, updated docs, prayed.
* Jak 1: quick fix to settings.
* Jak and Daxter: Implement New Game (#1)
* Jak 1: Initial commit: Cell Locations, Items, and Regions modeled.
* Jak 1: Wrote Regions, Rules, init. Untested.
* Jak 1: Fixed mistakes, need better understanding of Entrances.
* Jak 1: Fixed bugs, refactored Regions, added missing Special Checks. First spoiler log generated.
* Jak 1: Add Scout Fly Locations, code and style cleanup.
* Jak 1: Add Scout Flies to Regions.
* Jak 1: Add version info.
* Jak 1: Reduced code smell.
* Jak 1: Fixed UT bugs, added Free The Sages as Locations.
* Jak 1: Refactor ID scheme to better fit game's scheme. Add more subregions and rules, but still missing one-way Entrances.
* Jak 1: Add some one-ways, adjust scout fly offset.
* Jak 1: Found Scout Fly ID's for first 4 maps.
* Jak 1: Add more scout fly ID's, refactor game/AP ID translation for easier reading and code reuse.
* Jak 1: Fixed a few things. Four maps to go.
* Jak 1: Last of the scout flies mapped!
* Jak 1: simplify citadel sages logic.
* Jak 1: WebWorld setup, some documentation.
* Jak 1: Initial checkin of Client. Removed the colon from the game name.
* Jak 1: Refactored client into components, working on async communication between the client and the game.
* Jak 1: In tandem with new ArchipelaGOAL memory structure, define read_memory.
* Jak 1: There's magic in the air...
* Jak 1: Fixed bug translating scout fly ID's.
* Jak 1: Make the REPL a little more verbose, easier to debug.
* Jak 1: Did you know Snowy Mountain had such specific unlock requirements? I didn't.
* Jak 1: Update Documentation.
* Jak 1: Simplify user interaction with agents, make process more robust/less dependent on order of ops.
* Jak 1: Simplified startup process, updated docs, prayed.
* Jak 1: quick fix to settings.
* Jak and Daxter: Genericize Items, Update Scout Fly logic, Add Victory Condition. (#3)
* Jak 1: Update to 0.4.6. Decouple locations from items, support filler items.
* Jak 1: Total revamp of Items. This is where everything broke.
* Jak 1: Decouple 7 scout fly checks from normal checks, update regions/rules for orb counts/traders.
* Jak 1: correct regions/rules, account for sequential oracle/miner locations.
* Jak 1: make nicer strings.
* Jak 1: Add logic for finished game. First full run complete!
* Jak 1: update group names.
* Jak and Daxter - Gondola, Pontoons, Rules, Regions, and Client Update
* Jak 1: Overhaul of regions, rules, and special locations. Updated game info page.
* Jak 1: Preparations for Alpha. Reintroducing automatic startup in client. Updating docs, readme, codeowners.
* Alpha Updates (#15)
* Jak 1: Consolidate client into apworld, create launcher icon, improve setup docs.
* Jak 1: Update setup guide.
* Jak 1: Load title screen, save states of in/outboxes.
* Logging Update (#16)
* Jak 1: Separate info and debug logs.
* Jak 1: Update world info to refer to Archipelago Options menu.
* Deathlink (#18)
* Jak 1: Implement Deathlink. TODO: make it optional...
* Jak 1: Issue a proper send-event for deathlink deaths.
* Jak 1: Added cause of death to deathlink, fixed typo.
* Jak 1: Make Deathlink toggleable.
* Jak 1: Added player name to death text, added zoomer/flut/fishing text, simplified GOAL call for deathlink.
* Jak 1: Fix death text in client logger.
* Move Randomizer (#26)
* Finally remove debug-segment text, update Python imports to relative paths.
* HUGE refactor to Regions/Rules to support move rando, first hub area coded.
* More refactoring.
* Another refactor - may squash.
* Fix some Rules, reuse some code by returning key regions from build_regions.
* More regions added. A couple of TODOs.
* Fixed trade logic, added LPC regions.
* Added Spider, Snowy, Boggy. Fixed Misty's orbs.
* Fix circular import, assert orb counts per level, fix a few naming errors.
* Citadel added, missing locs and connections fixed. First move rando seed generated.
* Add Move Rando to Options class.
* Fixed rules for prerequisite moves.
* Implement client functionality for move rando, add blurbs to game info page.
* Fix wrong address for cache checks.
* Fix byte alignment of offsets, refactor read_memory for better code reuse.
* Refactor memory offsets and add some unit tests.
* Make green eco the filler item, also define a maximum ID. Fix Boggy tether locations.
* Move rando fixes (#29)
* Fix virtual regions in Snowy. Fix some GMC problems.
* Fix Deathlink on sunken slides.
* Removed unncessary code causing build failure.
* Orbsanity (#32)
* My big dumb shortcut: a 2000 item array.
* A better idea: bundle orbs as a numerical option and make array variable size.
* Have Item/Region generation respect the chosen Orbsanity bundle size. Fix trade logic.
* Separate Global/Local Orbsanity options. TODO - re-introduce orb factory for per-level option.
* Per-level Orbsanity implemented w/ orb bundle factory.
* Implement Orbsanity for client, fix some things up for regions.
* Fix location name/id mappings.
* Fix client orb collection on connection.
* Fix minor Deathlink bug, add Update instructions.
* Finishing Touches (#36)
* Set up connector level thresholds, completion goal choices.
* Send AP sender/recipient info to game via client.
* Slight refactors.
* Refactor option checking, add DataStorage handling of traded orbs.
* Update instructions to change order of load/connect.
* Add Option check to ensure enough Locations exist for Cell Count thresholds. Fix Final Door region.
* Need some height move to get LPC sunken chamber cell.
* Rename completion_condition to jak_completion_condition (#41)
* The Afterparty (#42)
* Fixes to Jak client, rules, options, and more.
* Post-rebase fixes.
* Remove orbsanity reset code, optimize game text in client.
* More game text optimization.
* Added more specific troubleshooting/setup instructions.
* Add known issue about large releases taking time. (Dodge 6,666th commit.)
* Remove "Bundle of", Add location name groups, set better default RootDirectory for new players.
* Make orb trade amounts configurable, make orbsanity defaults more reasonable.
* Add HUD info to doc.
* Exempt's Code Review Updates (#43)
* Round 1 of code review updates, the easy stuff.
* Factor options checking away from region/rule creation.
* Code review updates round 2, more complex stuff.
* Code review updates round 3: the mental health annihilator
* Code review updates part 4: redemption.
* More code review feedback, simplifying code, etc.
* Added a host.yaml option to override friendly limits, plus a couple of code review updates.
* Added singleplayer limits, player names to enforcement rules.
* Updated friendly limits to be more strict, optimized recalculate logic.
* Today's the big day Jak: updates docs for mod support in OpenGOAL Launcher
* Rearranged and clarified some instructions, ADDED PATH-SPACE FIX TO CLIENT.
* Fix deathlink reset stalls on a busy client. (#47)
* Jak & Daxter Client : queue game text messages to get items faster during release (#48)
* queue game text messages to write them during the main_tick function and empty the message queue faster during release
* wrap comment for code style character limit
Co-authored-by: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
* remove useless blank line
Co-authored-by: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
* whitespace code style
Co-authored-by: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
* Move JsonMessageData dataclass outside of ReplClient class for code clarity
---------
Co-authored-by: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
* Item Classifications (and REPL fixes) (#49)
* Changes to item classifications
* Bugfixes to power cell thresholds.
* Fix bugs in item_type_helper.
* Refactor 100 cell door to pass unit tests.
* Quick fix to ReplClient.
* Not so quick fix to ReplClient.
* Display friendly limits in options tooltips.
* Use math.ceil like a normal person.
* Missed a space.
* Fix non-accessibility due to bad orb calculation.
* Updated documentation.
* More Options, More Docs, More Tests (#51)
* Reorder cell counts, require punch for Klaww.
* Friendlier friendly friendlies.
* Removed custom_worlds references from docs/setup guide, focused OpenGOAL Launcher language.
* Increased breadth of unit tests.
* Clean imports of unit tests.
* Create OptionGroups.
* Fix region rule bug with Punch for Klaww.
* Include Punch For Klaww in slot data.
* Update worlds/jakanddaxter/__init__.py
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Temper and Harden Text Client (#52)
* Provide config path so OpenGOAL can use mod-specific saves and settings.
* Add versioning to MemoryReader. Harden the client against user errors.
* Updated comments.
* Add Deathlink as a "statement of intent" to the YAML. Small updates to client.
* Revert deathlink changes.
* Update error message.
* Added color markup to log messages printed in text client.
* Separate loggers by agent, write markup to GUI and non-markup to disk simultaneously.
* Refactor MemoryReader callbacks from main_tick to constructor.
* Make callback names more... informative.
* Give users explicit instructions in error messages.
* Stellar Messaging (#54)
* Use new ap-messenger functions for text writing.
* Remove Powershell requirement, bump memory version to 3.
* Error message update w/ instructions for game crash.
* Create no console window for gk.
* ISO Data Enhancement (#58)
* Add iso-path as argument to GOAL compiler.
# Conflicts:
# worlds/jakanddaxter/Client.py
* More resilient handling of iso_path.
* Fixed scout fly ID mismatches.
* Corrected iso_data subpath.
* Update memory version to 4.
* Docs update for iso_data.
* Auto Detect OpenGOAL Install (#63)
* Auto detect OpenGOAL install path. Also fix Deathlink on server connection.
* Updated docs, add instructions to error messages.
* Slight tweak to error text.
* J&D : add per region location groups (#64)
* add per region power cells location group
* add per region scout flies location group
* add per zone orb bundle groups
(I'm not particularly happy about this code, but I figured doing it this way was the point of least friction/duplication)
* guess who forgot 9 very important characters in each line of the last commit
* Rearrange location group names, quick fix to client error handling.
* Fix pycharm warnings.
* Fix more pycharm warnings.
* Light cleanup: fix icons, add bug report page, remove py 3.8 code.
* Update worlds/jakanddaxter/Options.py
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/jakanddaxter/Options.py
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/jakanddaxter/Options.py
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/jakanddaxter/Options.py
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Code review updates on comments, tooltips, and type hints.
* Update type hint for lists in regions.
* Missed todo removal.
* More type hint updates.
* Small region updates for location accessibility, small updates to world guide and README.md.
* Add GMC scout fly location group.
* Improved sanitization of game text.
* Traps 2 (#70)
* Add trap items, relevant options, and citadel orb caches.
* Update REPL to send traps to game.
* Fix item counter.
* Allow player to select which traps to use.
* Fix host.yaml doc strings, ap-setup-options typing, bump memory version to 5.
* Alter some trap names.
* Update world doc.
* Add health trap.
* Added 3 more trap types.
* Protect against empty trap list.
* Reword traps paragraph in world doc.
* Another update to trap paragraph.
* Concisify trap option docstring.
* Timestamp on game log file.
* Update client to handle waiting on title screen.
* Send slot name and seed to game.
* Use self.random instead.
* Update setup doc for new title screen.
* Quick clarification of orb caches in world doc.
* Sanitize slot info earlier.
* Added to and improved unit tests.
* Light cleanup on world.
* Optimizations to movement rules, docs: known issues update.
* Quick fixes for beta 0.5.0 release: template options and LPC logic.
* Quick fix to spoiler counts.
* Reorganize world guide for faster navigation.
* Fix links.
* Update HUD section.
* Found a way to render apostrophes in item names.
* March Refactors (#77)
* Reorg imports, small fix to Rock Village movement.
* Fix wait-on-title message never going to ready message.
* Colorama init fix.
* Swap trap list for a dictionary of trap weights.
* The more laws, the less justice.
* Quick readability update.
* Have memory reader provide instructions for slow booting games.
* Revert some things.
* Update setup_en.md
* Update HUD mode lingo for combined msgs.
* Remade launcher icon, sized correctly.
* I don't know why I can't be satisfied with things.
* Apply suggestions from Scipio
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Properly use the settings API instead of Utils.
* Newline on requirements.txt.
* Add __init__ files for frozen builds.
* Replace an ap_inform function with a CommonClient built-in.
* Resize icon to match kivymd expected size.
* First round of Treble code reviews.
* Second round of Treble code reviews.
* Third round of Treble code reviews.
* Missed an unncessary if condition.
* Missed unnecessary comments.
* Fourth round of Treble code reviews.
* Switch trap dictionary to OptionCounter.
* Use existing slot name/seed from network protocol.
* Violet code review updates.
* Violet code review updates part 2.
* Refactor to avoid floating imports (Violet part 3).
* Found a few more valid characters for messaging.
* Move tests out of init, add colon to game name (now that it's safe).
* But don't include those chars for file text.
* Implement Vi suggestion on webhost-capable friendly limits.
* Revert "Implement Vi suggestion on webhost-capable friendly limits."
This reverts commit 2d012b7f4a9a4c13985ecd7303bb1fc646831c86.
* Rename all files for PEP8.
* Refactor how maximums work on webhost.
* Fix rogue UT.
* Don't rush.
* Fix client post-PEP8.
---------
Co-authored-by: Justus Lind <DeamonHunter@users.noreply.github.com>
Co-authored-by: Romain BERNARD <30secondstodraw@gmail.com>
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
commit 7f4bf71807f7b6fc2fb70082abeff4376b1a0e34
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Wed May 21 14:12:00 2025 +0200
Adventure: Update AdventureDeltaPatch.read_contents to return the manifest as required by #4331 (#5016)
commit f3e00b6d62ec773a35a1abdc867a2d95fb546d43
Author: Doug Hoskisson <beauxq@users.noreply.github.com>
Date: Tue May 20 16:48:24 2025 -0700
Zillion: fix `read_contents` to be compatible with base class (#5015)
commit feef0f484d2c5851bbbcabfe9e8a1a3cb2965aef
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Wed May 21 00:52:00 2025 +0200
Core: disable worlds_disabled (#5014)
commit 9adbd4031f74ab5066e2993bdc317b0466cc8c25
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Tue May 20 23:55:16 2025 +0200
Core: prepare worlds.Files for APWorldContainer (#4331)
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
commit e0d31010664cc03e24900ccd7f4216c69647feac
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Tue May 20 20:23:44 2025 +0100
Core: Remove redundant reachable location counting in swap (#4990)
`prev_state` starts off as a copy of `swap_state` and then `swap_state`
collects `item_to_place`. Collecting an item must never reduce
accessibility (otherwise generation breaks horribly), so it is
guaranteed that `swap_state` will always be able to reach at least as
many locations as `prev_state`, so `new_loc_count >= prev_loc_count` is
always `True`.
As a sideeffect of this change, this fixes generation of Pokemon Emerald
with locally shuffled Badges/HMs when there are worlds with unconnected
entrances present in the multiworld e.g. KH1. This is because this
location counting did not respect `single_player_placement=True` and
counted reachable locations across the entire multiworld.
Fixes #4834 as a sideeffect of removing the redundant code.
commit 485387ebbe93daa2bb8435568bcb8f7145a6d5ac
Author: SunCat <suncat.game@ya.ru>
Date: Tue May 20 21:12:13 2025 +0300
ChecksFinder: Update setup guide (#4973)
* Update setup_en.md
* Update worlds/checksfinder/docs/setup_en.md
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Update worlds/checksfinder/docs/setup_en.md
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Update worlds/checksfinder/docs/setup_en.md
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
---------
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
commit 9ac628f020bfa5999ce03208d8dcaa0528e4137c
Author: Seldom <38388947+Seldom-SE@users.noreply.github.com>
Date: Tue May 20 11:11:44 2025 -0700
Terraria: remove 1.4.3-specific docs #5013
commit 07664c4d543431676ce24844a0abd44b9e6bf31b
Author: PoryGone <98504756+PoryGone@users.noreply.github.com>
Date: Mon May 19 18:48:31 2025 -0400
SA2B: Logic Fixes (#5009)
- Fixes Shadow's mission count being set by Sonic's mission count option
- Fixes one small logic error on `Security Hall - 5` on Hard Logic difficulty
- Removes stray character that was probably harmless
commit d3dbdb4491fa2c6b03c6ba45f6a893478b9c3f8a
Author: Aaron Wagener <mmmcheese158@gmail.com>
Date: Sun May 18 18:08:39 2025 -0500
Kivy: Add a button prompt box (#3470)
* Kivy: Add a button prompt box
* auto format the buttons to display 2 per row to look nicer
* update to kivymd
* have the uri popup use the new API
* have messenger use the new API
* make the buttonprompt import even more lazy
* messenger needs to be lazy too
* make the buttons take up the full dialog width
---------
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
commit 90ee9ffe367a8766bea9b685ac5bdf6e43ee1f83
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Sat May 17 09:20:53 2025 -0400
Stardew Valley: Remove Crab Pot Requirement for Help Wanted Fishing (#4985)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 15e6383aadc27eba861ab5391e3facb2f953881b
Author: el-u <109771707+el-u@users.noreply.github.com>
Date: Thu May 15 19:58:10 2025 +0200
lufia2ac: rearrange tests to comply with new conventions (#5001)
commit 2a0d0b4224eb818f83d0426f7c042a334608b41b
Author: Scipio Wright <scipiowright@gmail.com>
Date: Wed May 14 07:55:45 2025 -0400
Noita: Modernization Refactor (#4980)
commit 02fd75c018b7172ddad306a2851af482a753cfef
Author: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
Date: Wed May 14 07:40:38 2025 -0400
Core: Update Some Outdated Typing (#4986)
commit a87fec0cbd682148b7ee1aad84bea2552070af14
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Wed May 14 07:27:15 2025 -0400
SDV: Add Missing Marriage Requirement for Spouse Stardrop (#4988)
commit 11842d396ab11ca5099a8f071c38e004438eeae7
Author: Natalie Weizenbaum <nex342@gmail.com>
Date: Wed May 14 04:23:12 2025 -0700
DS3: Fix the Name of "Red and White Round Shield" (#4994)
This item name is unusual in that it loses the word "round" when it's
infused, *and* the only guaranteed drop in the base game is the infused
"Blessed Red and White Round Shield +1". But since we're just listing
the uninfused version, we should use the uninfused name.
commit 72854cde44dff707109ad66e489fa100e7db18ee
Author: Ixrec <ericrhitchcock@gmail.com>
Date: Wed May 14 12:21:40 2025 +0100
Docs: Add a "Missable Locations" Question to apworld FAQ (#4965)
* Docs: add a "missable locations" question to apworld_dev_faq.md
Basically turning the conversation at https://discord.com/channels/731205301247803413/1214608557077700720/1368996789260128388 into a FAQ entry.
* feedback
* qwint feedback
* Update docs/apworld_dev_faq.md
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
---------
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
commit b71c8005e7b38e42fa76b27869b7b1862de21886
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Wed May 14 05:18:36 2025 -0600
AHiT: Fix Client Argument Handling (#4992)
commit 0994afa25bc393b3d68dbaffc2a79b9f9afd8b74
Author: Ixrec <ericrhitchcock@gmail.com>
Date: Tue May 13 08:59:41 2025 +0100
Tests: actually run tests in __init__.py files (#4969)
* demonstrate our pytest/CI configuration missing a __init__ test failure
* tell pytest/CI to run tests in __init__.py files
* revert the demonstration test failure
---------
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
commit 7d5693e0fb6c09d185d02850a3c69d3a2508ea6f
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Tue May 13 03:58:03 2025 -0400
Stardew Valley: Move BaseTest out of `__init__.py` to comply with future conventions (#4991)
* move everything out of init; fix from imports and some typing errors
* why is there a change in multiserver
* fix some relative shits
commit feaed7ea00bcae83bebf0844ca4ee8e1bd1f83a6
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Tue May 13 07:49:43 2025 +0000
Docs: tests: add naming / file naming conventions (#4982)
* Docs: tests: add naming / file naming conventions
Deprecates putting stuff into `__init__.py`.
This may be relevant for test discovery in the future.
* Docs: tests: fix class naming
* Docs: tests: update examples
* Punctuation is hard
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Revert part of one suggestion
The first set of () make the sentence make less sense.
* Docs: tests: clarify that __init__.py may be empty
* Make sentence nicer to read
I simply kept the original wording, but I agree that it reads somewhat odd
Co-authored-by: Ixrec <ericrhitchcock@gmail.com>
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Co-authored-by: Ixrec <ericrhitchcock@gmail.com>
commit 8340371f9c27d59f674369f079844736d75ade91
Author: Justus Lind <DeamonHunter@users.noreply.github.com>
Date: Tue May 13 08:47:19 2025 +1000
Muse Dash: Update to Otaku Pack Vol 20 (#4924)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 824caaffd0bcc8d706f0e3d7dc6fe62be634d18e
Author: Emerassi <78173681+Emerassi@users.noreply.github.com>
Date: Sun May 11 03:41:35 2025 -0700
Docs: clarify that ModuleUpdate.py is a prerequisite for running tests (#4970)
* Update tests.md
Spelled out that tests will not run without running UpdateModule.py first and including a link to the instructions on how to do that.
* Applied black-silver's feedback and also I ran into tests that don't run correctly unless you also have run Webhost.py once. I have included that in the documentation as well.
* More black-silver feedback.
commit c0b3fa9ff74e89b33b668cbfe0201ebc65f1a31c
Author: lordlou <87331798+lordlou@users.noreply.github.com>
Date: Sun May 11 02:10:51 2025 -0400
SMZ3: replace copyright credits music (#4978)
commit e809b9328bbbbf7c65599cb8d3bbb726f7f1ab0f
Author: Aaron Wagener <mmmcheese158@gmail.com>
Date: Sat May 10 17:57:16 2025 -0500
The Messenger: do all empty state validation during portal shuffle (#4971)
commit 53defd310835e064c9ca10d142d13185be717ae3
Author: qwint <qwint.42@gmail.com>
Date: Sat May 10 17:51:44 2025 -0500
MultiSe…
benny-dreamly
added a commit
to Simsipelago/Archipelago
that referenced
this pull request
Aug 12, 2025
* Core: Fix a playthrough crash when a world uses "placement based logic" (#3915)
* Fix playthrough
* oops
* oops 2
* I don't like this
* that should do it
* Update BaseClasses.py
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Update BaseClasses.py
---------
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Launcher: skip launcher gui when opening webhost list with no game handlers (#4888)
* calc relevant components before opening the launcher app so it can be skipped for text client only uri launches
* generically passthrough the url arg
* Apply suggestions from code review
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* flip if not else
* Update Launcher.py
* pluralize
---------
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* The Messenger: more generous portal validation (#5011)
* The Messenger: more generous portal validation
* remove the while and just go for 20 attempts. hopefully that's enough
* Stardew Valley: Replace current naive entrance rando with GER (#4624)
* Stardew Valley: Added moss to statue of blessings recipe (#5038)
* BizHawkClient: Fix script to list all cores instead of explicit mapping (#5033)
* TWW: Only add Filler for Excluded Locations Which are Progress Locations (#4993)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Lingo: Fix The Bearer's Pilgrimage Logic (#5005)
* Raft: Implement get_filler_item_name and refactor filler item code a bit (#4782)
* refactor filler item creation for Raft, implement get_filler_item_name
* wrong indent
* Update worlds/raft/__init__.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* SDV: Fixed Region for two Parrot Locations (#5042)
* CV64: Allow Holding Z to Use the Regular Shimmy Speed (#4730)
* Add the shimmy modifier hack.
* Update the Increase Shimmy Speed option description.
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Core: Add descriptions to Components (#4849)
* Add descriptions to components
* Adhere to style guide
* Tweak BHC wording
* Trim Open Patch description
* Update text client description for consistency
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Remove newlines
---------
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Update OOT Guides (#5041)
* Update OOT Guides
* Minor update per review
* TWW: Update patch class (#5046)
* Webhost: update Flask to 3.1.1 (#5052)
* CVCotM: Add Nerf Roc Wing to Slot Data and HoD Max Ups to `other_game_item_appearances` (#5051)
* Timespinner: Fix Logic (#4803)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* TWW: Remove unnecessary items from slot data (#5045)
* Timespinner: Fix Logic Error with Risky Warp to Emperor's Tower and Lab Access (#4784)
Co-authored-by: sgrunt <sgrunt1987@gmail.com>
* Timespinner: Fix Connection Logic from Maw Cave Entrance to Maw (#4831)
Co-authored-by: sgrunt <sgrunt1987@gmail.com>
* Jak and Daxter: Post-merge Polish (#5031)
- Cleans up a few missed references in the setup guide.
- Refactors Options class to use metaclass and decorators to enforce friendly limits on multiple levels.
- Templates generated from the website, even ones with `random` should not fail generation because the website will only allow values inside the friendly limits.
- _Uploaded_ yamls to the website with `random`, should also now respect friendly limits without the need for `random-range` shenanigans.
- _Uploaded_ yamls to the website, or yamls that are used to generate locally, that have hard-defined values outside the friendly limits, will be clamped/dragged/massaged into those limits (with logged warnings).
- Removed an early completion goal that was playing havoc with fill. Not enough people seem to use this goal, so its loss will not be mourned.
* Stardew Valley: Fix Wizard Tower and Entrance Randomizer Softlocks (#4631)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Core and Various Worlds: define patch_file_ending to APPlayerContainer (#5058)
* move to playercontainer
* moves patch_file_ending handling to APPlayerContainer and updates the worlds using it to define their extensions
* give oot a patch_file_ending as well
* WebHost: Use expected APPlayerContainer manifest location directly when ingesting them #4754
* DLCQuest: Add missing indirect conditions (#5074)
The `Behind Rocks` and `Pickaxe Hard Cave` Entrances require being able
to reach the `Cut Content` region, but no indirect conditions were being
registered for this region.
The `set_lfod_self_obtained_items_rules` function was also using a
`world` parameter that was actually expecting a `MultiWorld` instance,
so I have renamed it for clarity and updated the function to use
`world.get_entrance()` rather than `multiworld.get_entrance()`.
Much of the rest of the file passes `MultiWorld` instances to `world`
parameters, but fixing all of these is out of the scope of the changes
in this patch, so has not been included.
* Plando Items: Fix count with empty locations/location #5040
* DKC3: Add missing indirect conditions (#5073)
A couple of Entrance access rules were checking for being able to reach
a Location, but a Location first checks for being able to reach its
parent Region, so it needs to be registered that access to that parent
Region can give access to the Entrance.
* SoE: remove outdated info from guide (#5064)
The client does not depend on Animation Frame anymore, so it can be backgrounded.
* Launcher/Utils: reset LD_LIBRARY_PATH for system EXEs (#5022)
* TUNIC: Fix decoupled ER + ladder storage making invalid entrances #5075
* Factorio: revamp args parsing and passing (#5036)
* DS3: Fix Non-Crow Itemlinking and Mark Aldrich Ruby and Twin Dragon Greatshield As Missable (#4510)
* Fix Branch (Not Crow)
* Oops
* Mark Aldrich Ruby as missable
* Expand comment
* Short circuit
* Mark Twin Dragon Greatshield as missable
* Add missable cause
* Timespinner: Fix Castle Ramparts Region Connection #5082
Co-authored-by: ehseezed <Ehseezed@users.noreply.github.com>
* Timespinner: Fixed generation error because of timezone locking (#5084)
* Fixed generation error because of timezone locking
* Refactored logic + prevent excluding warps when unchained keys in on
* shapez: Remove preset unittests #5086
* Launcher: Fix Cli Components when installed to a directory with a space (#5091)
* KH2: Give warning when client has cached locations (#5000)
* a
* disconnect when connect to wrong slot
* connection to the wrong seed fix
* seed_name is always none
* CI: Add GH_REPO environment variable to labeler (#5081)
* KH2: Raise Exception for Misusing DonaldGoofyStatsanity Option (#4710)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* fix saving princess's use of subprocess helpers (#5103)
* LTTP/SDV: use .name when appropriate in subtests (#5107)
* SA2B: Logic Fixes (#5095)
- Fixed King Boom Boo being able to appear in multiple boss gates
- `Final Rush - 16 Animals (Expert)` no longer requires `Sonic - Bounce Bracelet`
- `Dry Lagoon - 5 (Standard)` now requires `Rouge - Pick Nails`
- `Sand Ocean - Extra Life Box 2 (Standard/Hard/Expert)` no longer requires `Eggman - Jet Engine`
- `Security Hall - 8 Animals (Expert)` no longer requires `Rouge - Pick Nails`
- `Sky Rail - Item Box 8 (Standard)` now requires `Shadow - Air Shoes` and `Shadow - Mystic Melody`
- `Cosmic Wall - Chao Key 1 (Standard/Hard/Expert)` no longer requires `Eggman - Mystic Melody`
- `Cannon's Core - Pipe 2 (Expert)` no longer requires `Tails - Booster`
- `Cannon's Core - Gold Beetle` no longer requires `Tails - Booster` nor `Knuckles - Hammer Gloves`
* Item Plando: Fix `count` value (#5101)
* Stardew Valley: Fix 3 Logic Issues (#5094)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* ALTTP: Fix take_any leaving a placed item in the multiworld itempool #5108
* Aquaria: Fixing open waters urns not breakable with nature forms logic bug (#5072)
* Fixing open waters urns not breakable with nature forms logic bug
* Using list in comprehension only when useful
* Replacing damaging items by a constant
* Removing comprehension list creating from lambda
* Shivers: Fix get_pre_fill_items (#5113)
* Plando Items: Fix Location Groups Unfolding (#5099)
* DS3: Apply Rules to Non-Randomized Locations (#5106)
* Plando Items: Better Warning for Nonexisting Worlds (#5112)
* AdventureClient: Replace Utils.get_settings with settings.get_settings #5043
* Core: Docstring typo on Region.add_exits (#5089)
* doc typo
* Update BaseClasses.py
* Remove Minecraft (#4672)
* Remove Minecraft
* remove minecraft
* remove minecraft
* elif -> if
---------
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* MMBN3: Fixes Generation Errors and General UX Smoothing (#5077)
Co-authored-by: qwint <qwint.42@gmail.com>
* Make sure ladx removes the same copy of the starting item from the itempool that it's placing (#5110)
* DS3: Link to the Appropriate .NET Runtime for Proton (#5093)
* shapez: Change Links to Shapesanity Cheat Sheet (#5047)
* Docs: Rework the "Events" Section of `world api.md` (#5012)
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Minecraft Removal Cleanup (#5118)
* Docs: Update Plando Guide and Make it More User Friendly (#4858)
* Make plando guide more user friendly.
* Apply suggestions from code review
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Further updates for review.
* Clear search box when filtering by type.
* Forget previous commit name - more code review updates to doc.
* Move link to yaml tutorial.
* Replace STS example with Pokemon RB.
* Use non-key item examples in RB.
* Rooby's code review updates.
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Address some more feedback.
* Make Factorio example more accurate.
* Exempt's code review updates (round 4)
* Exempt's code review updates (round 4 + 1)
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* KDL3: update to gifting protocol 3 and update settings usage (#4814)
* gift version 3
* update settings usage
* that really has just been broken this entire time
* remove unnecessary print
* Update client.py
* fix random flavor handling
* fix incorrect sender/receiver
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Kivy: swap from the tab carousel to navigation bar (#4930)
* implement tabs as NavigationBar
* update the underline bar with the screen manager
* remove some unneeded kv
* remove the underline in favor of a full tab highlight
* fix insert transitions
* use on_release instead of on_press
* minor cleanup
* add remove_client_tab and add a caller to the NavigationBar for back compat
* unused imports
* Update kvui.py
---------
Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* core: Don't attempt to write to the inside of an OSX App Bundle (#4380)
* core: Frozen OSX should also use Home Directory
* Use Application Support instead of homedir
* Suggested changes
* Pokémon RB: Use new link for a new tracker (#5122)
* Update setup_en.md
* Update setup_es.md
* Pokemon RB: Client: Send bounce messages with current map ID (#5121)
* Civilization VI: Updated setup and info pages (#5123)
* Update setup_en.md
Updated setup instructions for Civilization VI in Archipelago
* Update en_Civilization VI.md
Updated info page for Civilization VI in Archipelago
* Update setup_en.md
* CVCotM: Fix Advance Collection ROM (#5132)
* TWW: Update Preset S7 to S8 (#5138)
* Wargroove: Fix Communication Thread (#5125)
* TWW: Fix Swords in Swordless Mode (#5137)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* SDV: Add "Desert Transportation" and "Island Transportation" Item Groups (#5143)
* Update world api.md (#5149)
* Stardew Valley: Fixed luck level requirements for slot machines #5160
# Conflicts:
# worlds/stardew_valley/data/craftable_data.py
* Docs: 'get_prefill_items' -> 'get_pre_fill_items' (#5167)
* CommonClient: fix extra panels added to `main_area_container` (#5151)
* Core: ensure slot_data and er_hint_info are only base data types (#5144)
---------
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Core: Take Counter back out of RestrictedUnpickler #5169
* [Jak and Daxter] Auto Detect Install Path after Game Launcher Update #5152
* Factorio: Fix link to world_gen documentation (#5171)
* DLCQ: Fix/Refactor LFoD Start Inventory (#5176)
* CIV 6: Remove Erroneous Boost Prereqs for Computers Boost (#5134)
* Core: Replace Clique with V6 in unit tests (#5181)
* replace Clique with V6 in unit tests
* no hard mode in V6
* modify regex in copy_world to allow : str
* oops
* I see now
* work around all typing
* there actually needs to be something
* Various: Remove Rogue Legacy and Clique (#5177)
* Various: Remove Rogue Legacy and Clique
* Remove Clique from setup.py and revert network diagram.md change.
* Try again.
* Update network diagram.md
---------
Co-authored-by: Zach “Phar” Parks <phar@pharware.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Revert "Core: Take Counter back out of RestrictedUnpickler" (#5184)
* Revert "Core: Take Counter back out of RestrictedUnpickler #5169"
This reverts commit 95e09c8e2a681ecd5666822b04fe7fed3ed9dec1.
* Update Utils.py
* LADX: Update marin.txt (#5178)
* Stardew Valley: Remove Rarecrow Locations from Night Market when Museumsanity is Disabled (#5146)
* TUNIC: Add UT Support for Breakables (#5182)
* TUNIC: Fix missing line for UT stuff #5185
* Muse Dash: Update song list to Rotaeno Update/7th Anniversary (#5066)
* Doc: match statement in style guide (#5187)
* Test: add micro benchmark for match
* Doc: add 'match' to python style guide
* Core: Update UUID handling to be more easily sharable between libraries (#5088)
moves uuid caching to appdata and uuid generation to be a random uuid instead of getnode's hardware address driven identifier and updates docs to point to the shared cache
* Super Metroid: Only Put Relevant Options in `slot_data` (#5192)
* first working single-world randomized SM rom patches
* - SM now displays message when getting an item outside for someone else (fills ROM item table)
This is dependant on modifications done to sm_randomizer_rom project
* First working MultiWorld SM
* some missing things:
- player name inject in ROM and get in client
- end game get from ROM in client
- send self item to server
- add player names table in ROM
* replaced CollectionState inheritance from SMBoolManager with a composition of an array of it (required to generation more than one SM world, which is still fails but is better)
* - reenabled balancing
* post rebase fixes
* updated SmClient.py
* + added VariaRandomizer LICENSE
* + added sm_randomizer_rom project (which builds sm.ips)
* Moved VariaRandomizer and sm_randomizer_rom projects inside worlds/sm and done some cleaning
* properly revert change made to CollectionState and more cleaning
* Fixed multiworld support patch not working with VariaRandomizer's
* missing file commit
* Fixed syntax error in unused code to satisfy Linter
* Revert "Fixed multiworld support patch not working with VariaRandomizer's"
This reverts commit fb3ca18528bb331995e3d3051648c8f84d04c08b.
* many fixes and improovement
- fixed seeded generation
- fixed broken logic when more than one SM world
- added missing rules for inter-area transitions
- added basic patch presence for logic
- added DoorManager init call to reflect present patches for logic
- moved CollectionState addition out of BaseClasses into SM world
- added condition to apply progitempool presorting only if SM world is present
- set Bosses item id to None to prevent them going into multidata
- now use get_game_players
* first working (most of the time) progression generation for SM using VariaRandomizer's rules, items, locations and accessPoint (as regions)
* first working single-world randomized SM rom patches
* - SM now displays message when getting an item outside for someone else (fills ROM item table)
This is dependant on modifications done to sm_randomizer_rom project
* First working MultiWorld SM
* some missing things:
- player name inject in ROM and get in client
- end game get from ROM in client
- send self item to server
- add player names table in ROM
* replaced CollectionState inheritance from SMBoolManager with a composition of an array of it (required to generation more than one SM world, which is still fails but is better)
* - reenabled balancing
* post rebase fixes
* updated SmClient.py
* + added VariaRandomizer LICENSE
* + added sm_randomizer_rom project (which builds sm.ips)
* Moved VariaRandomizer and sm_randomizer_rom projects inside worlds/sm and done some cleaning
* properly revert change made to CollectionState and more cleaning
* Fixed multiworld support patch not working with VariaRandomizer's
* missing file commit
* Fixed syntax error in unused code to satisfy Linter
* Revert "Fixed multiworld support patch not working with VariaRandomizer's"
This reverts commit fb3ca18528bb331995e3d3051648c8f84d04c08b.
* many fixes and improovement
- fixed seeded generation
- fixed broken logic when more than one SM world
- added missing rules for inter-area transitions
- added basic patch presence for logic
- added DoorManager init call to reflect present patches for logic
- moved CollectionState addition out of BaseClasses into SM world
- added condition to apply progitempool presorting only if SM world is present
- set Bosses item id to None to prevent them going into multidata
- now use get_game_players
* Fixed multiworld support patch not working with VariaRandomizer's
Added stage_fill_hook to set morph first in progitempool
Added back VariaRandomizer's standard patches
* + added missing files from variaRandomizer project
* + added missing variaRandomizer files (custom sprites)
+ started integrating VariaRandomizer options (WIP)
* Some fixes for player and server name display
- fixed player name of 16 characters reading too far in SM client
- fixed 12 bytes SM player name limit (now 16)
- fixed server name not being displayed in SM when using server cheat ( now displays RECEIVED FROM ARCHIPELAGO)
- request: temporarly changed default seed names displayed in SM main menu to OWTCH
* Fixed Goal completion not triggering in smClient
* integrated VariaRandomizer's options into AP (WIP)
- startAP is working
- door rando is working
- skillset is working
* - fixed itemsounds.ips crash by always including nofanfare.ips into multiworld.ips (itemsounds is now always applied and "itemsounds" preset must always be "off")
* skillset are now instanced per player instead of being a singleton class
* RomPatches are now instanced per player instead of being a singleton class
* DoorManager is now instanced per player instead of being a singleton class
* - fixed the last bugs that prevented generation of >1 SM world
* fixed crash when no skillset preset is specified in randoPreset (default to "casual")
* maxDifficulty support and itemsounds removal
- added support for maxDifficulty
- removed itemsounds patch as its always applied from multiworld patch for now
* Fixed bad merge
* Post merge adaptation
* fixed player name length fix that got lost with the merge
* fixed generation with other game type than SM
* added default randoPreset json for SM in playerSettings.yaml
* fixed broken SM client following merge
* beautified json skillset presets
* Fixed ArchipelagoSmClient not building
* Fixed conflict between mutliworld patch and beam_doors_plms patch
- doorsColorsRando now working
* SM generation now outputs APBP
- Fixed paths for patches and presets when frozen
* added missing file and fixed multithreading issue
* temporarily set data_version = 0
* more work
- added support for AP starting items
- fixed client crash with gamemode being None
- patch.py "compatible_version" is now 3
* commited missing asm files
fixed start item reserve breaking game (was using bad write offset when patching)
* Nothing item are now handled game-side. the game will now skip displaying a message box for received Nothing item (but the client will still receive it).
fixed crash in SMClient when loosing connection to SNI
* fixed No Energy Item missing its ID
fixed Plando
* merge post fixes
* fixed start item Grapple, XRay and Reserve HUD, as well as graphic beams (except ice palette color)
* fixed freeze in blue brinstar caused by Varia's custom PLM not being filled with proper Multiworld PLM address (altLocsAddresses)
* fixed start item x-ray HUD display
* Fixed start items being sent by the server (is all handled in ROM)
Start items are now not removed from itempool anymore
Nothing Item is now local_items so no player will ever pickup Nothing. Doing so reduces contribution of this world to the Multiworld the more Nothing there is though.
Fixed crash (and possibly passing but broken) at generation where the static list of IPSPatches used by all SM worlds was being modified
* fixed settings that could be applied to any SM players
* fixed auth to server only using player name (now does as ALTTP to authenticate)
* - fixed End Credits broken text
* added non SM item name display
* added all supported SM options in playerSettings.yaml
* fixed locations needing a list of parent regions (now generate a region for each location with one-way exits to each (previously) parent region
did some cleaning (mainly reverts on unnecessary core classes
* minor setting fixes and tweaks
- merged Area and lightArea settings
- made missileQty, superQty and powerBombQty use value from 10 to 90 and divide value by float(10) when generating
- fixed inverted layoutPatch setting
* added option start_inventory_removes_from_pool
fixed option names formatting
fixed lint errors
small code and repo cleanup
* Hopefully fixed ROR2 that could not send any items
* - fixed missing required change to ROR2
* fixed 0 hp when respawning without having ever saved (start items were not updating the save checksum)
* fixed typo with doors_colors_rando
* fixed checksum
* added custom sprites for off-world items (progression or not)
the original AP sprite was made with PierRoulette's SM Item Sprite Utility by ijwu
* - added missing change following upstream merge
- changed patch filename extension from apbp to apm3 so patch can be used with the new client
* added morph placement options: early means local and sphere 1
* fixed failing unit tests
* - fixed broken custom_preset options
* - big cleanup to remove unnecessary or unsupported features
* - more cleanup
* - moved sm_randomizer_rom and all always applied patches into an external project that outputs basepatch.ips
- small cleanup
* - added comment to refer to project for generating basepatch.ips (https://github.com/lordlou/SMBasepatch)
* fixed g4_skip patch that can be not applied if hud is enabled
* - fixed off world sprite that can have broken graphics (restricted to use only first 2 palette)
* - updated basepatch to reflect g4_skip removal
- moved more asm files to SMBasepatch project
* - tourian grey doors at baby metroid are now always flashing (allowing to go back if needed)
* fixed wrong path if using built as exe
* - cleaned exposed maxDifficulty options
- removed always enabled Knows
* Merged LttPClient and SMClient into SNIClient
* added varia_custom Preset Option that fetch a preset (read from a new varia_custom_preset Option) from varia's web service
* small doc precision
* - added death_link support
- fixed broken Goal Completion
- post merge fix
* - removed now useless presets
* - fixed bad internal mapping with maxDiff
- increases maxDiff if only Bosses is preventing beating the game
* - added support for lowercase custom preset sections (knows, settings and controller)
- fixed controller settings not applying to ROM
* - fixed death loop when dying with Door rando, bomb or speed booster as starting items
- varia's backup save should now be usable (automatically enabled when doing door rando)
* -added docstring for generated yaml
* fixed bad merge
* fixed broken infinity max difficulty
* commented debug prints
* adjusted credits to mark progression speed and difficulty as Non Available
* added support for more than 255 players (will print Archipelago for higher player number)
* fixed missing cleanup
* added support for 65535 different player names in ROM
* fixed generations failing when only bosses are unreachable
* - replaced setting maxDiff to infinity with a bool only affecting boss logics if only bosses are left to finish
* fixed failling generations when using 'fun' settings
Accessibility checks are forced to 'items' if restricted locations are used by VARIA following usage of 'fun' settings
* fixed debug logger
* removed unsupported "suits_restriction" option
* fixed generations failing when only bosses are unreachable (using a less intrusive approach for AP)
* - fixed deathlink emptying reserves
- added death_link_survive option that lets player survive when receiving a deathlink if the have non-empty reserves
* - merged death_link and death_link_survive options
* fixed death_link
* added a fallback default starting location instead of failing generation if an invalid one was chosen
* added Nothing and NoEnergy as hint blacklist
added missing NoEnergy as local items and removed it from progression
* reduced slot_data to only what should be needed by PopTracker (for https://github.com/ArchipelagoMW/Archipelago/pull/5039)
* Core: Adds Visual Formatting to Option Group Headers in Template Yamls (#5092)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* CC: Add Assert to Catch Old Datapackage Lookup API (#5131)
* Core: Assert that all the items in the multiworld itempool are actually unplaced at the start of distribute_items_restrictive (#5109)
* Assert at the beginning of distribute items restrictive that no items in the itempool already have locations associated with them
* actual message
* placement
* oops
* Update Fill.py
* Core: Crash on full accessibility if there are unreachable locations (Yes, you read that right) #3787
* Core: Cleanup: Replace direct calling of dunder methods on objects (#4584)
Calling the dunder method has to:
1. Look up the dunder method for that object/class
2. Bind a new method instance to the object instance
3. Call the method with its arguments
4. Run the appropriate operation on the object
Whereas running the appropriate operation on the object from the start
skips straight to step 4.
Region.Register.__getitem__ is called a lot without #4583. In that case,
generation of 10 template Blasphemous yamls with
`--skip_output --seed 1` and progression balancing disabled went from
19.0s to 18.8s (1.3% reduction in generation duration).
From profiling with `timeit`
```py
def __getitem__(self, index: int) -> Location:
return self._list[index]
```
appears to be about twice as fast as the old code:
```py
def __getitem__(self, index: int) -> Location:
return self._list.__getitem__(index)
```
Besides this, there is not expected to be any noticeable difference in
performance, and there is not expected to be any difference in semantics
with these changes.
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* Core: Cache previous swap states to use as the base state to sweep from (#3859)
The previous swap_state can often be used as the base state to create
the next swap_state. This previous swap_state will already have
collected all items in item_pool and is likely to have checked many
locations, meaning that creating the next swap_state from it instead of
from base_state is faster.
From generating with extra code to raise an exception if more than 2
previous swap states were used, and using A Hat in Time and Pokemon
Red/Blue yamls that often result in lots of swapping in progression
fill, I could not get a single seed go through more than 2 previous swap
states. A few worlds' pre-fills do often use more than 2 previous swap
states, notably LADX which sometimes goes through over 20.
Given a 20 player Pokemon Red/Blue multiworld that usually generates in
around 16 or 17 seconds, but on a specific seed that results in 56
swaps, generation went from about 260 seconds before this patch to about
104 seconds after this patch (generated with a meta.yaml to disable
progression balancing and `python -O Generate.py --skip_output`).
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* Core: Add new ItemClassification "deprioritized" which will not be placed on priority locations (if possible) (#4610)
* Add new deprioritized item flag
* 4 retries
* indent
* .
* style
* I think this is nicer
* Nicer
* remove two lines again that I added unnecessarily
* I think this test makes a bit more sense like this
* Idk how to word this lol
* Add progression_deprioritized_skip_balancing bc why not ig
* More text
* Update Fill.py
* Update Fill.py
* I am the big stupid
* Actually collect the other half of progression items into state when filling without them
* More clarity on the descriptions (hopefully)
* visually separate technical description and use cases
* Actually make the call do what the comments say it does
* Stardew Valley: Add French Guide (#4697)
Co-authored-by: tmarquis <thomas.marquis@cellance.com>
* Core: increment version (#5194)
* Hollow Knight: Explicitly Exclude Palace Items as Filler (#5119)
* Witness: Add French and German Setup Documentation (#2527)
Co-authored-by: Lolo <lowgau@gmail.com>
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Hollow Knight: Add Spanish Language Docs (#5156)
Co-authored-by: qwint <qwint.42@gmail.com>
* Various Games: Improve Custom Death Link Option Description (#4171)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: LiquidCat64 <74896918+LiquidCat64@users.noreply.github.com>
* Core: Don't Cache the `get_all_state` Result (#4795)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* TUNIC: Update Tests Per #4982 (#5191)
* The Witness: Add Glass Factory Entry Panel as a location in all options #4695
* Dics: Add Webhost API Documententation (#4887)
* capitialization changes
* ditto
* Revert "ditto"
This reverts commit 17cf596735888e91850954c7306ce0b80d7e453d.
* Revert "capitialization changes"
This reverts commit 6fb86c6568da2c08b5f8e691d4fc810e3ab09a44.
* full revert and full commit
* Update docs/webhost api.md
Co-authored-by: qwint <qwint.42@gmail.com>
* Update docs/webhost api.md
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* Update docs/webhost api.md
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* Update webhost api.md
* Removed in-devolopment API
* Apply standard capitilization and grammar flow
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* declarative language
* Apply suggestions from code review
Co-authored-by: qwint <qwint.42@gmail.com>
* datapackage_checksum clarification, and /datapackage clairfication
* /dp/checksum clarification
* Detailed responces and /generation breakdown
* Update webhost api.md
* Made output anonomous
* Update docs/webhost api.md
Co-authored-by: qwint <qwint.42@gmail.com>
* Swapped IDs to UUID, and added language around UUID vs SUUID
* Apply suggestions from code review
formatting and grammar
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Condensed paragraphs and waterfalled headders
---------
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* WebHostLib: Properly Format IDs in API Responses (#4944)
* update the id formatter to use staticmethods to not fake the unused self arg, and then use the formatter for the user session endpoints
* missed an id (ty treble)
* clean up duplicate code
* Update WebHostLib/__init__.py
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* keep the BaseConverter format
* lol, change all the instances
* revert this
---------
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* Docs: Clean up SUUID Post #4944 (#5196)
* Stardew Valley: Add walnutsanity prefix to locations (#4934)
* AHIT: Fix Test Fail for assert_not_all_options (#5197)
* Options: Assert Not All Option in `Options.as_dict` (#5039)
* Options: forbid worlds just dumping every single option they don't need
* make the equal proper
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Lingo: Fix Painting Gen Failures on Panels Mode Door Shuffle (#5199)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Docker: Add initial configuration for project (#4419)
* feat(docker): Add initial Docker configuration for project
- Add .dockerignore file to ignore unnecessary files
- Create Dockerfile with basic build and deployment configuration
* feat(docker): Updated Docker configuration for improved security and build efficiency
- Removed sensitive files from .dockerignore
- Moved WORKDIR to /app in Dockerfile
- Added gunicorn==23.0.0 dependency in RUN command
- Created new docker-compose.yml file for service definition
* feat(deployment): Implement containerized deployment configuration
- Add additional environment variables for Python optimization
- Update Dockerfile with new dependencies: eventlet, gevent, tornado
- Create docker-compose.yml and configure services for web and nginx
- Implement example configurations for web host settings and gunicorn
- Establish nginx configuration for reverse proxy
- Remove outdated docker-compose.yml from root directory
* feat(deploy): Introduce Docker Compose configuration for multi-world deployment
- Separate web service into two containers, one for main process and one for gunicorn
- Update container configurations for improved security and maintainability
- Remove unused volumes and network configurations
* docs: Add new documentation for deploying Archipelago using containers
- Document standalone image build and run process
- Include example Docker Compose file for container orchestration
- Provide information on services defined in the `docker-compose.yaml` file
- Mention optional Enemizer feature and Git requirements
* fixup! feat(docker): Updated Docker configuration for improved security and build efficiency - Removed sensitive files from .dockerignore - Moved WORKDIR to /app in Dockerfile - Added gunicorn==23.0.0 dependency in RUN command - Created new docker-compose.yml file for service definition
* feat(deploy): Updated gunicorn configuration example
- Adjusted worker and thread counts
- Switched worker class from sync to gthread
- Changed log level to info
- Added example code snippet for customizing worker count
* fix(deploy): Adjust concurrency settings for self-launch configuration
- Reduce the number of world generators from 8 to 3
- Decrease the number of hosters from 5 to 4
* docs(deploy using containers): Improve readability, fix broken links
- Update links to other documentation pages
- Improve formatting for better readability
- Remove unnecessary sections and files
- Add note about building the image requiring a local copy of ArchipelagoMW source code
* Update deploy/example_config.yaml
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Update deploy/example_selflaunch.yaml
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Update Dockerfile
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Update deploy/example_selflaunch.yaml
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* fixup! Update Dockerfile
* fix(Dockerfile): Update package installations to use latest versions
- Remove specific version pins for git and libc6-dev
- Ensure compatibility with newer package updates
* feat(ci): Add GitHub Actions workflow for building and publishing Docker images
- Create a new workflow for Docker image build and publish
- Configure triggers for push and pull_request on main branch
- Set up QEMU and Docker Buildx for multi-platform builds
- Implement Docker login for GitHub Container Registry
- Include Docker image metadata extraction and tagging
* feat(healthcheck): Update Dockerfile and docker-compose for health checks
- Add health check for the Webhost service in Dockerfile
- Modify docker-compose to include a placeholder health check for multiworld service
- Standardize comments and remove unnecessary lines
* Revert "feat(ci): Add GitHub Actions workflow for building and publishing Docker images"
This reverts commit 32a51b272627d99ca9796cbfda2e821bfdd95c70.
* feat(docker): Enhance Dockerfile with Cython build stage
- Add Cython builder stage for compiling speedups
- Update package installation and organization for efficiency
- Improve caching by copying requirements before installing
- Add documentation for rootless Podman
* fixup! feat(docker): Enhance Dockerfile with Cython build stage - Add Cython builder stage for compiling speedups - Update package installation and organization for efficiency - Improve caching by copying requirements before installing - Add documentation for rootless Podman
---------
Co-authored-by: Adrian Priestley <apriestley@gmail.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
Co-authored-by: Adrian Priestley <apriestley@bob.localdomain>
* Super Metroid: Improve Option Descriptions and Add Option Groups (#5100)
* SMZ3: Add Yaml Options to Slot Data (#5111)
* Raft: Fix filler_item_types TypeError introduced in #4782 (#5203)
* Dockerfile/Core: Prevent module update during container runtime (#5205)
* fix(env): Prevent module update during requirements processing
- Add environment variable SKIP_REQUIREMENTS_UPDATE check
- Ensure update is skipped if SKIP_REQUIREMENTS_UPDATE is set to true
* squash! fix(env): Prevent module update during requirements processing - Add environment variable SKIP_REQUIREMENTS_UPDATE check - Ensure update is skipped if SKIP_REQUIREMENTS_UPDATE is set to true
* ALttP: Fix `pre_fill` State Sweeping Too Early (#5215)
* OoT: Fix remove not invalidating cached reachability (#5222)
Collecting an item into a CollectionState without sweeping, finding all
reachable locations, removing that item from the state, and then finding
all reachable locations again could result in more locations being
reachable than before the item was initially collected into the
CollectionState.
This issue was present because OoT was not invalidating its reachable
region caches for the different ages when items were removed from the
CollectionState.
To fix the issue, this PR has updated `OOTWorld.remove()` to invalid its
caches, like how `CollectionState.remove()` invalidates the core
Archipelago caches.
* DS3: Edit the setup docs to be more clear (#4618)
* UPDATE: Dark Souls 3 setup docs to be more clear
* UPDATE: DS3 Setup docs to make offline mode more explicit
* UPDATE: Dark Souls 3 setup docs to be more clear
* UPDATE: DS3 Setup docs to make offline mode more explicit
* EDIT: DS3 setup docs to be up to date
* MultiServer: CreateHints command (Allows clients to hint own items in other worlds) (#4317)
* CreateHint command
* Docs
* oops
* forgot an arg
* Update MultiServer.py
* Add documentation on what happens when the hint already exists but with a different status (nothing)
* Early exit if no locations provided
* Add a clarifying comment to the code as well
* change wording a bit
* Paint: Implement New Game (#4955)
* Paint: Implement New Game
* Add docstring
* Remove unnecessary self.multiworld references
* Implement start_inventory_from_pool
* Convert logic to use LogicMixin
* Add location_exists_with_options function to deduplicate code
* Simplify starting tool creation
* Add Paint to supported games list
* Increment version to 0.4.1
* Update docs to include color selection features
* Fix world attribute definitions
* Fix linting errors
* De-duplicate lists of traps
* Move LogicMixin to __init__.py
* 0.5.0 features - adjustable canvas size increment, updated similarity metric
* Fix OptionError formatting
* Create OptionError when generating single-player game with error-prone settings
* Increment version to 0.5.1
* Update CODEOWNERS
* Update documentation for 0.5.2 client changes
* Simplify region creation
* Add comments describing logic
* Remove unnecessary f-strings
* Remove unused import
* Refactor rules to location class
* Remove unnecessary self.multiworld references
* Update logic to correctly match client-side item caps
---------
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
* Factorio: fix rename of mod file leading to incompatibility with base game (#5219)
* chore(ci): exclude deployment and Docker files from unit test workflow triggers (#5214)
* chore(ci): exclude deployment and Docker files from unit test workflow triggers
- Modify unittests workflow to ignore changes in deploy directory and Docker-related files
* CI: switch to new appimagetool (#5233)
Since this does not have versions anymore, we check the sha256
and require manual intervention if it changed.
TODO: look for a way to do reproducible appimages again.
* setup: Downgrade bundled SNI to 0.0.100 (#5228)
* Muse Dash: Update to Rhythm Master Collab (#5235)
* Rhythm Master Collab
* Deprioritze Music Sheets.
* Oops missed this definition.
* GER: Move EntranceLookup onto ERPlacementState. Improve usefulness of on_connect. (#4904)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* The Wind Waker: Adding French Translation for Guides (#5174)
* Add files via upload
* Delete fr_The Wind Waker.md
* Delete setup_fr.md
* Add files via upload
* Update fr_The Wind Waker.md
* Update fr_The Wind Waker.md
* Update fr_The Wind Waker.md
* Update worlds/tww/docs/fr_The Wind Waker.md
I agree with that okat!
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
Agreed
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
agreed!
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
agreed!
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
agreed!
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
forgot to remove that, ok
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
agreed!
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
Okay!
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Agreed
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
agreed
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
agreed
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update fr_The Wind Waker.md
* Update worlds/tww/docs/fr_The Wind Waker.md
okay!
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update setup_fr.md
* Update setup_fr.md
* Update fr_The Wind Waker.md
Modifying lines
* Update setup_fr.md
Character Limits Update
* Update worlds/tww/docs/setup_fr.md
ok
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update en_The Wind Waker.md
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update __init__.py
* Update __init__.py
* Update worlds/tww/__init__.py
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update __init__.py
---------
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Options: Add PlandoItems to Item&Loc Option Group (#5201)
* WebHost: Update some typing in WebHostLib (#5069)
* CommonClient: update commands to function without local apworld (#3045)
* BizHawkClient: Add command to pass server messages to emulator (#3039)
* WebHost: list unrecognized games as Other in stats (#5236)
* Core: Speed up CollectionState sweeping (#3812)
* Sweep events per-player to reduce sweep iterations
By finding all accessible locations per player and then collecting the
items from those locations, if any collected items belong to a different
player, then that player may be able to access more locations the next
time all of their accessible locations are found. This reduces the
number of iterations necessary to sweep through and collect from all
accessible locations.
* Also sweep per-player in MultiWorld.can_beat_game
* Deduplicate code by using sweep_for_events in can_beat_game
sweep_for_events has been modified to be able to return a generator and
to be able to change the set of locations that are filtered out. This
way, the same code can be used by both functions.
* Skip checking locations by assuming each world only logically depends on itself
While this assumption almost always holds true, worlds are allowed to
logically depend on other worlds, so the sweep always double checks at
the end by checking the locations of every world before finishing.
* Fix missed update to CollectionState.collect implementation
Collecting items with prevent_sweep=True (previously event=True) no
longer always returns True, so the return value should now be checked.
* Comment and variable name consistency/clarity
accessible/inaccessible -> reachable/unreachable
final sweep iteration -> extra sweep iteration
maybe_final_sweep -> checking_if_finished
* Apply suggestions from code review
Use Iterator in return type hint instead of Iterable to help indicate that the returned value can only be iterated once.
Be consistent in return statements. Because sweep_for_events can return a value now, the conditional branch that has no intended return value should explicitly return None.
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Update terminology from 'event' to 'advancement'
* Add typing overloads for sweep_for_advancements
This makes it so type-checkers and IDEs can see which calls return
`None` and which calls return `Iterator` so that it doesn't complain
about returning an `Iterator` from `sweep_for_events` or about iterating
through `None` in `can_beat_game`.
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Update comment for why discard the player after finding their locations
A lack of clarity was brought up in review.
* Update for removed typing import
---------
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* fix(docker): Correct copy command to use recursive flag for EnemizerCLI (#5211)
* fix(docker): Correct copy command to use recursive flag for EnemizerCLI
- Changed 'cp' to 'cp -r' to properly copy EnemizerCLI directory
* docs(deployment): Update container deployment documentation
- Specify minimum versions for Docker and Podman
- Add requirement for Docker Buildx plugin
* MultiServer: Fix LocationScouts with "only_new" broadcasting hints for found locations over and over (#4482)
* Hints PR number 42069
* Make it explicit
* clarify
* oops
* Port the change to CreateHints
* LADX: fix marin text splitting #5225
* Core: use patch extension register directly (#4375)
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* LADX: generate without rom (#4278)
* LTTP: Add Missing Crystal Switch Logic (#4638)
* Core/Tests: No Locality Changes After `generate_early` (#4481)
* Change timing of locality option locking
* Update world api.md
* Remove whitespace
* Core: Add `restricted_dumps` helper (#5117)
* Add pickling helper that check unpicklability
* Add test condition and generation error handling
* Fix incorrect call and make imports consistent
* Fix newline padding
* Change PicklingError to directly caused by UnpicklingError
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Revert to `pickle.dumps` for decompressed multidata
* Fix import order
* Restore pickle import in main
* Re-add for multidata in Main
* Remove multisave checks
* Update MultiServer.py
* Update customserver.py
---------
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* Core: MultiData typing (#5071)
* Muse Dash: Adding Option to select Goal Song (#4820)
Co-authored-by: Justus Lind <DeamonHunter@users.noreply.github.com>
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* V6: Allow Secret Lab Music to be Randomized (#4643)
* Core: Support inequality operators ("less than") for Choice option string comparisons (#3769)
* add some unit tests to it
* fix
* Update Options.py
Co-authored-by: qwint <qwint.42@gmail.com>
* Update Options.py
---------
Co-authored-by: qwint <qwint.42@gmail.com>
* Ignore .github dir in package test (#5098)
Added comments for ignore code
* Tests: only get `__init__.py` tests from test directories (#5135)
* Core: fix dangerous mutable default in Fill (#5247)
discussed here https://discord.com/channels/731205301247803413/731214280439103580/1327712564213448775
* shapez: Typing Cleanup + Small Docs Rewordings (#5189)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* LttP: Remove per_slot_randoms in LttPAdjuster.py (#4898)
* SM: Speed up deepcopy in copy_mixin (#4228)
* Docs: Don't Suggest exclude in create_items (#5256)
* Docs: Remove Settings API Back Compat Section (#5255)
* SMZ3: Fix Junk Item Overflow (#5162)
Removed `self.junkItemsNames = [item.Type.name for item in junkItems]` from `create_items` as that was pulling massive amounts of HeartPieces (because they're in junkItems in upstream) to be added if the start_inventory_from_pool was extensive. Getting more than 20 Heart Containers can lead to OHKO situations.
ETank was also removed as a junk item that can be used as filler in the earlier defined list of junk items that AP allows since you should only have 14 in the pool. It's not a problem to have more per se, but you really shouldn't have 27 of them in the pool, either. Ammo and such is much less of a problem to have crazy amounts of.
* ALTTP/SNIC/BHC: Stop using Utils.get_settings() (#5239)
* LTTP/SNIC/BHC: Stop using Utils.get_settings()
* SNIClient: use Settings.sni_options
* Core: hard deprecate per_slot_randoms (#3382)
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Core: Remove Checks for Unsupported Versions (#5067)
* Remove redundant version checks/compatibility
* Change windows7 check
* Edit comments
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
---------
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* CI: also use new appimage tool in release action
* WebHost: turn module discovery dynamic (#5218)
* Setup: update cert signing process (#5161)
* The Witness: Comply with new test base structure #5265
* Various: Make clients wait a second between connects (#5061)
* TWW: Fix Death Link (#5270)
* Core: Purge Multiworld.option_name (#5050)
* LttP: move more stuff out of core (#5049)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* LttP: remove sprite download from setup flow & make sprite repo dynamic (#4830)
* The Legend of Zelda: Stepping Down as Maintainer (#5277)
* WebHost: server render remaining markdown using mistune (#5276)
---------
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Subnautica: add empty tanks option (#5271)
* Fix regression on 404 redirects
* Core: Added a leading 0 to classification.as_flag #5291
* TUNIC: Fix zig skip showing up in decoupled + fixed shop #5289
* LADX: Update Docs (#5290)
* convert ladxr section to markdown, other adjustments
make links clickable
crow icon -> open tracker
adjust for removed sprite sheets
some adjustments in ladxr section for differences in the ap version:
we don't have a casual logic
we don't have stealing options
* fix link, and another correction
* FF1: fix client breaking other NES games (#5293)
* Docs: Use / instead of . for the reference to lttp's options.py (#5300)
* Update options api.md
* o -> O
* DS3: Don't Create Disabled Locations (#5292)
* Tests: Handle optional args for `get_all_state` patch (#5297)
* Make `use_cache` optional
* Pass all kwargs
* Core: Sort Unreachable Locations Written to the Spoiler (#5269)
* fix(deps): Lock setuptools version to <81 (#5284)
- Update Dockerfile to specify "setuptools<81"
- Modify ModuleUpdate.py to install setuptools with version constraint
* Settings: warn for broken worlds instead of crashing (#4438)
note: i swear the issue was an importerror but i could only get attributeerrors on the getattr() call, maybe we want to check for both?
* CI: update appimage runtime (#5315)
* WebHost: fix links on sitemap, switch to url_for and add test to prevent future breakage (#5318)
* WebHost: redirect old tutorials to new URL (#5319)
* WebHost: redirect old tutorials to new URL
* WebHost: make comment in tutorial_redirect more accurate
* CV64 and CotM: Correct Archipleago (#5323)
---------
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Co-authored-by: agilbert1412 <alexgilbert@yahoo.com>
Co-authored-by: Bryce Wilson <gyroscope15@gmail.com>
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Co-authored-by: Star Rauchenberger <fefferburbia@gmail.com>
Co-authored-by: LiquidCat64 <74896918+LiquidCat64@users.noreply.github.com>
Co-authored-by: FlitPix <8645405+FlitPix@users.noreply.github.com>
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: ScootyPuffJr1 <77215594+ScootyPuffJr1@users.noreply.github.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
Co-authored-by: Ehseezed <97066152+Ehseezed@users.noreply.github.com>
Co-authored-by: sgrunt <smelenchuk@gmail.com>
Co-authored-by: sgrunt <sgrunt1987@gmail.com>
Co-authored-by: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
Co-authored-by: Mysteryem <Mysteryem@users.noreply.github.com>
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
Co-authored-by: ehseezed <Ehseezed@users.noreply.github.com>
Co-authored-by: Jarno <jarnowesthof@gmail.com>
Co-authored-by: BlastSlimey <89539656+BlastSlimey@users.noreply.github.com>
Co-authored-by: JaredWeakStrike <96694163+JaredWeakStrike@users.noreply.github.com>
Co-authored-by: BadMagic100 <dempsey.sean@outlook.com>
Co-authored-by: PoryGone <98504756+PoryGone@users.noreply.github.com>
Co-authored-by: Louis M <prog@tioui.com>
Co-authored-by: JusticePS <5125765+JusticePS@users.noreply.github.com>
Co-authored-by: KonoTyran <Kono.Tyran@gmail.com>
Co-authored-by: digiholic <digikun@gmail.com>
Co-authored-by: Natalie Weizenbaum <nex342@gmail.com>
Co-authored-by: Ixrec <ericrhitchcock@gmail.com>
Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com>
Co-authored-by: Katelyn Gigante <clockwork.singularity@gmail.com>
Co-authored-by: palex00 <32203971+palex00@users.noreply.github.com>
Co-authored-by: James White <james_white_d@hotmail.com>
Co-authored-by: DJ-lennart <alexander.lt.carlsson@hotmail.com>
Co-authored-by: Fly Hyping <brajcan@hotmail.com>
Co-authored-by: Remy Jette <remy@remyjette.com>
Co-authored-by: axe-y <58866768+axe-y@users.noreply.github.com>
Co-authored-by: Carter Hesterman <hestermancarter@gmail.com>
Co-authored-by: Zach “Phar” Parks <11338376+ThePhar@users.noreply.github.com>
Co-authored-by: Zach “Phar” Parks <phar@pharware.com>
Co-authored-by: Justus Lind <DeamonHunter@users.noreply.github.com>
Co-authored-by: lordlou <87331798+lordlou@users.noreply.github.com>
Co-authored-by: Eindall <marquisthomas4369@gmail.com>
Co-authored-by: tmarquis <thomas.marquis@cellance.com>
Co-authored-by: Danaël V. <104455676+ReverM@users.noreply.github.com>
Co-authored-by: Lolo <lowgau@gmail.com>
Co-authored-by: GreenMarco <71452195+GreenMarco@users.noreply.github.com>
Co-authored-by: SunCat <suncat.game@ya.ru>
Co-authored-by: Jacob Lewis <JacobMLewis@Live.com>
Co-authored-by: CookieCat <81494827+CookieCat45@users.noreply.github.com>
Co-authored-by: Adrian Priestley <47989725+a-priestley@users.noreply.github.com>
Co-authored-by: Adrian Priestley <apriestley@gmail.com>
Co-authored-by: Adrian Priestley <apriestley@bob.localdomain>
Co-authored-by: NoiseCrush <168460988+NoiseCrush@users.noreply.github.com>
Co-authored-by: David Carroll <Dessyreqt@users.noreply.github.com>
Co-authored-by: Flore <drmoonlington@gmail.com>
Co-authored-by: MarioManTAW <mariomantaw@gmail.com>
Co-authored-by: mobby45 <68152858+mobby45@users.noreply.github.com>
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
Co-authored-by: threeandthreee <alex@3and3.dev>
Co-authored-by: Alchav <59858495+Alchav@users.noreply.github.com>
Co-authored-by: Widowmaker-61 <121366307+Turky6192@users.noreply.github.com>
Co-authored-by: Yussur Mustafa Oraji <N00byKing@hotmail.de>
Co-authored-by: JKLeckr <11635283+JKLeckr@users.noreply.github.com>
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
Co-authored-by: Solidus Snake <63137482+TheRealSolidusSnake@users.noreply.github.com>
Co-authored-by: josephwhite <22449090+josephwhite@users.noreply.github.com>
Co-authored-by: Wilhelm Schürmann <wimschuermann@googlemail.com>
Co-authored-by: t3hf1gm3nt <59876300+t3hf1gm3nt@users.noreply.github.com>
Co-authored-by: Ishigh1 <bonjour940@yahoo.fr>
da-stealth
added a commit
to da-stealth/MK64-Archipelago
that referenced
this pull request
Aug 22, 2025
* AHiT: Fix Client Argument Handling (#4992)
* Docs: Add a "Missable Locations" Question to apworld FAQ (#4965)
* Docs: add a "missable locations" question to apworld_dev_faq.md
Basically turning the conversation at https://discord.com/channels/731205301247803413/1214608557077700720/1368996789260128388 into a FAQ entry.
* feedback
* qwint feedback
* Update docs/apworld_dev_faq.md
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
---------
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* DS3: Fix the Name of "Red and White Round Shield" (#4994)
This item name is unusual in that it loses the word "round" when it's
infused, *and* the only guaranteed drop in the base game is the infused
"Blessed Red and White Round Shield +1". But since we're just listing
the uninfused version, we should use the uninfused name.
* SDV: Add Missing Marriage Requirement for Spouse Stardrop (#4988)
* Core: Update Some Outdated Typing (#4986)
* Noita: Modernization Refactor (#4980)
* lufia2ac: rearrange tests to comply with new conventions (#5001)
* Stardew Valley: Remove Crab Pot Requirement for Help Wanted Fishing (#4985)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Kivy: Add a button prompt box (#3470)
* Kivy: Add a button prompt box
* auto format the buttons to display 2 per row to look nicer
* update to kivymd
* have the uri popup use the new API
* have messenger use the new API
* make the buttonprompt import even more lazy
* messenger needs to be lazy too
* make the buttons take up the full dialog width
---------
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* SA2B: Logic Fixes (#5009)
- Fixes Shadow's mission count being set by Sonic's mission count option
- Fixes one small logic error on `Security Hall - 5` on Hard Logic difficulty
- Removes stray character that was probably harmless
* Terraria: remove 1.4.3-specific docs #5013
* ChecksFinder: Update setup guide (#4973)
* Update setup_en.md
* Update worlds/checksfinder/docs/setup_en.md
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Update worlds/checksfinder/docs/setup_en.md
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Update worlds/checksfinder/docs/setup_en.md
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
---------
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Core: Remove redundant reachable location counting in swap (#4990)
`prev_state` starts off as a copy of `swap_state` and then `swap_state`
collects `item_to_place`. Collecting an item must never reduce
accessibility (otherwise generation breaks horribly), so it is
guaranteed that `swap_state` will always be able to reach at least as
many locations as `prev_state`, so `new_loc_count >= prev_loc_count` is
always `True`.
As a sideeffect of this change, this fixes generation of Pokemon Emerald
with locally shuffled Badges/HMs when there are worlds with unconnected
entrances present in the multiworld e.g. KH1. This is because this
location counting did not respect `single_player_placement=True` and
counted reachable locations across the entire multiworld.
Fixes #4834 as a sideeffect of removing the redundant code.
* Core: prepare worlds.Files for APWorldContainer (#4331)
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Core: disable worlds_disabled (#5014)
* Zillion: fix `read_contents` to be compatible with base class (#5015)
* Adventure: Update AdventureDeltaPatch.read_contents to return the manifest as required by #4331 (#5016)
* Jak and Daxter: Implement New Game (#3291)
* Jak 1: Initial commit: Cell Locations, Items, and Regions modeled.
* Jak 1: Wrote Regions, Rules, init. Untested.
* Jak 1: Fixed mistakes, need better understanding of Entrances.
* Jak 1: Fixed bugs, refactored Regions, added missing Special Checks. First spoiler log generated.
* Jak 1: Add Scout Fly Locations, code and style cleanup.
* Jak 1: Add Scout Flies to Regions.
* Jak 1: Add version info.
* Jak 1: Reduced code smell.
* Jak 1: Fixed UT bugs, added Free The Sages as Locations.
* Jak 1: Refactor ID scheme to better fit game's scheme. Add more subregions and rules, but still missing one-way Entrances.
* Jak 1: Add some one-ways, adjust scout fly offset.
* Jak 1: Found Scout Fly ID's for first 4 maps.
* Jak 1: Add more scout fly ID's, refactor game/AP ID translation for easier reading and code reuse.
* Jak 1: Fixed a few things. Four maps to go.
* Jak 1: Last of the scout flies mapped!
* Jak 1: simplify citadel sages logic.
* Jak 1: WebWorld setup, some documentation.
* Jak 1: Initial checkin of Client. Removed the colon from the game name.
* Jak 1: Refactored client into components, working on async communication between the client and the game.
* Jak 1: In tandem with new ArchipelaGOAL memory structure, define read_memory.
* Jak 1: There's magic in the air...
* Jak 1: Fixed bug translating scout fly ID's.
* Jak 1: Make the REPL a little more verbose, easier to debug.
* Jak 1: Did you know Snowy Mountain had such specific unlock requirements? I didn't.
* Jak 1: Update Documentation.
* Jak 1: Simplify user interaction with agents, make process more robust/less dependent on order of ops.
* Jak 1: Simplified startup process, updated docs, prayed.
* Jak 1: quick fix to settings.
* Jak and Daxter: Implement New Game (#1)
* Jak 1: Initial commit: Cell Locations, Items, and Regions modeled.
* Jak 1: Wrote Regions, Rules, init. Untested.
* Jak 1: Fixed mistakes, need better understanding of Entrances.
* Jak 1: Fixed bugs, refactored Regions, added missing Special Checks. First spoiler log generated.
* Jak 1: Add Scout Fly Locations, code and style cleanup.
* Jak 1: Add Scout Flies to Regions.
* Jak 1: Add version info.
* Jak 1: Reduced code smell.
* Jak 1: Fixed UT bugs, added Free The Sages as Locations.
* Jak 1: Refactor ID scheme to better fit game's scheme. Add more subregions and rules, but still missing one-way Entrances.
* Jak 1: Add some one-ways, adjust scout fly offset.
* Jak 1: Found Scout Fly ID's for first 4 maps.
* Jak 1: Add more scout fly ID's, refactor game/AP ID translation for easier reading and code reuse.
* Jak 1: Fixed a few things. Four maps to go.
* Jak 1: Last of the scout flies mapped!
* Jak 1: simplify citadel sages logic.
* Jak 1: WebWorld setup, some documentation.
* Jak 1: Initial checkin of Client. Removed the colon from the game name.
* Jak 1: Refactored client into components, working on async communication between the client and the game.
* Jak 1: In tandem with new ArchipelaGOAL memory structure, define read_memory.
* Jak 1: There's magic in the air...
* Jak 1: Fixed bug translating scout fly ID's.
* Jak 1: Make the REPL a little more verbose, easier to debug.
* Jak 1: Did you know Snowy Mountain had such specific unlock requirements? I didn't.
* Jak 1: Update Documentation.
* Jak 1: Simplify user interaction with agents, make process more robust/less dependent on order of ops.
* Jak 1: Simplified startup process, updated docs, prayed.
* Jak 1: quick fix to settings.
* Jak and Daxter: Genericize Items, Update Scout Fly logic, Add Victory Condition. (#3)
* Jak 1: Update to 0.4.6. Decouple locations from items, support filler items.
* Jak 1: Total revamp of Items. This is where everything broke.
* Jak 1: Decouple 7 scout fly checks from normal checks, update regions/rules for orb counts/traders.
* Jak 1: correct regions/rules, account for sequential oracle/miner locations.
* Jak 1: make nicer strings.
* Jak 1: Add logic for finished game. First full run complete!
* Jak 1: update group names.
* Jak and Daxter - Gondola, Pontoons, Rules, Regions, and Client Update
* Jak 1: Overhaul of regions, rules, and special locations. Updated game info page.
* Jak 1: Preparations for Alpha. Reintroducing automatic startup in client. Updating docs, readme, codeowners.
* Alpha Updates (#15)
* Jak 1: Consolidate client into apworld, create launcher icon, improve setup docs.
* Jak 1: Update setup guide.
* Jak 1: Load title screen, save states of in/outboxes.
* Logging Update (#16)
* Jak 1: Separate info and debug logs.
* Jak 1: Update world info to refer to Archipelago Options menu.
* Deathlink (#18)
* Jak 1: Implement Deathlink. TODO: make it optional...
* Jak 1: Issue a proper send-event for deathlink deaths.
* Jak 1: Added cause of death to deathlink, fixed typo.
* Jak 1: Make Deathlink toggleable.
* Jak 1: Added player name to death text, added zoomer/flut/fishing text, simplified GOAL call for deathlink.
* Jak 1: Fix death text in client logger.
* Move Randomizer (#26)
* Finally remove debug-segment text, update Python imports to relative paths.
* HUGE refactor to Regions/Rules to support move rando, first hub area coded.
* More refactoring.
* Another refactor - may squash.
* Fix some Rules, reuse some code by returning key regions from build_regions.
* More regions added. A couple of TODOs.
* Fixed trade logic, added LPC regions.
* Added Spider, Snowy, Boggy. Fixed Misty's orbs.
* Fix circular import, assert orb counts per level, fix a few naming errors.
* Citadel added, missing locs and connections fixed. First move rando seed generated.
* Add Move Rando to Options class.
* Fixed rules for prerequisite moves.
* Implement client functionality for move rando, add blurbs to game info page.
* Fix wrong address for cache checks.
* Fix byte alignment of offsets, refactor read_memory for better code reuse.
* Refactor memory offsets and add some unit tests.
* Make green eco the filler item, also define a maximum ID. Fix Boggy tether locations.
* Move rando fixes (#29)
* Fix virtual regions in Snowy. Fix some GMC problems.
* Fix Deathlink on sunken slides.
* Removed unncessary code causing build failure.
* Orbsanity (#32)
* My big dumb shortcut: a 2000 item array.
* A better idea: bundle orbs as a numerical option and make array variable size.
* Have Item/Region generation respect the chosen Orbsanity bundle size. Fix trade logic.
* Separate Global/Local Orbsanity options. TODO - re-introduce orb factory for per-level option.
* Per-level Orbsanity implemented w/ orb bundle factory.
* Implement Orbsanity for client, fix some things up for regions.
* Fix location name/id mappings.
* Fix client orb collection on connection.
* Fix minor Deathlink bug, add Update instructions.
* Finishing Touches (#36)
* Set up connector level thresholds, completion goal choices.
* Send AP sender/recipient info to game via client.
* Slight refactors.
* Refactor option checking, add DataStorage handling of traded orbs.
* Update instructions to change order of load/connect.
* Add Option check to ensure enough Locations exist for Cell Count thresholds. Fix Final Door region.
* Need some height move to get LPC sunken chamber cell.
* Rename completion_condition to jak_completion_condition (#41)
* The Afterparty (#42)
* Fixes to Jak client, rules, options, and more.
* Post-rebase fixes.
* Remove orbsanity reset code, optimize game text in client.
* More game text optimization.
* Added more specific troubleshooting/setup instructions.
* Add known issue about large releases taking time. (Dodge 6,666th commit.)
* Remove "Bundle of", Add location name groups, set better default RootDirectory for new players.
* Make orb trade amounts configurable, make orbsanity defaults more reasonable.
* Add HUD info to doc.
* Exempt's Code Review Updates (#43)
* Round 1 of code review updates, the easy stuff.
* Factor options checking away from region/rule creation.
* Code review updates round 2, more complex stuff.
* Code review updates round 3: the mental health annihilator
* Code review updates part 4: redemption.
* More code review feedback, simplifying code, etc.
* Added a host.yaml option to override friendly limits, plus a couple of code review updates.
* Added singleplayer limits, player names to enforcement rules.
* Updated friendly limits to be more strict, optimized recalculate logic.
* Today's the big day Jak: updates docs for mod support in OpenGOAL Launcher
* Rearranged and clarified some instructions, ADDED PATH-SPACE FIX TO CLIENT.
* Fix deathlink reset stalls on a busy client. (#47)
* Jak & Daxter Client : queue game text messages to get items faster during release (#48)
* queue game text messages to write them during the main_tick function and empty the message queue faster during release
* wrap comment for code style character limit
Co-authored-by: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
* remove useless blank line
Co-authored-by: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
* whitespace code style
Co-authored-by: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
* Move JsonMessageData dataclass outside of ReplClient class for code clarity
---------
Co-authored-by: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
* Item Classifications (and REPL fixes) (#49)
* Changes to item classifications
* Bugfixes to power cell thresholds.
* Fix bugs in item_type_helper.
* Refactor 100 cell door to pass unit tests.
* Quick fix to ReplClient.
* Not so quick fix to ReplClient.
* Display friendly limits in options tooltips.
* Use math.ceil like a normal person.
* Missed a space.
* Fix non-accessibility due to bad orb calculation.
* Updated documentation.
* More Options, More Docs, More Tests (#51)
* Reorder cell counts, require punch for Klaww.
* Friendlier friendly friendlies.
* Removed custom_worlds references from docs/setup guide, focused OpenGOAL Launcher language.
* Increased breadth of unit tests.
* Clean imports of unit tests.
* Create OptionGroups.
* Fix region rule bug with Punch for Klaww.
* Include Punch For Klaww in slot data.
* Update worlds/jakanddaxter/__init__.py
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Temper and Harden Text Client (#52)
* Provide config path so OpenGOAL can use mod-specific saves and settings.
* Add versioning to MemoryReader. Harden the client against user errors.
* Updated comments.
* Add Deathlink as a "statement of intent" to the YAML. Small updates to client.
* Revert deathlink changes.
* Update error message.
* Added color markup to log messages printed in text client.
* Separate loggers by agent, write markup to GUI and non-markup to disk simultaneously.
* Refactor MemoryReader callbacks from main_tick to constructor.
* Make callback names more... informative.
* Give users explicit instructions in error messages.
* Stellar Messaging (#54)
* Use new ap-messenger functions for text writing.
* Remove Powershell requirement, bump memory version to 3.
* Error message update w/ instructions for game crash.
* Create no console window for gk.
* ISO Data Enhancement (#58)
* Add iso-path as argument to GOAL compiler.
# Conflicts:
# worlds/jakanddaxter/Client.py
* More resilient handling of iso_path.
* Fixed scout fly ID mismatches.
* Corrected iso_data subpath.
* Update memory version to 4.
* Docs update for iso_data.
* Auto Detect OpenGOAL Install (#63)
* Auto detect OpenGOAL install path. Also fix Deathlink on server connection.
* Updated docs, add instructions to error messages.
* Slight tweak to error text.
* J&D : add per region location groups (#64)
* add per region power cells location group
* add per region scout flies location group
* add per zone orb bundle groups
(I'm not particularly happy about this code, but I figured doing it this way was the point of least friction/duplication)
* guess who forgot 9 very important characters in each line of the last commit
* Rearrange location group names, quick fix to client error handling.
* Fix pycharm warnings.
* Fix more pycharm warnings.
* Light cleanup: fix icons, add bug report page, remove py 3.8 code.
* Update worlds/jakanddaxter/Options.py
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/jakanddaxter/Options.py
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/jakanddaxter/Options.py
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/jakanddaxter/Options.py
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Code review updates on comments, tooltips, and type hints.
* Update type hint for lists in regions.
* Missed todo removal.
* More type hint updates.
* Small region updates for location accessibility, small updates to world guide and README.md.
* Add GMC scout fly location group.
* Improved sanitization of game text.
* Traps 2 (#70)
* Add trap items, relevant options, and citadel orb caches.
* Update REPL to send traps to game.
* Fix item counter.
* Allow player to select which traps to use.
* Fix host.yaml doc strings, ap-setup-options typing, bump memory version to 5.
* Alter some trap names.
* Update world doc.
* Add health trap.
* Added 3 more trap types.
* Protect against empty trap list.
* Reword traps paragraph in world doc.
* Another update to trap paragraph.
* Concisify trap option docstring.
* Timestamp on game log file.
* Update client to handle waiting on title screen.
* Send slot name and seed to game.
* Use self.random instead.
* Update setup doc for new title screen.
* Quick clarification of orb caches in world doc.
* Sanitize slot info earlier.
* Added to and improved unit tests.
* Light cleanup on world.
* Optimizations to movement rules, docs: known issues update.
* Quick fixes for beta 0.5.0 release: template options and LPC logic.
* Quick fix to spoiler counts.
* Reorganize world guide for faster navigation.
* Fix links.
* Update HUD section.
* Found a way to render apostrophes in item names.
* March Refactors (#77)
* Reorg imports, small fix to Rock Village movement.
* Fix wait-on-title message never going to ready message.
* Colorama init fix.
* Swap trap list for a dictionary of trap weights.
* The more laws, the less justice.
* Quick readability update.
* Have memory reader provide instructions for slow booting games.
* Revert some things.
* Update setup_en.md
* Update HUD mode lingo for combined msgs.
* Remade launcher icon, sized correctly.
* I don't know why I can't be satisfied with things.
* Apply suggestions from Scipio
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Properly use the settings API instead of Utils.
* Newline on requirements.txt.
* Add __init__ files for frozen builds.
* Replace an ap_inform function with a CommonClient built-in.
* Resize icon to match kivymd expected size.
* First round of Treble code reviews.
* Second round of Treble code reviews.
* Third round of Treble code reviews.
* Missed an unncessary if condition.
* Missed unnecessary comments.
* Fourth round of Treble code reviews.
* Switch trap dictionary to OptionCounter.
* Use existing slot name/seed from network protocol.
* Violet code review updates.
* Violet code review updates part 2.
* Refactor to avoid floating imports (Violet part 3).
* Found a few more valid characters for messaging.
* Move tests out of init, add colon to game name (now that it's safe).
* But don't include those chars for file text.
* Implement Vi suggestion on webhost-capable friendly limits.
* Revert "Implement Vi suggestion on webhost-capable friendly limits."
This reverts commit 2d012b7f4a9a4c13985ecd7303bb1fc646831c86.
* Rename all files for PEP8.
* Refactor how maximums work on webhost.
* Fix rogue UT.
* Don't rush.
* Fix client post-PEP8.
---------
Co-authored-by: Justus Lind <DeamonHunter@users.noreply.github.com>
Co-authored-by: Romain BERNARD <30secondstodraw@gmail.com>
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* shapez: Implement New Game (#3960)
Adds shapez as a supported game in AP.
* Super Mario Land 2: Implement New Game (#2730)
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Co-authored-by: alchav <alchav@jalchavware.com>
* Raft: Small Raft doc update, bugfix (#5008)
* Small doc touchups
* Advanced Scarecrow progressive
* Add period to doc
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
---------
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* DS3: Don't make unrandomized items into events (#5018)
The DS3 static randomizer uses the relative ordering of location names
to map between Archipelago's notion of location IDs and the static
randomizer's. Treating unrandomized locations as excluded can break this
behavior by removing some locations from the list, causing further
locations to be incorrectly assigned.
The only reason this wasn't a bigger problem up to this point was that
location order only matters on a per-region and per-item basis. That
means this only causes problems in practice when a single region has
multiple locations with the same default item, and some of those
locations are randomized while others are not. Since exclusions (and
thus randomization) are usually done based on item types, we managed to
dodge this bullet for a long time.
* core: Reconfigure stdout to utf8 (#5017)
* Core: generate templates faster and "cleaner" (#5019)
* Wargroove: apworld (#4764)
- Players and AI can sacrifice their own units and upload them to the multiworld.
- Players and AI can summon random units from the multiworld.
- Has 4 new separate options for how many sacrifices and summons either the player or the AI can make per level attempt.
- New /sacrifice_summon command to toggle sacrifices and summons on/off. Useful if the AI makes a level impossible with their summons.
- Linux Support.
- Is an apworld now.
---------
Co-authored-by: Raspberry Floof <raspberry@rosenthalcastle.org>
Co-authored-by: KScl <ks@rosenthalcastle.org>
Co-authored-by: Abigail Fox <Raspberryfloof@users.noreply.github.com>
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
* core: don't reconfigure stdout if it's fake (#5020)
* Wargroove: apworld doc fixes (#5023)
* WebHost: allow APPlayerContainers from "custom" worlds to be displayed in rooms (#4981)
Gives WebHost the ability to verify that a patch file is an APPlayerContainer (defined by #4331 as a APContainer containing the "player" field), and allowed it to display any patch file that it can verify is an APPlayerContainer.
* Wargroove: Cleanup `script_name` Component in `LauncherComponents` (#5021)
* TUNIC: Move some UT stuff out of init, put in UT poptracker integration support (#4967)
* OoT: Stop Using Utils.get_options (#4957)
* Tests: Create CollectionState after MultiWorld.worlds (#4949)
* Generate: Don't Force Player Name for Weights Files (#4943)
* The Messenger: Swap Options Docstrings to use rst, Add Option Groups (#4913)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Minecraft: Stop Using Utils.get_options (#4879)
* Core: Add State add/remove/set Helpers (#4845)
* The Messenger: Add a Component Icon and Description (#4850)
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* AHiT: Add Dweller Mask Requirement to Normal Logic Rush Hour (#4499)
* Stardew Valley: Move and Rework Monstersanity Tests (#4911)
* SDV: Fixed Import bases (#5025)
* CommonClient: Add docs for Attributes (#5003)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* FF1: Bizhawk Client and APWorld Support (#4448)
Co-authored-by: beauxq <beauxq@yahoo.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Launcher: Fix on File Drop Error Message (#5026)
* Docs: Update Snippets to Modern Type Hints (#4987)
* Core: only raise min_client_version for new gens (#4896)
* Core: Make `get_all_state` Sweeping Optional (#4828)
* Linux: avoid adding cwd to LD_LIBRARY_PATH (#5029)
When LD_LIBRARY_PATH is not set, the old code would also add
the current working directory to LD_LIBRARY_PATH, which is bad.
* shapez: Add game to README and CODEOWNERS (#5034)
* Aktualisieren von README.md
* Aktualisieren von CODEOWNERS
* Stardew Valley: Make animal catalog logically year 2 (#5032)
* Core: Fix a playthrough crash when a world uses "placement based logic" (#3915)
* Fix playthrough
* oops
* oops 2
* I don't like this
* that should do it
* Update BaseClasses.py
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Update BaseClasses.py
---------
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Launcher: skip launcher gui when opening webhost list with no game handlers (#4888)
* calc relevant components before opening the launcher app so it can be skipped for text client only uri launches
* generically passthrough the url arg
* Apply suggestions from code review
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* flip if not else
* Update Launcher.py
* pluralize
---------
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* The Messenger: more generous portal validation (#5011)
* The Messenger: more generous portal validation
* remove the while and just go for 20 attempts. hopefully that's enough
* Stardew Valley: Replace current naive entrance rando with GER (#4624)
* Stardew Valley: Added moss to statue of blessings recipe (#5038)
* BizHawkClient: Fix script to list all cores instead of explicit mapping (#5033)
* TWW: Only add Filler for Excluded Locations Which are Progress Locations (#4993)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Lingo: Fix The Bearer's Pilgrimage Logic (#5005)
* Raft: Implement get_filler_item_name and refactor filler item code a bit (#4782)
* refactor filler item creation for Raft, implement get_filler_item_name
* wrong indent
* Update worlds/raft/__init__.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* SDV: Fixed Region for two Parrot Locations (#5042)
* CV64: Allow Holding Z to Use the Regular Shimmy Speed (#4730)
* Add the shimmy modifier hack.
* Update the Increase Shimmy Speed option description.
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Core: Add descriptions to Components (#4849)
* Add descriptions to components
* Adhere to style guide
* Tweak BHC wording
* Trim Open Patch description
* Update text client description for consistency
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Remove newlines
---------
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Update OOT Guides (#5041)
* Update OOT Guides
* Minor update per review
* TWW: Update patch class (#5046)
* Webhost: update Flask to 3.1.1 (#5052)
* CVCotM: Add Nerf Roc Wing to Slot Data and HoD Max Ups to `other_game_item_appearances` (#5051)
* Timespinner: Fix Logic (#4803)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* TWW: Remove unnecessary items from slot data (#5045)
* Timespinner: Fix Logic Error with Risky Warp to Emperor's Tower and Lab Access (#4784)
Co-authored-by: sgrunt <sgrunt1987@gmail.com>
* Timespinner: Fix Connection Logic from Maw Cave Entrance to Maw (#4831)
Co-authored-by: sgrunt <sgrunt1987@gmail.com>
* Jak and Daxter: Post-merge Polish (#5031)
- Cleans up a few missed references in the setup guide.
- Refactors Options class to use metaclass and decorators to enforce friendly limits on multiple levels.
- Templates generated from the website, even ones with `random` should not fail generation because the website will only allow values inside the friendly limits.
- _Uploaded_ yamls to the website with `random`, should also now respect friendly limits without the need for `random-range` shenanigans.
- _Uploaded_ yamls to the website, or yamls that are used to generate locally, that have hard-defined values outside the friendly limits, will be clamped/dragged/massaged into those limits (with logged warnings).
- Removed an early completion goal that was playing havoc with fill. Not enough people seem to use this goal, so its loss will not be mourned.
* Stardew Valley: Fix Wizard Tower and Entrance Randomizer Softlocks (#4631)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Core and Various Worlds: define patch_file_ending to APPlayerContainer (#5058)
* move to playercontainer
* moves patch_file_ending handling to APPlayerContainer and updates the worlds using it to define their extensions
* give oot a patch_file_ending as well
* WebHost: Use expected APPlayerContainer manifest location directly when ingesting them #4754
* DLCQuest: Add missing indirect conditions (#5074)
The `Behind Rocks` and `Pickaxe Hard Cave` Entrances require being able
to reach the `Cut Content` region, but no indirect conditions were being
registered for this region.
The `set_lfod_self_obtained_items_rules` function was also using a
`world` parameter that was actually expecting a `MultiWorld` instance,
so I have renamed it for clarity and updated the function to use
`world.get_entrance()` rather than `multiworld.get_entrance()`.
Much of the rest of the file passes `MultiWorld` instances to `world`
parameters, but fixing all of these is out of the scope of the changes
in this patch, so has not been included.
* Plando Items: Fix count with empty locations/location #5040
* DKC3: Add missing indirect conditions (#5073)
A couple of Entrance access rules were checking for being able to reach
a Location, but a Location first checks for being able to reach its
parent Region, so it needs to be registered that access to that parent
Region can give access to the Entrance.
* SoE: remove outdated info from guide (#5064)
The client does not depend on Animation Frame anymore, so it can be backgrounded.
* Launcher/Utils: reset LD_LIBRARY_PATH for system EXEs (#5022)
* TUNIC: Fix decoupled ER + ladder storage making invalid entrances #5075
* Factorio: revamp args parsing and passing (#5036)
* DS3: Fix Non-Crow Itemlinking and Mark Aldrich Ruby and Twin Dragon Greatshield As Missable (#4510)
* Fix Branch (Not Crow)
* Oops
* Mark Aldrich Ruby as missable
* Expand comment
* Short circuit
* Mark Twin Dragon Greatshield as missable
* Add missable cause
* Timespinner: Fix Castle Ramparts Region Connection #5082
Co-authored-by: ehseezed <Ehseezed@users.noreply.github.com>
* Timespinner: Fixed generation error because of timezone locking (#5084)
* Fixed generation error because of timezone locking
* Refactored logic + prevent excluding warps when unchained keys in on
* shapez: Remove preset unittests #5086
* Launcher: Fix Cli Components when installed to a directory with a space (#5091)
* KH2: Give warning when client has cached locations (#5000)
* a
* disconnect when connect to wrong slot
* connection to the wrong seed fix
* seed_name is always none
* CI: Add GH_REPO environment variable to labeler (#5081)
* KH2: Raise Exception for Misusing DonaldGoofyStatsanity Option (#4710)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* fix saving princess's use of subprocess helpers (#5103)
* LTTP/SDV: use .name when appropriate in subtests (#5107)
* SA2B: Logic Fixes (#5095)
- Fixed King Boom Boo being able to appear in multiple boss gates
- `Final Rush - 16 Animals (Expert)` no longer requires `Sonic - Bounce Bracelet`
- `Dry Lagoon - 5 (Standard)` now requires `Rouge - Pick Nails`
- `Sand Ocean - Extra Life Box 2 (Standard/Hard/Expert)` no longer requires `Eggman - Jet Engine`
- `Security Hall - 8 Animals (Expert)` no longer requires `Rouge - Pick Nails`
- `Sky Rail - Item Box 8 (Standard)` now requires `Shadow - Air Shoes` and `Shadow - Mystic Melody`
- `Cosmic Wall - Chao Key 1 (Standard/Hard/Expert)` no longer requires `Eggman - Mystic Melody`
- `Cannon's Core - Pipe 2 (Expert)` no longer requires `Tails - Booster`
- `Cannon's Core - Gold Beetle` no longer requires `Tails - Booster` nor `Knuckles - Hammer Gloves`
* Item Plando: Fix `count` value (#5101)
* Stardew Valley: Fix 3 Logic Issues (#5094)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* ALTTP: Fix take_any leaving a placed item in the multiworld itempool #5108
* Aquaria: Fixing open waters urns not breakable with nature forms logic bug (#5072)
* Fixing open waters urns not breakable with nature forms logic bug
* Using list in comprehension only when useful
* Replacing damaging items by a constant
* Removing comprehension list creating from lambda
* Shivers: Fix get_pre_fill_items (#5113)
* Plando Items: Fix Location Groups Unfolding (#5099)
* DS3: Apply Rules to Non-Randomized Locations (#5106)
* Plando Items: Better Warning for Nonexisting Worlds (#5112)
* AdventureClient: Replace Utils.get_settings with settings.get_settings #5043
* Core: Docstring typo on Region.add_exits (#5089)
* doc typo
* Update BaseClasses.py
* Remove Minecraft (#4672)
* Remove Minecraft
* remove minecraft
* remove minecraft
* elif -> if
---------
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* MMBN3: Fixes Generation Errors and General UX Smoothing (#5077)
Co-authored-by: qwint <qwint.42@gmail.com>
* Make sure ladx removes the same copy of the starting item from the itempool that it's placing (#5110)
* DS3: Link to the Appropriate .NET Runtime for Proton (#5093)
* shapez: Change Links to Shapesanity Cheat Sheet (#5047)
* Docs: Rework the "Events" Section of `world api.md` (#5012)
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Minecraft Removal Cleanup (#5118)
* Docs: Update Plando Guide and Make it More User Friendly (#4858)
* Make plando guide more user friendly.
* Apply suggestions from code review
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Further updates for review.
* Clear search box when filtering by type.
* Forget previous commit name - more code review updates to doc.
* Move link to yaml tutorial.
* Replace STS example with Pokemon RB.
* Use non-key item examples in RB.
* Rooby's code review updates.
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Address some more feedback.
* Make Factorio example more accurate.
* Exempt's code review updates (round 4)
* Exempt's code review updates (round 4 + 1)
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* KDL3: update to gifting protocol 3 and update settings usage (#4814)
* gift version 3
* update settings usage
* that really has just been broken this entire time
* remove unnecessary print
* Update client.py
* fix random flavor handling
* fix incorrect sender/receiver
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Kivy: swap from the tab carousel to navigation bar (#4930)
* implement tabs as NavigationBar
* update the underline bar with the screen manager
* remove some unneeded kv
* remove the underline in favor of a full tab highlight
* fix insert transitions
* use on_release instead of on_press
* minor cleanup
* add remove_client_tab and add a caller to the NavigationBar for back compat
* unused imports
* Update kvui.py
---------
Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* core: Don't attempt to write to the inside of an OSX App Bundle (#4380)
* core: Frozen OSX should also use Home Directory
* Use Application Support instead of homedir
* Suggested changes
* Pokémon RB: Use new link for a new tracker (#5122)
* Update setup_en.md
* Update setup_es.md
* Pokemon RB: Client: Send bounce messages with current map ID (#5121)
* Civilization VI: Updated setup and info pages (#5123)
* Update setup_en.md
Updated setup instructions for Civilization VI in Archipelago
* Update en_Civilization VI.md
Updated info page for Civilization VI in Archipelago
* Update setup_en.md
* CVCotM: Fix Advance Collection ROM (#5132)
* TWW: Update Preset S7 to S8 (#5138)
* Wargroove: Fix Communication Thread (#5125)
* TWW: Fix Swords in Swordless Mode (#5137)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* SDV: Add "Desert Transportation" and "Island Transportation" Item Groups (#5143)
* Update world api.md (#5149)
* Stardew Valley: Fixed luck level requirements for slot machines #5160
# Conflicts:
# worlds/stardew_valley/data/craftable_data.py
* Docs: 'get_prefill_items' -> 'get_pre_fill_items' (#5167)
* CommonClient: fix extra panels added to `main_area_container` (#5151)
* Core: ensure slot_data and er_hint_info are only base data types (#5144)
---------
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Core: Take Counter back out of RestrictedUnpickler #5169
* [Jak and Daxter] Auto Detect Install Path after Game Launcher Update #5152
* Factorio: Fix link to world_gen documentation (#5171)
* DLCQ: Fix/Refactor LFoD Start Inventory (#5176)
* CIV 6: Remove Erroneous Boost Prereqs for Computers Boost (#5134)
* Core: Replace Clique with V6 in unit tests (#5181)
* replace Clique with V6 in unit tests
* no hard mode in V6
* modify regex in copy_world to allow : str
* oops
* I see now
* work around all typing
* there actually needs to be something
* Various: Remove Rogue Legacy and Clique (#5177)
* Various: Remove Rogue Legacy and Clique
* Remove Clique from setup.py and revert network diagram.md change.
* Try again.
* Update network diagram.md
---------
Co-authored-by: Zach “Phar” Parks <phar@pharware.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Revert "Core: Take Counter back out of RestrictedUnpickler" (#5184)
* Revert "Core: Take Counter back out of RestrictedUnpickler #5169"
This reverts commit 95e09c8e2a681ecd5666822b04fe7fed3ed9dec1.
* Update Utils.py
* LADX: Update marin.txt (#5178)
* Stardew Valley: Remove Rarecrow Locations from Night Market when Museumsanity is Disabled (#5146)
* TUNIC: Add UT Support for Breakables (#5182)
* TUNIC: Fix missing line for UT stuff #5185
* Muse Dash: Update song list to Rotaeno Update/7th Anniversary (#5066)
* Doc: match statement in style guide (#5187)
* Test: add micro benchmark for match
* Doc: add 'match' to python style guide
* Core: Update UUID handling to be more easily sharable between libraries (#5088)
moves uuid caching to appdata and uuid generation to be a random uuid instead of getnode's hardware address driven identifier and updates docs to point to the shared cache
* Super Metroid: Only Put Relevant Options in `slot_data` (#5192)
* first working single-world randomized SM rom patches
* - SM now displays message when getting an item outside for someone else (fills ROM item table)
This is dependant on modifications done to sm_randomizer_rom project
* First working MultiWorld SM
* some missing things:
- player name inject in ROM and get in client
- end game get from ROM in client
- send self item to server
- add player names table in ROM
* replaced CollectionState inheritance from SMBoolManager with a composition of an array of it (required to generation more than one SM world, which is still fails but is better)
* - reenabled balancing
* post rebase fixes
* updated SmClient.py
* + added VariaRandomizer LICENSE
* + added sm_randomizer_rom project (which builds sm.ips)
* Moved VariaRandomizer and sm_randomizer_rom projects inside worlds/sm and done some cleaning
* properly revert change made to CollectionState and more cleaning
* Fixed multiworld support patch not working with VariaRandomizer's
* missing file commit
* Fixed syntax error in unused code to satisfy Linter
* Revert "Fixed multiworld support patch not working with VariaRandomizer's"
This reverts commit fb3ca18528bb331995e3d3051648c8f84d04c08b.
* many fixes and improovement
- fixed seeded generation
- fixed broken logic when more than one SM world
- added missing rules for inter-area transitions
- added basic patch presence for logic
- added DoorManager init call to reflect present patches for logic
- moved CollectionState addition out of BaseClasses into SM world
- added condition to apply progitempool presorting only if SM world is present
- set Bosses item id to None to prevent them going into multidata
- now use get_game_players
* first working (most of the time) progression generation for SM using VariaRandomizer's rules, items, locations and accessPoint (as regions)
* first working single-world randomized SM rom patches
* - SM now displays message when getting an item outside for someone else (fills ROM item table)
This is dependant on modifications done to sm_randomizer_rom project
* First working MultiWorld SM
* some missing things:
- player name inject in ROM and get in client
- end game get from ROM in client
- send self item to server
- add player names table in ROM
* replaced CollectionState inheritance from SMBoolManager with a composition of an array of it (required to generation more than one SM world, which is still fails but is better)
* - reenabled balancing
* post rebase fixes
* updated SmClient.py
* + added VariaRandomizer LICENSE
* + added sm_randomizer_rom project (which builds sm.ips)
* Moved VariaRandomizer and sm_randomizer_rom projects inside worlds/sm and done some cleaning
* properly revert change made to CollectionState and more cleaning
* Fixed multiworld support patch not working with VariaRandomizer's
* missing file commit
* Fixed syntax error in unused code to satisfy Linter
* Revert "Fixed multiworld support patch not working with VariaRandomizer's"
This reverts commit fb3ca18528bb331995e3d3051648c8f84d04c08b.
* many fixes and improovement
- fixed seeded generation
- fixed broken logic when more than one SM world
- added missing rules for inter-area transitions
- added basic patch presence for logic
- added DoorManager init call to reflect present patches for logic
- moved CollectionState addition out of BaseClasses into SM world
- added condition to apply progitempool presorting only if SM world is present
- set Bosses item id to None to prevent them going into multidata
- now use get_game_players
* Fixed multiworld support patch not working with VariaRandomizer's
Added stage_fill_hook to set morph first in progitempool
Added back VariaRandomizer's standard patches
* + added missing files from variaRandomizer project
* + added missing variaRandomizer files (custom sprites)
+ started integrating VariaRandomizer options (WIP)
* Some fixes for player and server name display
- fixed player name of 16 characters reading too far in SM client
- fixed 12 bytes SM player name limit (now 16)
- fixed server name not being displayed in SM when using server cheat ( now displays RECEIVED FROM ARCHIPELAGO)
- request: temporarly changed default seed names displayed in SM main menu to OWTCH
* Fixed Goal completion not triggering in smClient
* integrated VariaRandomizer's options into AP (WIP)
- startAP is working
- door rando is working
- skillset is working
* - fixed itemsounds.ips crash by always including nofanfare.ips into multiworld.ips (itemsounds is now always applied and "itemsounds" preset must always be "off")
* skillset are now instanced per player instead of being a singleton class
* RomPatches are now instanced per player instead of being a singleton class
* DoorManager is now instanced per player instead of being a singleton class
* - fixed the last bugs that prevented generation of >1 SM world
* fixed crash when no skillset preset is specified in randoPreset (default to "casual")
* maxDifficulty support and itemsounds removal
- added support for maxDifficulty
- removed itemsounds patch as its always applied from multiworld patch for now
* Fixed bad merge
* Post merge adaptation
* fixed player name length fix that got lost with the merge
* fixed generation with other game type than SM
* added default randoPreset json for SM in playerSettings.yaml
* fixed broken SM client following merge
* beautified json skillset presets
* Fixed ArchipelagoSmClient not building
* Fixed conflict between mutliworld patch and beam_doors_plms patch
- doorsColorsRando now working
* SM generation now outputs APBP
- Fixed paths for patches and presets when frozen
* added missing file and fixed multithreading issue
* temporarily set data_version = 0
* more work
- added support for AP starting items
- fixed client crash with gamemode being None
- patch.py "compatible_version" is now 3
* commited missing asm files
fixed start item reserve breaking game (was using bad write offset when patching)
* Nothing item are now handled game-side. the game will now skip displaying a message box for received Nothing item (but the client will still receive it).
fixed crash in SMClient when loosing connection to SNI
* fixed No Energy Item missing its ID
fixed Plando
* merge post fixes
* fixed start item Grapple, XRay and Reserve HUD, as well as graphic beams (except ice palette color)
* fixed freeze in blue brinstar caused by Varia's custom PLM not being filled with proper Multiworld PLM address (altLocsAddresses)
* fixed start item x-ray HUD display
* Fixed start items being sent by the server (is all handled in ROM)
Start items are now not removed from itempool anymore
Nothing Item is now local_items so no player will ever pickup Nothing. Doing so reduces contribution of this world to the Multiworld the more Nothing there is though.
Fixed crash (and possibly passing but broken) at generation where the static list of IPSPatches used by all SM worlds was being modified
* fixed settings that could be applied to any SM players
* fixed auth to server only using player name (now does as ALTTP to authenticate)
* - fixed End Credits broken text
* added non SM item name display
* added all supported SM options in playerSettings.yaml
* fixed locations needing a list of parent regions (now generate a region for each location with one-way exits to each (previously) parent region
did some cleaning (mainly reverts on unnecessary core classes
* minor setting fixes and tweaks
- merged Area and lightArea settings
- made missileQty, superQty and powerBombQty use value from 10 to 90 and divide value by float(10) when generating
- fixed inverted layoutPatch setting
* added option start_inventory_removes_from_pool
fixed option names formatting
fixed lint errors
small code and repo cleanup
* Hopefully fixed ROR2 that could not send any items
* - fixed missing required change to ROR2
* fixed 0 hp when respawning without having ever saved (start items were not updating the save checksum)
* fixed typo with doors_colors_rando
* fixed checksum
* added custom sprites for off-world items (progression or not)
the original AP sprite was made with PierRoulette's SM Item Sprite Utility by ijwu
* - added missing change following upstream merge
- changed patch filename extension from apbp to apm3 so patch can be used with the new client
* added morph placement options: early means local and sphere 1
* fixed failing unit tests
* - fixed broken custom_preset options
* - big cleanup to remove unnecessary or unsupported features
* - more cleanup
* - moved sm_randomizer_rom and all always applied patches into an external project that outputs basepatch.ips
- small cleanup
* - added comment to refer to project for generating basepatch.ips (https://github.com/lordlou/SMBasepatch)
* fixed g4_skip patch that can be not applied if hud is enabled
* - fixed off world sprite that can have broken graphics (restricted to use only first 2 palette)
* - updated basepatch to reflect g4_skip removal
- moved more asm files to SMBasepatch project
* - tourian grey doors at baby metroid are now always flashing (allowing to go back if needed)
* fixed wrong path if using built as exe
* - cleaned exposed maxDifficulty options
- removed always enabled Knows
* Merged LttPClient and SMClient into SNIClient
* added varia_custom Preset Option that fetch a preset (read from a new varia_custom_preset Option) from varia's web service
* small doc precision
* - added death_link support
- fixed broken Goal Completion
- post merge fix
* - removed now useless presets
* - fixed bad internal mapping with maxDiff
- increases maxDiff if only Bosses is preventing beating the game
* - added support for lowercase custom preset sections (knows, settings and controller)
- fixed controller settings not applying to ROM
* - fixed death loop when dying with Door rando, bomb or speed booster as starting items
- varia's backup save should now be usable (automatically enabled when doing door rando)
* -added docstring for generated yaml
* fixed bad merge
* fixed broken infinity max difficulty
* commented debug prints
* adjusted credits to mark progression speed and difficulty as Non Available
* added support for more than 255 players (will print Archipelago for higher player number)
* fixed missing cleanup
* added support for 65535 different player names in ROM
* fixed generations failing when only bosses are unreachable
* - replaced setting maxDiff to infinity with a bool only affecting boss logics if only bosses are left to finish
* fixed failling generations when using 'fun' settings
Accessibility checks are forced to 'items' if restricted locations are used by VARIA following usage of 'fun' settings
* fixed debug logger
* removed unsupported "suits_restriction" option
* fixed generations failing when only bosses are unreachable (using a less intrusive approach for AP)
* - fixed deathlink emptying reserves
- added death_link_survive option that lets player survive when receiving a deathlink if the have non-empty reserves
* - merged death_link and death_link_survive options
* fixed death_link
* added a fallback default starting location instead of failing generation if an invalid one was chosen
* added Nothing and NoEnergy as hint blacklist
added missing NoEnergy as local items and removed it from progression
* reduced slot_data to only what should be needed by PopTracker (for https://github.com/ArchipelagoMW/Archipelago/pull/5039)
* Core: Adds Visual Formatting to Option Group Headers in Template Yamls (#5092)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* CC: Add Assert to Catch Old Datapackage Lookup API (#5131)
* Core: Assert that all the items in the multiworld itempool are actually unplaced at the start of distribute_items_restrictive (#5109)
* Assert at the beginning of distribute items restrictive that no items in the itempool already have locations associated with them
* actual message
* placement
* oops
* Update Fill.py
* Core: Crash on full accessibility if there are unreachable locations (Yes, you read that right) #3787
* Core: Cleanup: Replace direct calling of dunder methods on objects (#4584)
Calling the dunder method has to:
1. Look up the dunder method for that object/class
2. Bind a new method instance to the object instance
3. Call the method with its arguments
4. Run the appropriate operation on the object
Whereas running the appropriate operation on the object from the start
skips straight to step 4.
Region.Register.__getitem__ is called a lot without #4583. In that case,
generation of 10 template Blasphemous yamls with
`--skip_output --seed 1` and progression balancing disabled went from
19.0s to 18.8s (1.3% reduction in generation duration).
From profiling with `timeit`
```py
def __getitem__(self, index: int) -> Location:
return self._list[index]
```
appears to be about twice as fast as the old code:
```py
def __getitem__(self, index: int) -> Location:
return self._list.__getitem__(index)
```
Besides this, there is not expected to be any noticeable difference in
performance, and there is not expected to be any difference in semantics
with these changes.
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* Core: Cache previous swap states to use as the base state to sweep from (#3859)
The previous swap_state can often be used as the base state to create
the next swap_state. This previous swap_state will already have
collected all items in item_pool and is likely to have checked many
locations, meaning that creating the next swap_state from it instead of
from base_state is faster.
From generating with extra code to raise an exception if more than 2
previous swap states were used, and using A Hat in Time and Pokemon
Red/Blue yamls that often result in lots of swapping in progression
fill, I could not get a single seed go through more than 2 previous swap
states. A few worlds' pre-fills do often use more than 2 previous swap
states, notably LADX which sometimes goes through over 20.
Given a 20 player Pokemon Red/Blue multiworld that usually generates in
around 16 or 17 seconds, but on a specific seed that results in 56
swaps, generation went from about 260 seconds before this patch to about
104 seconds after this patch (generated with a meta.yaml to disable
progression balancing and `python -O Generate.py --skip_output`).
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* Core: Add new ItemClassification "deprioritized" which will not be placed on priority locations (if possible) (#4610)
* Add new deprioritized item flag
* 4 retries
* indent
* .
* style
* I think this is nicer
* Nicer
* remove two lines again that I added unnecessarily
* I think this test makes a bit more sense like this
* Idk how to word this lol
* Add progression_deprioritized_skip_balancing bc why not ig
* More text
* Update Fill.py
* Update Fill.py
* I am the big stupid
* Actually collect the other half of progression items into state when filling without them
* More clarity on the descriptions (hopefully)
* visually separate technical description and use cases
* Actually make the call do what the comments say it does
* Stardew Valley: Add French Guide (#4697)
Co-authored-by: tmarquis <thomas.marquis@cellance.com>
* Core: increment version (#5194)
* Hollow Knight: Explicitly Exclude Palace Items as Filler (#5119)
* Witness: Add French and German Setup Documentation (#2527)
Co-authored-by: Lolo <lowgau@gmail.com>
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Hollow Knight: Add Spanish Language Docs (#5156)
Co-authored-by: qwint <qwint.42@gmail.com>
* Various Games: Improve Custom Death Link Option Description (#4171)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: LiquidCat64 <74896918+LiquidCat64@users.noreply.github.com>
* Core: Don't Cache the `get_all_state` Result (#4795)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* TUNIC: Update Tests Per #4982 (#5191)
* The Witness: Add Glass Factory Entry Panel as a location in all options #4695
* Dics: Add Webhost API Documententation (#4887)
* capitialization changes
* ditto
* Revert "ditto"
This reverts commit 17cf596735888e91850954c7306ce0b80d7e453d.
* Revert "capitialization changes"
This reverts commit 6fb86c6568da2c08b5f8e691d4fc810e3ab09a44.
* full revert and full commit
* Update docs/webhost api.md
Co-authored-by: qwint <qwint.42@gmail.com>
* Update docs/webhost api.md
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* Update docs/webhost api.md
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* Update webhost api.md
* Removed in-devolopment API
* Apply standard capitilization and grammar flow
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* declarative language
* Apply suggestions from code review
Co-authored-by: qwint <qwint.42@gmail.com>
* datapackage_checksum clarification, and /datapackage clairfication
* /dp/checksum clarification
* Detailed responces and /generation breakdown
* Update webhost api.md
* Made output anonomous
* Update docs/webhost api.md
Co-authored-by: qwint <qwint.42@gmail.com>
* Swapped IDs to UUID, and added language around UUID vs SUUID
* Apply suggestions from code review
formatting and grammar
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Condensed paragraphs and waterfalled headders
---------
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* WebHostLib: Properly Format IDs in API Responses (#4944)
* update the id formatter to use staticmethods to not fake the unused self arg, and then use the formatter for the user session endpoints
* missed an id (ty treble)
* clean up duplicate code
* Update WebHostLib/__init__.py
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* keep the BaseConverter format
* lol, change all the instances
* revert this
---------
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* Docs: Clean up SUUID Post #4944 (#5196)
* Stardew Valley: Add walnutsanity prefix to locations (#4934)
* AHIT: Fix Test Fail for assert_not_all_options (#5197)
* Options: Assert Not All Option in `Options.as_dict` (#5039)
* Options: forbid worlds just dumping every single option they don't need
* make the equal proper
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Lingo: Fix Painting Gen Failures on Panels Mode Door Shuffle (#5199)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Docker: Add initial configuration for project (#4419)
* feat(docker): Add initial Docker configuration for project
- Add .dockerignore file to ignore unnecessary files
- Create Dockerfile with basic build and deployment configuration
* feat(docker): Updated Docker configuration for improved security and build efficiency
- Removed sensitive files from .dockerignore
- Moved WORKDIR to /app in Dockerfile
- Added gunicorn==23.0.0 dependency in RUN command
- Created new docker-compose.yml file for service definition
* feat(deployment): Implement containerized deployment configuration
- Add additional environment variables for Python optimization
- Update Dockerfile with new dependencies: eventlet, gevent, tornado
- Create docker-compose.yml and configure services for web and nginx
- Implement example configurations for web host settings and gunicorn
- Establish nginx configuration for reverse proxy
- Remove outdated docker-compose.yml from root directory
* feat(deploy): Introduce Docker Compose configuration for multi-world deployment
- Separate web service into two containers, one for main process and one for gunicorn
- Update container configurations for improved security and maintainability
- Remove unused volumes and network configurations
* docs: Add new documentation for deploying Archipelago using containers
- Document standalone image build and run process
- Include example Docker Compose file for container orchestration
- Provide information on services defined in the `docker-compose.yaml` file
- Mention optional Enemizer feature and Git requirements
* fixup! feat(docker): Updated Docker configuration for improved security and build efficiency - Removed sensitive files from .dockerignore - Moved WORKDIR to /app in Dockerfile - Added gunicorn==23.0.0 dependency in RUN command - Created new docker-compose.yml file for service definition
* feat(deploy): Updated gunicorn configuration example
- Adjusted worker and thread counts
- Switched worker class from sync to gthread
- Changed log level to info
- Added example code snippet for customizing worker count
* fix(deploy): Adjust concurrency settings for self-launch configuration
- Reduce the number of world generators from 8 to 3
- Decrease the number of hosters from 5 to 4
* docs(deploy using containers): Improve readability, fix broken links
- Update links to other documentation pages
- Improve formatting for better readability
- Remove unnecessary sections and files
- Add note about building the image requiring a local copy of ArchipelagoMW source code
* Update deploy/example_config.yaml
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Update deploy/example_selflaunch.yaml
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Update Dockerfile
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Update deploy/example_selflaunch.yaml
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* fixup! Update Dockerfile
* fix(Dockerfile): Update package installations to use latest versions
- Remove specific version pins for git and libc6-dev
- Ensure compatibility with newer package updates
* feat(ci): Add GitHub Actions workflow for building and publishing Docker images
- Create a new workflow for Docker image build and publish
- Configure triggers for push and pull_request on main branch
- Set up QEMU and Docker Buildx for multi-platform builds
- Implement Docker login for GitHub Container Registry
- Include Docker image metadata extraction and tagging
* feat(healthcheck): Update Dockerfile and docker-compose for health checks
- Add health check for the Webhost service in Dockerfile
- Modify docker-compose to include a placeholder health check for multiworld service
- Standardize comments and remove unnecessary lines
* Revert "feat(ci): Add GitHub Actions workflow for building and publishing Docker images"
This reverts commit 32a51b272627d99ca9796cbfda2e821bfdd95c70.
* feat(docker): Enhance Dockerfile with Cython build stage
- Add Cython builder stage for compiling speedups
- Update package installation and organization for efficiency
- Improve caching by copying requirements before installing
- Add documentation for rootless Podman
* fixup! feat(docker): Enhance Dockerfile with Cython build stage - Add Cython builder stage for compiling speedups - Update package installation and organization for efficiency - Improve caching by copying requirements before installing - Add documentation for rootless Podman
---------
Co-authored-by: Adrian Priestley <apriestley@gmail.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
Co-authored-by: Adrian Priestley <apriestley@bob.localdomain>
* Super Metroid: Improve Option Descriptions and Add Option Groups (#5100)
* SMZ3: Add Yaml Options to Slot Data (#5111)
* Raft: Fix filler_item_types TypeError introduced in #4782 (#5203)
* Dockerfile/Core: Prevent module update during container runtime (#5205)
* fix(env): Prevent module update during requirements processing
- Add environment variable SKIP_REQUIREMENTS_UPDATE check
- Ensure update is skipped if SKIP_REQUIREMENTS_UPDATE is set to true
* squash! fix(env): Prevent module update during requirements processing - Add environment variable SKIP_REQUIREMENTS_UPDATE check - Ensure update is skipped if SKIP_REQUIREMENTS_UPDATE is set to true
* ALttP: Fix `pre_fill` State Sweeping Too Early (#5215)
* OoT: Fix remove not invalidating cached reachability (#5222)
Collecting an item into a CollectionState without sweeping, finding all
reachable locations, removing that item from the state, and then finding
all reachable locations again could result in more locations being
reachable than before the item was initially collected into the
CollectionState.
This issue was present because OoT was not invalidating its reachable
region caches for the different ages when items were removed from the
CollectionState.
To fix the issue, this PR has updated `OOTWorld.remove()` to invalid its
ca…
xMcacutt
pushed a commit
to xMcacutt/Archipelago-TyTheTasmanianTiger
that referenced
this pull request
Aug 31, 2025
xMcacutt
pushed a commit
to xMcacutt/Archipelago-TyTheTasmanianTiger
that referenced
this pull request
Aug 31, 2025
Ars-Ignis
added a commit
to Ars-Ignis/Archipelago
that referenced
this pull request
Oct 23, 2025
commit a36e6259f1cb6d11a5fa79637778ad70e754860c
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Sat Jul 26 15:01:40 2025 -0600
Core: Add `restricted_dumps` helper (#5117)
* Add pickling helper that check unpicklability
* Add test condition and generation error handling
* Fix incorrect call and make imports consistent
* Fix newline padding
* Change PicklingError to directly caused by UnpicklingError
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Revert to `pickle.dumps` for decompressed multidata
* Fix import order
* Restore pickle import in main
* Re-add for multidata in Main
* Remove multisave checks
* Update MultiServer.py
* Update customserver.py
---------
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
commit de4014f02c3cbf199b35e046ea3b65da57670b89
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Sat Jul 26 16:30:55 2025 -0400
Core/Tests: No Locality Changes After `generate_early` (#4481)
* Change timing of locality option locking
* Update world api.md
* Remove whitespace
commit 774457b362d4497b3dba07231db7e3b39c147f0c
Author: Alchav <59858495+Alchav@users.noreply.github.com>
Date: Sat Jul 26 16:25:06 2025 -0400
LTTP: Add Missing Crystal Switch Logic (#4638)
commit 7a8048a8fddbb016de0f9e73bff7067e9a786d43
Author: threeandthreee <alex@3and3.dev>
Date: Sat Jul 26 16:16:00 2025 -0400
LADX: generate without rom (#4278)
commit fa49fef6958f04557f5f7c55ba5ab4f8b3511a59
Author: qwint <qwint.42@gmail.com>
Date: Sat Jul 26 15:13:15 2025 -0500
Core: use patch extension register directly (#4375)
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
commit faac2540bf5089fadd205258c5c61d8112cde5e1
Author: threeandthreee <alex@3and3.dev>
Date: Sat Jul 26 13:32:59 2025 -0400
LADX: fix marin text splitting #5225
commit 4e1eb78163f9008f0812b8da3a0478c9a61dbfd7
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Sat Jul 26 19:30:38 2025 +0200
MultiServer: Fix LocationScouts with "only_new" broadcasting hints for found locations over and over (#4482)
* Hints PR number 42069
* Make it explicit
* clarify
* oops
* Port the change to CreateHints
commit 46829487d666f528218e146b1bb9dd1e351d7f65
Author: Adrian Priestley <47989725+a-priestley@users.noreply.github.com>
Date: Sat Jul 26 12:18:39 2025 -0230
fix(docker): Correct copy command to use recursive flag for EnemizerCLI (#5211)
* fix(docker): Correct copy command to use recursive flag for EnemizerCLI
- Changed 'cp' to 'cp -r' to properly copy EnemizerCLI directory
* docs(deployment): Update container deployment documentation
- Specify minimum versions for Docker and Podman
- Add requirement for Docker Buildx plugin
commit 8fd021e75724061e5cd73e9f7814c56e0ab5d844
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Sat Jul 26 13:59:35 2025 +0100
Core: Speed up CollectionState sweeping (#3812)
* Sweep events per-player to reduce sweep iterations
By finding all accessible locations per player and then collecting the
items from those locations, if any collected items belong to a different
player, then that player may be able to access more locations the next
time all of their accessible locations are found. This reduces the
number of iterations necessary to sweep through and collect from all
accessible locations.
* Also sweep per-player in MultiWorld.can_beat_game
* Deduplicate code by using sweep_for_events in can_beat_game
sweep_for_events has been modified to be able to return a generator and
to be able to change the set of locations that are filtered out. This
way, the same code can be used by both functions.
* Skip checking locations by assuming each world only logically depends on itself
While this assumption almost always holds true, worlds are allowed to
logically depend on other worlds, so the sweep always double checks at
the end by checking the locations of every world before finishing.
* Fix missed update to CollectionState.collect implementation
Collecting items with prevent_sweep=True (previously event=True) no
longer always returns True, so the return value should now be checked.
* Comment and variable name consistency/clarity
accessible/inaccessible -> reachable/unreachable
final sweep iteration -> extra sweep iteration
maybe_final_sweep -> checking_if_finished
* Apply suggestions from code review
Use Iterator in return type hint instead of Iterable to help indicate that the returned value can only be iterated once.
Be consistent in return statements. Because sweep_for_events can return a value now, the conditional branch that has no intended return value should explicitly return None.
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Update terminology from 'event' to 'advancement'
* Add typing overloads for sweep_for_advancements
This makes it so type-checkers and IDEs can see which calls return
`None` and which calls return `Iterator` so that it doesn't complain
about returning an `Iterator` from `sweep_for_events` or about iterating
through `None` in `can_beat_game`.
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Update comment for why discard the player after finding their locations
A lack of clarity was brought up in review.
* Update for removed typing import
---------
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
commit a3af953683fc60a36956d883df39087ce2c8dab3
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Sat Jul 26 14:12:45 2025 +0200
WebHost: list unrecognized games as Other in stats (#5236)
commit f27da5cc78ce29dd2aff4290041ff5d153047c3b
Author: Bryce Wilson <gyroscope15@gmail.com>
Date: Sat Jul 26 03:42:55 2025 -0700
BizHawkClient: Add command to pass server messages to emulator (#3039)
commit 23f0b720de2337af5114446ee3bc93b03bd9c649
Author: qwint <qwint.42@gmail.com>
Date: Fri Jul 25 21:18:36 2025 -0500
CommonClient: update commands to function without local apworld (#3045)
commit f66d8e9a61806b888d1c02f616669101c636bd7c
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Fri Jul 25 17:23:39 2025 -0600
WebHost: Update some typing in WebHostLib (#5069)
commit 8499c2fd248428dcb8e30ab524e5d1c4b3f57565
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Fri Jul 25 15:10:31 2025 -0400
Options: Add PlandoItems to Item&Loc Option Group (#5201)
commit ea4c4dcc0c431067ac11a000c54f55692ee04188
Author: mobby45 <68152858+mobby45@users.noreply.github.com>
Date: Fri Jul 25 21:08:51 2025 +0200
The Wind Waker: Adding French Translation for Guides (#5174)
* Add files via upload
* Delete fr_The Wind Waker.md
* Delete setup_fr.md
* Add files via upload
* Update fr_The Wind Waker.md
* Update fr_The Wind Waker.md
* Update fr_The Wind Waker.md
* Update worlds/tww/docs/fr_The Wind Waker.md
I agree with that okat!
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
Agreed
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
agreed!
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
agreed!
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
agreed!
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
forgot to remove that, ok
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
agreed!
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
Okay!
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Agreed
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
agreed
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
agreed
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update fr_The Wind Waker.md
* Update worlds/tww/docs/fr_The Wind Waker.md
okay!
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update setup_fr.md
* Update setup_fr.md
* Update fr_The Wind Waker.md
Modifying lines
* Update setup_fr.md
Character Limits Update
* Update worlds/tww/docs/setup_fr.md
ok
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update worlds/tww/docs/fr_The Wind Waker.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update en_The Wind Waker.md
* Update worlds/tww/docs/setup_fr.md
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update __init__.py
* Update __init__.py
* Update worlds/tww/__init__.py
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
* Update __init__.py
---------
Co-authored-by: Jonathan Tan <tanjo3@users.noreply.github.com>
commit 88e8e2408b3770b4f6e9d1b69f69d2fb1078202f
Author: BadMagic100 <dempsey.sean@outlook.com>
Date: Fri Jul 25 11:55:22 2025 -0700
GER: Move EntranceLookup onto ERPlacementState. Improve usefulness of on_connect. (#4904)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit e5815ae5a2eeca81aad7d8c862fb498fa8760341
Author: Justus Lind <DeamonHunter@users.noreply.github.com>
Date: Sat Jul 26 04:47:59 2025 +1000
Muse Dash: Update to Rhythm Master Collab (#5235)
* Rhythm Master Collab
* Deprioritze Music Sheets.
* Oops missed this definition.
commit 387f79ceae1b8fbf93a152700e3e0960a45a6102
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Fri Jul 25 07:15:34 2025 +0000
setup: Downgrade bundled SNI to 0.0.100 (#5228)
commit bae1259abad74369313632703e0b43c94cbac387
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Fri Jul 25 07:06:22 2025 +0000
CI: switch to new appimagetool (#5233)
Since this does not have versions anymore, we check the sha256
and require manual intervention if it changed.
TODO: look for a way to do reproducible appimages again.
commit 4ac1d91c16378fa9fed86ece314c3f55788468d4
Author: Adrian Priestley <47989725+a-priestley@users.noreply.github.com>
Date: Thu Jul 24 04:05:13 2025 -0230
chore(ci): exclude deployment and Docker files from unit test workflow triggers (#5214)
* chore(ci): exclude deployment and Docker files from unit test workflow triggers
- Modify unittests workflow to ignore changes in deploy directory and Docker-related files
commit 81b8f3fc0ef1b562b190875d2d68b3bb971e5c98
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Thu Jul 24 00:01:27 2025 +0200
Factorio: fix rename of mod file leading to incompatibility with base game (#5219)
commit 8541c87c9785cce98820002bec4ca4b8ad1c00b6
Author: MarioManTAW <mariomantaw@gmail.com>
Date: Wed Jul 23 16:27:50 2025 -0500
Paint: Implement New Game (#4955)
* Paint: Implement New Game
* Add docstring
* Remove unnecessary self.multiworld references
* Implement start_inventory_from_pool
* Convert logic to use LogicMixin
* Add location_exists_with_options function to deduplicate code
* Simplify starting tool creation
* Add Paint to supported games list
* Increment version to 0.4.1
* Update docs to include color selection features
* Fix world attribute definitions
* Fix linting errors
* De-duplicate lists of traps
* Move LogicMixin to __init__.py
* 0.5.0 features - adjustable canvas size increment, updated similarity metric
* Fix OptionError formatting
* Create OptionError when generating single-player game with error-prone settings
* Increment version to 0.5.1
* Update CODEOWNERS
* Update documentation for 0.5.2 client changes
* Simplify region creation
* Add comments describing logic
* Remove unnecessary f-strings
* Remove unused import
* Refactor rules to location class
* Remove unnecessary self.multiworld references
* Update logic to correctly match client-side item caps
---------
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
commit 0e4314ad1e840481d12252ae41358b14217aa3f6
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Wed Jul 23 13:04:07 2025 +0200
MultiServer: CreateHints command (Allows clients to hint own items in other worlds) (#4317)
* CreateHint command
* Docs
* oops
* forgot an arg
* Update MultiServer.py
* Add documentation on what happens when the hint already exists but with a different status (nothing)
* Early exit if no locations provided
* Add a clarifying comment to the code as well
* change wording a bit
commit 6b44f217a35489f520698d25dbb8cabeebb3e348
Author: Flore <drmoonlington@gmail.com>
Date: Wed Jul 23 05:39:07 2025 +0200
DS3: Edit the setup docs to be more clear (#4618)
* UPDATE: Dark Souls 3 setup docs to be more clear
* UPDATE: DS3 Setup docs to make offline mode more explicit
* UPDATE: Dark Souls 3 setup docs to be more clear
* UPDATE: DS3 Setup docs to make offline mode more explicit
* EDIT: DS3 setup docs to be up to date
commit 76760e1bf3ba2d2d961657dbd03c2acc41a80f98
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Wed Jul 23 03:01:47 2025 +0100
OoT: Fix remove not invalidating cached reachability (#5222)
Collecting an item into a CollectionState without sweeping, finding all
reachable locations, removing that item from the state, and then finding
all reachable locations again could result in more locations being
reachable than before the item was initially collected into the
CollectionState.
This issue was present because OoT was not invalidating its reachable
region caches for the different ages when items were removed from the
CollectionState.
To fix the issue, this PR has updated `OOTWorld.remove()` to invalid its
caches, like how `CollectionState.remove()` invalidates the core
Archipelago caches.
commit d313a742663e68a57548826250dcec1c580f241d
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Mon Jul 21 14:53:34 2025 -0400
ALttP: Fix `pre_fill` State Sweeping Too Early (#5215)
commit a535ca31a8ae99e9c2bda8f09346ef062afe27ab
Author: Adrian Priestley <47989725+a-priestley@users.noreply.github.com>
Date: Sat Jul 19 11:18:30 2025 -0230
Dockerfile/Core: Prevent module update during container runtime (#5205)
* fix(env): Prevent module update during requirements processing
- Add environment variable SKIP_REQUIREMENTS_UPDATE check
- Ensure update is skipped if SKIP_REQUIREMENTS_UPDATE is set to true
* squash! fix(env): Prevent module update during requirements processing - Add environment variable SKIP_REQUIREMENTS_UPDATE check - Ensure update is skipped if SKIP_REQUIREMENTS_UPDATE is set to true
commit da0bb80fb4763a24cbf6c5cf00f01bf0dcaa3b1e
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Fri Jul 18 07:28:05 2025 -0400
Raft: Fix filler_item_types TypeError introduced in #4782 (#5203)
commit fb9026d12da47ebbf24a487daf9ffaee93a361de
Author: David Carroll <Dessyreqt@users.noreply.github.com>
Date: Thu Jul 17 06:48:55 2025 -0500
SMZ3: Add Yaml Options to Slot Data (#5111)
commit 4ae36ac727e690f1de0eba233b6683f2e1ad738c
Author: NoiseCrush <168460988+NoiseCrush@users.noreply.github.com>
Date: Thu Jul 17 07:46:31 2025 -0400
Super Metroid: Improve Option Descriptions and Add Option Groups (#5100)
commit ffab3a43fc17f4d06d241179ae9e2e26fdea47df
Author: Adrian Priestley <47989725+a-priestley@users.noreply.github.com>
Date: Thu Jul 17 05:30:57 2025 -0230
Docker: Add initial configuration for project (#4419)
* feat(docker): Add initial Docker configuration for project
- Add .dockerignore file to ignore unnecessary files
- Create Dockerfile with basic build and deployment configuration
* feat(docker): Updated Docker configuration for improved security and build efficiency
- Removed sensitive files from .dockerignore
- Moved WORKDIR to /app in Dockerfile
- Added gunicorn==23.0.0 dependency in RUN command
- Created new docker-compose.yml file for service definition
* feat(deployment): Implement containerized deployment configuration
- Add additional environment variables for Python optimization
- Update Dockerfile with new dependencies: eventlet, gevent, tornado
- Create docker-compose.yml and configure services for web and nginx
- Implement example configurations for web host settings and gunicorn
- Establish nginx configuration for reverse proxy
- Remove outdated docker-compose.yml from root directory
* feat(deploy): Introduce Docker Compose configuration for multi-world deployment
- Separate web service into two containers, one for main process and one for gunicorn
- Update container configurations for improved security and maintainability
- Remove unused volumes and network configurations
* docs: Add new documentation for deploying Archipelago using containers
- Document standalone image build and run process
- Include example Docker Compose file for container orchestration
- Provide information on services defined in the `docker-compose.yaml` file
- Mention optional Enemizer feature and Git requirements
* fixup! feat(docker): Updated Docker configuration for improved security and build efficiency - Removed sensitive files from .dockerignore - Moved WORKDIR to /app in Dockerfile - Added gunicorn==23.0.0 dependency in RUN command - Created new docker-compose.yml file for service definition
* feat(deploy): Updated gunicorn configuration example
- Adjusted worker and thread counts
- Switched worker class from sync to gthread
- Changed log level to info
- Added example code snippet for customizing worker count
* fix(deploy): Adjust concurrency settings for self-launch configuration
- Reduce the number of world generators from 8 to 3
- Decrease the number of hosters from 5 to 4
* docs(deploy using containers): Improve readability, fix broken links
- Update links to other documentation pages
- Improve formatting for better readability
- Remove unnecessary sections and files
- Add note about building the image requiring a local copy of ArchipelagoMW source code
* Update deploy/example_config.yaml
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Update deploy/example_selflaunch.yaml
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Update Dockerfile
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Update deploy/example_selflaunch.yaml
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* fixup! Update Dockerfile
* fix(Dockerfile): Update package installations to use latest versions
- Remove specific version pins for git and libc6-dev
- Ensure compatibility with newer package updates
* feat(ci): Add GitHub Actions workflow for building and publishing Docker images
- Create a new workflow for Docker image build and publish
- Configure triggers for push and pull_request on main branch
- Set up QEMU and Docker Buildx for multi-platform builds
- Implement Docker login for GitHub Container Registry
- Include Docker image metadata extraction and tagging
* feat(healthcheck): Update Dockerfile and docker-compose for health checks
- Add health check for the Webhost service in Dockerfile
- Modify docker-compose to include a placeholder health check for multiworld service
- Standardize comments and remove unnecessary lines
* Revert "feat(ci): Add GitHub Actions workflow for building and publishing Docker images"
This reverts commit 32a51b272627d99ca9796cbfda2e821bfdd95c70.
* feat(docker): Enhance Dockerfile with Cython build stage
- Add Cython builder stage for compiling speedups
- Update package installation and organization for efficiency
- Improve caching by copying requirements before installing
- Add documentation for rootless Podman
* fixup! feat(docker): Enhance Dockerfile with Cython build stage - Add Cython builder stage for compiling speedups - Update package installation and organization for efficiency - Improve caching by copying requirements before installing - Add documentation for rootless Podman
---------
Co-authored-by: Adrian Priestley <apriestley@gmail.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
Co-authored-by: Adrian Priestley <apriestley@bob.localdomain>
commit e38d04c655258c7c7c70c485cf9a03697d21dbee
Author: Star Rauchenberger <fefferburbia@gmail.com>
Date: Wed Jul 16 23:49:01 2025 -0400
Lingo: Fix Painting Gen Failures on Panels Mode Door Shuffle (#5199)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 1923d6b1bcaf35d0ffb26ede6eae1d17b8c09a3d
Author: Aaron Wagener <mmmcheese158@gmail.com>
Date: Wed Jul 16 11:57:11 2025 -0500
Options: Assert Not All Option in `Options.as_dict` (#5039)
* Options: forbid worlds just dumping every single option they don't need
* make the equal proper
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 608a38f873eaa9d7cc4ca454774c771bb816d660
Author: CookieCat <81494827+CookieCat45@users.noreply.github.com>
Date: Wed Jul 16 12:19:35 2025 -0400
AHIT: Fix Test Fail for assert_not_all_options (#5197)
commit 604ab79af9f5432ed957775a15677b3dcc6d5d37
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Wed Jul 16 11:57:06 2025 -0400
Stardew Valley: Add walnutsanity prefix to locations (#4934)
commit 4a43a6ae138b9dc64afa7919c82d62eee05a18f2
Author: qwint <qwint.42@gmail.com>
Date: Wed Jul 16 10:51:34 2025 -0500
Docs: Clean up SUUID Post #4944 (#5196)
commit e9e0861eb751996c2e65808ec62ffd9c5b55ec33
Author: qwint <qwint.42@gmail.com>
Date: Wed Jul 16 10:34:28 2025 -0500
WebHostLib: Properly Format IDs in API Responses (#4944)
* update the id formatter to use staticmethods to not fake the unused self arg, and then use the formatter for the user session endpoints
* missed an id (ty treble)
* clean up duplicate code
* Update WebHostLib/__init__.py
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* keep the BaseConverter format
* lol, change all the instances
* revert this
---------
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
commit 477028a025b2803c443ef0a4629170beb4deb58d
Author: Jacob Lewis <JacobMLewis@Live.com>
Date: Wed Jul 16 10:11:07 2025 -0500
Dics: Add Webhost API Documententation (#4887)
* capitialization changes
* ditto
* Revert "ditto"
This reverts commit 17cf596735888e91850954c7306ce0b80d7e453d.
* Revert "capitialization changes"
This reverts commit 6fb86c6568da2c08b5f8e691d4fc810e3ab09a44.
* full revert and full commit
* Update docs/webhost api.md
Co-authored-by: qwint <qwint.42@gmail.com>
* Update docs/webhost api.md
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* Update docs/webhost api.md
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* Update webhost api.md
* Removed in-devolopment API
* Apply standard capitilization and grammar flow
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* declarative language
* Apply suggestions from code review
Co-authored-by: qwint <qwint.42@gmail.com>
* datapackage_checksum clarification, and /datapackage clairfication
* /dp/checksum clarification
* Detailed responces and /generation breakdown
* Update webhost api.md
* Made output anonomous
* Update docs/webhost api.md
Co-authored-by: qwint <qwint.42@gmail.com>
* Swapped IDs to UUID, and added language around UUID vs SUUID
* Apply suggestions from code review
formatting and grammar
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Condensed paragraphs and waterfalled headders
---------
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit b90dcfb04135eb3661ab107ef1d741e52e4abdb3
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Wed Jul 16 10:31:12 2025 +0200
The Witness: Add Glass Factory Entry Panel as a location in all options #4695
commit 1790a389c7e85630a0ba9197f04e56d67205a793
Author: Scipio Wright <scipiowright@gmail.com>
Date: Tue Jul 15 17:04:27 2025 -0400
TUNIC: Update Tests Per #4982 (#5191)
commit deed9de3e768e9da16b23f3f3e758d6b4c05ad09
Author: Aaron Wagener <mmmcheese158@gmail.com>
Date: Tue Jul 15 15:40:58 2025 -0500
Core: Don't Cache the `get_all_state` Result (#4795)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 9e748332dcd1f66a697306c13db70c391373bccd
Author: SunCat <suncat.game@ya.ru>
Date: Tue Jul 15 23:01:53 2025 +0300
Various Games: Improve Custom Death Link Option Description (#4171)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: LiquidCat64 <74896918+LiquidCat64@users.noreply.github.com>
commit 749c2435ed4270d2f8e81dd427cda878d0544c1b
Author: GreenMarco <71452195+GreenMarco@users.noreply.github.com>
Date: Tue Jul 15 13:43:54 2025 -0600
Hollow Knight: Add Spanish Language Docs (#5156)
Co-authored-by: qwint <qwint.42@gmail.com>
commit 6360609980bf2c02e4c18fdecd91ae258b7dbf30
Author: Danaël V. <104455676+ReverM@users.noreply.github.com>
Date: Tue Jul 15 15:43:20 2025 -0400
Witness: Add French and German Setup Documentation (#2527)
Co-authored-by: Lolo <lowgau@gmail.com>
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit fed60ca61a5a6874744b131af9f578e5b3a33c02
Author: qwint <qwint.42@gmail.com>
Date: Tue Jul 15 14:09:56 2025 -0500
Hollow Knight: Explicitly Exclude Palace Items as Filler (#5119)
commit f18f9e2dce6cbc59265d48b221c82a8c2d842bfc
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Tue Jul 15 21:04:06 2025 +0200
Core: increment version (#5194)
commit e1b26bc76f7b69e2ec532d3ac4d9e60ba05824bc
Author: Eindall <marquisthomas4369@gmail.com>
Date: Tue Jul 15 21:02:17 2025 +0200
Stardew Valley: Add French Guide (#4697)
Co-authored-by: tmarquis <thomas.marquis@cellance.com>
commit 2aada8f683e57e70878680d1a98b2c05a6f30a16
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Tue Jul 15 20:35:27 2025 +0200
Core: Add new ItemClassification "deprioritized" which will not be placed on priority locations (if possible) (#4610)
* Add new deprioritized item flag
* 4 retries
* indent
* .
* style
* I think this is nicer
* Nicer
* remove two lines again that I added unnecessarily
* I think this test makes a bit more sense like this
* Idk how to word this lol
* Add progression_deprioritized_skip_balancing bc why not ig
* More text
* Update Fill.py
* Update Fill.py
* I am the big stupid
* Actually collect the other half of progression items into state when filling without them
* More clarity on the descriptions (hopefully)
* visually separate technical description and use cases
* Actually make the call do what the comments say it does
commit f9f386fa1948f0cb7348df2690d61792caceaa18
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Tue Jul 15 19:33:24 2025 +0100
Core: Cache previous swap states to use as the base state to sweep from (#3859)
The previous swap_state can often be used as the base state to create
the next swap_state. This previous swap_state will already have
collected all items in item_pool and is likely to have checked many
locations, meaning that creating the next swap_state from it instead of
from base_state is faster.
From generating with extra code to raise an exception if more than 2
previous swap states were used, and using A Hat in Time and Pokemon
Red/Blue yamls that often result in lots of swapping in progression
fill, I could not get a single seed go through more than 2 previous swap
states. A few worlds' pre-fills do often use more than 2 previous swap
states, notably LADX which sometimes goes through over 20.
Given a 20 player Pokemon Red/Blue multiworld that usually generates in
around 16 or 17 seconds, but on a specific seed that results in 56
swaps, generation went from about 260 seconds before this patch to about
104 seconds after this patch (generated with a meta.yaml to disable
progression balancing and `python -O Generate.py --skip_output`).
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
commit 507a9a53ef363e77b4dfdecb6612e8b335e6199d
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Tue Jul 15 19:33:11 2025 +0100
Core: Cleanup: Replace direct calling of dunder methods on objects (#4584)
Calling the dunder method has to:
1. Look up the dunder method for that object/class
2. Bind a new method instance to the object instance
3. Call the method with its arguments
4. Run the appropriate operation on the object
Whereas running the appropriate operation on the object from the start
skips straight to step 4.
Region.Register.__getitem__ is called a lot without #4583. In that case,
generation of 10 template Blasphemous yamls with
`--skip_output --seed 1` and progression balancing disabled went from
19.0s to 18.8s (1.3% reduction in generation duration).
From profiling with `timeit`
```py
def __getitem__(self, index: int) -> Location:
return self._list[index]
```
appears to be about twice as fast as the old code:
```py
def __getitem__(self, index: int) -> Location:
return self._list.__getitem__(index)
```
Besides this, there is not expected to be any noticeable difference in
performance, and there is not expected to be any difference in semantics
with these changes.
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
commit c1ae637fa7d6d152a4a52fadb8055b3ec59f4606
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Tue Jul 15 20:32:53 2025 +0200
Core: Crash on full accessibility if there are unreachable locations (Yes, you read that right) #3787
commit f967444ac2d7cb35dec6cb71da2e7189e42bb41e
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Tue Jul 15 20:32:22 2025 +0200
Core: Assert that all the items in the multiworld itempool are actually unplaced at the start of distribute_items_restrictive (#5109)
* Assert at the beginning of distribute items restrictive that no items in the itempool already have locations associated with them
* actual message
* placement
* oops
* Update Fill.py
commit c879307b8e1cffa75afb3b1b14ae7f6e3b593f5c
Author: qwint <qwint.42@gmail.com>
Date: Tue Jul 15 13:30:13 2025 -0500
CC: Add Assert to Catch Old Datapackage Lookup API (#5131)
commit c8ca3e643d7b9f502a31edbadf9ad4ab2d8cec69
Author: qwint <qwint.42@gmail.com>
Date: Tue Jul 15 13:19:50 2025 -0500
Core: Adds Visual Formatting to Option Group Headers in Template Yamls (#5092)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 9a648efa70e3bf6b3130ad4400b039238954882a
Author: lordlou <87331798+lordlou@users.noreply.github.com>
Date: Tue Jul 15 11:48:28 2025 -0400
Super Metroid: Only Put Relevant Options in `slot_data` (#5192)
* first working single-world randomized SM rom patches
* - SM now displays message when getting an item outside for someone else (fills ROM item table)
This is dependant on modifications done to sm_randomizer_rom project
* First working MultiWorld SM
* some missing things:
- player name inject in ROM and get in client
- end game get from ROM in client
- send self item to server
- add player names table in ROM
* replaced CollectionState inheritance from SMBoolManager with a composition of an array of it (required to generation more than one SM world, which is still fails but is better)
* - reenabled balancing
* post rebase fixes
* updated SmClient.py
* + added VariaRandomizer LICENSE
* + added sm_randomizer_rom project (which builds sm.ips)
* Moved VariaRandomizer and sm_randomizer_rom projects inside worlds/sm and done some cleaning
* properly revert change made to CollectionState and more cleaning
* Fixed multiworld support patch not working with VariaRandomizer's
* missing file commit
* Fixed syntax error in unused code to satisfy Linter
* Revert "Fixed multiworld support patch not working with VariaRandomizer's"
This reverts commit fb3ca18528bb331995e3d3051648c8f84d04c08b.
* many fixes and improovement
- fixed seeded generation
- fixed broken logic when more than one SM world
- added missing rules for inter-area transitions
- added basic patch presence for logic
- added DoorManager init call to reflect present patches for logic
- moved CollectionState addition out of BaseClasses into SM world
- added condition to apply progitempool presorting only if SM world is present
- set Bosses item id to None to prevent them going into multidata
- now use get_game_players
* first working (most of the time) progression generation for SM using VariaRandomizer's rules, items, locations and accessPoint (as regions)
* first working single-world randomized SM rom patches
* - SM now displays message when getting an item outside for someone else (fills ROM item table)
This is dependant on modifications done to sm_randomizer_rom project
* First working MultiWorld SM
* some missing things:
- player name inject in ROM and get in client
- end game get from ROM in client
- send self item to server
- add player names table in ROM
* replaced CollectionState inheritance from SMBoolManager with a composition of an array of it (required to generation more than one SM world, which is still fails but is better)
* - reenabled balancing
* post rebase fixes
* updated SmClient.py
* + added VariaRandomizer LICENSE
* + added sm_randomizer_rom project (which builds sm.ips)
* Moved VariaRandomizer and sm_randomizer_rom projects inside worlds/sm and done some cleaning
* properly revert change made to CollectionState and more cleaning
* Fixed multiworld support patch not working with VariaRandomizer's
* missing file commit
* Fixed syntax error in unused code to satisfy Linter
* Revert "Fixed multiworld support patch not working with VariaRandomizer's"
This reverts commit fb3ca18528bb331995e3d3051648c8f84d04c08b.
* many fixes and improovement
- fixed seeded generation
- fixed broken logic when more than one SM world
- added missing rules for inter-area transitions
- added basic patch presence for logic
- added DoorManager init call to reflect present patches for logic
- moved CollectionState addition out of BaseClasses into SM world
- added condition to apply progitempool presorting only if SM world is present
- set Bosses item id to None to prevent them going into multidata
- now use get_game_players
* Fixed multiworld support patch not working with VariaRandomizer's
Added stage_fill_hook to set morph first in progitempool
Added back VariaRandomizer's standard patches
* + added missing files from variaRandomizer project
* + added missing variaRandomizer files (custom sprites)
+ started integrating VariaRandomizer options (WIP)
* Some fixes for player and server name display
- fixed player name of 16 characters reading too far in SM client
- fixed 12 bytes SM player name limit (now 16)
- fixed server name not being displayed in SM when using server cheat ( now displays RECEIVED FROM ARCHIPELAGO)
- request: temporarly changed default seed names displayed in SM main menu to OWTCH
* Fixed Goal completion not triggering in smClient
* integrated VariaRandomizer's options into AP (WIP)
- startAP is working
- door rando is working
- skillset is working
* - fixed itemsounds.ips crash by always including nofanfare.ips into multiworld.ips (itemsounds is now always applied and "itemsounds" preset must always be "off")
* skillset are now instanced per player instead of being a singleton class
* RomPatches are now instanced per player instead of being a singleton class
* DoorManager is now instanced per player instead of being a singleton class
* - fixed the last bugs that prevented generation of >1 SM world
* fixed crash when no skillset preset is specified in randoPreset (default to "casual")
* maxDifficulty support and itemsounds removal
- added support for maxDifficulty
- removed itemsounds patch as its always applied from multiworld patch for now
* Fixed bad merge
* Post merge adaptation
* fixed player name length fix that got lost with the merge
* fixed generation with other game type than SM
* added default randoPreset json for SM in playerSettings.yaml
* fixed broken SM client following merge
* beautified json skillset presets
* Fixed ArchipelagoSmClient not building
* Fixed conflict between mutliworld patch and beam_doors_plms patch
- doorsColorsRando now working
* SM generation now outputs APBP
- Fixed paths for patches and presets when frozen
* added missing file and fixed multithreading issue
* temporarily set data_version = 0
* more work
- added support for AP starting items
- fixed client crash with gamemode being None
- patch.py "compatible_version" is now 3
* commited missing asm files
fixed start item reserve breaking game (was using bad write offset when patching)
* Nothing item are now handled game-side. the game will now skip displaying a message box for received Nothing item (but the client will still receive it).
fixed crash in SMClient when loosing connection to SNI
* fixed No Energy Item missing its ID
fixed Plando
* merge post fixes
* fixed start item Grapple, XRay and Reserve HUD, as well as graphic beams (except ice palette color)
* fixed freeze in blue brinstar caused by Varia's custom PLM not being filled with proper Multiworld PLM address (altLocsAddresses)
* fixed start item x-ray HUD display
* Fixed start items being sent by the server (is all handled in ROM)
Start items are now not removed from itempool anymore
Nothing Item is now local_items so no player will ever pickup Nothing. Doing so reduces contribution of this world to the Multiworld the more Nothing there is though.
Fixed crash (and possibly passing but broken) at generation where the static list of IPSPatches used by all SM worlds was being modified
* fixed settings that could be applied to any SM players
* fixed auth to server only using player name (now does as ALTTP to authenticate)
* - fixed End Credits broken text
* added non SM item name display
* added all supported SM options in playerSettings.yaml
* fixed locations needing a list of parent regions (now generate a region for each location with one-way exits to each (previously) parent region
did some cleaning (mainly reverts on unnecessary core classes
* minor setting fixes and tweaks
- merged Area and lightArea settings
- made missileQty, superQty and powerBombQty use value from 10 to 90 and divide value by float(10) when generating
- fixed inverted layoutPatch setting
* added option start_inventory_removes_from_pool
fixed option names formatting
fixed lint errors
small code and repo cleanup
* Hopefully fixed ROR2 that could not send any items
* - fixed missing required change to ROR2
* fixed 0 hp when respawning without having ever saved (start items were not updating the save checksum)
* fixed typo with doors_colors_rando
* fixed checksum
* added custom sprites for off-world items (progression or not)
the original AP sprite was made with PierRoulette's SM Item Sprite Utility by ijwu
* - added missing change following upstream merge
- changed patch filename extension from apbp to apm3 so patch can be used with the new client
* added morph placement options: early means local and sphere 1
* fixed failing unit tests
* - fixed broken custom_preset options
* - big cleanup to remove unnecessary or unsupported features
* - more cleanup
* - moved sm_randomizer_rom and all always applied patches into an external project that outputs basepatch.ips
- small cleanup
* - added comment to refer to project for generating basepatch.ips (https://github.com/lordlou/SMBasepatch)
* fixed g4_skip patch that can be not applied if hud is enabled
* - fixed off world sprite that can have broken graphics (restricted to use only first 2 palette)
* - updated basepatch to reflect g4_skip removal
- moved more asm files to SMBasepatch project
* - tourian grey doors at baby metroid are now always flashing (allowing to go back if needed)
* fixed wrong path if using built as exe
* - cleaned exposed maxDifficulty options
- removed always enabled Knows
* Merged LttPClient and SMClient into SNIClient
* added varia_custom Preset Option that fetch a preset (read from a new varia_custom_preset Option) from varia's web service
* small doc precision
* - added death_link support
- fixed broken Goal Completion
- post merge fix
* - removed now useless presets
* - fixed bad internal mapping with maxDiff
- increases maxDiff if only Bosses is preventing beating the game
* - added support for lowercase custom preset sections (knows, settings and controller)
- fixed controller settings not applying to ROM
* - fixed death loop when dying with Door rando, bomb or speed booster as starting items
- varia's backup save should now be usable (automatically enabled when doing door rando)
* -added docstring for generated yaml
* fixed bad merge
* fixed broken infinity max difficulty
* commented debug prints
* adjusted credits to mark progression speed and difficulty as Non Available
* added support for more than 255 players (will print Archipelago for higher player number)
* fixed missing cleanup
* added support for 65535 different player names in ROM
* fixed generations failing when only bosses are unreachable
* - replaced setting maxDiff to infinity with a bool only affecting boss logics if only bosses are left to finish
* fixed failling generations when using 'fun' settings
Accessibility checks are forced to 'items' if restricted locations are used by VARIA following usage of 'fun' settings
* fixed debug logger
* removed unsupported "suits_restriction" option
* fixed generations failing when only bosses are unreachable (using a less intrusive approach for AP)
* - fixed deathlink emptying reserves
- added death_link_survive option that lets player survive when receiving a deathlink if the have non-empty reserves
* - merged death_link and death_link_survive options
* fixed death_link
* added a fallback default starting location instead of failing generation if an invalid one was chosen
* added Nothing and NoEnergy as hint blacklist
added missing NoEnergy as local items and removed it from progression
* reduced slot_data to only what should be needed by PopTracker (for https://github.com/ArchipelagoMW/Archipelago/pull/5039)
commit f45410c917c4e0e69f0e769e83b5b7df7cd5853c
Author: qwint <qwint.42@gmail.com>
Date: Tue Jul 15 00:10:40 2025 -0500
Core: Update UUID handling to be more easily sharable between libraries (#5088)
moves uuid caching to appdata and uuid generation to be a random uuid instead of getnode's hardware address driven identifier and updates docs to point to the shared cache
commit ec3f168a09b54d8ee41e44f8fca70a582f9f0ddf
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Mon Jul 14 07:22:10 2025 +0000
Doc: match statement in style guide (#5187)
* Test: add micro benchmark for match
* Doc: add 'match' to python style guide
commit a9b35de7ee9d02d320aaae4b28259ae0ec3139ad
Author: Justus Lind <DeamonHunter@users.noreply.github.com>
Date: Sat Jul 12 23:02:49 2025 +1000
Muse Dash: Update song list to Rotaeno Update/7th Anniversary (#5066)
commit 125d053b61733031d0ebe8559f6edd006e1c4e94
Author: Scipio Wright <scipiowright@gmail.com>
Date: Sat Jul 12 07:52:02 2025 -0400
TUNIC: Fix missing line for UT stuff #5185
commit 585cbf95a6d1b65facd1f0058ba49c6174b24a00
Author: Scipio Wright <scipiowright@gmail.com>
Date: Sat Jul 12 07:14:34 2025 -0400
TUNIC: Add UT Support for Breakables (#5182)
commit 909565e5d958459093014e134ea21b18767cd1fd
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Sat Jul 12 07:12:04 2025 -0400
Stardew Valley: Remove Rarecrow Locations from Night Market when Museumsanity is Disabled (#5146)
commit a79423534c30de502a71944a5ec1d95ff32847fe
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Fri Jul 11 18:44:26 2025 -0400
LADX: Update marin.txt (#5178)
commit 7a6fb5e35b471ef196437dd97d23fd26402d903e
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Fri Jul 11 23:28:18 2025 +0200
Revert "Core: Take Counter back out of RestrictedUnpickler" (#5184)
* Revert "Core: Take Counter back out of RestrictedUnpickler #5169"
This reverts commit 95e09c8e2a681ecd5666822b04fe7fed3ed9dec1.
* Update Utils.py
commit 6af34b66fb166af42f73879152c1a030ff2423f1
Author: Zach “Phar” Parks <11338376+ThePhar@users.noreply.github.com>
Date: Fri Jul 11 12:34:46 2025 -0500
Various: Remove Rogue Legacy and Clique (#5177)
* Various: Remove Rogue Legacy and Clique
* Remove Clique from setup.py and revert network diagram.md change.
* Try again.
* Update network diagram.md
---------
Co-authored-by: Zach “Phar” Parks <phar@pharware.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 2974f7d11f57e97da00a568b1c03a670fd8938d0
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Fri Jul 11 19:27:28 2025 +0200
Core: Replace Clique with V6 in unit tests (#5181)
* replace Clique with V6 in unit tests
* no hard mode in V6
* modify regex in copy_world to allow : str
* oops
* I see now
* work around all typing
* there actually needs to be something
commit edc0c89753b6e5283d7289d6e60c5e050e5d8303
Author: Carter Hesterman <hestermancarter@gmail.com>
Date: Thu Jul 10 07:10:56 2025 -0600
CIV 6: Remove Erroneous Boost Prereqs for Computers Boost (#5134)
commit b1ff55dd061af9158c1747a57472d157e42ded92
Author: axe-y <58866768+axe-y@users.noreply.github.com>
Date: Thu Jul 10 08:33:52 2025 -0400
DLCQ: Fix/Refactor LFoD Start Inventory (#5176)
commit f4b5422f66c0f5332cb05998ad0f7731d4a436f3
Author: Remy Jette <remy@remyjette.com>
Date: Mon Jul 7 13:57:55 2025 -0700
Factorio: Fix link to world_gen documentation (#5171)
commit d4ebace99f17299c0fa861a1ccad42bdf4e332fe
Author: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
Date: Mon Jul 7 13:15:37 2025 -0400
[Jak and Daxter] Auto Detect Install Path after Game Launcher Update #5152
commit 95e09c8e2a681ecd5666822b04fe7fed3ed9dec1
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Mon Jul 7 16:24:35 2025 +0200
Core: Take Counter back out of RestrictedUnpickler #5169
commit 4623d59206e88132432b6db74945a717057b2f8a
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Mon Jul 7 15:51:39 2025 +0200
Core: ensure slot_data and er_hint_info are only base data types (#5144)
---------
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
commit e68b1ad42896ce5ec4c0ef0e46a21f0a21ab5cbb
Author: Doug Hoskisson <beauxq@users.noreply.github.com>
Date: Sun Jul 6 10:22:02 2025 -0700
CommonClient: fix extra panels added to `main_area_container` (#5151)
commit 072e2ece15429a49dda18898d266c9fa63905205
Author: Ixrec <ericrhitchcock@gmail.com>
Date: Sat Jul 5 22:01:08 2025 +0100
Docs: 'get_prefill_items' -> 'get_pre_fill_items' (#5167)
commit 11130037fe9a88d8be70a1624c35aea17daab680
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Thu Jul 3 15:08:36 2025 -0400
Stardew Valley: Fixed luck level requirements for slot machines #5160
# Conflicts:
# worlds/stardew_valley/data/craftable_data.py
commit ba66ef14ccdac88b486d357f9e5dbefb0aced610
Author: Scipio Wright <scipiowright@gmail.com>
Date: Wed Jul 2 08:14:35 2025 -0400
Update world api.md (#5149)
commit 8aacc23882c25a276dc03d766c9c3d6d11d65c79
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Sat Jun 28 11:36:09 2025 -0400
SDV: Add "Desert Transportation" and "Island Transportation" Item Groups (#5143)
commit 03e5fd3dae5a27cddd9fd4d3134d2d19f8d7562b
Author: Jonathan Tan <tanjo3@users.noreply.github.com>
Date: Sat Jun 28 10:46:37 2025 -0400
TWW: Fix Swords in Swordless Mode (#5137)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit da52598c0843922d02912a933aeb6aa23833587c
Author: Fly Hyping <brajcan@hotmail.com>
Date: Fri Jun 27 19:42:35 2025 -0400
Wargroove: Fix Communication Thread (#5125)
commit 52389731ebef8e0b516059c2597657690d99eeee
Author: Jonathan Tan <tanjo3@users.noreply.github.com>
Date: Fri Jun 27 18:46:00 2025 -0400
TWW: Update Preset S7 to S8 (#5138)
commit 21864f6f950d752b3fb8c0411517f5b442708ac4
Author: LiquidCat64 <74896918+LiquidCat64@users.noreply.github.com>
Date: Fri Jun 27 16:25:45 2025 -0600
CVCotM: Fix Advance Collection ROM (#5132)
commit 00f862528083fec98af71a1c8b94120c99469ff1
Author: DJ-lennart <alexander.lt.carlsson@hotmail.com>
Date: Sat Jun 21 16:31:12 2025 +0200
Civilization VI: Updated setup and info pages (#5123)
* Update setup_en.md
Updated setup instructions for Civilization VI in Archipelago
* Update en_Civilization VI.md
Updated info page for Civilization VI in Archipelago
* Update setup_en.md
commit c34e29c7124a1b66d9e68f0a747780cd8254d61a
Author: James White <james_white_d@hotmail.com>
Date: Fri Jun 20 21:52:54 2025 +0100
Pokemon RB: Client: Send bounce messages with current map ID (#5121)
commit e0ae3359f130e85f8c3a0d22dcdd315635d7cb5c
Author: palex00 <32203971+palex00@users.noreply.github.com>
Date: Fri Jun 20 20:55:49 2025 +0200
Pokémon RB: Use new link for a new tracker (#5122)
* Update setup_en.md
* Update setup_es.md
commit c2666bacd791e70a555e7d7fe1a35818b54c0905
Author: Katelyn Gigante <clockwork.singularity@gmail.com>
Date: Fri Jun 20 02:05:52 2025 +1000
core: Don't attempt to write to the inside of an OSX App Bundle (#4380)
* core: Frozen OSX should also use Home Directory
* Use Application Support instead of homedir
* Suggested changes
commit 4eefd9c3ceff76d35091895308f3097c16c0c6ca
Author: Aaron Wagener <mmmcheese158@gmail.com>
Date: Thu Jun 19 06:39:26 2025 -0500
Kivy: swap from the tab carousel to navigation bar (#4930)
* implement tabs as NavigationBar
* update the underline bar with the screen manager
* remove some unneeded kv
* remove the underline in favor of a full tab highlight
* fix insert transitions
* use on_release instead of on_press
* minor cleanup
* add remove_client_tab and add a caller to the NavigationBar for back compat
* unused imports
* Update kvui.py
---------
Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
commit 211456242e0e018bd3356ecca5325862fb654f2d
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Mon Jun 16 12:00:47 2025 -0500
KDL3: update to gifting protocol 3 and update settings usage (#4814)
* gift version 3
* update settings usage
* that really has just been broken this entire time
* remove unnecessary print
* Update client.py
* fix random flavor handling
* fix incorrect sender/receiver
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 6f244c4661a7aee59f452f61a51e61adb3f856d5
Author: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
Date: Mon Jun 16 12:54:08 2025 -0400
Docs: Update Plando Guide and Make it More User Friendly (#4858)
* Make plando guide more user friendly.
* Apply suggestions from code review
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Further updates for review.
* Clear search box when filtering by type.
* Forget previous commit name - more code review updates to doc.
* Move link to yaml tutorial.
* Replace STS example with Pokemon RB.
* Use non-key item examples in RB.
* Rooby's code review updates.
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Address some more feedback.
* Make Factorio example more accurate.
* Exempt's code review updates (round 4)
* Exempt's code review updates (round 4 + 1)
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/generic/docs/plando_en.md
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 47bf6d724b20bb8455f360cc2ddecf82bfcf445c
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Mon Jun 16 10:56:47 2025 -0400
Minecraft Removal Cleanup (#5118)
commit 5c710ad032eedb6bd79ea2436490423c5a41aee0
Author: Ixrec <ericrhitchcock@gmail.com>
Date: Mon Jun 16 13:36:12 2025 +0100
Docs: Rework the "Events" Section of `world api.md` (#5012)
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit dda5a05cbb37fec368f811242c137817f85525a0
Author: BlastSlimey <89539656+BlastSlimey@users.noreply.github.com>
Date: Mon Jun 16 14:07:27 2025 +0200
shapez: Change Links to Shapesanity Cheat Sheet (#5047)
commit e0a63e0290270f117d1575896c0e9ab61eb05cae
Author: Natalie Weizenbaum <nex342@gmail.com>
Date: Mon Jun 16 05:02:06 2025 -0700
DS3: Link to the Appropriate .NET Runtime for Proton (#5093)
commit 92466595897a95c5ec984e4c530d0833fb8c8a72
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Mon Jun 16 13:49:30 2025 +0200
Make sure ladx removes the same copy of the starting item from the itempool that it's placing (#5110)
commit 377cdb84b4114de86ef370103641b3f00a8ababa
Author: digiholic <digikun@gmail.com>
Date: Mon Jun 16 05:47:55 2025 -0600
MMBN3: Fixes Generation Errors and General UX Smoothing (#5077)
Co-authored-by: qwint <qwint.42@gmail.com>
commit 0e759f25fd4a241cbd1a8793ff0a891a2b3bc322
Author: KonoTyran <Kono.Tyran@gmail.com>
Date: Mon Jun 16 03:31:16 2025 -0700
Remove Minecraft (#4672)
* Remove Minecraft
* remove minecraft
* remove minecraft
* elif -> if
---------
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
commit b408bb4f6eedc797ac693e4a9aacc40b1922a2a7
Author: qwint <qwint.42@gmail.com>
Date: Sun Jun 15 19:31:12 2025 -0500
Core: Docstring typo on Region.add_exits (#5089)
* doc typo
* Update BaseClasses.py
commit 135647941527b601248b8ba1331a82732a685806
Author: JusticePS <5125765+JusticePS@users.noreply.github.com>
Date: Sun Jun 15 16:30:45 2025 -0700
AdventureClient: Replace Utils.get_settings with settings.get_settings #5043
commit ec5b4e704f8167dd262579120a9aa99d746ab04d
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Sat Jun 14 09:28:02 2025 -0400
Plando Items: Better Warning for Nonexisting Worlds (#5112)
commit aa9e6175108afb16caec2411486e2f1a054ae4a6
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Sat Jun 14 09:27:22 2025 -0400
DS3: Apply Rules to Non-Randomized Locations (#5106)
commit ecb739ce96716f83d128648d0350df69b5aae7eb
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Sat Jun 14 09:26:58 2025 -0400
Plando Items: Fix Location Groups Unfolding (#5099)
commit 3b72140435d4d587a60865ea5e325f5b6aa1d950
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Sat Jun 14 09:26:22 2025 -0400
Shivers: Fix get_pre_fill_items (#5113)
commit 27a67705692e5abafbfc5dbd5753feb81294855c
Author: Louis M <prog@tioui.com>
Date: Sat Jun 14 07:17:33 2025 -0400
Aquaria: Fixing open waters urns not breakable with nature forms logic bug (#5072)
* Fixing open waters urns not breakable with nature forms logic bug
* Using list in comprehension only when useful
* Replacing damaging items by a constant
* Removing comprehension list creating from lambda
commit 2ff611167a4415f2d06b6904434e814cf6595174
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Sat Jun 14 12:21:25 2025 +0200
ALTTP: Fix take_any leaving a placed item in the multiworld itempool #5108
commit e83e178b63272d2a1ec96dd2ae04dbae64c3f737
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Fri Jun 13 20:29:23 2025 -0400
Stardew Valley: Fix 3 Logic Issues (#5094)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 068a7573737078d413cdd0fe1ea4c94bc2903821
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Fri Jun 13 20:29:06 2025 -0400
Item Plando: Fix `count` value (#5101)
commit 0ad4527719c60caacbb6b1777b256556c7ad52d9
Author: PoryGone <98504756+PoryGone@users.noreply.github.com>
Date: Fri Jun 13 16:01:19 2025 -0400
SA2B: Logic Fixes (#5095)
- Fixed King Boom Boo being able to appear in multiple boss gates
- `Final Rush - 16 Animals (Expert)` no longer requires `Sonic - Bounce Bracelet`
- `Dry Lagoon - 5 (Standard)` now requires `Rouge - Pick Nails`
- `Sand Ocean - Extra Life Box 2 (Standard/Hard/Expert)` no longer requires `Eggman - Jet Engine`
- `Security Hall - 8 Animals (Expert)` no longer requires `Rouge - Pick Nails`
- `Sky Rail - Item Box 8 (Standard)` now requires `Shadow - Air Shoes` and `Shadow - Mystic Melody`
- `Cosmic Wall - Chao Key 1 (Standard/Hard/Expert)` no longer requires `Eggman - Mystic Melody`
- `Cannon's Core - Pipe 2 (Expert)` no longer requires `Tails - Booster`
- `Cannon's Core - Gold Beetle` no longer requires `Tails - Booster` nor `Knuckles - Hammer Gloves`
commit 8c6327d024e6d18503b018b3555c0f24d88b13a6
Author: qwint <qwint.42@gmail.com>
Date: Fri Jun 13 14:56:09 2025 -0500
LTTP/SDV: use .name when appropriate in subtests (#5107)
commit aecbb2ab0259e8683dc848b538ac2ab7d5ee1fb9
Author: qwint <qwint.42@gmail.com>
Date: Fri Jun 13 05:28:58 2025 -0500
fix saving princess's use of subprocess helpers (#5103)
commit 52b11083fe23a6fdbf01ee4cda1dd2bc97800006
Author: JaredWeakStrike <96694163+JaredWeakStrike@users.noreply.github.com>
Date: Wed Jun 11 15:52:47 2025 -0400
KH2: Raise Exception for Misusing DonaldGoofyStatsanity Option (#4710)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit a8c87ce54ba68007e5f8f291355ffeeeed408ca1
Author: BadMagic100 <dempsey.sean@outlook.com>
Date: Mon Jun 9 20:55:40 2025 -0700
CI: Add GH_REPO environment variable to labeler (#5081)
commit ddb3240591feab473e76b1363fe4b45ff1110610
Author: JaredWeakStrike <96694163+JaredWeakStrike@users.noreply.github.com>
Date: Mon Jun 9 08:58:08 2025 -0400
KH2: Give warning when client has cached locations (#5000)
* a
* disconnect when connect to wrong slot
* connection to the wrong seed fix
* seed_name is always none
commit f25ef639f2d127bb991b6bf30913d1da832816c0
Author: qwint <qwint.42@gmail.com>
Date: Sun Jun 8 17:43:23 2025 -0500
Launcher: Fix Cli Components when installed to a directory with a space (#5091)
commit ab7d3ce4aadfc647c42c8d4dd0c7aa10f9e0e49d
Author: BlastSlimey <89539656+BlastSlimey@users.noreply.github.com>
Date: Fri Jun 6 00:05:53 2025 +0200
shapez: Remove preset unittests #5086
commit 50db922cefbde107dd33d588ce621336b956a397
Author: Jarno <jarnowesthof@gmail.com>
Date: Thu Jun 5 15:05:00 2025 +0200
Timespinner: Fixed generation error because of timezone locking (#5084)
* Fixed generation error because of timezone locking
* Refactored logic + prevent excluding warps when unchained keys in on
commit a2708edc37ff98e70b58f0f552deb14282f5a7ad
Author: Ehseezed <97066152+Ehseezed@users.noreply.github.com>
Date: Wed Jun 4 12:51:08 2025 -0500
Timespinner: Fix Castle Ramparts Region Connection #5082
Co-authored-by: ehseezed <Ehseezed@users.noreply.github.com>
commit 603a5005e2f5d055f1b66ac5d75c133459240…
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
is: maintenance
Regular updates to requirements and utilities that do not fix bugs or change/add features.
is: refactor/cleanup
Improvements to code/output readability or organizization.
waiting-on: peer-review
Issue/PR has not been reviewed by enough people yet.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What is this fixing or adding?
Part of #4811
Replaces Utils.get_settings with settings.get_settings in AdventureClient. The incorrect death_link check I think I should address separately.
How was this tested?
Generated and ran a couple adventure MWs.
If this makes graphical changes, please attach screenshots.