Allow running MultiMystery.py from source on linux#18
Merged
Berserker66 merged 1 commit intoArchipelagoMW:mainfrom Jun 27, 2021
Merged
Allow running MultiMystery.py from source on linux#18Berserker66 merged 1 commit intoArchipelagoMW:mainfrom
Berserker66 merged 1 commit intoArchipelagoMW:mainfrom
Conversation
Member
|
Thank you! |
Magnemania
pushed a commit
to Magnemania/Archipelago
that referenced
this pull request
Apr 8, 2023
Item Name Groups for hints
Witchybun
pushed a commit
to Witchybun/Archipelago
that referenced
this pull request
Jan 25, 2024
More Cleanup + Final Content for 5.x.x
TheLX5
referenced
this pull request
in TheLX5/Archipelago
Mar 2, 2024
* Initial v2 files they work on AP 0.4.3 * Removed code used for debugging * Reverted EasyEarlyLevels option * Location name adjustments * Reverted added logic for Funky * Removed easy early levels option * Removed options for junk item weights * Reworked the vertical scroll hack * Change item names from the init file * trimming * Blocksanity data is now computed from the json file instead of using a bin file * Added a missing blocksanity location * Bring back import settings and related code * Bring back more settings... again! * Attempt to solve merge conflict * Bring back ROM expansion * Attempt #2 to fix merge conflicts * Changed junk item "15 coins" to "50 coins" * Remove unused things * Configured the vertical scroll setting table * Modified the map indicator for Hidden 1-Ups * Adjusted some palettes * Changed 1-Up Checkpoint references to Hidden 1-Up Also changed some of the options' descriptions ... and changed the name of a location in Donut Ghost House * Fixed the logic for a block that could be either a green or yellow switch palace block * Make impossible to receive checks during boss battles * Several palette fixes arbustos * Rework palette shuffle options
TheLX5
referenced
this pull request
in TheLX5/Archipelago
Mar 2, 2024
commit 0e94a15 Author: PoryGone <[email protected]> Date: Sun Feb 11 00:38:39 2024 -0500 Fix typo commit 7599c25 Author: PoryGone <[email protected]> Date: Sun Feb 11 00:26:32 2024 -0500 Add new popup option commit 7ad8bb6 Author: PoryGone <[email protected]> Date: Sun Feb 11 00:14:43 2024 -0500 Missing Special Zone Location commit 630b61e Author: PoryGone <[email protected]> Date: Sat Feb 10 23:52:14 2024 -0500 Remove debug text commit 4c66a0b Author: PoryGone <[email protected]> Date: Sat Feb 10 23:45:10 2024 -0500 Fix option text commit 1420729 Author: TheLX5 <[email protected]> Date: Sat Feb 10 19:56:31 2024 -0700 SMW v2 - More small adjustments (ArchipelagoMW#29) * Very small logic tweaks * Adjusted levels with vertical scroll * Added a small failsafe on reading the amount of items received commit 5698486 Author: TheLX5 <[email protected]> Date: Wed Jan 24 21:13:01 2024 -0700 SMW v2 - Beta 2 fixes (ArchipelagoMW#27) * Fix Reverse Trap issues * Enable vertical scroll in DP1 main room & CI1 copies commit 758f06c Merge: 3f7c5ea aa72f67 Author: PoryGone <[email protected]> Date: Sun Jan 21 13:52:16 2024 -0500 Merge branch 'main' into smw-main commit 3f7c5ea Author: TheLX5 <[email protected]> Date: Fri Jan 19 01:03:35 2024 -0700 SMW v2 - Additional changes to a hidden feature (ArchipelagoMW#25) * More changes to the hidden player swap feature * Fix yoshi poses during the map commit 7ac687e Author: PoryGone <[email protected]> Date: Thu Jan 18 16:58:52 2024 -0500 Fix missed option reference commit 17f649a Author: PoryGone <[email protected]> Date: Wed Jan 17 23:40:52 2024 -0500 Change 'Reverse Controls Trap' to 'Reverse Trap' commit 5142739 Merge: 5be46e3 e530202 Author: PoryGone <[email protected]> Date: Wed Jan 17 23:38:22 2024 -0500 Merge branch 'smw-main' of https://github.com/PoryGoneDev/Pory_Archipelago into smw-main commit 5be46e3 Author: PoryGone <[email protected]> Date: Wed Jan 17 23:38:14 2024 -0500 Sort itempool to place eggs last commit e530202 Author: TheLX5 <[email protected]> Date: Wed Jan 17 21:34:09 2024 -0700 SMW v2 - Beta test fixes (ArchipelagoMW#24) * Blocksanity updates * Do not remove Yoshi's House from the json * Add mushroom requirement to DP2 vine block * Make dragon coins counter go up to 255 * Update level_blocks_data with up to date blocksanity info * Add new traps * Give SFX to Reverse Controls Trap * Batch of changes * Revert coin junk items values commit ea099e1 Author: PoryGone <[email protected]> Date: Wed Jan 10 04:02:15 2024 -0500 Revamp handling of Yoshi Egg options commit 08a6569 Author: TheLX5 <[email protected]> Date: Mon Jan 8 23:35:44 2024 -0700 Update DP1 GSP wall to only require GSP and Cape (ArchipelagoMW#23) commit 22be7ae Author: PoryGone <[email protected]> Date: Tue Jan 9 01:17:33 2024 -0500 Handle Auto-tracking current room commit 0f707fe Author: PoryGone <[email protected]> Date: Thu Jan 4 00:47:55 2024 -0500 Finish options cleanup commit a86afab Merge: 6e0fa4d 7406a1e Author: PoryGone <[email protected]> Date: Wed Jan 3 23:39:07 2024 -0500 Merge branch 'main' into smw-main commit 6e0fa4d Author: TheLX5 <[email protected]> Date: Wed Jan 3 21:30:30 2024 -0700 Additional changes to SMW v2 (ArchipelagoMW#22) * Batch of changes * Remove additional get_filler_item_name * Added a way for the client to write to level clear and all blocksanity blocks flags on !collect commit 0151f69 Author: PoryGone <[email protected]> Date: Sat Dec 2 19:28:19 2023 -0500 Singularity SFX shuffle commit e8ca4a5 Author: PoryGone <[email protected]> Date: Sat Dec 2 19:00:31 2023 -0500 Condense Level Palette Shuffles into a single option commit 67044ab Author: PoryGone <[email protected]> Date: Sat Dec 2 03:26:53 2023 -0500 Clean up MultiWorld usage and options access commit c3fca02 Merge: e3c0e08 6e38126 Author: PoryGone <[email protected]> Date: Fri Dec 1 21:40:48 2023 -0500 Merge branch 'main' into smw-main commit e3c0e08 Author: TheLX5 <[email protected]> Date: Fri Dec 1 19:37:09 2023 -0700 Possible SMW v2 implementation (#18) * Initial v2 files they work on AP 0.4.3 * Removed code used for debugging * Reverted EasyEarlyLevels option * Location name adjustments * Reverted added logic for Funky * Removed easy early levels option * Removed options for junk item weights * Reworked the vertical scroll hack * Change item names from the init file * trimming * Blocksanity data is now computed from the json file instead of using a bin file * Added a missing blocksanity location * Bring back import settings and related code * Bring back more settings... again! * Attempt to solve merge conflict * Bring back ROM expansion * Attempt #2 to fix merge conflicts * Changed junk item "15 coins" to "50 coins" * Remove unused things * Configured the vertical scroll setting table * Modified the map indicator for Hidden 1-Ups * Adjusted some palettes * Changed 1-Up Checkpoint references to Hidden 1-Up Also changed some of the options' descriptions ... and changed the name of a location in Donut Ghost House * Fixed the logic for a block that could be either a green or yellow switch palace block * Make impossible to receive checks during boss battles * Several palette fixes arbustos * Rework palette shuffle options commit 5e65477 Merge: eb30a71 d2e9bfb Author: PoryGone <[email protected]> Date: Sat Nov 4 21:53:53 2023 -0400 Merge branch 'main' into smw-main commit eb30a71 Merge: f33d98b dc2aa5f Author: PoryGone <[email protected]> Date: Mon Jan 30 19:47:00 2023 -0500 Merge branch 'main' into smw-main commit f33d98b Author: PoryGone <[email protected]> Date: Sun Jan 29 23:51:38 2023 -0500 Update worlds/smw/Client.py to use `getattr` Co-authored-by: Fabian Dill <[email protected]> commit 7c8e34b Author: PoryGone <[email protected]> Date: Thu Jan 19 18:52:00 2023 -0500 Fix Chocolate Island 4 Dragon Coins logic commit f8e1d2e Merge: 4a2eab8 02d3eef Author: PoryGone <[email protected]> Date: Thu Jan 19 18:43:33 2023 -0500 Merge branch 'main' into smw-main commit 4a2eab8 Author: PoryGone <[email protected]> Date: Wed Dec 21 19:30:09 2022 -0500 Add option to fully exclude Special Zone levels from the seed commit a84e36c Merge: 406e188 4cfc73b Author: PoryGone <[email protected]> Date: Mon Dec 19 19:36:50 2022 -0500 Merge branch 'main' into smw-main commit 406e188 Author: PoryGone <[email protected]> Date: Mon Dec 19 00:08:22 2022 -0500 Address unconnected regions commit a2ffeec Merge: f65d47b e0be796 Author: PoryGone <[email protected]> Date: Sun Dec 18 23:49:46 2022 -0500 Merge branch 'main' into smw-main commit f65d47b Author: PoryGone <[email protected]> Date: Sun Dec 18 23:49:28 2022 -0500 Tooltip text edit commit f595db7 Author: PoryGone <[email protected]> Date: Sun Dec 18 18:09:34 2022 -0500 Add correct tooltip for Early Climb commit 2a4c2db Author: PoryGone <[email protected]> Date: Sun Dec 18 17:51:44 2022 -0500 Early Climb and Overworld Speed commit 8fb3d1e Author: PoryGone <[email protected]> Date: Fri Dec 16 20:31:27 2022 -0500 Fix trap name and actually create them commit 5a0e389 Author: PoryGone <[email protected]> Date: Fri Dec 16 03:11:11 2022 -0500 Handle Queuing traps and new Timer Trap commit 67c37d8 Author: PoryGone <[email protected]> Date: Thu Dec 15 00:43:30 2022 -0500 Fix Literature Trap typo commit 3ef9594 Author: PoryGone <[email protected]> Date: Thu Dec 15 00:28:48 2022 -0500 Overworld Palette Shuffle commit 9d8faec Author: PoryGone <[email protected]> Date: Wed Dec 14 19:08:29 2022 -0500 Remove extra space commit 10bd729 Author: PoryGone <[email protected]> Date: Wed Dec 14 01:09:13 2022 -0500 Add boss shuffle commit 13c74ca Author: PoryGone <[email protected]> Date: Mon Dec 12 02:37:41 2022 -0500 Baseline for Bowser Rooms shuffling commit 61c1d2f Merge: 7f4eb70 32820ba Author: PoryGone <[email protected]> Date: Sun Dec 11 17:20:01 2022 -0500 Merge branch 'main' into smw-main commit 7f4eb70 Merge: a161083 2cdd03f Author: PoryGone <[email protected]> Date: Sat Dec 10 21:58:41 2022 -0500 Merge branch 'main' into smw-main commit a161083 Merge: b92024e ef66f64 Author: PoryGone <[email protected]> Date: Thu Dec 1 01:26:49 2022 -0500 Merge branch 'main' into smw-main commit b92024e Author: PoryGone <[email protected]> Date: Wed Nov 16 11:42:49 2022 -0500 Increment Data Package version Changed a location name. commit dcf4108 Merge: aa281ef 4d79920 Author: PoryGone <[email protected]> Date: Tue Nov 15 18:01:50 2022 -0500 Merge branch 'main' into smw-main commit aa281ef Author: PoryGone <[email protected]> Date: Tue Nov 15 18:01:03 2022 -0500 Make Bowser unkillable on Egg Hunt
SunnyBat
added a commit
to SunnyBat/Archipelago
that referenced
this pull request
May 26, 2024
Fix bugs, add additional settings
Alchav
pushed a commit
to Alchav/Archipelago
that referenced
this pull request
Jun 10, 2024
Update Rules.py
Exempt-Medic
added a commit
to Exempt-Medic/Archipelago
that referenced
this pull request
Jun 11, 2024
DeamonHunter
pushed a commit
to DeamonHunter/Archipelago
that referenced
this pull request
Jul 31, 2024
* 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.
NewSoupVi
added a commit
that referenced
this pull request
Aug 9, 2024
* Update worlds/dark_souls_3/Locations.py Co-authored-by: Scipio Wright <[email protected]> * Fix Covetous Silver Serpent Ring location * Update location groups This should cover pretty much all of the seriously hidden items. It also splits out miniboss drops, mimic drops, and hostile NPC drops. * Remove the "Guarded by Keys" group On reflection, I don't think this is actually that useful. It'll also get a lot muddier once we can randomize shops and ashes become pseudo-"keys". * Restore Knight Slayer's Ring classification * Support infusions/upgrades in the new DS3 mod system * Support random starting loadouts * Make an item's NPC status orthogonal to its category * Track location groups with flags * Track Archipelago/Offline mismatches on the server Also fix a few incorrect item names. * Add additional locations that are now randomizable * Don't put soul and multiple items in shops * Add an option to enable whether NG+ items/locations are included * Clean up useful item categorization There are so many weapons in the game now, it doesn't make sense to treat them all as useful * Add more variety to filler items * Iron out a few bugs and incompatibilities * Fix more silly bugs * Get tests passing * Update options to cover new item types Also recategorize some items. * Verify the default values of `Option`s. Since `Option.verify()` can handle normalization of option names, this allows options to define defaults which rely on that normalization. For example, it allows a world to exclude certain locations by default. This also makes it easier to catch errors if a world author accidentally sets an invalid default. * Make a few more improvements and fixes * Randomize Path of the Dragon * Mark items that unlock checks as useful These items all unlock missable checks, but they're still good to ahve in the game for variety's sake. * Guarantee more NPC quests are completable * Fix a syntax error * Fix rule definition * Support enemy randomization * Support online Yhorm randomization * Remove a completed TODO * Fix tests * Fix force_unique * Add an option to smooth out upgrade item progression * Add helpers for setting location/entrance rules * Support smoother soul item progression * Fill extra smoothing items into conditional locations as well as other worlds * Add health item smoothing * Handle infusions at item generation time * Handle item upgrades at genreation time * Fix Grave Warden's Ashes * Don't overwrite old rules * Randomize items based on spheres instead of DS3 locations * Add a smoothing option for weapon upgrades * Add rules for crow trades * Small fixes * Fix a few more bugs * Fix more bugs * Try to prevent Path of the Dragon from going somewhere it doesn't work * Add the ability to provide enemy presets * Various fixes and features * Bug fixes * Better Coiled Sword placement * Structure DarkSouls3Location more like DarkSouls3Item * Add events to make DS3's spheres more even * Restructure locations to work like items do now * Add rules for more missable locations * Don't add two Storm Rulers * Place Hawk Ring in Farron Keep * Mark the Grass Crest Shield as useful * Mark new progression items * Fix a bug * Support newer better Path of the Dragon code * Don't lock the player out of Coiled Sword * Don't create events for missable locations * Don't throw strings * Don't smooth event items * Properly categorize Butcher Knife * Be more careful about placing Yhorm in low-randomization scenarios * Don't try to smooth DLC items with DLC disabled * Fix another Yhorm bug * Fix upgrade/infusion logic * Remove the PoolType option This distinction is no longer meaningful now that every location in the game of each type is randomized * Categorize HWL: Red Eye Orb as an NPC location * Don't place Storm Ruler on CA: Coiled Sword * Define flatten() locally to make this APWorld capable * Fix some more Leonhard weirdness * Fix unique item randomization * Don't double Twin Dragon Greatshield * Remove debugging print * Don't add double Storm Ruler Also remove now-redundant item sorting by category in create_items. * Don't add double Storm Ruler Also remove now-redundant item sorting by category in create_items. * Add a missing dlc_enabled check * Use nicer options syntax * Bump data_version * Mention where Yhorm is in which world * Better handle excluded events * Add a newline to Yhorm location * Better way of handling excluded unradomized progression locations * Fix a squidge of nondeterminism * Only smooth items from this world * Don't smooth progression weapons * Remove a location that doesn't actually exist in-game * Classify Power Within as useful * Clarify location names * Fix location requirements * Clean up randomization options * Properly name Coiled Sword location * Add an option for configuring how missable items are handled * Fix some bugs from location name updates * Fix location guide link * Fix a couple locations that were busted offline * Update detailed location descriptions * Fix some bugs when generating for a multiworld * Inject Large Leather Shield * Fix a few location issues * Don't allow progression_skip_balancing for unnecessary locs * Update some location info * Don't uniquify the wrong items * Fix some more location issues * More location fixes * Use hyphens instead of parens for location descriptions * Update and fix more locations * Fix Soul of Cinder boss name * Fix some logic issues * Add item groups and document item/location groups * Fix the display name for "Impatient Mimics" * Properly handle Transposing Kiln and Pyromancer's Flame * Testing * Some fixes to NPC quests, late basin, and transposing kiln * Improve a couple location names * Split out and improve missable NPC item logic * Don't allow crow trades to have foreign items * Fix a variable capture bug * Make sure early items are accessible early even with early Castle * Mark ID giant slave drops as missable * Make sure late basin means that early items aren't behind it * Make is_location_available explicitly private * Add an _add_item_rule utility that checks availability * Clear excluded items if excluded_locations == "unnecessary" * Don't allow upgrades/infusions in crow trades * Fix the documentation for deprecated options * Create events for all excluded locations This allows `can_reach` logic to work even if the locations are randomized. * Fix up Patches' and Siegward's logic based on some manual testing * Factor out more sub-methods for setting location rules * Oops, left these in * Fixing name * Left that in too * Changing to NamedRange to support special_range_names * Alphabetizing * Don't call _is_location_available on foreign locations * Add missing Leonhard items * Changing late basin to have a post-small-doll option * Update basin option, add logic for some of Leonhard Hawkwood and Orbeck * Simplifying an option, fixing a copy-paste error * Removing trailing whitespace * Changing lost items to go into start inventory * Revert Basin changes * Oops * Update Options.py * Reverting small doll changes * Farron Keep boss requirement logic * Add Scroll for late_dlc * Fixing excluded unnecessary locations * Adding Priestess Ring as being after UG boss * Removing missable from Corvian Titanite Slab * Adding KFF Yhorm boss locks * Screams about Creighton * Elite Knight Set isn't permanently missable * Adding Kiln requirement to KFF * fixing valid_keys and item groups * Fixing an option-checker * Throwing unplaceable Storm Ruler into start inventory * Update locations * Refactor item injection * Update setup doc * Small fixes * Fix another location name * Fix injection calculation * Inject guaranteed items along with progression items * Mark boss souls as required for access to regions This allows us to set quest requirements for boss souls and have them automatically propagated to regions, means we need less machinery for Yhorm bosses, and allows us to get rid of a few region-transition events. * Make sure Sirris's quest can be completed before Pontiff * Removing unused list * Changing dict to list * Removing unused test * Update __init__.py * self.multiworld.random -> self.random (#9) * Fix some miscellaneous location issues * Rewrite the DS3 intro page/FAQ * Removing modifying the itempool after fill (#7) Co-authored-by: Natalie Weizenbaum <[email protected]> * Small fixes to the setup guide (#10) Small fixes, adding an example for connecting * Expanded Late Basin of Vows and Late DLC (#6) * Add proper requirements for CD: Black Eye Orb * Fix Aldrich's name * Document the differences with the 2.x.x branch * Don't crash if there are more items than locations in smoothing * Apply suggestions from code review Co-authored-by: Nicholas Saylor <[email protected]> * Code review * Fix _replace_with_filler * Don't use the shared flatten function in SM * Track local items separately rather than iterating the multiworld * Various formatting/docs changes suggested by PyCharm (#12) * Drop deprecated options * Rename "offline randomizer" to "static randomizer" which is clearer * Move `enable_*_locations` under removed options. * Avoid excluded locations for locally-filled items * Adding Removed options to error (#14) * Changes for WebHost options display and the options overhaul * unpack iterators in item list (#13) * Allow worlds to add options to prebuilt groups Previously, this crashed because `typing.NamedTuple` fields such as `group.name` aren't assignable. Now it will only fail for group names that are actually incorrectly cased, and will fail with a better error message. * Style changes, rename exclude behavior options, remove guaranteed items option * Spacing/Formatting (#18) * Various Fixes (#19) * Universally Track Yhorm (#20) * Account for excluded and missable * These are behaviors now * This is singular, apparently * Oops * Fleshing out the priority process * Missable Titanite Lizards and excluded locations (#22) * Small style/efficiency changes * Final passthrough fixes (#24) * Use rich option formatting * Make the behavior option values actual behaviors (#25) * Use != * Remove unused flatten utility * Some changes from review (#28) * Fixing determinism and making smooth faster (#29) * Style change * PyCharm and Mypy fixes (#26) Co-authored-by: Scipio Wright <[email protected]> * Change yhorm default (#30) * Add indirect condition (#27) * Update worlds/dark_souls_3/docs/locations_en.md Co-authored-by: Nicholas Saylor <[email protected]> * Ship all item IDs to the client This avoids issues where items might get skipped if, for instance, they're only in the starting inventory. * Make sure to send AP IDs for infused/upgraded weapons * Make `RandomEnemyPresetOption` compatible with #3280 (#31) * Fix cast * More typing and small fixes (#32) --------- Co-authored-by: Scipio Wright <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> Co-authored-by: Nicholas Saylor <[email protected]> Co-authored-by: Doug Hoskisson <[email protected]> Co-authored-by: NewSoupVi <[email protected]>
NewSoupVi
added a commit
that referenced
this pull request
Aug 29, 2024
* - Add Unit test for all the fish that require a specific region to be reachable * - Move the crimsonfish to the tide pools region * - Improved the unit test to be more thorough, add extended family fish to the test * - Moved the son of crimsonfish to the correct region as well * FFMQ: Fix reset protection (#3710) * Revert reset protection * Fix reset protection --------- Co-authored-by: alchav <[email protected]> * - Take shipsanity moss out of shipsanity crops (#3709) * sc2: Removing unused dependency in requirements.txt (#3697) * sc2: Removing unused dependency in requirements.txt * sc2: Add missing newline in requirements.txt Co-authored-by: Exempt-Medic <[email protected]> --------- Co-authored-by: Exempt-Medic <[email protected]> * WebHost: Fix NamedRange values clamping to the range (#3613) If a NamedRange has a `special_range_names` entry outside the `range_start` and `range_end`, the HTML5 range input will clamp the submitted value to the closest value in the range. These means that, for example, Pokemon RB's "HM Compatibility" option's "Vanilla (-1)" option would instead get posted as "0" rather than "-1". This change updates NamedRange to behave like TextChoice, where the select element has a `name` attribute matching the option, and there is an additional element to be able to provide an option other than the select element's choices. This uses a different suffix of `-range` rather than `-custom` that TextChoice uses. The reason is we need some way to decide whether to use the custom value or the select value, and that method needs to work without JavaScript. For TextChoice this is easy, if the custom field is empty use the select element. For NamedRange this is more difficult as the browser will always submit *something*. My choice was to only use the value from the range if the select box is set to "custom". Since this only happens with JS as "custom' is hidden, I made the range hidden under no-JS. If it's preferred, I could make the select box hidden instead. Let me know. This PR also makes the `js-required` class set `display: none` with `!important` as otherwise the class wouldn't work on any rule that had `display: flex` with more specificity than a single class. * Timespinner: migrate to new options api and correct random (#2485) * Implemented new options system into Timespinner * Fixed typo * Fixed typo * Fixed slotdata maybe * Fixes * more fixes * Fixed failing unit tests * Implemented options backwards comnpatibility * Fixed option fallbacks * Implemented review results * Fixed logic bug * Fixed python 3.8/3.9 compatibility * Replaced one more multiworld option usage * Update worlds/timespinner/Options.py Co-authored-by: Exempt-Medic <[email protected]> * Updated logging of options replacement to include player name and also write it to spoiler Fixed generation bug Implemented review results --------- Co-authored-by: Exempt-Medic <[email protected]> * Core: migrate item links out of main (#2914) * Core: move item linking out of main * add a test that item link option correctly validates * remove unused fluff --------- Co-authored-by: NewSoupVi <[email protected]> * Core: Rework accessibility (#1481) * rename locations accessibility to "full" and make old locations accessibility debug only * fix a bug in oot * reorder lttp tests to not override its overrides * changed the wrong word in the dict * :forehead: * update the manual lttp yaml * use __debug__ * update pokemon and messenger * fix conflicts from 993 * fix stardew presets * add that locations may be inaccessible to description * use reST format and make the items description one line so that it renders correctly on webhost * forgot i renamed that * add aliases for back compat * some cleanup * fix imports * fix test failure * only check "items" players when the item is progression * Revert "only check "items" players when the item is progression" This reverts commit ecbf986145e6194aa99a39c481d8ecd0736d5a4c. * remove some unnecessary diffs * CV64: Add ItemsAccessibility * put items description at the bottom of the docstring since that's it's visual order * : * rename accessibility reference in pokemon rb dexsanity * make the rendered tooltips look nicer * Shivers: New features and removes two missed options using the old options API (#3287) * Adds an option to have pot pieces placed local/non-local/anywhere Shivers nearly always finishes last in multiworld games due to the fact you need all 20 pot pieces to win and the pot pieces open very few location checks. This option allows the pieces to be placed locally. This should allow Shivers to be finished earlier. * New option: Choose how many ixupi captures are needed for goal completion New option: Choose how many ixupi captures are needed for goal completion * Fixes rule logic for location 'puzzle solved three floor elevator' Fixes rule logic for location 'puzzle solved three floor elevator'. Missing a parenthesis caused only the key requirement to be checked for the blue maze region. * Merge branch 'main' of https://github.com/GodlFire/Shivers * Revert "Merge branch 'main' of https://github.com/GodlFire/Shivers" This reverts commit bb08c3f0c2ef148fd24d7c7820cdfe936f7196e2. * Fixes issue with office elevator rule logic. * Bug fix, missing logic requirement for location 'Final Riddle: Guillotine Dropped' Bug fix, missing logic requirement for location 'Final Riddle: Guillotine Dropped' * Moves plaque location to front for better tracker referencing. * Tiki should be Shaman. * Hanging should be Gallows. * Merrick spelling. * Clarity change. * Changes new option to use new option API Changes new option to use new option API * Added sub regions for Ixupi -Added sub regions for Ixupi and moved ixupi capture checks into the sub region. -Added missing wax capture possible spot in Shaman room * Adds option for ixupi captures to be priority locations Adds option for ixupi captures to be priority locations * Consistency Consistency * Changes ixupi captures priority to default on toggle Changes ixupi captures priority to default on toggle * Docs update -Updated link to randomizer -Update some text to reflect the latest functionality -Replaced 'setting' with 'option' * New features/bug fixes -Adds an option to have completed pots in the item pool -Moved subterranean world information plaque to maze staircase * Cleanup Cleanup * Fixed name for moved location When moving a location and renaming it I forgot to fix the name in a second spot. * Squashed commit of the following: commit 630a3bdfb9414d8c57154f29253fce0cf67b6436 Merge: 8477d3c8 5e579200 Author: GodlFire <[email protected]> Date: Mon Apr 1 19:08:48 2024 -0600 Merge pull request #10 from ArchipelagoMW/main Merge main into branch commit 5e5792009cd3089ae61c5fdd208de1b79d183cb4 Author: Alchav <[email protected]> Date: Mon Apr 1 12:08:21 2024 -0500 LttP: delete playerSettings.yaml (#3062) commit 9aeeeb077a9e894cd2ace51b58d537bcf7607d5b Author: CaitSith2 <[email protected]> Date: Mon Apr 1 06:07:56 2024 -0700 ALttP: Re-mark light/dark world regions after applying plando connections (#2964) commit 35458380e6e08eab85203942b6415fd964907c84 Author: Bryce Wilson <[email protected]> Date: Mon Apr 1 07:07:11 2024 -0600 Pokemon Emerald: Fix wonder trade race condition (#2983) commit 4ac1866689d01dc6693866ee8b1236ad6fea114b Author: Alchav <[email protected]> Date: Mon Apr 1 08:06:31 2024 -0500 ALTTP: Skull Woods Inverted fix (#2980) commit 4aa03da66e1a8c99fc31c163c1a23fb0bd772c15 Author: Fabian Dill <[email protected]> Date: Mon Apr 1 15:06:02 2024 +0200 Factorio: fix attempting to create savegame with not filename safe characters (#2842) commit 24a03bc8b6b406c0925eedf415dcef47e17fdbaa Author: Silvris <[email protected]> Date: Mon Apr 1 08:02:26 2024 -0500 KDL3: fix shuffled animals not actually being random (#3060) commit f813a7005fadb1c56bb93fee6147b63d9df2b720 Author: Aaron Wagener <[email protected]> Date: Sun Mar 31 11:11:10 2024 -0500 The Messenger: update docs formatting and fix outdated info (#3033) * The Messenger: update docs formatting and fix outdated info * address review feedback * 120 chars commit 2a0b7e0def5c00cc2ac273b22581b3cde3b6f6a6 Author: LiquidCat64 <[email protected]> Date: Sun Mar 31 09:55:55 2024 -0600 CV64: A couple of very small docs corrections. (#3057) commit 03d47e460e434b897b313c2ba452d785ecbacebe Author: Ixrec <[email protected]> Date: Sun Mar 31 16:55:08 2024 +0100 A Short Hike: Clarify installation instructions (#3058) * Clarify installation instructions * don't mention 'config' folder since it isn't created until the game starts commit e546c0f7ff2456ddb919a1b65a437a1c61b07479 Author: Silvris <[email protected]> Date: Sun Mar 31 10:50:31 2024 -0500 Yoshi's Island: add patch suffix (#3061) commit 2ec93ba82a969865a8addc98feb076898978c8e3 Author: Bryce Wilson <[email protected]> Date: Sun Mar 31 09:48:59 2024 -0600 Pokemon Emerald: Fix inconsistent location name (#3065) commit 4e3d3963941934c77573e6e0b699edf9e26cd647 Author: Aaron Wagener <[email protected]> Date: Sun Mar 31 10:47:11 2024 -0500 The Messenger: Fix precollected notes not being removed from the itempool (#3066) * The Messenger: fix precollected notes not being properly removed from pool * The Messenger: bump required client version commit 72c53513f8bdab5506ffa972c1bf6f8573f097d7 Author: Fabian Dill <[email protected]> Date: Sun Mar 31 03:57:59 2024 +0200 WebHost: fix /check creating broken yaml files if files don't end with a newline (#3063) commit b7ac6a4cbd54d5f8e6672e4a6c6ea708e7e6d4de Author: Aaron Wagener <[email protected]> Date: Fri Mar 29 20:14:53 2024 -0500 The Messenger: Fix various portal shuffle issues (#2976) * put constants in a bit more sensical order * fix accidental incorrect scoping * fix plando rules not being respected * add docstrings for the plando functions * fix the portal output pools being overwritten * use shuffle and pop instead of removing by content so plando can go to the same area twice * move portal pool rebuilding outside mapping creation * remove plando_connection cleansing since it isn't shared with transition shuffle commit 5f0112e78365d19f04e22af92d6ad1f52d264b1f Author: Zach Parks <[email protected]> Date: Fri Mar 29 19:13:51 2024 -0500 Tracker: Add starting inventory to trackers and received items table. (#3051) commit bb481256de2a511d3b114f164061d440026be4c4 Author: Aaron Wagener <[email protected]> Date: Thu Mar 28 21:48:40 2024 -0500 Core: Make fill failure error more human parseable (#3023) commit 301d9de9758e360ccec5399f3f9d922f1c034e45 Author: Aaron Wagener <[email protected]> Date: Thu Mar 28 19:31:59 2024 -0500 Docs: adding games rework (#2892) * Docs: complete adding games.md rework * remove all the now unused images * review changes * address medic's review * address more comments commit 9dc708978bd00890afcd3426f829a5ac53cbe136 Author: Trevor L <[email protected]> Date: Thu Mar 28 18:26:58 2024 -0600 Hylics 2: Fix invalid multiworld data, use `self.random` instead of `self.multiworld.random` (#3001) * Hylics 2: Fixes * Rewrite loop commit 4391d1f4c13cdf2295481d8c51f9ef8f58bf8347 Author: Bryce Wilson <[email protected]> Date: Thu Mar 28 18:05:39 2024 -0600 Pokemon Emerald: Fix opponents learning non-randomized TMs (#3025) commit 5d9d4ed9f1e44309f1b53f12413ad260f1b6c983 Author: black-sliver <[email protected]> Date: Fri Mar 29 01:01:31 2024 +0100 SoE: update to pyevermizer v0.48.0 (#3050) commit c97215e0e755224593fdd00894731b59aa415e19 Author: Scipio Wright <[email protected]> Date: Thu Mar 28 17:23:37 2024 -0400 TUNIC: Minor refactor of the vanilla_portals function (#3009) * Remove unused, change an if to an elif * Remove unused import commit eb66886a908ad75bbe71fac9bb81a0177e05e816 Author: Alchav <[email protected]> Date: Thu Mar 28 16:23:01 2024 -0500 SC2: Don't Filter Excluded Victory Locations (#3018) commit de860623d17d274289e3e4ab13650f2382e2e0b8 Author: Fabian Dill <[email protected]> Date: Thu Mar 28 22:21:56 2024 +0100 Core: differentiate between unknown worlds and broken worlds in error message (#2903) commit 74b2bf51613a968eb57a5b138a7ad191324b2dd8 Author: Bryce Wilson <[email protected]> Date: Thu Mar 28 15:20:55 2024 -0600 Pokemon Emerald: Exclude norman trainer location during norman goal (#3038) commit 74ac66b03228988d0885cff556f962a04873cc54 Author: BadMagic100 <[email protected]> Date: Thu Mar 28 08:49:19 2024 -0700 Hollow Knight: 0.4.5 doc revamp and default options tweaks (#2982) Co-authored-by: Exempt-Medic <[email protected]> commit 80d7ac416493a540548aad67981202a1483b5e53 Author: Silvris <[email protected]> Date: Thu Mar 28 09:41:32 2024 -0500 KDL3: RC1 Fixes and Enhancement (#3022) * fix cloudy park 4 rule, zero deathlink message * remove redundant door_shuffle bool when generic ER gets in, this whole function gets rewritten. So just clean it a little now. * properly fix deathlink messages, fix fill error * update docs commit 77311719fa0fa5b67fe92f437c3cfed16bd5136f Author: Ziktofel <[email protected]> Date: Thu Mar 28 15:38:34 2024 +0100 SC2: Fix HERC upgrades (#3044) commit cfc1541be9e92f1f59b21f4a81f96fc88f4d9f7e Author: NewSoupVi <[email protected]> Date: Thu Mar 28 15:19:32 2024 +0100 Docs: Mention the "last received item index" paradigm in the network protocol docs (#2989) Co-authored-by: Exempt-Medic <[email protected]> commit 4d954afd9b2311248083fc389ac737995985be86 Author: Scipio Wright <[email protected]> Date: Thu Mar 28 10:11:20 2024 -0400 TUNIC: Add link to AP plando guide to connection plando section of game page (#2993) commit 17748a4bf1cfd5cc11c6596a09ffc1f01434340f Author: Nicholas Saylor <[email protected]> Date: Thu Mar 28 10:00:10 2024 -0400 Launcher, Docs: Update UI and Set-Up Guide to Reference Options (#2950) commit 9182fe563fc18ed4ccaa8370cfed88407140398e Author: Entropynines <[email protected]> Date: Thu Mar 28 06:56:35 2024 -0700 README: Remove outdated information about launchers (#2966) Co-authored-by: Exempt-Medic <[email protected]> commit bcf223081facd030aa706dc7430a72bcf2fdadc9 Author: t3hf1gm3nt <[email protected]> Date: Thu Mar 28 09:54:56 2024 -0400 TLOZ: Fix markdown issue with game info page (#2985) commit fa93488f3fceac6c2f51851766543cab3ba121e6 Author: Exempt-Medic <[email protected]> Date: Thu Mar 28 09:46:00 2024 -0400 Docs: Consistent naming for "connection plando" (#2994) commit db15dd4bde442aad99048224bdb0d7dc28c26717 Author: chandler05 <[email protected]> Date: Thu Mar 28 08:45:19 2024 -0500 A Short Hike: Fix incorrect info in docs (#3016) commit 01cdb0d761a82349afaeb7222b4b59cb1766f4a0 Author: PoryGone <[email protected]> Date: Thu Mar 28 09:44:23 2024 -0400 SMW: Update World Doc for v2.0 Features (#3034) Co-authored-by: Scipio Wright <[email protected]> commit d0ac2b744eac438570e6a2333e76fa212be66534 Author: panicbit <[email protected]> Date: Thu Mar 28 10:11:26 2024 +0100 LADX: fix local and non-local instrument placement (#2987) * LADX: fix local and non-local instrument placement * change confusing variable name commit 14f5f0127eb753eaf0431a54bebc82f5e74a1cb9 Author: Jérémie Bolduc <[email protected]> Date: Thu Mar 28 04:42:35 2024 -0400 Stardew Valley: Fix potential soft lock with vanilla tools and entrance randomizer + Performance improvement for vanilla tool/skills (#3002) * fix vanilla tool fishing rod requiring metal bars fix vanilla skill requiring previous level (it's always the same rule or more restrictive) * add test to ensure fishing rod need fish shop * fishing rod should be indexed from 0 like a mentally sane person would do. * fishing rod 0 isn't real, but it definitely can hurt you. * reeeeeeeee commit cf133dde7275e171d388fb466b9ed719ab7ed7c8 Author: Bryce Wilson <[email protected]> Date: Thu Mar 28 02:32:27 2024 -0600 Pokemon Emerald: Fix typo (#3020) commit ca1812181106a3645e7f7af417590024b377b25e Author: Jérémie Bolduc <[email protected]> Date: Thu Mar 28 04:27:49 2024 -0400 Stardew Valley: Fix generation fail with SVE and entrance rando when Wizard Tower is in place of Sprite Spring (#2970) commit 1d4512590e0b78355e5c10174a9c6749e1098a72 Author: NewSoupVi <[email protected]> Date: Wed Mar 27 21:09:09 2024 +0100 requirements.txt: _ instead of - to make PyCharm happy (#3043) commit f7b415dab00338443b68eba51f42614fc40b9152 Author: agilbert1412 <[email protected]> Date: Tue Mar 26 19:40:58 2024 +0300 Stardew valley: Game version documentation (#2990) Co-authored-by: Exempt-Medic <[email protected]> commit 702f006c848c05b847e85f7dbedeef68b70cdcc6 Author: LiquidCat64 <[email protected]> Date: Tue Mar 26 07:31:36 2024 -0600 CV64: Change all mentions of "settings" to "options" and fix a broken link (#3015) commit 98ce8f8844fd0c62214a5774609382cf6a6bc829 Author: Yussur Mustafa Oraji <[email protected]> Date: Tue Mar 26 14:29:25 2024 +0100 sm64ex: New Options API and WebHost fix (#2979) commit ea47b90367b4a220c346d8057f3aeb4207d226a1 Author: Scipio Wright <[email protected]> Date: Tue Mar 26 09:25:41 2024 -0400 TUNIC: You can grapple down here without the ladder, neat (#3019) commit bf3856866c5ea385d0ac58014c71addfdc92637e Author: agilbert1412 <[email protected]> Date: Sun Mar 24 23:53:49 2024 +0300 Stardew Valley: presets with some of the new available values for existing settings to make them more accurate (#3014) commit c0368ae0d48b4b2807c5238aeb7b14937282fc3e Author: Phaneros <[email protected]> Date: Sun Mar 24 13:53:20 2024 -0700 SC2: Fixed missing upgrade from custom tracker (#3013) commit 36c83073ad8c2ae1912d390ee3976ba0e2eb3f4a Author: Salzkorn <[email protected]> Date: Sun Mar 24 21:52:41 2024 +0100 SC2 Tracker: Fix grouped items pointing at wrong item IDs (#2992) commit 2b24539ea5b387a3b62063c8177c373e2e3f8389 Author: Ziktofel <[email protected]> Date: Sun Mar 24 21:52:16 2024 +0100 SC2 Tracker: Use level tinting to let the player know which level he has of Replenishable Magazine (#2986) commit 7e904a1c78c91fb502706fe030a1f1765f734de4 Author: Ziktofel <[email protected]> Date: Sun Mar 24 21:51:46 2024 +0100 SC2: Fix Kerrigan presence resolving when deciding which races should be used (#2978) commit bdd498db2321417374d572bff8beede083fef2b2 Author: Alchav <[email protected]> Date: Fri Mar 22 15:36:27 2024 -0500 ALTTP: Fix #2290's crashes (#2973) commit 355223b8f0af1ee729ffa8b53eb717aa5bf283a4 Author: PinkSwitch <[email protected]> Date: Fri Mar 22 15:35:00 2024 -0500 Yoshi's Island: Implement New Game (#2141) Co-authored-by: Silvris <[email protected]> Co-authored-by: Alchav <[email protected]> Co-authored-by: NewSoupVi <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> commit aaa3472d5d8d8a7a710bd38386d9eb34046a5578 Author: NewSoupVi <[email protected]> Date: Fri Mar 22 21:30:51 2024 +0100 The Witness: Fix seed bleed issue (#3008) commit 96d93c1ae313bb031e983c0d40d8be199b302df1 Author: chandler05 <[email protected]> Date: Fri Mar 22 15:30:23 2024 -0500 A Short Hike: Add option to customize filler coin count (#3004) Co-authored-by: Exempt-Medic <[email protected]> commit ca549df20a0a07c30ee2e1bbc2498492b919604d Author: Silvris <[email protected]> Date: Fri Mar 22 15:29:24 2024 -0500 CommonClient: fix hint tab overlapping (#2957) Co-authored-by: Remy Jette <[email protected]> commit 44988d430dc7d91eaeac7aad681dc024bc19ccce Author: Star Rauchenberger <[email protected]> Date: Fri Mar 22 15:28:41 2024 -0500 Lingo: Add trap weights option (#2837) commit 11b32f17abebc08a6140506a375179f8a46bcfe6 Author: Danaël V <[email protected]> Date: Fri Mar 22 12:46:14 2024 -0400 Docs: replacing "setting" to "option" in world docs (#2622) * Update contributing.md * Update contributing.md * Update contributing.md * Update contributing.md * Update contributing.md * Update contributing.md Added non-AP World specific information * Update contributing.md Fixed broken link * Some minor touchups * Update Contributing.md Draft for version with picture * Update contributing.md Small word change * Minor updates for conciseness, mostly * Changed all instances of settings to options in info and setup guides I combed through all world docs and swapped "setting" to "option" when this was refering to yaml options. I also changed a leftover "setting" in option.py * Update contributing.md * Update contributing.md * Update setup_en.md Woops I forgot one * Update Options.py Reverted changes regarding options.py * Update worlds/noita/docs/en_Noita.md Co-authored-by: Scipio Wright <[email protected]> * Update worlds/sc2wol/docs/en_Starcraft 2 Wings of Liberty.md revert change waiting for that page to be updated * Update worlds/witness/docs/setup_en.md * Update worlds/witness/docs/en_The Witness.md * Update worlds/soe/docs/multiworld_en.md Fixed Typo Co-authored-by: black-sliver <[email protected]> * Update worlds/witness/docs/en_The Witness.md * Update worlds/adventure/docs/en_Adventure.md * Update worlds/witness/docs/setup_en.md * Updated Stardew valley to hopefully get rid of the merge conflicts * Didn't work :dismay: * Delete worlds/sc2wol/docs/setup_en.md I think this will fix the merge issue * Now it should work * Woops --------- Co-authored-by: Scipio Wright <[email protected]> Co-authored-by: black-sliver <[email protected]> commit 218cd45844f9d733618af9088941156cd79b80bc Author: Silvris <[email protected]> Date: Fri Mar 22 03:02:38 2024 -0500 APProcedurePatch: fix RLE/COPY incorrect sizing (#3006) * change class variables to instance variables * Update worlds/Files.py Co-authored-by: black-sliver <[email protected]> * Update worlds/Files.py Co-authored-by: black-sliver <[email protected]> * move required_extensions to tuple * fix missing tuple ellipsis * fix classvar mixup * rename tokens to _tokens. use hasattr * type hint cleanup * Update Files.py * check using isinstance instead * Update Files.py --------- Co-authored-by: black-sliver <[email protected]> commit 4196bde597cdbb6186ff614294fd54ff043a0c99 Author: Exempt-Medic <[email protected]> Date: Thu Mar 21 16:38:36 2024 -0400 Docs: Fixing special_range_names example (#3005) commit 40f843f54d5970302caeb2a21b76a4845cf5c0ed Author: Star Rauchenberger <[email protected]> Date: Thu Mar 21 11:00:53 2024 -0500 Lingo: Minor game data fixes (#3003) commit da333fbb0c88feedd4821a7bade3f56028a02111 Author: GodlFire <[email protected]> Date: Thu Mar 21 09:52:16 2024 -0600 Shivers: Adds missing logic rule for skull dial door location (#2997) commit 43084da23c719133fcae672e20c9b046e6ef8067 Author: NewSoupVi <[email protected]> Date: Thu Mar 21 16:51:29 2024 +0100 The Witness: Fix newlines in Witness option tooltips (#2971) commit 14816743fca366b52422ccb19add59d4960f17a3 Author: Scipio Wright <[email protected]> Date: Thu Mar 21 11:50:07 2024 -0400 TUNIC: Shuffle Ladders option (#2919) commit 30a0aa2c85a7015e2072b5781ed1078965f62f4b Author: Star Rauchenberger <[email protected]> Date: Thu Mar 21 10:46:53 2024 -0500 Lingo: Add item/location groups (#2789) commit f4b7c28a33bb163768871616023a8cf3879840b4 Author: Silvris <[email protected]> Date: Wed Mar 20 17:45:32 2024 -0500 APProcedurePatch: hotfix changing class variables to instance variables (#2996) * change class variables to instance variables * Update worlds/Files.py Co-authored-by: black-sliver <[email protected]> * Update worlds/Files.py Co-authored-by: black-sliver <[email protected]> * move required_extensions to tuple * fix missing tuple ellipsis * fix classvar mixup * rename tokens to _tokens. use hasattr * type hint cleanup * Update Files.py * check using isinstance instead --------- Co-authored-by: black-sliver <[email protected]> commit 12864f7b24028fa56135e599f0fe1642c9d2d377 Author: chandler05 <[email protected]> Date: Wed Mar 20 22:44:09 2024 +0100 A Short Hike: Implement New Game (#2577) commit db02e9d2aabc0f4c1302ac761b3f5547ef00c7c5 Author: LiquidCat64 <[email protected]> Date: Wed Mar 20 15:03:25 2024 -0600 Castlevania 64: Implement New Game (#2472) commit 32315776ac0ac1a714eb9d58688c479e2038c658 Author: Jérémie Bolduc <[email protected]> Date: Wed Mar 20 16:57:45 2024 -0400 Stardew Valley: Fix extended family legendary fishes being locations with fishsanity set to exclude legendary (#2967) commit e9620bea777ff1008a09c24a70bf523c94f22c29 Author: Magnemania <[email protected]> Date: Wed Mar 20 16:56:00 2024 -0400 SM64: Goal Logic and Hint Bugfixes (#2886) commit 183ca35bbaf6c805fdb53396d21d0cba34f9cc5e Author: qwint <[email protected]> Date: Wed Mar 20 08:39:37 2024 -0500 CommonClient: Port Casting Bug (#2975) commit fcaaa197a19a3be03965c504ca78dd2c21ce1f84 Author: TheLX5 <[email protected]> Date: Wed Mar 20 05:56:19 2024 -0700 SMW: Fixes for Bowser being defeatable on Egg Hunt and CI2 DC room access (#2981) commit 8f7b63a787a0ef05625ae2fad1768251aced0c87 Author: TheLX5 <[email protected]> Date: Wed Mar 20 05:56:04 2024 -0700 SMW: Blocksanity logic fixes (#2988) commit 6f64bb98693556ac2635791381cc9651c365b324 Author: Scipio Wright <[email protected]> Date: Wed Mar 20 08:46:31 2024 -0400 Noita: Remove newline from option description so it doesn't look bad on webhost (#2969) commit d0a9d0e2d1df641668f4f806b45f9577e69229f6 Author: Bryce Wilson <[email protected]> Date: Wed Mar 20 06:43:13 2024 -0600 Pokemon Emerald: Bump required client version (#2963) commit 94650a02de62956eee8e7e41f61e8a41506b5842 Author: Silvris <[email protected]> Date: Tue Mar 19 17:08:29 2024 -0500 Core: implement APProcedurePatch and APTokenMixin (#2536) * initial work on procedure patch * more flexibility load default procedure for version 5 patches add args for procedure add default extension for tokens and bsdiff allow specifying additional required extensions for generation * pushing current changes to go fix tloz bug * move tokens into a separate inheritable class * forgot the commit to remove token from ProcedurePatch * further cleaning from bad commit * start on docstrings * further work on docstrings and typing * improve docstrings * fix incorrect docstring * cleanup * clean defaults and docstring * define interface that has only the bare minimum required for `Patch.create_rom_file` * change to dictionary.get * remove unnecessary if statement * update to explicitly check for procedure, restore compatible version and manual override * Update Files.py * remove struct uses * ensure returning bytes, add token type checking * Apply suggestions from code review Co-authored-by: Doug Hoskisson <[email protected]> * pep8 --------- Co-authored-by: beauxq <[email protected]> Co-authored-by: Doug Hoskisson <[email protected]> * Changes pot_completed_list to a instance variable instead of global. Changes pot_completed_list to a instance variable instead of global. The global variable was unintentional and was causing missmatch in pre_fill which would cause generation error. * Removing deprecated options getter * Adds back fix from main branch Adds back fix from main branch * Removing messenger changes that somehow got on my branch? Removing messenger changes that somehow got on my branch? * Removing messenger changes that are somehow on the Shivers branch Removing messenger changes that are somehow on the Shivers branch * Still trying to remove Messenger changes on Shivers branch Still trying to remove Messenger changes on Shivers branch * Review comments addressed. Early lobby access set as default. Review comments addressed. Early lobby access set as default. * Review comments addressed Review comments addressed * Review comments addressed. Option for priority locations removed. Option to have ixupi captures a priority has been removed and can be added again if Priority Fill is changed. See Issues #3467. * Minor Change Minor Change * Fixed ID 10 T Error Fixed ID 10 T Error * Front door option added to slot data Front door option added to slot data * Add missing .value on slot data Add missing .value on slot data * Small change to slot data Small change to slot data * Small change to slot data Why didn't this change get pushed github... * Forgot list Forgot list --------- Co-authored-by: Kory Dondzila <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> * Bomb Rush Cyberfunk: Fix Coil quest being in glitched logic too early (#3720) * Update Rules.py * Update Rules.py * Options: Always verify keys for VerifyKeys options (#3280) * Options: Always verify keys for VerifyKeys options * fix PlandoTexts * use OptionError and give a slightly better error message for which option it is * add the player name to the error * don't create an unnecessary list --------- Co-authored-by: NewSoupVi <[email protected]> * Docs: Add FFMQ French Setup Guide + Minor fixes to English Guide (#3590) * Add docs * Fix character * Configuration Co-authored-by: Jérémie Bolduc <[email protected]> * ajuster Co-authored-by: Jérémie Bolduc <[email protected]> * inclure Co-authored-by: Jérémie Bolduc <[email protected]> * doublon Co-authored-by: Jérémie Bolduc <[email protected]> * remplissage Co-authored-by: Jérémie Bolduc <[email protected]> * autre Co-authored-by: Jérémie Bolduc <[email protected]> * pouvoir Co-authored-by: Jérémie Bolduc <[email protected]> * mappemonde Co-authored-by: Jérémie Bolduc <[email protected]> * apostrophes Co-authored-by: Jérémie Bolduc <[email protected]> * virgule Co-authored-by: Jérémie Bolduc <[email protected]> * fournir Co-authored-by: Jérémie Bolduc <[email protected]> * apostrophes 2 Co-authored-by: Jérémie Bolduc <[email protected]> * snes9x Co-authored-by: Jérémie Bolduc <[email protected]> * apostrophes 3 Co-authored-by: Jérémie Bolduc <[email protected]> * options Co-authored-by: Jérémie Bolduc <[email protected]> * lien Co-authored-by: Jérémie Bolduc <[email protected]> * de laquelle Co-authored-by: Jérémie Bolduc <[email protected]> * Étape de génération Co-authored-by: Jérémie Bolduc <[email protected]> * apostrophes 4 Co-authored-by: Jérémie Bolduc <[email protected]> * également Co-authored-by: Jérémie Bolduc <[email protected]> * guillemets Co-authored-by: Jérémie Bolduc <[email protected]> * guillemets 2 Co-authored-by: Jérémie Bolduc <[email protected]> * adresse Co-authored-by: Jérémie Bolduc <[email protected]> * Connect Co-authored-by: Jérémie Bolduc <[email protected]> * seed Co-authored-by: Jérémie Bolduc <[email protected]> * Changer fichier yaml pour de configuration * Fix capitalization Co-authored-by: Nicholas Saylor <[email protected]> * Fix capitalization 2 Co-authored-by: Nicholas Saylor <[email protected]> * Fix typo+Add link to fr/en info page --------- Co-authored-by: Jérémie Bolduc <[email protected]> Co-authored-by: Nicholas Saylor <[email protected]> * Spire: Convert options, clean up random calls, and add DeathLink (#3704) * Convert StS options * probably a bad idea * Update worlds/spire/Options.py Co-authored-by: Scipio Wright <[email protected]> --------- Co-authored-by: Kono Tyran <[email protected]> Co-authored-by: Scipio Wright <[email protected]> * Core: fix missing import for `MultiWorld.link_items()` (#3731) * Pokemon R/B: Removing Floats from NamedRange #3717 * Docs: Missed Full Accessibility mention/conversion #3734 * ChecksFinder: Refactor/Cleaning (#3725) * Update ChecksFinder * minor cleanup * Check for compatible name * Enable APWorld * Update setup_en.md * Update en_ChecksFinder.md * The client is getting updated instead * Qwint suggestions, ' -> ", streamline fill_slot_data * Oops, too many refactors --------- Co-authored-by: SunCat <[email protected]> * OSRS: Implement New Game (#1976) * MMBN3: Press program now has proper color index when received remotely * Initial commit of OSRS untangled from MMBN3 branch * Fixes some broken region connections * Removes some locations * Rearranges locations to fill in slots left by removed locations * Adds starting area rando * Moves Oak and Willow trees to resource regions * Fixes various PEP8 violations * Refactor of regions * Fixes variable capture issue with region rules * Partial completion of brutal grind logic * Finishes can_reach_skill function * Adds skill requirements to location rules, fixes regions rules * Adds documentation for OSRS * Removes match statement * Updates Data Version to test mode to prevent item name caching * Fixes starting spawn logic for east varrock * Fixes river lum crossing logic to not assume you can phase across water * Prevents equipping items when you haven't unlocked them * Changes canoe logic to not require huge levels * Skeletoning out some data I'll need for variable task system * Adds csvs and parser for logic * Adds Items parsing * Fixes the spawning logic to not default to Chunksanity when you didn't pick it * Begins adding generation rules for data-driven logic * Moves region handling and location creating to different methods * Adds logic limits to Options * Begun the location generation has * Randomly generates tasks for each skill until populated * Mopping up improper names, adding custom logic, and fixes location rolling * Drastically cleans up the location rolling loop * Modifies generation to properly use local variables and pass unit tests * Game is now generating, but rules don't seem to work * Lambda capture, my old nemesis. We meet again * Fixes issue with Corsair Cove item requirement causing logic loop * Okay one more fix, another variable capture * On second thought lets not have skull sceptre tasks. 'Tis a silly place * Removes QP from item pool (they're events not items) * Removes Stronghold floor tasks, no varbit to track them * Loads CSV with pkutil so it can be used in apworld * Fixes logic of skill tasks and adds QP requirements to long grinds * Fixes pathing in pkgutil call * Better handling for empty task categories, no longer throws errors * Fixes order for progressive tasks, removes un-checkable spider task * Fixes logic issues related to stew and the Blurite caves * Fixes issues generating causing tests to sporadically fail * Adds missing task that caused off-by-one error * Updates to new Options API * Updates generation to function properly with the Universal Tracker (Thanks Faris) * Replaces runtime CSV parsing with pre-made python files generated from CSVs * Switches to self.random and uses random.choice instead of doing it manually * Fixes to typing, variable names, iterators, and continue conditions * Replaces Name classes with Enums * Fixes parse error on region special rules * Skill requirements check now returns an accessrule instead of being one that checks options * Updates documentation and setup guide * Adjusts maximum numbers for combat and general tasks * Fixes region names so dictionary lookup works for chunksanity * Update worlds/osrs/docs/en_Old School Runescape.md Co-authored-by: Nicholas Saylor <[email protected]> * Update worlds/osrs/docs/en_Old School Runescape.md Co-authored-by: Nicholas Saylor <[email protected]> * Updates readme.md and codeowners doc * Removes erroneous East Varrock -> Al Kharid connection * Changes to canoe logic to account for woodcutting level options * Fixes embarassing typo on 'Edgeville' * Moves Logic CSVs to separate repository, addresses suggested changes on PR * Fixes logic error in east/west lumbridge regions. Fixes incorrect List typing in main * Removes task types with weight 0 from the list of rollable tasks * Missed another place that the task type had to be removed if 0 weight * Prevents adding an empty task weight if levels are too restrictive for tasks to be added * Removes giant blank space in error message * Adds player name to error for not having enough available tasks --------- Co-authored-by: Nicholas Saylor <[email protected]> * TUNIC: Fix missing traversal req #3740 * TUNIC: Sort entrances in the spoiler log (#3733) * Sort entrances in spoiler log * Rearrange portal list to closer match the vanilla game order, for better spoiler and because I already did this mod-side * Add break (thanks vi) * KH2: Update the docs to support steam in the setup guide (#3711) * doc updates * add steam link * Update worlds/kh2/docs/setup_en.md Co-authored-by: Exempt-Medic <[email protected]> * Update setup_en.md * Forgot to include these * Consistent styling * :) * version 3.3.0 --------- Co-authored-by: Exempt-Medic <[email protected]> * RoR2: Remove recursion from explore mode access rules (#3681) The access rules for "<Environment name> Chest n", "<Environment name> Shrine n" etc. locations recursively called state.can_reach() for the n-1 location name, with the n=1 location being the only location to have the actual access rule set. This patch removes the recursion, instead setting the actual access rule directly on each location, increasing the performance of checking accessibility of n>1 locations. Risk of Rain 2 was already quite fast to generate despite the recursion in the access rules, but with this patch, generating a multiworld with 200 copies of the template RoR2 yaml (and progression balancing disabled through a meta.yaml) goes from about 18s to about 6s for me. From generating the same seed before and after this patch, the same result is produced. * Aquaria: Logic bug fixes (#3679) * Fixing logic bugs * Require energy attack in the cathedral and energy form in the body * King Jelly can be beaten easily with only the Dual Form * I think that I have a problem with my left and right... * There is a monster that is blocking the path, soo need attack to pass * The Li cage is not accessible without the Sunken city boss * Removing useless space. Co-authored-by: Exempt-Medic <[email protected]> * Two more minors logic modification * Adapting tests to af9b6cd * Reformat the Region file --------- Co-authored-by: Exempt-Medic <[email protected]> * HK: add grub hunt goal (#3203) * makes grub hunt goal option that calculates the total available grubs (including item link replacements) and requires all of them to be gathered for goal completion * update slot data name for grub count * add option to set number needed for grub hub * updates to grub hunt goal based on review * copy/paste fix * account for 'any' goal and fix overriding non-grub goals * making sure godhome is in logic for any and removing redundancy on completion condition * fix typing * i hate typing * move to stage_pre_fill * modify "any" goal so all goals are in logic under minimal settings * rewrite grub counting to create lookups for grubs and groups that can be reused * use generator instead of list comprehension * fix whitespace merging wrong * minor code cleanup * DS3: Version 3.0.0 (#3128) * Update worlds/dark_souls_3/Locations.py Co-authored-by: Scipio Wright <[email protected]> * Fix Covetous Silver Serpent Ring location * Update location groups This should cover pretty much all of the seriously hidden items. It also splits out miniboss drops, mimic drops, and hostile NPC drops. * Remove the "Guarded by Keys" group On reflection, I don't think this is actually that useful. It'll also get a lot muddier once we can randomize shops and ashes become pseudo-"keys". * Restore Knight Slayer's Ring classification * Support infusions/upgrades in the new DS3 mod system * Support random starting loadouts * Make an item's NPC status orthogonal to its category * Track location groups with flags * Track Archipelago/Offline mismatches on the server Also fix a few incorrect item names. * Add additional locations that are now randomizable * Don't put soul and multiple items in shops * Add an option to enable whether NG+ items/locations are included * Clean up useful item categorization There are so many weapons in the game now, it doesn't make sense to treat them all as useful * Add more variety to filler items * Iron out a few bugs and incompatibilities * Fix more silly bugs * Get tests passing * Update options to cover new item types Also recategorize some items. * Verify the default values of `Option`s. Since `Option.verify()` can handle normalization of option names, this allows options to define defaults which rely on that normalization. For example, it allows a world to exclude certain locations by default. This also makes it easier to catch errors if a world author accidentally sets an invalid default. * Make a few more improvements and fixes * Randomize Path of the Dragon * Mark items that unlock checks as useful These items all unlock missable checks, but they're still good to ahve in the game for variety's sake. * Guarantee more NPC quests are completable * Fix a syntax error * Fix rule definition * Support enemy randomization * Support online Yhorm randomization * Remove a completed TODO * Fix tests * Fix force_unique * Add an option to smooth out upgrade item progression * Add helpers for setting location/entrance rules * Support smoother soul item progression * Fill extra smoothing items into conditional locations as well as other worlds * Add health item smoothing * Handle infusions at item generation time * Handle item upgrades at genreation time * Fix Grave Warden's Ashes * Don't overwrite old rules * Randomize items based on spheres instead of DS3 locations * Add a smoothing option for weapon upgrades * Add rules for crow trades * Small fixes * Fix a few more bugs * Fix more bugs * Try to prevent Path of the Dragon from going somewhere it doesn't work * Add the ability to provide enemy presets * Various fixes and features * Bug fixes * Better Coiled Sword placement * Structure DarkSouls3Location more like DarkSouls3Item * Add events to make DS3's spheres more even * Restructure locations to work like items do now * Add rules for more missable locations * Don't add two Storm Rulers * Place Hawk Ring in Farron Keep * Mark the Grass Crest Shield as useful * Mark new progression items * Fix a bug * Support newer better Path of the Dragon code * Don't lock the player out of Coiled Sword * Don't create events for missable locations * Don't throw strings * Don't smooth event items * Properly categorize Butcher Knife * Be more careful about placing Yhorm in low-randomization scenarios * Don't try to smooth DLC items with DLC disabled * Fix another Yhorm bug * Fix upgrade/infusion logic * Remove the PoolType option This distinction is no longer meaningful now that every location in the game of each type is randomized * Categorize HWL: Red Eye Orb as an NPC location * Don't place Storm Ruler on CA: Coiled Sword * Define flatten() locally to make this APWorld capable * Fix some more Leonhard weirdness * Fix unique item randomization * Don't double Twin Dragon Greatshield * Remove debugging print * Don't add double Storm Ruler Also remove now-redundant item sorting by category in create_items. * Don't add double Storm Ruler Also remove now-redundant item sorting by category in create_items. * Add a missing dlc_enabled check * Use nicer options syntax * Bump data_version * Mention where Yhorm is in which world * Better handle excluded events * Add a newline to Yhorm location * Better way of handling excluded unradomized progression locations * Fix a squidge of nondeterminism * Only smooth items from this world * Don't smooth progression weapons * Remove a location that doesn't actually exist in-game * Classify Power Within as useful * Clarify location names * Fix location requirements * Clean up randomization options * Properly name Coiled Sword location * Add an option for configuring how missable items are handled * Fix some bugs from location name updates * Fix location guide link * Fix a couple locations that were busted offline * Update detailed location descriptions * Fix some bugs when generating for a multiworld * Inject Large Leather Shield * Fix a few location issues * Don't allow progression_skip_balancing for unnecessary locs * Update some location info * Don't uniquify the wrong items * Fix some more location issues * More location fixes * Use hyphens instead of parens for location descriptions * Update and fix more locations * Fix Soul of Cinder boss name * Fix some logic issues * Add item groups and document item/location groups * Fix the display name for "Impatient Mimics" * Properly handle Transposing Kiln and Pyromancer's Flame * Testing * Some fixes to NPC quests, late basin, and transposing kiln * Improve a couple location names * Split out and improve missable NPC item logic * Don't allow crow trades to have foreign items * Fix a variable capture bug * Make sure early items are accessible early even with early Castle * Mark ID giant slave drops as missable * Make sure late basin means that early items aren't behind it * Make is_location_available explicitly private * Add an _add_item_rule utility that checks availability * Clear excluded items if excluded_locations == "unnecessary" * Don't allow upgrades/infusions in crow trades * Fix the documentation for deprecated options * Create events for all excluded locations This allows `can_reach` logic to work even if the locations are randomized. * Fix up Patches' and Siegward's logic based on some manual testing * Factor out more sub-methods for setting location rules * Oops, left these in * Fixing name * Left that in too * Changing to NamedRange to support special_range_names * Alphabetizing * Don't call _is_location_available on foreign locations * Add missing Leonhard items * Changing late basin to have a post-small-doll option * Update basin option, add logic for some of Leonhard Hawkwood and Orbeck * Simplifying an option, fixing a copy-paste error * Removing trailing whitespace * Changing lost items to go into start inventory * Revert Basin changes * Oops * Update Options.py * Reverting small doll changes * Farron Keep boss requirement logic * Add Scroll for late_dlc * Fixing excluded unnecessary locations * Adding Priestess Ring as being after UG boss * Removing missable from Corvian Titanite Slab * Adding KFF Yhorm boss locks * Screams about Creighton * Elite Knight Set isn't permanently missable * Adding Kiln requirement to KFF * fixing valid_keys and item groups * Fixing an option-checker * Throwing unplaceable Storm Ruler into start inventory * Update locations * Refactor item injection * Update setup doc * Small fixes * Fix another location name * Fix injection calculation * Inject guaranteed items along with progression items * Mark boss souls as required for access to regions This allows us to set quest requirements for boss souls and have them automatically propagated to regions, means we need less machinery for Yhorm bosses, and allows us to get rid of a few region-transition events. * Make sure Sirris's quest can be completed before Pontiff * Removing unused list * Changing dict to list * Removing unused test * Update __init__.py * self.multiworld.random -> self.random (#9) * Fix some miscellaneous location issues * Rewrite the DS3 intro page/FAQ * Removing modifying the itempool after fill (#7) Co-authored-by: Natalie Weizenbaum <[email protected]> * Small fixes to the setup guide (#10) Small fixes, adding an example for connecting * Expanded Late Basin of Vows and Late DLC (#6) * Add proper requirements for CD: Black Eye Orb * Fix Aldrich's name * Document the differences with the 2.x.x branch * Don't crash if there are more items than locations in smoothing * Apply suggestions from code review Co-authored-by: Nicholas Saylor <[email protected]> * Code review * Fix _replace_with_filler * Don't use the shared flatten function in SM * Track local items separately rather than iterating the multiworld * Various formatting/docs changes suggested by PyCharm (#12) * Drop deprecated options * Rename "offline randomizer" to "static randomizer" which is clearer * Move `enable_*_locations` under removed options. * Avoid excluded locations for locally-filled items * Adding Removed options to error (#14) * Changes for WebHost options display and the options overhaul * unpack iterators in item list (#13) * Allow worlds to add options to prebuilt groups Previously, this crashed because `typing.NamedTuple` fields such as `group.name` aren't assignable. Now it will only fail for group names that are actually incorrectly cased, and will fail with a better error message. * Style changes, rename exclude behavior options, remove guaranteed items option * Spacing/Formatting (#18) * Various Fixes (#19) * Universally Track Yhorm (#20) * Account for excluded and missable * These are behaviors now * This is singular, apparently * Oops * Fleshing out the priority process * Missable Titanite Lizards and excluded locations (#22) * Small style/efficiency changes * Final passthrough fixes (#24) * Use rich option formatting * Make the behavior option values actual behaviors (#25) * Use != * Remove unused flatten utility * Some changes from review (#28) * Fixing determinism and making smooth faster (#29) * Style change * PyCharm and Mypy fixes (#26) Co-authored-by: Scipio Wright <[email protected]> * Change yhorm default (#30) * Add indirect condition (#27) * Update worlds/dark_souls_3/docs/locations_en.md Co-authored-by: Nicholas Saylor <[email protected]> * Ship all item IDs to the client This avoids issues where items might get skipped if, for instance, they're only in the starting inventory. * Make sure to send AP IDs for infused/upgraded weapons * Make `RandomEnemyPresetOption` compatible with ArchipelagoMW/Archipelago#3280 (#31) * Fix cast * More typing and small fixes (#32) --------- Co-authored-by: Scipio Wright <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> Co-authored-by: Nicholas Saylor <[email protected]> Co-authored-by: Doug Hoskisson <[email protected]> Co-authored-by: NewSoupVi <[email protected]> * Core: Check parent_region.can_reach first in Location.can_reach (#3724) * Core: Check parent_region.can_reach first in Location.can_reach The comment about self.access_rule computing faster on average appears to no longer be correct with the current caching system for region accessibility, resulting in self.parent_region.can_reach computing faster on average. Generation of template yamls for each game that does not require a rom to generate, generated with `python -O .\Generate.py --seed 1` (all durations averaged over at 4 or 5 generations): Full generation with `spoiler: 1` and no progression balancing: 89.9s -> 72.6s Only output from above case: 2.6s -> 2.2s Full generation with `spoiler: 3` and no progression balancing: 769.9s -> 627.1s Only playthrough calculation + paths from above case: 680.5s -> 555.3s Full generation with `spoiler: 1` with default progression balancing: 123.5s -> 98.3s Only progression balancing from above case: 11.3s -> 9.6s * Update BaseClasses.py * Update BaseClasses.py * Update BaseClasses.py --------- Co-authored-by: NewSoupVi <[email protected]> * Core: Speed up CollectionState.copy() using built-in copy methods (#3678) All the types being copied are built-in types with their own `copy()` methods, so using the `copy` module was a bit overkill and also slower. This patch replaces the use of the `copy` module in `CollectionState.copy()` with using the built-in `.copy()` methods. The copying of `reachable_regions` and `blocked_connections` was also iterating the keys of each dictionary and then looking up the value in the dictionary for that key. It is faster, and I think more readable, to iterate the dictionary's `.items()` instead. For me, when generating a multiworld including the template yaml of every world with `python -O .\Generate.py --skip_output`, this patch saves about 2.1s. The overall generation duration for these yamls varies quite a lot, but averages around 160s for me, so on average this patch reduced overall generation duration (excluding output duration) by around 1.3%. Timing comparisons were made by calling time.perf_counter() at the start and end of `CollectionState.copy()`'s body, and summing the differences between the starts and ends of the method body into a global variable that was printed at the end of generation. Additional timing comparisons were made, using the `timeit` module, of the individual function calls or dictionary comprehensions used to perform the copying. The main performance cost was `copy.deepcopy()`, which gets slow as the number of keys multiplied by the number of values within the sets/Counters gets large, e.g., to deepcopy a `dict[int, Counter[str]]` with 100 keys and where each Counter contains 100 keys was 30x slower than most other tested copying methods. Increasing the number of dict keys or Counter keys only makes it slower. * HK: fix iterating all worlds instead of only HK worlds in stage_pre_fill (#3750) Would cause generation to fail when generating with HK and another game. Mistake in 6803c373e5ff. * DOOM, DOOM II: Update steam URLs (#3746) * TLOZ: world: multiworld (#3752) * SoE: fix determinism (#3745) Fixes randomly placed ingredients not being deterministic (depending on settings) and in turn also fixes logic not being deterministic if they get replaced by fragments. * Core: fix invalid __package__ of zipped worlds (#3686) * fix invalid package fix * add comment describing fix * Clique: Update to new options API (#3759) * Timespinner: Fix eels check logic #3777 * TUNIC: Add note to Universal Tracker stuff #3772 * Core: change start inventory from pool to warn when nothing to remove (#3158) * makes start inventory from pool warn and fixes the itempool to match when it can not find a matching item to remove * calc the difference correctly * save new filler and non-removed items differently so we don't remove existing items at random * Undertale: Fix slot_data and options.as_dict() (#3774) * Undertale: Fixing slot_data * Booleans were difficult * Core: Error on empty options.as_dict (#3773) * Error on empty options.as_dict * ValueError instead * Apply suggestions from code review Co-authored-by: Aaron Wagener <[email protected]> --------- Co-authored-by: Aaron Wagener <[email protected]> Co-authored-by: NewSoupVi <[email protected]> * Core: Remove broken unused code from Options.py (#3781) "Unused" is a baseless assertion, but this code path has been crashing on the first statement for 6 months and noone's complained * Core: Two Small Fixes (#3782) * Core: recontextualize `CollectionState.collect` (#3723) * Core: renamed `CollectionState.collect` arg from `event` to `prevent_sweep` and remove forced collection * Update TestDungeon.py --------- Co-authored-by: NewSoupVi <[email protected]> * Core: dump all item placements for generation failures. (#3237) * Core: dump all item placements for generation failures * pass the multiworld from remaining fill * change how the args get handled to fix formatting --------- Co-authored-by: NewSoupVi <[email protected]> * Tests: fix the all games multiworld test (#3788) * TUNIC: Swap from multiworld.get to world.get for applicable things (#3789) * Swap from multiworld.get to world.get for applicable things * Why was this even here in the first place? * I have no idea (#3791) * TUNIC: Add off and on aliases for the Entrance Rando option #3794 * Stardew Valley: Add Quality Bobber in the logic rules for fish quality gold and above #3792 * Core: Require excluded locations to be reachable with full/locations accessibility (#3802) * Make excludeds reachable * Update all_state tests * Lingo: Fixed Initiated-side Eight Door not opening (#3793) * TUNIC: Give the fox a gun (in logic) (very small PR) (#3790) * Add bomb wall logic * Remove option call from can_shop * Gun for the envoy blocking Quarry * has_sword -> can_shop on cube cave entrance region * TLOZ: Fix non-deterministic item pool generation (#3779) * TLOZ: Fix non-deterministic item pool generation The way the item pool was constructed involved iterating unions of sets. Sets are unordered, so the order of iteration of these combined sets would be non-deterministic, resulting in the items in the item pool being generated in a different order with the same seed. Rather than creating unions of sets at all, the original code has been replaced with using Counter objects. As a dict subclass, Counter maintains insertion order, and its update() method makes it simple to combine the separate item dictionaries into a single dictionary with the total count of each item across each of the separate item dictionaries. Fixes #3664 - After investigating more deeply, the only differences I could find between generations of the same seed was the order of items created by TLOZ, so this patch appears to fix the non-deterministic generation issue. I did manage to reproduce the non-deterministic behaviour with just TLOZ in the end, but it was very rare. I'm not entirely sure why generating with SMZ3 specifically would cause the non-deterministic behaviour in TLOZ to be frequently present, whereas generating with other games or multiple TLOZ yamls would not. * Change import order --------- Co-authored-by: NewSoupVi <[email protected]> * Docs: Update 'tag' documentation (#3632) * Add tag docs for HintGame * Apply suggestions from code review Co-authored-by: black-sliver <[email protected]> * Make Tracker/TextOnly consistent with previous commit * Apply suggestion Co-authored-by: black-sliver <[email protected]> * fix spacing * Apply suggestion Co-authored-by: black-sliver <[email protected]> * apply suggestion correcting footnotes Co-authored-by: Exempt-Medic <[email protected]> --------- Co-authored-by: black-sliver <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> * [OSRS] Fixes Incorrect filler item names causing failures on tests. (#3768) * Updates filler item names to match the actual item names * Adds more descriptive error message in case this error comes back * Properly raises exception instead of just text * Replaces exception with assert * Fix !remaining for cross-world items (#3732) * Fix !remaining for other worlds * Typing fixes for the previous change * Update LocationStore test to match what get_remaining now returns * Core: early_local != local_early #3780 * Pokemon Emerald: Ensure dig tutor is alwa…
FarisTheAncient
pushed a commit
to drtchops/Archipelago
that referenced
this pull request
Sep 16, 2024
ArchipelagoMW#18) * use make_gui so that others reusing tracker so under 3297 there is no special handling needed for the kivy side * update to have make_gui return the class not instance
AustinSumigray
pushed a commit
to AustinSumigray/Archipelago
that referenced
this pull request
Jan 4, 2025
* Update worlds/dark_souls_3/Locations.py Co-authored-by: Scipio Wright <[email protected]> * Fix Covetous Silver Serpent Ring location * Update location groups This should cover pretty much all of the seriously hidden items. It also splits out miniboss drops, mimic drops, and hostile NPC drops. * Remove the "Guarded by Keys" group On reflection, I don't think this is actually that useful. It'll also get a lot muddier once we can randomize shops and ashes become pseudo-"keys". * Restore Knight Slayer's Ring classification * Support infusions/upgrades in the new DS3 mod system * Support random starting loadouts * Make an item's NPC status orthogonal to its category * Track location groups with flags * Track Archipelago/Offline mismatches on the server Also fix a few incorrect item names. * Add additional locations that are now randomizable * Don't put soul and multiple items in shops * Add an option to enable whether NG+ items/locations are included * Clean up useful item categorization There are so many weapons in the game now, it doesn't make sense to treat them all as useful * Add more variety to filler items * Iron out a few bugs and incompatibilities * Fix more silly bugs * Get tests passing * Update options to cover new item types Also recategorize some items. * Verify the default values of `Option`s. Since `Option.verify()` can handle normalization of option names, this allows options to define defaults which rely on that normalization. For example, it allows a world to exclude certain locations by default. This also makes it easier to catch errors if a world author accidentally sets an invalid default. * Make a few more improvements and fixes * Randomize Path of the Dragon * Mark items that unlock checks as useful These items all unlock missable checks, but they're still good to ahve in the game for variety's sake. * Guarantee more NPC quests are completable * Fix a syntax error * Fix rule definition * Support enemy randomization * Support online Yhorm randomization * Remove a completed TODO * Fix tests * Fix force_unique * Add an option to smooth out upgrade item progression * Add helpers for setting location/entrance rules * Support smoother soul item progression * Fill extra smoothing items into conditional locations as well as other worlds * Add health item smoothing * Handle infusions at item generation time * Handle item upgrades at genreation time * Fix Grave Warden's Ashes * Don't overwrite old rules * Randomize items based on spheres instead of DS3 locations * Add a smoothing option for weapon upgrades * Add rules for crow trades * Small fixes * Fix a few more bugs * Fix more bugs * Try to prevent Path of the Dragon from going somewhere it doesn't work * Add the ability to provide enemy presets * Various fixes and features * Bug fixes * Better Coiled Sword placement * Structure DarkSouls3Location more like DarkSouls3Item * Add events to make DS3's spheres more even * Restructure locations to work like items do now * Add rules for more missable locations * Don't add two Storm Rulers * Place Hawk Ring in Farron Keep * Mark the Grass Crest Shield as useful * Mark new progression items * Fix a bug * Support newer better Path of the Dragon code * Don't lock the player out of Coiled Sword * Don't create events for missable locations * Don't throw strings * Don't smooth event items * Properly categorize Butcher Knife * Be more careful about placing Yhorm in low-randomization scenarios * Don't try to smooth DLC items with DLC disabled * Fix another Yhorm bug * Fix upgrade/infusion logic * Remove the PoolType option This distinction is no longer meaningful now that every location in the game of each type is randomized * Categorize HWL: Red Eye Orb as an NPC location * Don't place Storm Ruler on CA: Coiled Sword * Define flatten() locally to make this APWorld capable * Fix some more Leonhard weirdness * Fix unique item randomization * Don't double Twin Dragon Greatshield * Remove debugging print * Don't add double Storm Ruler Also remove now-redundant item sorting by category in create_items. * Don't add double Storm Ruler Also remove now-redundant item sorting by category in create_items. * Add a missing dlc_enabled check * Use nicer options syntax * Bump data_version * Mention where Yhorm is in which world * Better handle excluded events * Add a newline to Yhorm location * Better way of handling excluded unradomized progression locations * Fix a squidge of nondeterminism * Only smooth items from this world * Don't smooth progression weapons * Remove a location that doesn't actually exist in-game * Classify Power Within as useful * Clarify location names * Fix location requirements * Clean up randomization options * Properly name Coiled Sword location * Add an option for configuring how missable items are handled * Fix some bugs from location name updates * Fix location guide link * Fix a couple locations that were busted offline * Update detailed location descriptions * Fix some bugs when generating for a multiworld * Inject Large Leather Shield * Fix a few location issues * Don't allow progression_skip_balancing for unnecessary locs * Update some location info * Don't uniquify the wrong items * Fix some more location issues * More location fixes * Use hyphens instead of parens for location descriptions * Update and fix more locations * Fix Soul of Cinder boss name * Fix some logic issues * Add item groups and document item/location groups * Fix the display name for "Impatient Mimics" * Properly handle Transposing Kiln and Pyromancer's Flame * Testing * Some fixes to NPC quests, late basin, and transposing kiln * Improve a couple location names * Split out and improve missable NPC item logic * Don't allow crow trades to have foreign items * Fix a variable capture bug * Make sure early items are accessible early even with early Castle * Mark ID giant slave drops as missable * Make sure late basin means that early items aren't behind it * Make is_location_available explicitly private * Add an _add_item_rule utility that checks availability * Clear excluded items if excluded_locations == "unnecessary" * Don't allow upgrades/infusions in crow trades * Fix the documentation for deprecated options * Create events for all excluded locations This allows `can_reach` logic to work even if the locations are randomized. * Fix up Patches' and Siegward's logic based on some manual testing * Factor out more sub-methods for setting location rules * Oops, left these in * Fixing name * Left that in too * Changing to NamedRange to support special_range_names * Alphabetizing * Don't call _is_location_available on foreign locations * Add missing Leonhard items * Changing late basin to have a post-small-doll option * Update basin option, add logic for some of Leonhard Hawkwood and Orbeck * Simplifying an option, fixing a copy-paste error * Removing trailing whitespace * Changing lost items to go into start inventory * Revert Basin changes * Oops * Update Options.py * Reverting small doll changes * Farron Keep boss requirement logic * Add Scroll for late_dlc * Fixing excluded unnecessary locations * Adding Priestess Ring as being after UG boss * Removing missable from Corvian Titanite Slab * Adding KFF Yhorm boss locks * Screams about Creighton * Elite Knight Set isn't permanently missable * Adding Kiln requirement to KFF * fixing valid_keys and item groups * Fixing an option-checker * Throwing unplaceable Storm Ruler into start inventory * Update locations * Refactor item injection * Update setup doc * Small fixes * Fix another location name * Fix injection calculation * Inject guaranteed items along with progression items * Mark boss souls as required for access to regions This allows us to set quest requirements for boss souls and have them automatically propagated to regions, means we need less machinery for Yhorm bosses, and allows us to get rid of a few region-transition events. * Make sure Sirris's quest can be completed before Pontiff * Removing unused list * Changing dict to list * Removing unused test * Update __init__.py * self.multiworld.random -> self.random (ArchipelagoMW#9) * Fix some miscellaneous location issues * Rewrite the DS3 intro page/FAQ * Removing modifying the itempool after fill (ArchipelagoMW#7) Co-authored-by: Natalie Weizenbaum <[email protected]> * Small fixes to the setup guide (ArchipelagoMW#10) Small fixes, adding an example for connecting * Expanded Late Basin of Vows and Late DLC (ArchipelagoMW#6) * Add proper requirements for CD: Black Eye Orb * Fix Aldrich's name * Document the differences with the 2.x.x branch * Don't crash if there are more items than locations in smoothing * Apply suggestions from code review Co-authored-by: Nicholas Saylor <[email protected]> * Code review * Fix _replace_with_filler * Don't use the shared flatten function in SM * Track local items separately rather than iterating the multiworld * Various formatting/docs changes suggested by PyCharm (ArchipelagoMW#12) * Drop deprecated options * Rename "offline randomizer" to "static randomizer" which is clearer * Move `enable_*_locations` under removed options. * Avoid excluded locations for locally-filled items * Adding Removed options to error (ArchipelagoMW#14) * Changes for WebHost options display and the options overhaul * unpack iterators in item list (ArchipelagoMW#13) * Allow worlds to add options to prebuilt groups Previously, this crashed because `typing.NamedTuple` fields such as `group.name` aren't assignable. Now it will only fail for group names that are actually incorrectly cased, and will fail with a better error message. * Style changes, rename exclude behavior options, remove guaranteed items option * Spacing/Formatting (ArchipelagoMW#18) * Various Fixes (ArchipelagoMW#19) * Universally Track Yhorm (ArchipelagoMW#20) * Account for excluded and missable * These are behaviors now * This is singular, apparently * Oops * Fleshing out the priority process * Missable Titanite Lizards and excluded locations (ArchipelagoMW#22) * Small style/efficiency changes * Final passthrough fixes (ArchipelagoMW#24) * Use rich option formatting * Make the behavior option values actual behaviors (ArchipelagoMW#25) * Use != * Remove unused flatten utility * Some changes from review (ArchipelagoMW#28) * Fixing determinism and making smooth faster (ArchipelagoMW#29) * Style change * PyCharm and Mypy fixes (ArchipelagoMW#26) Co-authored-by: Scipio Wright <[email protected]> * Change yhorm default (ArchipelagoMW#30) * Add indirect condition (ArchipelagoMW#27) * Update worlds/dark_souls_3/docs/locations_en.md Co-authored-by: Nicholas Saylor <[email protected]> * Ship all item IDs to the client This avoids issues where items might get skipped if, for instance, they're only in the starting inventory. * Make sure to send AP IDs for infused/upgraded weapons * Make `RandomEnemyPresetOption` compatible with ArchipelagoMW#3280 (ArchipelagoMW#31) * Fix cast * More typing and small fixes (ArchipelagoMW#32) --------- Co-authored-by: Scipio Wright <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> Co-authored-by: Nicholas Saylor <[email protected]> Co-authored-by: Doug Hoskisson <[email protected]> Co-authored-by: NewSoupVi <[email protected]>
AustinSumigray
pushed a commit
to AustinSumigray/Archipelago
that referenced
this pull request
Jan 4, 2025
* - Add Unit test for all the fish that require a specific region to be reachable * - Move the crimsonfish to the tide pools region * - Improved the unit test to be more thorough, add extended family fish to the test * - Moved the son of crimsonfish to the correct region as well * FFMQ: Fix reset protection (#3710) * Revert reset protection * Fix reset protection --------- Co-authored-by: alchav <[email protected]> * - Take shipsanity moss out of shipsanity crops (#3709) * sc2: Removing unused dependency in requirements.txt (#3697) * sc2: Removing unused dependency in requirements.txt * sc2: Add missing newline in requirements.txt Co-authored-by: Exempt-Medic <[email protected]> --------- Co-authored-by: Exempt-Medic <[email protected]> * WebHost: Fix NamedRange values clamping to the range (#3613) If a NamedRange has a `special_range_names` entry outside the `range_start` and `range_end`, the HTML5 range input will clamp the submitted value to the closest value in the range. These means that, for example, Pokemon RB's "HM Compatibility" option's "Vanilla (-1)" option would instead get posted as "0" rather than "-1". This change updates NamedRange to behave like TextChoice, where the select element has a `name` attribute matching the option, and there is an additional element to be able to provide an option other than the select element's choices. This uses a different suffix of `-range` rather than `-custom` that TextChoice uses. The reason is we need some way to decide whether to use the custom value or the select value, and that method needs to work without JavaScript. For TextChoice this is easy, if the custom field is empty use the select element. For NamedRange this is more difficult as the browser will always submit *something*. My choice was to only use the value from the range if the select box is set to "custom". Since this only happens with JS as "custom' is hidden, I made the range hidden under no-JS. If it's preferred, I could make the select box hidden instead. Let me know. This PR also makes the `js-required` class set `display: none` with `!important` as otherwise the class wouldn't work on any rule that had `display: flex` with more specificity than a single class. * Timespinner: migrate to new options api and correct random (#2485) * Implemented new options system into Timespinner * Fixed typo * Fixed typo * Fixed slotdata maybe * Fixes * more fixes * Fixed failing unit tests * Implemented options backwards comnpatibility * Fixed option fallbacks * Implemented review results * Fixed logic bug * Fixed python 3.8/3.9 compatibility * Replaced one more multiworld option usage * Update worlds/timespinner/Options.py Co-authored-by: Exempt-Medic <[email protected]> * Updated logging of options replacement to include player name and also write it to spoiler Fixed generation bug Implemented review results --------- Co-authored-by: Exempt-Medic <[email protected]> * Core: migrate item links out of main (#2914) * Core: move item linking out of main * add a test that item link option correctly validates * remove unused fluff --------- Co-authored-by: NewSoupVi <[email protected]> * Core: Rework accessibility (#1481) * rename locations accessibility to "full" and make old locations accessibility debug only * fix a bug in oot * reorder lttp tests to not override its overrides * changed the wrong word in the dict * :forehead: * update the manual lttp yaml * use __debug__ * update pokemon and messenger * fix conflicts from 993 * fix stardew presets * add that locations may be inaccessible to description * use reST format and make the items description one line so that it renders correctly on webhost * forgot i renamed that * add aliases for back compat * some cleanup * fix imports * fix test failure * only check "items" players when the item is progression * Revert "only check "items" players when the item is progression" This reverts commit ecbf986145e6194aa99a39c481d8ecd0736d5a4c. * remove some unnecessary diffs * CV64: Add ItemsAccessibility * put items description at the bottom of the docstring since that's it's visual order * : * rename accessibility reference in pokemon rb dexsanity * make the rendered tooltips look nicer * Shivers: New features and removes two missed options using the old options API (#3287) * Adds an option to have pot pieces placed local/non-local/anywhere Shivers nearly always finishes last in multiworld games due to the fact you need all 20 pot pieces to win and the pot pieces open very few location checks. This option allows the pieces to be placed locally. This should allow Shivers to be finished earlier. * New option: Choose how many ixupi captures are needed for goal completion New option: Choose how many ixupi captures are needed for goal completion * Fixes rule logic for location 'puzzle solved three floor elevator' Fixes rule logic for location 'puzzle solved three floor elevator'. Missing a parenthesis caused only the key requirement to be checked for the blue maze region. * Merge branch 'main' of https://github.com/GodlFire/Shivers * Revert "Merge branch 'main' of https://github.com/GodlFire/Shivers" This reverts commit bb08c3f0c2ef148fd24d7c7820cdfe936f7196e2. * Fixes issue with office elevator rule logic. * Bug fix, missing logic requirement for location 'Final Riddle: Guillotine Dropped' Bug fix, missing logic requirement for location 'Final Riddle: Guillotine Dropped' * Moves plaque location to front for better tracker referencing. * Tiki should be Shaman. * Hanging should be Gallows. * Merrick spelling. * Clarity change. * Changes new option to use new option API Changes new option to use new option API * Added sub regions for Ixupi -Added sub regions for Ixupi and moved ixupi capture checks into the sub region. -Added missing wax capture possible spot in Shaman room * Adds option for ixupi captures to be priority locations Adds option for ixupi captures to be priority locations * Consistency Consistency * Changes ixupi captures priority to default on toggle Changes ixupi captures priority to default on toggle * Docs update -Updated link to randomizer -Update some text to reflect the latest functionality -Replaced 'setting' with 'option' * New features/bug fixes -Adds an option to have completed pots in the item pool -Moved subterranean world information plaque to maze staircase * Cleanup Cleanup * Fixed name for moved location When moving a location and renaming it I forgot to fix the name in a second spot. * Squashed commit of the following: commit 630a3bdfb9414d8c57154f29253fce0cf67b6436 Merge: 8477d3c8 5e579200 Author: GodlFire <[email protected]> Date: Mon Apr 1 19:08:48 2024 -0600 Merge pull request #10 from ArchipelagoMW/main Merge main into branch commit 5e5792009cd3089ae61c5fdd208de1b79d183cb4 Author: Alchav <[email protected]> Date: Mon Apr 1 12:08:21 2024 -0500 LttP: delete playerSettings.yaml (#3062) commit 9aeeeb077a9e894cd2ace51b58d537bcf7607d5b Author: CaitSith2 <[email protected]> Date: Mon Apr 1 06:07:56 2024 -0700 ALttP: Re-mark light/dark world regions after applying plando connections (#2964) commit 35458380e6e08eab85203942b6415fd964907c84 Author: Bryce Wilson <[email protected]> Date: Mon Apr 1 07:07:11 2024 -0600 Pokemon Emerald: Fix wonder trade race condition (#2983) commit 4ac1866689d01dc6693866ee8b1236ad6fea114b Author: Alchav <[email protected]> Date: Mon Apr 1 08:06:31 2024 -0500 ALTTP: Skull Woods Inverted fix (#2980) commit 4aa03da66e1a8c99fc31c163c1a23fb0bd772c15 Author: Fabian Dill <[email protected]> Date: Mon Apr 1 15:06:02 2024 +0200 Factorio: fix attempting to create savegame with not filename safe characters (#2842) commit 24a03bc8b6b406c0925eedf415dcef47e17fdbaa Author: Silvris <[email protected]> Date: Mon Apr 1 08:02:26 2024 -0500 KDL3: fix shuffled animals not actually being random (#3060) commit f813a7005fadb1c56bb93fee6147b63d9df2b720 Author: Aaron Wagener <[email protected]> Date: Sun Mar 31 11:11:10 2024 -0500 The Messenger: update docs formatting and fix outdated info (#3033) * The Messenger: update docs formatting and fix outdated info * address review feedback * 120 chars commit 2a0b7e0def5c00cc2ac273b22581b3cde3b6f6a6 Author: LiquidCat64 <[email protected]> Date: Sun Mar 31 09:55:55 2024 -0600 CV64: A couple of very small docs corrections. (#3057) commit 03d47e460e434b897b313c2ba452d785ecbacebe Author: Ixrec <[email protected]> Date: Sun Mar 31 16:55:08 2024 +0100 A Short Hike: Clarify installation instructions (#3058) * Clarify installation instructions * don't mention 'config' folder since it isn't created until the game starts commit e546c0f7ff2456ddb919a1b65a437a1c61b07479 Author: Silvris <[email protected]> Date: Sun Mar 31 10:50:31 2024 -0500 Yoshi's Island: add patch suffix (#3061) commit 2ec93ba82a969865a8addc98feb076898978c8e3 Author: Bryce Wilson <[email protected]> Date: Sun Mar 31 09:48:59 2024 -0600 Pokemon Emerald: Fix inconsistent location name (#3065) commit 4e3d3963941934c77573e6e0b699edf9e26cd647 Author: Aaron Wagener <[email protected]> Date: Sun Mar 31 10:47:11 2024 -0500 The Messenger: Fix precollected notes not being removed from the itempool (#3066) * The Messenger: fix precollected notes not being properly removed from pool * The Messenger: bump required client version commit 72c53513f8bdab5506ffa972c1bf6f8573f097d7 Author: Fabian Dill <[email protected]> Date: Sun Mar 31 03:57:59 2024 +0200 WebHost: fix /check creating broken yaml files if files don't end with a newline (#3063) commit b7ac6a4cbd54d5f8e6672e4a6c6ea708e7e6d4de Author: Aaron Wagener <[email protected]> Date: Fri Mar 29 20:14:53 2024 -0500 The Messenger: Fix various portal shuffle issues (#2976) * put constants in a bit more sensical order * fix accidental incorrect scoping * fix plando rules not being respected * add docstrings for the plando functions * fix the portal output pools being overwritten * use shuffle and pop instead of removing by content so plando can go to the same area twice * move portal pool rebuilding outside mapping creation * remove plando_connection cleansing since it isn't shared with transition shuffle commit 5f0112e78365d19f04e22af92d6ad1f52d264b1f Author: Zach Parks <[email protected]> Date: Fri Mar 29 19:13:51 2024 -0500 Tracker: Add starting inventory to trackers and received items table. (#3051) commit bb481256de2a511d3b114f164061d440026be4c4 Author: Aaron Wagener <[email protected]> Date: Thu Mar 28 21:48:40 2024 -0500 Core: Make fill failure error more human parseable (#3023) commit 301d9de9758e360ccec5399f3f9d922f1c034e45 Author: Aaron Wagener <[email protected]> Date: Thu Mar 28 19:31:59 2024 -0500 Docs: adding games rework (#2892) * Docs: complete adding games.md rework * remove all the now unused images * review changes * address medic's review * address more comments commit 9dc708978bd00890afcd3426f829a5ac53cbe136 Author: Trevor L <[email protected]> Date: Thu Mar 28 18:26:58 2024 -0600 Hylics 2: Fix invalid multiworld data, use `self.random` instead of `self.multiworld.random` (#3001) * Hylics 2: Fixes * Rewrite loop commit 4391d1f4c13cdf2295481d8c51f9ef8f58bf8347 Author: Bryce Wilson <[email protected]> Date: Thu Mar 28 18:05:39 2024 -0600 Pokemon Emerald: Fix opponents learning non-randomized TMs (#3025) commit 5d9d4ed9f1e44309f1b53f12413ad260f1b6c983 Author: black-sliver <[email protected]> Date: Fri Mar 29 01:01:31 2024 +0100 SoE: update to pyevermizer v0.48.0 (#3050) commit c97215e0e755224593fdd00894731b59aa415e19 Author: Scipio Wright <[email protected]> Date: Thu Mar 28 17:23:37 2024 -0400 TUNIC: Minor refactor of the vanilla_portals function (#3009) * Remove unused, change an if to an elif * Remove unused import commit eb66886a908ad75bbe71fac9bb81a0177e05e816 Author: Alchav <[email protected]> Date: Thu Mar 28 16:23:01 2024 -0500 SC2: Don't Filter Excluded Victory Locations (#3018) commit de860623d17d274289e3e4ab13650f2382e2e0b8 Author: Fabian Dill <[email protected]> Date: Thu Mar 28 22:21:56 2024 +0100 Core: differentiate between unknown worlds and broken worlds in error message (#2903) commit 74b2bf51613a968eb57a5b138a7ad191324b2dd8 Author: Bryce Wilson <[email protected]> Date: Thu Mar 28 15:20:55 2024 -0600 Pokemon Emerald: Exclude norman trainer location during norman goal (#3038) commit 74ac66b03228988d0885cff556f962a04873cc54 Author: BadMagic100 <[email protected]> Date: Thu Mar 28 08:49:19 2024 -0700 Hollow Knight: 0.4.5 doc revamp and default options tweaks (#2982) Co-authored-by: Exempt-Medic <[email protected]> commit 80d7ac416493a540548aad67981202a1483b5e53 Author: Silvris <[email protected]> Date: Thu Mar 28 09:41:32 2024 -0500 KDL3: RC1 Fixes and Enhancement (#3022) * fix cloudy park 4 rule, zero deathlink message * remove redundant door_shuffle bool when generic ER gets in, this whole function gets rewritten. So just clean it a little now. * properly fix deathlink messages, fix fill error * update docs commit 77311719fa0fa5b67fe92f437c3cfed16bd5136f Author: Ziktofel <[email protected]> Date: Thu Mar 28 15:38:34 2024 +0100 SC2: Fix HERC upgrades (#3044) commit cfc1541be9e92f1f59b21f4a81f96fc88f4d9f7e Author: NewSoupVi <[email protected]> Date: Thu Mar 28 15:19:32 2024 +0100 Docs: Mention the "last received item index" paradigm in the network protocol docs (#2989) Co-authored-by: Exempt-Medic <[email protected]> commit 4d954afd9b2311248083fc389ac737995985be86 Author: Scipio Wright <[email protected]> Date: Thu Mar 28 10:11:20 2024 -0400 TUNIC: Add link to AP plando guide to connection plando section of game page (#2993) commit 17748a4bf1cfd5cc11c6596a09ffc1f01434340f Author: Nicholas Saylor <[email protected]> Date: Thu Mar 28 10:00:10 2024 -0400 Launcher, Docs: Update UI and Set-Up Guide to Reference Options (#2950) commit 9182fe563fc18ed4ccaa8370cfed88407140398e Author: Entropynines <[email protected]> Date: Thu Mar 28 06:56:35 2024 -0700 README: Remove outdated information about launchers (#2966) Co-authored-by: Exempt-Medic <[email protected]> commit bcf223081facd030aa706dc7430a72bcf2fdadc9 Author: t3hf1gm3nt <[email protected]> Date: Thu Mar 28 09:54:56 2024 -0400 TLOZ: Fix markdown issue with game info page (#2985) commit fa93488f3fceac6c2f51851766543cab3ba121e6 Author: Exempt-Medic <[email protected]> Date: Thu Mar 28 09:46:00 2024 -0400 Docs: Consistent naming for "connection plando" (#2994) commit db15dd4bde442aad99048224bdb0d7dc28c26717 Author: chandler05 <[email protected]> Date: Thu Mar 28 08:45:19 2024 -0500 A Short Hike: Fix incorrect info in docs (#3016) commit 01cdb0d761a82349afaeb7222b4b59cb1766f4a0 Author: PoryGone <[email protected]> Date: Thu Mar 28 09:44:23 2024 -0400 SMW: Update World Doc for v2.0 Features (#3034) Co-authored-by: Scipio Wright <[email protected]> commit d0ac2b744eac438570e6a2333e76fa212be66534 Author: panicbit <[email protected]> Date: Thu Mar 28 10:11:26 2024 +0100 LADX: fix local and non-local instrument placement (#2987) * LADX: fix local and non-local instrument placement * change confusing variable name commit 14f5f0127eb753eaf0431a54bebc82f5e74a1cb9 Author: Jérémie Bolduc <[email protected]> Date: Thu Mar 28 04:42:35 2024 -0400 Stardew Valley: Fix potential soft lock with vanilla tools and entrance randomizer + Performance improvement for vanilla tool/skills (#3002) * fix vanilla tool fishing rod requiring metal bars fix vanilla skill requiring previous level (it's always the same rule or more restrictive) * add test to ensure fishing rod need fish shop * fishing rod should be indexed from 0 like a mentally sane person would do. * fishing rod 0 isn't real, but it definitely can hurt you. * reeeeeeeee commit cf133dde7275e171d388fb466b9ed719ab7ed7c8 Author: Bryce Wilson <[email protected]> Date: Thu Mar 28 02:32:27 2024 -0600 Pokemon Emerald: Fix typo (#3020) commit ca1812181106a3645e7f7af417590024b377b25e Author: Jérémie Bolduc <[email protected]> Date: Thu Mar 28 04:27:49 2024 -0400 Stardew Valley: Fix generation fail with SVE and entrance rando when Wizard Tower is in place of Sprite Spring (#2970) commit 1d4512590e0b78355e5c10174a9c6749e1098a72 Author: NewSoupVi <[email protected]> Date: Wed Mar 27 21:09:09 2024 +0100 requirements.txt: _ instead of - to make PyCharm happy (#3043) commit f7b415dab00338443b68eba51f42614fc40b9152 Author: agilbert1412 <[email protected]> Date: Tue Mar 26 19:40:58 2024 +0300 Stardew valley: Game version documentation (#2990) Co-authored-by: Exempt-Medic <[email protected]> commit 702f006c848c05b847e85f7dbedeef68b70cdcc6 Author: LiquidCat64 <[email protected]> Date: Tue Mar 26 07:31:36 2024 -0600 CV64: Change all mentions of "settings" to "options" and fix a broken link (#3015) commit 98ce8f8844fd0c62214a5774609382cf6a6bc829 Author: Yussur Mustafa Oraji <[email protected]> Date: Tue Mar 26 14:29:25 2024 +0100 sm64ex: New Options API and WebHost fix (#2979) commit ea47b90367b4a220c346d8057f3aeb4207d226a1 Author: Scipio Wright <[email protected]> Date: Tue Mar 26 09:25:41 2024 -0400 TUNIC: You can grapple down here without the ladder, neat (#3019) commit bf3856866c5ea385d0ac58014c71addfdc92637e Author: agilbert1412 <[email protected]> Date: Sun Mar 24 23:53:49 2024 +0300 Stardew Valley: presets with some of the new available values for existing settings to make them more accurate (#3014) commit c0368ae0d48b4b2807c5238aeb7b14937282fc3e Author: Phaneros <[email protected]> Date: Sun Mar 24 13:53:20 2024 -0700 SC2: Fixed missing upgrade from custom tracker (#3013) commit 36c83073ad8c2ae1912d390ee3976ba0e2eb3f4a Author: Salzkorn <[email protected]> Date: Sun Mar 24 21:52:41 2024 +0100 SC2 Tracker: Fix grouped items pointing at wrong item IDs (#2992) commit 2b24539ea5b387a3b62063c8177c373e2e3f8389 Author: Ziktofel <[email protected]> Date: Sun Mar 24 21:52:16 2024 +0100 SC2 Tracker: Use level tinting to let the player know which level he has of Replenishable Magazine (#2986) commit 7e904a1c78c91fb502706fe030a1f1765f734de4 Author: Ziktofel <[email protected]> Date: Sun Mar 24 21:51:46 2024 +0100 SC2: Fix Kerrigan presence resolving when deciding which races should be used (#2978) commit bdd498db2321417374d572bff8beede083fef2b2 Author: Alchav <[email protected]> Date: Fri Mar 22 15:36:27 2024 -0500 ALTTP: Fix #2290's crashes (#2973) commit 355223b8f0af1ee729ffa8b53eb717aa5bf283a4 Author: PinkSwitch <[email protected]> Date: Fri Mar 22 15:35:00 2024 -0500 Yoshi's Island: Implement New Game (#2141) Co-authored-by: Silvris <[email protected]> Co-authored-by: Alchav <[email protected]> Co-authored-by: NewSoupVi <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> commit aaa3472d5d8d8a7a710bd38386d9eb34046a5578 Author: NewSoupVi <[email protected]> Date: Fri Mar 22 21:30:51 2024 +0100 The Witness: Fix seed bleed issue (#3008) commit 96d93c1ae313bb031e983c0d40d8be199b302df1 Author: chandler05 <[email protected]> Date: Fri Mar 22 15:30:23 2024 -0500 A Short Hike: Add option to customize filler coin count (#3004) Co-authored-by: Exempt-Medic <[email protected]> commit ca549df20a0a07c30ee2e1bbc2498492b919604d Author: Silvris <[email protected]> Date: Fri Mar 22 15:29:24 2024 -0500 CommonClient: fix hint tab overlapping (#2957) Co-authored-by: Remy Jette <[email protected]> commit 44988d430dc7d91eaeac7aad681dc024bc19ccce Author: Star Rauchenberger <[email protected]> Date: Fri Mar 22 15:28:41 2024 -0500 Lingo: Add trap weights option (#2837) commit 11b32f17abebc08a6140506a375179f8a46bcfe6 Author: Danaël V <[email protected]> Date: Fri Mar 22 12:46:14 2024 -0400 Docs: replacing "setting" to "option" in world docs (#2622) * Update contributing.md * Update contributing.md * Update contributing.md * Update contributing.md * Update contributing.md * Update contributing.md Added non-AP World specific information * Update contributing.md Fixed broken link * Some minor touchups * Update Contributing.md Draft for version with picture * Update contributing.md Small word change * Minor updates for conciseness, mostly * Changed all instances of settings to options in info and setup guides I combed through all world docs and swapped "setting" to "option" when this was refering to yaml options. I also changed a leftover "setting" in option.py * Update contributing.md * Update contributing.md * Update setup_en.md Woops I forgot one * Update Options.py Reverted changes regarding options.py * Update worlds/noita/docs/en_Noita.md Co-authored-by: Scipio Wright <[email protected]> * Update worlds/sc2wol/docs/en_Starcraft 2 Wings of Liberty.md revert change waiting for that page to be updated * Update worlds/witness/docs/setup_en.md * Update worlds/witness/docs/en_The Witness.md * Update worlds/soe/docs/multiworld_en.md Fixed Typo Co-authored-by: black-sliver <[email protected]> * Update worlds/witness/docs/en_The Witness.md * Update worlds/adventure/docs/en_Adventure.md * Update worlds/witness/docs/setup_en.md * Updated Stardew valley to hopefully get rid of the merge conflicts * Didn't work :dismay: * Delete worlds/sc2wol/docs/setup_en.md I think this will fix the merge issue * Now it should work * Woops --------- Co-authored-by: Scipio Wright <[email protected]> Co-authored-by: black-sliver <[email protected]> commit 218cd45844f9d733618af9088941156cd79b80bc Author: Silvris <[email protected]> Date: Fri Mar 22 03:02:38 2024 -0500 APProcedurePatch: fix RLE/COPY incorrect sizing (#3006) * change class variables to instance variables * Update worlds/Files.py Co-authored-by: black-sliver <[email protected]> * Update worlds/Files.py Co-authored-by: black-sliver <[email protected]> * move required_extensions to tuple * fix missing tuple ellipsis * fix classvar mixup * rename tokens to _tokens. use hasattr * type hint cleanup * Update Files.py * check using isinstance instead * Update Files.py --------- Co-authored-by: black-sliver <[email protected]> commit 4196bde597cdbb6186ff614294fd54ff043a0c99 Author: Exempt-Medic <[email protected]> Date: Thu Mar 21 16:38:36 2024 -0400 Docs: Fixing special_range_names example (#3005) commit 40f843f54d5970302caeb2a21b76a4845cf5c0ed Author: Star Rauchenberger <[email protected]> Date: Thu Mar 21 11:00:53 2024 -0500 Lingo: Minor game data fixes (#3003) commit da333fbb0c88feedd4821a7bade3f56028a02111 Author: GodlFire <[email protected]> Date: Thu Mar 21 09:52:16 2024 -0600 Shivers: Adds missing logic rule for skull dial door location (#2997) commit 43084da23c719133fcae672e20c9b046e6ef8067 Author: NewSoupVi <[email protected]> Date: Thu Mar 21 16:51:29 2024 +0100 The Witness: Fix newlines in Witness option tooltips (#2971) commit 14816743fca366b52422ccb19add59d4960f17a3 Author: Scipio Wright <[email protected]> Date: Thu Mar 21 11:50:07 2024 -0400 TUNIC: Shuffle Ladders option (#2919) commit 30a0aa2c85a7015e2072b5781ed1078965f62f4b Author: Star Rauchenberger <[email protected]> Date: Thu Mar 21 10:46:53 2024 -0500 Lingo: Add item/location groups (#2789) commit f4b7c28a33bb163768871616023a8cf3879840b4 Author: Silvris <[email protected]> Date: Wed Mar 20 17:45:32 2024 -0500 APProcedurePatch: hotfix changing class variables to instance variables (#2996) * change class variables to instance variables * Update worlds/Files.py Co-authored-by: black-sliver <[email protected]> * Update worlds/Files.py Co-authored-by: black-sliver <[email protected]> * move required_extensions to tuple * fix missing tuple ellipsis * fix classvar mixup * rename tokens to _tokens. use hasattr * type hint cleanup * Update Files.py * check using isinstance instead --------- Co-authored-by: black-sliver <[email protected]> commit 12864f7b24028fa56135e599f0fe1642c9d2d377 Author: chandler05 <[email protected]> Date: Wed Mar 20 22:44:09 2024 +0100 A Short Hike: Implement New Game (#2577) commit db02e9d2aabc0f4c1302ac761b3f5547ef00c7c5 Author: LiquidCat64 <[email protected]> Date: Wed Mar 20 15:03:25 2024 -0600 Castlevania 64: Implement New Game (#2472) commit 32315776ac0ac1a714eb9d58688c479e2038c658 Author: Jérémie Bolduc <[email protected]> Date: Wed Mar 20 16:57:45 2024 -0400 Stardew Valley: Fix extended family legendary fishes being locations with fishsanity set to exclude legendary (#2967) commit e9620bea777ff1008a09c24a70bf523c94f22c29 Author: Magnemania <[email protected]> Date: Wed Mar 20 16:56:00 2024 -0400 SM64: Goal Logic and Hint Bugfixes (#2886) commit 183ca35bbaf6c805fdb53396d21d0cba34f9cc5e Author: qwint <[email protected]> Date: Wed Mar 20 08:39:37 2024 -0500 CommonClient: Port Casting Bug (#2975) commit fcaaa197a19a3be03965c504ca78dd2c21ce1f84 Author: TheLX5 <[email protected]> Date: Wed Mar 20 05:56:19 2024 -0700 SMW: Fixes for Bowser being defeatable on Egg Hunt and CI2 DC room access (#2981) commit 8f7b63a787a0ef05625ae2fad1768251aced0c87 Author: TheLX5 <[email protected]> Date: Wed Mar 20 05:56:04 2024 -0700 SMW: Blocksanity logic fixes (#2988) commit 6f64bb98693556ac2635791381cc9651c365b324 Author: Scipio Wright <[email protected]> Date: Wed Mar 20 08:46:31 2024 -0400 Noita: Remove newline from option description so it doesn't look bad on webhost (#2969) commit d0a9d0e2d1df641668f4f806b45f9577e69229f6 Author: Bryce Wilson <[email protected]> Date: Wed Mar 20 06:43:13 2024 -0600 Pokemon Emerald: Bump required client version (#2963) commit 94650a02de62956eee8e7e41f61e8a41506b5842 Author: Silvris <[email protected]> Date: Tue Mar 19 17:08:29 2024 -0500 Core: implement APProcedurePatch and APTokenMixin (#2536) * initial work on procedure patch * more flexibility load default procedure for version 5 patches add args for procedure add default extension for tokens and bsdiff allow specifying additional required extensions for generation * pushing current changes to go fix tloz bug * move tokens into a separate inheritable class * forgot the commit to remove token from ProcedurePatch * further cleaning from bad commit * start on docstrings * further work on docstrings and typing * improve docstrings * fix incorrect docstring * cleanup * clean defaults and docstring * define interface that has only the bare minimum required for `Patch.create_rom_file` * change to dictionary.get * remove unnecessary if statement * update to explicitly check for procedure, restore compatible version and manual override * Update Files.py * remove struct uses * ensure returning bytes, add token type checking * Apply suggestions from code review Co-authored-by: Doug Hoskisson <[email protected]> * pep8 --------- Co-authored-by: beauxq <[email protected]> Co-authored-by: Doug Hoskisson <[email protected]> * Changes pot_completed_list to a instance variable instead of global. Changes pot_completed_list to a instance variable instead of global. The global variable was unintentional and was causing missmatch in pre_fill which would cause generation error. * Removing deprecated options getter * Adds back fix from main branch Adds back fix from main branch * Removing messenger changes that somehow got on my branch? Removing messenger changes that somehow got on my branch? * Removing messenger changes that are somehow on the Shivers branch Removing messenger changes that are somehow on the Shivers branch * Still trying to remove Messenger changes on Shivers branch Still trying to remove Messenger changes on Shivers branch * Review comments addressed. Early lobby access set as default. Review comments addressed. Early lobby access set as default. * Review comments addressed Review comments addressed * Review comments addressed. Option for priority locations removed. Option to have ixupi captures a priority has been removed and can be added again if Priority Fill is changed. See Issues #3467. * Minor Change Minor Change * Fixed ID 10 T Error Fixed ID 10 T Error * Front door option added to slot data Front door option added to slot data * Add missing .value on slot data Add missing .value on slot data * Small change to slot data Small change to slot data * Small change to slot data Why didn't this change get pushed github... * Forgot list Forgot list --------- Co-authored-by: Kory Dondzila <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> * Bomb Rush Cyberfunk: Fix Coil quest being in glitched logic too early (#3720) * Update Rules.py * Update Rules.py * Options: Always verify keys for VerifyKeys options (#3280) * Options: Always verify keys for VerifyKeys options * fix PlandoTexts * use OptionError and give a slightly better error message for which option it is * add the player name to the error * don't create an unnecessary list --------- Co-authored-by: NewSoupVi <[email protected]> * Docs: Add FFMQ French Setup Guide + Minor fixes to English Guide (#3590) * Add docs * Fix character * Configuration Co-authored-by: Jérémie Bolduc <[email protected]> * ajuster Co-authored-by: Jérémie Bolduc <[email protected]> * inclure Co-authored-by: Jérémie Bolduc <[email protected]> * doublon Co-authored-by: Jérémie Bolduc <[email protected]> * remplissage Co-authored-by: Jérémie Bolduc <[email protected]> * autre Co-authored-by: Jérémie Bolduc <[email protected]> * pouvoir Co-authored-by: Jérémie Bolduc <[email protected]> * mappemonde Co-authored-by: Jérémie Bolduc <[email protected]> * apostrophes Co-authored-by: Jérémie Bolduc <[email protected]> * virgule Co-authored-by: Jérémie Bolduc <[email protected]> * fournir Co-authored-by: Jérémie Bolduc <[email protected]> * apostrophes 2 Co-authored-by: Jérémie Bolduc <[email protected]> * snes9x Co-authored-by: Jérémie Bolduc <[email protected]> * apostrophes 3 Co-authored-by: Jérémie Bolduc <[email protected]> * options Co-authored-by: Jérémie Bolduc <[email protected]> * lien Co-authored-by: Jérémie Bolduc <[email protected]> * de laquelle Co-authored-by: Jérémie Bolduc <[email protected]> * Étape de génération Co-authored-by: Jérémie Bolduc <[email protected]> * apostrophes 4 Co-authored-by: Jérémie Bolduc <[email protected]> * également Co-authored-by: Jérémie Bolduc <[email protected]> * guillemets Co-authored-by: Jérémie Bolduc <[email protected]> * guillemets 2 Co-authored-by: Jérémie Bolduc <[email protected]> * adresse Co-authored-by: Jérémie Bolduc <[email protected]> * Connect Co-authored-by: Jérémie Bolduc <[email protected]> * seed Co-authored-by: Jérémie Bolduc <[email protected]> * Changer fichier yaml pour de configuration * Fix capitalization Co-authored-by: Nicholas Saylor <[email protected]> * Fix capitalization 2 Co-authored-by: Nicholas Saylor <[email protected]> * Fix typo+Add link to fr/en info page --------- Co-authored-by: Jérémie Bolduc <[email protected]> Co-authored-by: Nicholas Saylor <[email protected]> * Spire: Convert options, clean up random calls, and add DeathLink (#3704) * Convert StS options * probably a bad idea * Update worlds/spire/Options.py Co-authored-by: Scipio Wright <[email protected]> --------- Co-authored-by: Kono Tyran <[email protected]> Co-authored-by: Scipio Wright <[email protected]> * Core: fix missing import for `MultiWorld.link_items()` (#3731) * Pokemon R/B: Removing Floats from NamedRange #3717 * Docs: Missed Full Accessibility mention/conversion #3734 * ChecksFinder: Refactor/Cleaning (#3725) * Update ChecksFinder * minor cleanup * Check for compatible name * Enable APWorld * Update setup_en.md * Update en_ChecksFinder.md * The client is getting updated instead * Qwint suggestions, ' -> ", streamline fill_slot_data * Oops, too many refactors --------- Co-authored-by: SunCat <[email protected]> * OSRS: Implement New Game (#1976) * MMBN3: Press program now has proper color index when received remotely * Initial commit of OSRS untangled from MMBN3 branch * Fixes some broken region connections * Removes some locations * Rearranges locations to fill in slots left by removed locations * Adds starting area rando * Moves Oak and Willow trees to resource regions * Fixes various PEP8 violations * Refactor of regions * Fixes variable capture issue with region rules * Partial completion of brutal grind logic * Finishes can_reach_skill function * Adds skill requirements to location rules, fixes regions rules * Adds documentation for OSRS * Removes match statement * Updates Data Version to test mode to prevent item name caching * Fixes starting spawn logic for east varrock * Fixes river lum crossing logic to not assume you can phase across water * Prevents equipping items when you haven't unlocked them * Changes canoe logic to not require huge levels * Skeletoning out some data I'll need for variable task system * Adds csvs and parser for logic * Adds Items parsing * Fixes the spawning logic to not default to Chunksanity when you didn't pick it * Begins adding generation rules for data-driven logic * Moves region handling and location creating to different methods * Adds logic limits to Options * Begun the location generation has * Randomly generates tasks for each skill until populated * Mopping up improper names, adding custom logic, and fixes location rolling * Drastically cleans up the location rolling loop * Modifies generation to properly use local variables and pass unit tests * Game is now generating, but rules don't seem to work * Lambda capture, my old nemesis. We meet again * Fixes issue with Corsair Cove item requirement causing logic loop * Okay one more fix, another variable capture * On second thought lets not have skull sceptre tasks. 'Tis a silly place * Removes QP from item pool (they're events not items) * Removes Stronghold floor tasks, no varbit to track them * Loads CSV with pkutil so it can be used in apworld * Fixes logic of skill tasks and adds QP requirements to long grinds * Fixes pathing in pkgutil call * Better handling for empty task categories, no longer throws errors * Fixes order for progressive tasks, removes un-checkable spider task * Fixes logic issues related to stew and the Blurite caves * Fixes issues generating causing tests to sporadically fail * Adds missing task that caused off-by-one error * Updates to new Options API * Updates generation to function properly with the Universal Tracker (Thanks Faris) * Replaces runtime CSV parsing with pre-made python files generated from CSVs * Switches to self.random and uses random.choice instead of doing it manually * Fixes to typing, variable names, iterators, and continue conditions * Replaces Name classes with Enums * Fixes parse error on region special rules * Skill requirements check now returns an accessrule instead of being one that checks options * Updates documentation and setup guide * Adjusts maximum numbers for combat and general tasks * Fixes region names so dictionary lookup works for chunksanity * Update worlds/osrs/docs/en_Old School Runescape.md Co-authored-by: Nicholas Saylor <[email protected]> * Update worlds/osrs/docs/en_Old School Runescape.md Co-authored-by: Nicholas Saylor <[email protected]> * Updates readme.md and codeowners doc * Removes erroneous East Varrock -> Al Kharid connection * Changes to canoe logic to account for woodcutting level options * Fixes embarassing typo on 'Edgeville' * Moves Logic CSVs to separate repository, addresses suggested changes on PR * Fixes logic error in east/west lumbridge regions. Fixes incorrect List typing in main * Removes task types with weight 0 from the list of rollable tasks * Missed another place that the task type had to be removed if 0 weight * Prevents adding an empty task weight if levels are too restrictive for tasks to be added * Removes giant blank space in error message * Adds player name to error for not having enough available tasks --------- Co-authored-by: Nicholas Saylor <[email protected]> * TUNIC: Fix missing traversal req #3740 * TUNIC: Sort entrances in the spoiler log (#3733) * Sort entrances in spoiler log * Rearrange portal list to closer match the vanilla game order, for better spoiler and because I already did this mod-side * Add break (thanks vi) * KH2: Update the docs to support steam in the setup guide (#3711) * doc updates * add steam link * Update worlds/kh2/docs/setup_en.md Co-authored-by: Exempt-Medic <[email protected]> * Update setup_en.md * Forgot to include these * Consistent styling * :) * version 3.3.0 --------- Co-authored-by: Exempt-Medic <[email protected]> * RoR2: Remove recursion from explore mode access rules (#3681) The access rules for "<Environment name> Chest n", "<Environment name> Shrine n" etc. locations recursively called state.can_reach() for the n-1 location name, with the n=1 location being the only location to have the actual access rule set. This patch removes the recursion, instead setting the actual access rule directly on each location, increasing the performance of checking accessibility of n>1 locations. Risk of Rain 2 was already quite fast to generate despite the recursion in the access rules, but with this patch, generating a multiworld with 200 copies of the template RoR2 yaml (and progression balancing disabled through a meta.yaml) goes from about 18s to about 6s for me. From generating the same seed before and after this patch, the same result is produced. * Aquaria: Logic bug fixes (#3679) * Fixing logic bugs * Require energy attack in the cathedral and energy form in the body * King Jelly can be beaten easily with only the Dual Form * I think that I have a problem with my left and right... * There is a monster that is blocking the path, soo need attack to pass * The Li cage is not accessible without the Sunken city boss * Removing useless space. Co-authored-by: Exempt-Medic <[email protected]> * Two more minors logic modification * Adapting tests to af9b6cd * Reformat the Region file --------- Co-authored-by: Exempt-Medic <[email protected]> * HK: add grub hunt goal (#3203) * makes grub hunt goal option that calculates the total available grubs (including item link replacements) and requires all of them to be gathered for goal completion * update slot data name for grub count * add option to set number needed for grub hub * updates to grub hunt goal based on review * copy/paste fix * account for 'any' goal and fix overriding non-grub goals * making sure godhome is in logic for any and removing redundancy on completion condition * fix typing * i hate typing * move to stage_pre_fill * modify "any" goal so all goals are in logic under minimal settings * rewrite grub counting to create lookups for grubs and groups that can be reused * use generator instead of list comprehension * fix whitespace merging wrong * minor code cleanup * DS3: Version 3.0.0 (#3128) * Update worlds/dark_souls_3/Locations.py Co-authored-by: Scipio Wright <[email protected]> * Fix Covetous Silver Serpent Ring location * Update location groups This should cover pretty much all of the seriously hidden items. It also splits out miniboss drops, mimic drops, and hostile NPC drops. * Remove the "Guarded by Keys" group On reflection, I don't think this is actually that useful. It'll also get a lot muddier once we can randomize shops and ashes become pseudo-"keys". * Restore Knight Slayer's Ring classification * Support infusions/upgrades in the new DS3 mod system * Support random starting loadouts * Make an item's NPC status orthogonal to its category * Track location groups with flags * Track Archipelago/Offline mismatches on the server Also fix a few incorrect item names. * Add additional locations that are now randomizable * Don't put soul and multiple items in shops * Add an option to enable whether NG+ items/locations are included * Clean up useful item categorization There are so many weapons in the game now, it doesn't make sense to treat them all as useful * Add more variety to filler items * Iron out a few bugs and incompatibilities * Fix more silly bugs * Get tests passing * Update options to cover new item types Also recategorize some items. * Verify the default values of `Option`s. Since `Option.verify()` can handle normalization of option names, this allows options to define defaults which rely on that normalization. For example, it allows a world to exclude certain locations by default. This also makes it easier to catch errors if a world author accidentally sets an invalid default. * Make a few more improvements and fixes * Randomize Path of the Dragon * Mark items that unlock checks as useful These items all unlock missable checks, but they're still good to ahve in the game for variety's sake. * Guarantee more NPC quests are completable * Fix a syntax error * Fix rule definition * Support enemy randomization * Support online Yhorm randomization * Remove a completed TODO * Fix tests * Fix force_unique * Add an option to smooth out upgrade item progression * Add helpers for setting location/entrance rules * Support smoother soul item progression * Fill extra smoothing items into conditional locations as well as other worlds * Add health item smoothing * Handle infusions at item generation time * Handle item upgrades at genreation time * Fix Grave Warden's Ashes * Don't overwrite old rules * Randomize items based on spheres instead of DS3 locations * Add a smoothing option for weapon upgrades * Add rules for crow trades * Small fixes * Fix a few more bugs * Fix more bugs * Try to prevent Path of the Dragon from going somewhere it doesn't work * Add the ability to provide enemy presets * Various fixes and features * Bug fixes * Better Coiled Sword placement * Structure DarkSouls3Location more like DarkSouls3Item * Add events to make DS3's spheres more even * Restructure locations to work like items do now * Add rules for more missable locations * Don't add two Storm Rulers * Place Hawk Ring in Farron Keep * Mark the Grass Crest Shield as useful * Mark new progression items * Fix a bug * Support newer better Path of the Dragon code * Don't lock the player out of Coiled Sword * Don't create events for missable locations * Don't throw strings * Don't smooth event items * Properly categorize Butcher Knife * Be more careful about placing Yhorm in low-randomization scenarios * Don't try to smooth DLC items with DLC disabled * Fix another Yhorm bug * Fix upgrade/infusion logic * Remove the PoolType option This distinction is no longer meaningful now that every location in the game of each type is randomized * Categorize HWL: Red Eye Orb as an NPC location * Don't place Storm Ruler on CA: Coiled Sword * Define flatten() locally to make this APWorld capable * Fix some more Leonhard weirdness * Fix unique item randomization * Don't double Twin Dragon Greatshield * Remove debugging print * Don't add double Storm Ruler Also remove now-redundant item sorting by category in create_items. * Don't add double Storm Ruler Also remove now-redundant item sorting by category in create_items. * Add a missing dlc_enabled check * Use nicer options syntax * Bump data_version * Mention where Yhorm is in which world * Better handle excluded events * Add a newline to Yhorm location * Better way of handling excluded unradomized progression locations * Fix a squidge of nondeterminism * Only smooth items from this world * Don't smooth progression weapons * Remove a location that doesn't actually exist in-game * Classify Power Within as useful * Clarify location names * Fix location requirements * Clean up randomization options * Properly name Coiled Sword location * Add an option for configuring how missable items are handled * Fix some bugs from location name updates * Fix location guide link * Fix a couple locations that were busted offline * Update detailed location descriptions * Fix some bugs when generating for a multiworld * Inject Large Leather Shield * Fix a few location issues * Don't allow progression_skip_balancing for unnecessary locs * Update some location info * Don't uniquify the wrong items * Fix some more location issues * More location fixes * Use hyphens instead of parens for location descriptions * Update and fix more locations * Fix Soul of Cinder boss name * Fix some logic issues * Add item groups and document item/location groups * Fix the display name for "Impatient Mimics" * Properly handle Transposing Kiln and Pyromancer's Flame * Testing * Some fixes to NPC quests, late basin, and transposing kiln * Improve a couple location names * Split out and improve missable NPC item logic * Don't allow crow trades to have foreign items * Fix a variable capture bug * Make sure early items are accessible early even with early Castle * Mark ID giant slave drops as missable * Make sure late basin means that early items aren't behind it * Make is_location_available explicitly private * Add an _add_item_rule utility that checks availability * Clear excluded items if excluded_locations == "unnecessary" * Don't allow upgrades/infusions in crow trades * Fix the documentation for deprecated options * Create events for all excluded locations This allows `can_reach` logic to work even if the locations are randomized. * Fix up Patches' and Siegward's logic based on some manual testing * Factor out more sub-methods for setting location rules * Oops, left these in * Fixing name * Left that in too * Changing to NamedRange to support special_range_names * Alphabetizing * Don't call _is_location_available on foreign locations * Add missing Leonhard items * Changing late basin to have a post-small-doll option * Update basin option, add logic for some of Leonhard Hawkwood and Orbeck * Simplifying an option, fixing a copy-paste error * Removing trailing whitespace * Changing lost items to go into start inventory * Revert Basin changes * Oops * Update Options.py * Reverting small doll changes * Farron Keep boss requirement logic * Add Scroll for late_dlc * Fixing excluded unnecessary locations * Adding Priestess Ring as being after UG boss * Removing missable from Corvian Titanite Slab * Adding KFF Yhorm boss locks * Screams about Creighton * Elite Knight Set isn't permanently missable * Adding Kiln requirement to KFF * fixing valid_keys and item groups * Fixing an option-checker * Throwing unplaceable Storm Ruler into start inventory * Update locations * Refactor item injection * Update setup doc * Small fixes * Fix another location name * Fix injection calculation * Inject guaranteed items along with progression items * Mark boss souls as required for access to regions This allows us to set quest requirements for boss souls and have them automatically propagated to regions, means we need less machinery for Yhorm bosses, and allows us to get rid of a few region-transition events. * Make sure Sirris's quest can be completed before Pontiff * Removing unused list * Changing dict to list * Removing unused test * Update __init__.py * self.multiworld.random -> self.random (#9) * Fix some miscellaneous location issues * Rewrite the DS3 intro page/FAQ * Removing modifying the itempool after fill (#7) Co-authored-by: Natalie Weizenbaum <[email protected]> * Small fixes to the setup guide (#10) Small fixes, adding an example for connecting * Expanded Late Basin of Vows and Late DLC (#6) * Add proper requirements for CD: Black Eye Orb * Fix Aldrich's name * Document the differences with the 2.x.x branch * Don't crash if there are more items than locations in smoothing * Apply suggestions from code review Co-authored-by: Nicholas Saylor <[email protected]> * Code review * Fix _replace_with_filler * Don't use the shared flatten function in SM * Track local items separately rather than iterating the multiworld * Various formatting/docs changes suggested by PyCharm (#12) * Drop deprecated options * Rename "offline randomizer" to "static randomizer" which is clearer * Move `enable_*_locations` under removed options. * Avoid excluded locations for locally-filled items * Adding Removed options to error (#14) * Changes for WebHost options display and the options overhaul * unpack iterators in item list (#13) * Allow worlds to add options to prebuilt groups Previously, this crashed because `typing.NamedTuple` fields such as `group.name` aren't assignable. Now it will only fail for group names that are actually incorrectly cased, and will fail with a better error message. * Style changes, rename exclude behavior options, remove guaranteed items option * Spacing/Formatting (#18) * Various Fixes (#19) * Universally Track Yhorm (#20) * Account for excluded and missable * These are behaviors now * This is singular, apparently * Oops * Fleshing out the priority process * Missable Titanite Lizards and excluded locations (#22) * Small style/efficiency changes * Final passthrough fixes (#24) * Use rich option formatting * Make the behavior option values actual behaviors (#25) * Use != * Remove unused flatten utility * Some changes from review (#28) * Fixing determinism and making smooth faster (#29) * Style change * PyCharm and Mypy fixes (#26) Co-authored-by: Scipio Wright <[email protected]> * Change yhorm default (#30) * Add indirect condition (#27) * Update worlds/dark_souls_3/docs/locations_en.md Co-authored-by: Nicholas Saylor <[email protected]> * Ship all item IDs to the client This avoids issues where items might get skipped if, for instance, they're only in the starting inventory. * Make sure to send AP IDs for infused/upgraded weapons * Make `RandomEnemyPresetOption` compatible with ArchipelagoMW/Archipelago#3280 (#31) * Fix cast * More typing and small fixes (#32) --------- Co-authored-by: Scipio Wright <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> Co-authored-by: Nicholas Saylor <[email protected]> Co-authored-by: Doug Hoskisson <[email protected]> Co-authored-by: NewSoupVi <[email protected]> * Core: Check parent_region.can_reach first in Location.can_reach (#3724) * Core: Check parent_region.can_reach first in Location.can_reach The comment about self.access_rule computing faster on average appears to no longer be correct with the current caching system for region accessibility, resulting in self.parent_region.can_reach computing faster on average. Generation of template yamls for each game that does not require a rom to generate, generated with `python -O .\Generate.py --seed 1` (all durations averaged over at 4 or 5 generations): Full generation with `spoiler: 1` and no progression balancing: 89.9s -> 72.6s Only output from above case: 2.6s -> 2.2s Full generation with `spoiler: 3` and no progression balancing: 769.9s -> 627.1s Only playthrough calculation + paths from above case: 680.5s -> 555.3s Full generation with `spoiler: 1` with default progression balancing: 123.5s -> 98.3s Only progression balancing from above case: 11.3s -> 9.6s * Update BaseClasses.py * Update BaseClasses.py * Update BaseClasses.py --------- Co-authored-by: NewSoupVi <[email protected]> * Core: Speed up CollectionState.copy() using built-in copy methods (#3678) All the types being copied are built-in types with their own `copy()` methods, so using the `copy` module was a bit overkill and also slower. This patch replaces the use of the `copy` module in `CollectionState.copy()` with using the built-in `.copy()` methods. The copying of `reachable_regions` and `blocked_connections` was also iterating the keys of each dictionary and then looking up the value in the dictionary for that key. It is faster, and I think more readable, to iterate the dictionary's `.items()` instead. For me, when generating a multiworld including the template yaml of every world with `python -O .\Generate.py --skip_output`, this patch saves about 2.1s. The overall generation duration for these yamls varies quite a lot, but averages around 160s for me, so on average this patch reduced overall generation duration (excluding output duration) by around 1.3%. Timing comparisons were made by calling time.perf_counter() at the start and end of `CollectionState.copy()`'s body, and summing the differences between the starts and ends of the method body into a global variable that was printed at the end of generation. Additional timing comparisons were made, using the `timeit` module, of the individual function calls or dictionary comprehensions used to perform the copying. The main performance cost was `copy.deepcopy()`, which gets slow as the number of keys multiplied by the number of values within the sets/Counters gets large, e.g., to deepcopy a `dict[int, Counter[str]]` with 100 keys and where each Counter contains 100 keys was 30x slower than most other tested copying methods. Increasing the number of dict keys or Counter keys only makes it slower. * HK: fix iterating all worlds instead of only HK worlds in stage_pre_fill (#3750) Would cause generation to fail when generating with HK and another game. Mistake in 6803c373e5ff. * DOOM, DOOM II: Update steam URLs (#3746) * TLOZ: world: multiworld (#3752) * SoE: fix determinism (#3745) Fixes randomly placed ingredients not being deterministic (depending on settings) and in turn also fixes logic not being deterministic if they get replaced by fragments. * Core: fix invalid __package__ of zipped worlds (#3686) * fix invalid package fix * add comment describing fix * Clique: Update to new options API (#3759) * Timespinner: Fix eels check logic #3777 * TUNIC: Add note to Universal Tracker stuff #3772 * Core: change start inventory from pool to warn when nothing to remove (#3158) * makes start inventory from pool warn and fixes the itempool to match when it can not find a matching item to remove * calc the difference correctly * save new filler and non-removed items differently so we don't remove existing items at random * Undertale: Fix slot_data and options.as_dict() (#3774) * Undertale: Fixing slot_data * Booleans were difficult * Core: Error on empty options.as_dict (#3773) * Error on empty options.as_dict * ValueError instead * Apply suggestions from code review Co-authored-by: Aaron Wagener <[email protected]> --------- Co-authored-by: Aaron Wagener <[email protected]> Co-authored-by: NewSoupVi <[email protected]> * Core: Remove broken unused code from Options.py (#3781) "Unused" is a baseless assertion, but this code path has been crashing on the first statement for 6 months and noone's complained * Core: Two Small Fixes (#3782) * Core: recontextualize `CollectionState.collect` (#3723) * Core: renamed `CollectionState.collect` arg from `event` to `prevent_sweep` and remove forced collection * Update TestDungeon.py --------- Co-authored-by: NewSoupVi <[email protected]> * Core: dump all item placements for generation failures. (#3237) * Core: dump all item placements for generation failures * pass the multiworld from remaining fill * change how the args get handled to fix formatting --------- Co-authored-by: NewSoupVi <[email protected]> * Tests: fix the all games multiworld test (#3788) * TUNIC: Swap from multiworld.get to world.get for applicable things (#3789) * Swap from multiworld.get to world.get for applicable things * Why was this even here in the first place? * I have no idea (#3791) * TUNIC: Add off and on aliases for the Entrance Rando option #3794 * Stardew Valley: Add Quality Bobber in the logic rules for fish quality gold and above #3792 * Core: Require excluded locations to be reachable with full/locations accessibility (#3802) * Make excludeds reachable * Update all_state tests * Lingo: Fixed Initiated-side Eight Door not opening (#3793) * TUNIC: Give the fox a gun (in logic) (very small PR) (#3790) * Add bomb wall logic * Remove option call from can_shop * Gun for the envoy blocking Quarry * has_sword -> can_shop on cube cave entrance region * TLOZ: Fix non-deterministic item pool generation (#3779) * TLOZ: Fix non-deterministic item pool generation The way the item pool was constructed involved iterating unions of sets. Sets are unordered, so the order of iteration of these combined sets would be non-deterministic, resulting in the items in the item pool being generated in a different order with the same seed. Rather than creating unions of sets at all, the original code has been replaced with using Counter objects. As a dict subclass, Counter maintains insertion order, and its update() method makes it simple to combine the separate item dictionaries into a single dictionary with the total count of each item across each of the separate item dictionaries. Fixes #3664 - After investigating more deeply, the only differences I could find between generations of the same seed was the order of items created by TLOZ, so this patch appears to fix the non-deterministic generation issue. I did manage to reproduce the non-deterministic behaviour with just TLOZ in the end, but it was very rare. I'm not entirely sure why generating with SMZ3 specifically would cause the non-deterministic behaviour in TLOZ to be frequently present, whereas generating with other games or multiple TLOZ yamls would not. * Change import order --------- Co-authored-by: NewSoupVi <[email protected]> * Docs: Update 'tag' documentation (#3632) * Add tag docs for HintGame * Apply suggestions from code review Co-authored-by: black-sliver <[email protected]> * Make Tracker/TextOnly consistent with previous commit * Apply suggestion Co-authored-by: black-sliver <[email protected]> * fix spacing * Apply suggestion Co-authored-by: black-sliver <[email protected]> * apply suggestion correcting footnotes Co-authored-by: Exempt-Medic <[email protected]> --------- Co-authored-by: black-sliver <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> * [OSRS] Fixes Incorrect filler item names causing failures on tests. (#3768) * Updates filler item names to match the actual item names * Adds more descriptive error message in case this error comes back * Properly raises exception instead of just text * Replaces exception with assert * Fix !remaining for cross-world items (#3732) * Fix !remaining for other worlds * Typing fixes for the previous change * Update LocationStore test to match what get_remaining now returns * Core: early_local != local_early #3780 * Pokemon Emerald: Ensure dig tutor is alwa…
Silvris
pushed a commit
to Silvris/Archipelago
that referenced
this pull request
Jan 7, 2025
GH2 has toggles for both bonus tracks and X360 exclusives, World Tour, 5 and Warriors of Rock have straight setlists so no options at all.
Planeswater
pushed a commit
to Planeswater/Archipelago
that referenced
this pull request
Jan 21, 2025
Lamulana: Add Position Helper Method
Ishigh1
added a commit
to Ishigh1/Archipelago
that referenced
this pull request
Mar 15, 2025
Added rosa quick unlock
NewSoupVi
pushed a commit
that referenced
this pull request
May 21, 2025
* 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 <[email protected]> * remove useless blank line Co-authored-by: massimilianodelliubaldini <[email protected]> * whitespace code style Co-authored-by: massimilianodelliubaldini <[email protected]> * Move JsonMessageData dataclass outside of ReplClient class for code clarity --------- Co-authored-by: massimilianodelliubaldini <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * Update worlds/jakanddaxter/Options.py Co-authored-by: Nicholas Saylor <[email protected]> * Update worlds/jakanddaxter/Options.py Co-authored-by: Nicholas Saylor <[email protected]> * Update worlds/jakanddaxter/Options.py Co-authored-by: Nicholas Saylor <[email protected]> * 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 <[email protected]> * 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 2d012b7. * 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 <[email protected]> Co-authored-by: Romain BERNARD <[email protected]> Co-authored-by: Scipio Wright <[email protected]> Co-authored-by: Nicholas Saylor <[email protected]>
Alchav
pushed a commit
to Alchav/Archipelago
that referenced
this pull request
Jun 7, 2025
* add damage multiplier * fix damage multiplier option * add death options * add options for various sanities * change reset_with_inverted_time to start_with_inverted_time also fix YAML * replace milk
ProfDeCube
referenced
this pull request
in ProfDeCube/Archipelago
Jun 13, 2025
* 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 (ArchipelagoMW#29) * Fix virtual regions in Snowy. Fix some GMC problems. * Fix Deathlink on sunken slides. * Removed unncessary code causing build failure. * Orbsanity (ArchipelagoMW#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 (ArchipelagoMW#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 (ArchipelagoMW#41) * The Afterparty (ArchipelagoMW#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 (ArchipelagoMW#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. (ArchipelagoMW#47) * Jak & Daxter Client : queue game text messages to get items faster during release (ArchipelagoMW#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 <[email protected]> * remove useless blank line Co-authored-by: massimilianodelliubaldini <[email protected]> * whitespace code style Co-authored-by: massimilianodelliubaldini <[email protected]> * Move JsonMessageData dataclass outside of ReplClient class for code clarity --------- Co-authored-by: massimilianodelliubaldini <[email protected]> * Item Classifications (and REPL fixes) (ArchipelagoMW#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 (ArchipelagoMW#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 <[email protected]> * Temper and Harden Text Client (ArchipelagoMW#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 (ArchipelagoMW#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 (ArchipelagoMW#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 (ArchipelagoMW#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 (ArchipelagoMW#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 <[email protected]> * Update worlds/jakanddaxter/Options.py Co-authored-by: Nicholas Saylor <[email protected]> * Update worlds/jakanddaxter/Options.py Co-authored-by: Nicholas Saylor <[email protected]> * Update worlds/jakanddaxter/Options.py Co-authored-by: Nicholas Saylor <[email protected]> * 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 (ArchipelagoMW#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 (ArchipelagoMW#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 <[email protected]> * 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 2d012b7. * 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 <[email protected]> Co-authored-by: Romain BERNARD <[email protected]> Co-authored-by: Scipio Wright <[email protected]> Co-authored-by: Nicholas Saylor <[email protected]>
Ars-Ignis
added a commit
to Ars-Ignis/Archipelago
that referenced
this pull request
Jul 13, 2025
commit a9b35de7ee9d02d320aaae4b28259ae0ec3139ad Author: Justus Lind <[email protected]> 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 <[email protected]> Date: Sat Jul 12 07:52:02 2025 -0400 TUNIC: Fix missing line for UT stuff #5185 commit 585cbf95a6d1b65facd1f0058ba49c6174b24a00 Author: Scipio Wright <[email protected]> Date: Sat Jul 12 07:14:34 2025 -0400 TUNIC: Add UT Support for Breakables (#5182) commit 909565e5d958459093014e134ea21b18767cd1fd Author: Jérémie Bolduc <[email protected]> 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 <[email protected]> Date: Fri Jul 11 18:44:26 2025 -0400 LADX: Update marin.txt (#5178) commit 7a6fb5e35b471ef196437dd97d23fd26402d903e Author: NewSoupVi <[email protected]> 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 <[email protected]> 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 <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> commit 2974f7d11f57e97da00a568b1c03a670fd8938d0 Author: NewSoupVi <[email protected]> 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 <[email protected]> Date: Thu Jul 10 07:10:56 2025 -0600 CIV 6: Remove Erroneous Boost Prereqs for Computers Boost (#5134) commit b1ff55dd061af9158c1747a57472d157e42ded92 Author: axe-y <[email protected]> Date: Thu Jul 10 08:33:52 2025 -0400 DLCQ: Fix/Refactor LFoD Start Inventory (#5176) commit f4b5422f66c0f5332cb05998ad0f7731d4a436f3 Author: Remy Jette <[email protected]> Date: Mon Jul 7 13:57:55 2025 -0700 Factorio: Fix link to world_gen documentation (#5171) commit d4ebace99f17299c0fa861a1ccad42bdf4e332fe Author: massimilianodelliubaldini <[email protected]> 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 <[email protected]> Date: Mon Jul 7 16:24:35 2025 +0200 Core: Take Counter back out of RestrictedUnpickler #5169 commit 4623d59206e88132432b6db74945a717057b2f8a Author: Fabian Dill <[email protected]> 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 <[email protected]> commit e68b1ad42896ce5ec4c0ef0e46a21f0a21ab5cbb Author: Doug Hoskisson <[email protected]> Date: Sun Jul 6 10:22:02 2025 -0700 CommonClient: fix extra panels added to `main_area_container` (#5151) commit 072e2ece15429a49dda18898d266c9fa63905205 Author: Ixrec <[email protected]> Date: Sat Jul 5 22:01:08 2025 +0100 Docs: 'get_prefill_items' -> 'get_pre_fill_items' (#5167) commit 11130037fe9a88d8be70a1624c35aea17daab680 Author: agilbert1412 <[email protected]> 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 <[email protected]> Date: Wed Jul 2 08:14:35 2025 -0400 Update world api.md (#5149) commit 8aacc23882c25a276dc03d766c9c3d6d11d65c79 Author: Jérémie Bolduc <[email protected]> Date: Sat Jun 28 11:36:09 2025 -0400 SDV: Add "Desert Transportation" and "Island Transportation" Item Groups (#5143) commit 03e5fd3dae5a27cddd9fd4d3134d2d19f8d7562b Author: Jonathan Tan <[email protected]> Date: Sat Jun 28 10:46:37 2025 -0400 TWW: Fix Swords in Swordless Mode (#5137) Co-authored-by: Exempt-Medic <[email protected]> commit da52598c0843922d02912a933aeb6aa23833587c Author: Fly Hyping <[email protected]> Date: Fri Jun 27 19:42:35 2025 -0400 Wargroove: Fix Communication Thread (#5125) commit 52389731ebef8e0b516059c2597657690d99eeee Author: Jonathan Tan <[email protected]> Date: Fri Jun 27 18:46:00 2025 -0400 TWW: Update Preset S7 to S8 (#5138) commit 21864f6f950d752b3fb8c0411517f5b442708ac4 Author: LiquidCat64 <[email protected]> Date: Fri Jun 27 16:25:45 2025 -0600 CVCotM: Fix Advance Collection ROM (#5132) commit 00f862528083fec98af71a1c8b94120c99469ff1 Author: DJ-lennart <[email protected]> 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 <[email protected]> Date: Fri Jun 20 21:52:54 2025 +0100 Pokemon RB: Client: Send bounce messages with current map ID (#5121) commit e0ae3359f130e85f8c3a0d22dcdd315635d7cb5c Author: palex00 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> Co-authored-by: NewSoupVi <[email protected]> commit 211456242e0e018bd3356ecca5325862fb654f2d Author: Silvris <[email protected]> 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 <[email protected]> commit 6f244c4661a7aee59f452f61a51e61adb3f856d5 Author: massimilianodelliubaldini <[email protected]> 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 <[email protected]> * 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 <[email protected]> * Update worlds/generic/docs/plando_en.md Co-authored-by: Exempt-Medic <[email protected]> * 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 <[email protected]> * Update worlds/generic/docs/plando_en.md Co-authored-by: Exempt-Medic <[email protected]> * Update worlds/generic/docs/plando_en.md Co-authored-by: Exempt-Medic <[email protected]> * Update worlds/generic/docs/plando_en.md Co-authored-by: Exempt-Medic <[email protected]> --------- Co-authored-by: Exempt-Medic <[email protected]> commit 47bf6d724b20bb8455f360cc2ddecf82bfcf445c Author: Exempt-Medic <[email protected]> Date: Mon Jun 16 10:56:47 2025 -0400 Minecraft Removal Cleanup (#5118) commit 5c710ad032eedb6bd79ea2436490423c5a41aee0 Author: Ixrec <[email protected]> Date: Mon Jun 16 13:36:12 2025 +0100 Docs: Rework the "Events" Section of `world api.md` (#5012) Co-authored-by: Scipio Wright <[email protected]> Co-authored-by: qwint <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> commit dda5a05cbb37fec368f811242c137817f85525a0 Author: BlastSlimey <[email protected]> Date: Mon Jun 16 14:07:27 2025 +0200 shapez: Change Links to Shapesanity Cheat Sheet (#5047) commit e0a63e0290270f117d1575896c0e9ab61eb05cae Author: Natalie Weizenbaum <[email protected]> Date: Mon Jun 16 05:02:06 2025 -0700 DS3: Link to the Appropriate .NET Runtime for Proton (#5093) commit 92466595897a95c5ec984e4c530d0833fb8c8a72 Author: NewSoupVi <[email protected]> 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 <[email protected]> Date: Mon Jun 16 05:47:55 2025 -0600 MMBN3: Fixes Generation Errors and General UX Smoothing (#5077) Co-authored-by: qwint <[email protected]> commit 0e759f25fd4a241cbd1a8793ff0a891a2b3bc322 Author: KonoTyran <[email protected]> Date: Mon Jun 16 03:31:16 2025 -0700 Remove Minecraft (#4672) * Remove Minecraft * remove minecraft * remove minecraft * elif -> if --------- Co-authored-by: NewSoupVi <[email protected]> commit b408bb4f6eedc797ac693e4a9aacc40b1922a2a7 Author: qwint <[email protected]> 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 <[email protected]> Date: Sun Jun 15 16:30:45 2025 -0700 AdventureClient: Replace Utils.get_settings with settings.get_settings #5043 commit ec5b4e704f8167dd262579120a9aa99d746ab04d Author: Exempt-Medic <[email protected]> Date: Sat Jun 14 09:28:02 2025 -0400 Plando Items: Better Warning for Nonexisting Worlds (#5112) commit aa9e6175108afb16caec2411486e2f1a054ae4a6 Author: Exempt-Medic <[email protected]> Date: Sat Jun 14 09:27:22 2025 -0400 DS3: Apply Rules to Non-Randomized Locations (#5106) commit ecb739ce96716f83d128648d0350df69b5aae7eb Author: Exempt-Medic <[email protected]> Date: Sat Jun 14 09:26:58 2025 -0400 Plando Items: Fix Location Groups Unfolding (#5099) commit 3b72140435d4d587a60865ea5e325f5b6aa1d950 Author: Exempt-Medic <[email protected]> Date: Sat Jun 14 09:26:22 2025 -0400 Shivers: Fix get_pre_fill_items (#5113) commit 27a67705692e5abafbfc5dbd5753feb81294855c Author: Louis M <[email protected]> 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 <[email protected]> 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 <[email protected]> Date: Fri Jun 13 20:29:23 2025 -0400 Stardew Valley: Fix 3 Logic Issues (#5094) Co-authored-by: Exempt-Medic <[email protected]> commit 068a7573737078d413cdd0fe1ea4c94bc2903821 Author: Exempt-Medic <[email protected]> Date: Fri Jun 13 20:29:06 2025 -0400 Item Plando: Fix `count` value (#5101) commit 0ad4527719c60caacbb6b1777b256556c7ad52d9 Author: PoryGone <[email protected]> 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 <[email protected]> Date: Fri Jun 13 14:56:09 2025 -0500 LTTP/SDV: use .name when appropriate in subtests (#5107) commit aecbb2ab0259e8683dc848b538ac2ab7d5ee1fb9 Author: qwint <[email protected]> Date: Fri Jun 13 05:28:58 2025 -0500 fix saving princess's use of subprocess helpers (#5103) commit 52b11083fe23a6fdbf01ee4cda1dd2bc97800006 Author: JaredWeakStrike <[email protected]> Date: Wed Jun 11 15:52:47 2025 -0400 KH2: Raise Exception for Misusing DonaldGoofyStatsanity Option (#4710) Co-authored-by: Exempt-Medic <[email protected]> commit a8c87ce54ba68007e5f8f291355ffeeeed408ca1 Author: BadMagic100 <[email protected]> Date: Mon Jun 9 20:55:40 2025 -0700 CI: Add GH_REPO environment variable to labeler (#5081) commit ddb3240591feab473e76b1363fe4b45ff1110610 Author: JaredWeakStrike <[email protected]> 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 <[email protected]> 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 <[email protected]> Date: Fri Jun 6 00:05:53 2025 +0200 shapez: Remove preset unittests #5086 commit 50db922cefbde107dd33d588ce621336b956a397 Author: Jarno <[email protected]> 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 <[email protected]> Date: Wed Jun 4 12:51:08 2025 -0500 Timespinner: Fix Castle Ramparts Region Connection #5082 Co-authored-by: ehseezed <[email protected]> commit 603a5005e2f5d055f1b66ac5d75c133459240868 Author: Exempt-Medic <[email protected]> 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 <[email protected]> Date: Tue Jun 3 13:49:44 2025 +0200 Factorio: revamp args parsing and passing (#5036) commit a76cec15397efc4758fc1d487fc5cbc97e663d7c Author: Scipio Wright <[email protected]> Date: Tue Jun 3 06:51:06 2025 -0400 TUNIC: Fix decoupled ER + ladder storage making invalid entrances #5075 commit 694e6bcae36bab4e49c60c3c8f097d2f440a0979 Author: black-sliver <[email protected]> Date: Tue Jun 3 10:42:37 2025 +0000 Launcher/Utils: reset LD_LIBRARY_PATH for system EXEs (#5022) commit b85b18cf5fb5db4dbcbd736ff4a3dafcfeeb0f3b Author: black-sliver <[email protected]> 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 <[email protected]> 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 <[email protected]> Date: Mon Jun 2 12:01:21 2025 -0400 Plando Items: Fix count with empty locations/location #5040 commit 0c5cb17d96af6091a5c35f13cc2fc62551679b09 Author: Mysteryem <[email protected]> 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 <[email protected]> Date: Mon Jun 2 10:53:57 2025 -0500 WebHost: Use expected APPlayerContainer manifest location directly when ingesting them #4754 commit 8f68bb342dcd9e4a38f41bbeb605a6e5c81319a4 Author: qwint <[email protected]> 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 <[email protected]> Date: Sat May 31 07:57:42 2025 -0400 Stardew Valley: Fix Wizard Tower and Entrance Randomizer Softlocks (#4631) Co-authored-by: Exempt-Medic <[email protected]> commit d19bf98dc4d977372759e73bd97356f3c3cd08c4 Author: massimilianodelliubaldini <[email protected]> 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 <[email protected]> Date: Wed May 28 18:40:24 2025 -0600 Timespinner: Fix Connection Logic from Maw Cave Entrance to Maw (#4831) Co-authored-by: sgrunt <[email protected]> commit 6ebd60feaa4f70ca73ba473c1e40186e7383e901 Author: sgrunt <[email protected]> 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 <[email protected]> commit dd6007b3094e4cf3be4d13dc55b9ceb692e23123 Author: Jonathan Tan <[email protected]> Date: Wed May 28 18:27:03 2025 -0400 TWW: Remove unnecessary items from slot data (#5045) commit fde203379d9a844da8cea2bd620a0b48d9765429 Author: Ehseezed <[email protected]> Date: Wed May 28 14:04:57 2025 -0500 Timespinner: Fix Logic (#4803) Co-authored-by: Exempt-Medic <[email protected]> commit fcb3efee01b2bdad2d29e099e8de9e19c85e95ad Author: LiquidCat64 <[email protected]> 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 <[email protected]> Date: Tue May 27 16:21:43 2025 +0000 Webhost: update Flask to 3.1.1 (#5052) commit 20ca7e71c765899007756490669b041878cc4e55 Author: Jonathan Tan <[email protected]> Date: Tue May 27 01:57:20 2025 -0400 TWW: Update patch class (#5046) commit 002202ff5fa9ced9fd100fc394f22323cc5efe73 Author: ScootyPuffJr1 <[email protected]> Date: Mon May 26 03:25:39 2025 -0400 Update OOT Guides (#5041) * Update OOT Guides * Minor update per review commit 32487137e81d23139820aa2a6d3fd86d6ac104f5 Author: FlitPix <[email protected]> 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 <[email protected]> * Remove newlines --------- Co-authored-by: Scipio Wright <[email protected]> commit f327ab30a653acdd56376f53ee54577c9e0e06ed Author: LiquidCat64 <[email protected]> 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 <[email protected]> commit e7545cbc28d41e781a996a9fbe28dcf4c683174c Author: agilbert1412 <[email protected]> Date: Sat May 24 17:59:55 2025 -0400 SDV: Fixed Region for two Parrot Locations (#5042) commit eba757d2cd468182f4d0500ab87c45d379b225d2 Author: NewSoupVi <[email protected]> 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 <[email protected]> --------- Co-authored-by: Exempt-Medic <[email protected]> commit 4119763e23f948ccf9f2d2c7658456d33b953eb4 Author: Star Rauchenberger <[email protected]> Date: Sat May 24 09:35:06 2025 -0400 Lingo: Fix The Bearer's Pilgrimage Logic (#5005) commit e830a6d6f56a5c97603c86599dbd9726aeaaf51b Author: Jonathan Tan <[email protected]> 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 <[email protected]> commit 704cd97f211a44b3a792f11a906f523da8554627 Author: Bryce Wilson <[email protected]> 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 <[email protected]> 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 <[email protected]> Date: Sat May 24 01:15:41 2025 -0400 Stardew Valley: Replace current naive entrance rando with GER (#4624) commit e82d50a3c5cdc67091a42059f922520dec691f9c Author: Aaron Wagener <[email protected]> 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 <[email protected]> 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 <[email protected]> * flip if not else * Update Launcher.py * pluralize --------- Co-authored-by: Aaron Wagener <[email protected]> commit 13ca134d125d573af1394512a0ef4f78d60f0e7e Author: NewSoupVi <[email protected]> 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 <[email protected]> * Update BaseClasses.py --------- Co-authored-by: Doug Hoskisson <[email protected]> commit 8671e9a39150d1efa41e04e12f00edecf916bb28 Author: Jérémie Bolduc <[email protected]> Date: Fri May 23 15:52:47 2025 -0400 Stardew Valley: Make animal catalog logically year 2 (#5032) commit a7de89f45cadb885ee01a6216af836a34bc8b843 Author: BlastSlimey <[email protected]> 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 <[email protected]> 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 <[email protected]> Date: Thu May 22 21:28:56 2025 -0500 Core: Make `get_all_state` Sweeping Optional (#4828) commit de71677208f43730ce62191290901759363e407c Author: Fabian Dill <[email protected]> Date: Thu May 22 21:30:30 2025 +0200 Core: only raise min_client_version for new gens (#4896) commit 653ee2b625cc64461589abe3c836e87f3ca21bc3 Author: Nicholas Saylor <[email protected]> Date: Thu May 22 15:00:30 2025 -0400 Docs: Update Snippets to Modern Type Hints (#4987) commit 62694b1ce77f881e0b3915358d1ab9867502d7fc Author: qwint <[email protected]> Date: Thu May 22 10:37:23 2025 -0500 Launcher: Fix on File Drop Error Message (#5026) commit 9c0ad2b825ac3f95216a34b529291e3a1c02b8c1 Author: Rosalie <[email protected]> Date: Thu May 22 11:35:38 2025 -0400 FF1: Bizhawk Client and APWorld Support (#4448) Co-authored-by: beauxq <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> commit 88b529593f655084b64040b731ad57a93a243e5a Author: qwint <[email protected]> Date: Thu May 22 10:08:15 2025 -0500 CommonClient: Add docs for Attributes (#5003) Co-authored-by: Exempt-Medic <[email protected]> commit 0351698ef71f3aa7b8fe178a6517c69e93e49053 Author: agilbert1412 <[email protected]> Date: Thu May 22 11:07:57 2025 -0400 SDV: Fixed Import bases (#5025) commit 984df75f837044aa55168816109ea284efba52f2 Author: Jérémie Bolduc <[email protected]> Date: Thu May 22 10:24:04 2025 -0400 Stardew Valley: Move and Rework Monstersanity Tests (#4911) commit 402a8fb967d1306555da2c9b252781a10bc7b820 Author: Mysteryem <[email protected]> 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 <[email protected]> Date: Thu May 22 09:06:44 2025 -0500 The Messenger: Add a Component Icon and Description (#4850) Co-authored-by: qwint <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> commit 1d655a07cdffb6c58715ec1b97837a8be5bf8fab Author: Aaron Wagener <[email protected]> Date: Thu May 22 08:46:33 2025 -0500 Core: Add State add/remove/set Helpers (#4845) commit c5e768ffe32fcea48ecfc81adca330e4a0b11d38 Author: FlitPix <[email protected]> Date: Thu May 22 09:42:54 2025 -0400 Minecraft: Stop Using Utils.get_options (#4879) commit 8cc6f1063475433e80f62107b95bb58769e3ed6b Author: Aaron Wagener <[email protected]> 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 <[email protected]> commit aeac83d643aaa91c2ab310414c959447d2be5cda Author: Aaron Wagener <[email protected]> Date: Thu May 22 08:29:24 2025 -0500 Generate: Don't Force Player Name for Weights Files (#4943) commit 95efcf6803c7d60e0994e15dd18d1f00e9ff31a7 Author: qwint <[email protected]> Date: Thu May 22 08:27:18 2025 -0500 Tests: Create CollectionState after MultiWorld.worlds (#4949) commit 44a78cc821002a4b59feb3ffc9a195a8e28d5143 Author: josephwhite <[email protected]> Date: Thu May 22 09:26:28 2025 -0400 OoT: Stop Using Utils.get_options (#4957) commit e0918a7a89513fc13ad648b20c1cdf9a2502fd19 Author: Scipio Wright <[email protected]> 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 <[email protected]> Date: Thu May 22 08:12:28 2025 -0500 Wargroove: Cleanup `script_name` Component in `LauncherComponents` (#5021) commit e3219ba45253132b932c1bad93d9d567d85e91c6 Author: Silvris <[email protected]> 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 <[email protected]> Date: Thu May 22 03:11:34 2025 -0400 Wargroove: apworld doc fixes (#5023) commit 3b8450036abf1861cf20129978e291f0e2baf9a3 Author: black-sliver <[email protected]> Date: Wed May 21 23:22:55 2025 +0000 core: don't reconfigure stdout if it's fake (#5020) commit defdf34e609ea91a9ce7373aa3dea4771d050ec0 Author: Fly Hyping <[email protected]> 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 <[email protected]> Co-authored-by: KScl <[email protected]> Co-authored-by: Abigail Fox <[email protected]> Co-authored-by: qwint <[email protected]> Co-authored-by: Fabian Dill <[email protected]> commit 6827368e60c1a3ef95002ea1b43b2a0f643dc8d4 Author: Fabian Dill <[email protected]> Date: Thu May 22 00:45:49 2025 +0200 Core: generate templates faster and "cleaner" (#5019) commit a409167f6479caa4b896daa4a9fbdee71ae1d0ae Author: Katelyn Gigante <[email protected]> Date: Thu May 22 04:27:03 2025 +1000 core: Reconfigure stdout to utf8 (#5017) commit a076b9257d3c15da7f7a96ae6b6aa0c2684244d7 Author: Natalie Weizenbaum <[email protected]> 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 <[email protected]> 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 <[email protected]> --------- Co-authored-by: Duck <[email protected]> commit 955a86803fe42006a3fd4d2e3915183a849a5df2 Author: Alchav <[email protected]> Date: Wed May 21 11:02:30 2025 -0400 Super Mario Land 2: Implement New Game (#2730) Co-authored-by: Nicholas Saylor <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> Co-authored-by: alchav <[email protected]> commit d5bacaba639a9fc14a8148ea005112a76c700b56 Author: BlastSlimey <[email protected]> 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 <[email protected]> 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 <[email protected]> * remove useless blank line Co-authored-by: massimilianodelliubaldini <[email protected]> * whitespace code style Co-authored-by: massimilianodelliubaldini <[email protected]> * Move JsonMessageData dataclass outside of ReplClient class for code clarity --------- Co-authored-by: massimilianodelliubaldini <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * Update worlds/jakanddaxter/Options.py Co-authored-by: Nicholas Saylor <[email protected]> * Update worlds/jakanddaxter/Options.py Co-authored-by: Nicholas Saylor <[email protected]> * Update worlds/jakanddaxter/Options.py Co-authored-by: Nicholas Saylor <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Romain BERNARD <[email protected]> Co-authored-by: Scipio Wright <[email protected]> Co-authored-by: Nicholas Saylor <[email protected]> commit 7f4bf71807f7b6fc2fb70082abeff4376b1a0e34 Author: NewSoupVi <[email protected]> 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 <[email protected]> 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 <[email protected]> Date: Wed May 21 00:52:00 2025 +0200 Core: disable worlds_disabled (#5014) commit 9adbd4031f74ab5066e2993bdc317b0466cc8c25 Author: Fabian Dill <[email protected]> Date: Tue May 20 23:55:16 2025 +0200 Core: prepare worlds.Files for APWorldContainer (#4331) Co-authored-by: Doug Hoskisson <[email protected]> commit e0d31010664cc03e24900ccd7f4216c69647feac Author: Mysteryem <[email protected]> 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 <[email protected]> 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 <[email protected]> * Update worlds/checksfinder/docs/setup_en.md Co-authored-by: Scipio Wright <[email protected]> * Update worlds/checksfinder/docs/setup_en.md Co-authored-by: Scipio Wright <[email protected]> --------- Co-authored-by: Scipio Wright <[email protected]> commit 9ac628f020bfa5999ce03208d8dcaa0528e4137c Author: Seldom <[email protected]> Date: Tue May 20 11:11:44 2025 -0700 Terraria: remove 1.4.3-specific docs #5013 commit 07664c4d543431676ce24844a0abd44b9e6bf31b Author: PoryGone <[email protected]> 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 <[email protected]> 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 <[email protected]> commit 90ee9ffe367a8766bea9b685ac5bdf6e43ee1f83 Author: Jérémie Bolduc <[email protected]> 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 <[email protected]> commit 15e6383aadc27eba861ab5391e3facb2f953881b Author: el-u <[email protected]> Date: Thu May 15 19:58:10 2025 +0200 lufia2ac: rearrange tests to comply with new conventions (#5001) commit 2a0d0b4224eb818f83d0426f7c042a334608b41b Author: Scipio Wright <[email protected]> Date: Wed May 14 07:55:45 2025 -0400 Noita: Modernization Refactor (#4980) commit 02fd75c018b7172ddad306a2851af482a753cfef Author: Nicholas Saylor <[email protected]> Date: Wed May 14 07:40:38 2025 -0400 Core: Update Some Outdated Typing (#4986) commit a87fec0cbd682148b7ee1aad84bea2552070af14 Author: agilbert1412 <[email protected]> Date: Wed May 14 07:27:15 2025 -0400 SDV: Add Missing Marriage Requirement for Spouse Stardrop (#4988) commit 11842d396ab11ca5099a8f071c38e004438eeae7 Author: Natalie Weizenbaum <[email protected]> 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 <[email protected]> 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 <[email protected]> --------- Co-authored-by: Scipio Wright <[email protected]> commit b71c8005e7b38e42fa76b27869b7b1862de21886 Author: Duck <[email protected]> Date: Wed May 14 05:18:36 2025 -0600 AHiT: Fix Client Argument Handling (#4992) commit 0994afa25bc393b3d68dbaffc2a79b9f9afd8b74 Author: Ixrec <[email protected]> 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 <[email protected]> commit 7d5693e0fb6c09d185d02850a3c69d3a2508ea6f Author: Jérémie Bolduc <[email protected]> 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 <[email protected]> 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 <[email protected]> * 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 <[email protected]> --------- Co-authored-by: Exempt-Medic <[email protected]> Co-authored-by: Ixrec <[email protected]> commit 8340371f9c27d59f674369f079844736d75ade91 Author: Justus Lind <[email protected]> Date: Tue May 13 08:47:19 2025 +1000 Muse Dash: Update to Otaku Pack Vol 20 (#4924) Co-authored-by: Exempt-Medic <[email protected]> commit 824caaffd0bcc8d706f0e3d7dc6fe62be634d18e Author: Emerassi <[email protected]> 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 <[email protected]> Date: Sun May 11 02:10:51 2025 -0400 SMZ3: replace copyright credits music (#4978) commit e809b9328bbbbf7c65599cb8d3bbb726f7f1ab0f Author: Aaron Wagener <[email protected]> Date: Sat May 10 17:57:16 2025 -0500 The Messenger: do all empty state validation during portal shuffle (#4971) commit 53defd310835e064c9ca10d142d13185be717ae3 Author: qwint <[email protected]> Date: Sat May 10 17:51:44 2025 -0500 MultiSe…
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 <[email protected]> --------- Co-authored-by: Scipio Wright <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * Update worlds/checksfinder/docs/setup_en.md Co-authored-by: Scipio Wright <[email protected]> * Update worlds/checksfinder/docs/setup_en.md Co-authored-by: Scipio Wright <[email protected]> --------- Co-authored-by: Scipio Wright <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * remove useless blank line Co-authored-by: massimilianodelliubaldini <[email protected]> * whitespace code style Co-authored-by: massimilianodelliubaldini <[email protected]> * Move JsonMessageData dataclass outside of ReplClient class for code clarity --------- Co-authored-by: massimilianodelliubaldini <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * Update worlds/jakanddaxter/Options.py Co-authored-by: Nicholas Saylor <[email protected]> * Update worlds/jakanddaxter/Options.py Co-authored-by: Nicholas Saylor <[email protected]> * Update worlds/jakanddaxter/Options.py Co-authored-by: Nicholas Saylor <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Romain BERNARD <[email protected]> Co-authored-by: Scipio Wright <[email protected]> Co-authored-by: Nicholas Saylor <[email protected]> * 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 <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> Co-authored-by: alchav <[email protected]> * Raft: Small Raft doc update, bugfix (#5008) * Small doc touchups * Advanced Scarecrow progressive * Add period to doc Co-authored-by: Duck <[email protected]> --------- Co-authored-by: Duck <[email protected]> * 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 <[email protected]> Co-authored-by: KScl <[email protected]> Co-authored-by: Abigail Fox <[email protected]> Co-authored-by: qwint <[email protected]> Co-authored-by: Fabian Dill <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> * 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 <[email protected]> * FF1: Bizhawk Client and APWorld Support (#4448) Co-authored-by: beauxq <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> * 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 <[email protected]> * Update BaseClasses.py --------- Co-authored-by: Doug Hoskisson <[email protected]> * 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 <[email protected]> * flip if not else * Update Launcher.py * pluralize --------- Co-authored-by: Aaron Wagener <[email protected]> * 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 <[email protected]> * 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 <[email protected]> --------- Co-authored-by: Exempt-Medic <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * Remove newlines --------- Co-authored-by: Scipio Wright <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * Timespinner: Fix Connection Logic from Maw Cave Entrance to Maw (#4831) Co-authored-by: sgrunt <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * MMBN3: Fixes Generation Errors and General UX Smoothing (#5077) Co-authored-by: qwint <[email protected]> * 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 <[email protected]> Co-authored-by: qwint <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * Update worlds/generic/docs/plando_en.md Co-authored-by: Exempt-Medic <[email protected]> * 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 <[email protected]> * Update worlds/generic/docs/plando_en.md Co-authored-by: Exempt-Medic <[email protected]> * Update worlds/generic/docs/plando_en.md Co-authored-by: Exempt-Medic <[email protected]> * Update worlds/generic/docs/plando_en.md Co-authored-by: Exempt-Medic <[email protected]> --------- Co-authored-by: Exempt-Medic <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: NewSoupVi <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Scipio Wright <[email protected]> Co-authored-by: NewSoupVi <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> * Hollow Knight: Add Spanish Language Docs (#5156) Co-authored-by: qwint <[email protected]> * Various Games: Improve Custom Death Link Option Description (#4171) Co-authored-by: Exempt-Medic <[email protected]> Co-authored-by: Scipio Wright <[email protected]> Co-authored-by: LiquidCat64 <[email protected]> * Core: Don't Cache the `get_all_state` Result (#4795) Co-authored-by: Exempt-Medic <[email protected]> * 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 <[email protected]> * Update docs/webhost api.md Co-authored-by: Aaron Wagener <[email protected]> * Update docs/webhost api.md Co-authored-by: Aaron Wagener <[email protected]> * Update webhost api.md * Removed in-devolopment API * Apply standard capitilization and grammar flow Co-authored-by: Scipio Wright <[email protected]> * declarative language * Apply suggestions from code review Co-authored-by: qwint <[email protected]> * 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 <[email protected]> * Swapped IDs to UUID, and added language around UUID vs SUUID * Apply suggestions from code review formatting and grammar Co-authored-by: Exempt-Medic <[email protected]> * Condensed paragraphs and waterfalled headders --------- Co-authored-by: qwint <[email protected]> Co-authored-by: Aaron Wagener <[email protected]> Co-authored-by: Scipio Wright <[email protected]> Co-authored-by: Exempt-Medic <[email protected]> * 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 <[email protected]> * keep the BaseConverter format * lol, change all the instances * revert this --------- Co-authored-by: Aaron Wagener <[email protected]> * 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 <[email protected]> * Lingo: Fix Painting Gen Failures on Panels Mode Door Shuffle (#5199) Co-authored-by: Exempt-Medic <[email protected]> * 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 <[email protected]> * Update deploy/example_selflaunch.yaml Co-authored-by: black-sliver <[email protected]> * Update Dockerfile Co-authored-by: black-sliver <[email protected]> * Update deploy/example_selflaunch.yaml Co-authored-by: black-sliver <[email protected]> * 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 <[email protected]> Co-authored-by: black-sliver <[email protected]> Co-authored-by: Adrian Priestley <[email protected]> * 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…
A-Green-Spoon
pushed a commit
to A-Green-Spoon/Archipelago
that referenced
this pull request
Sep 26, 2025
Added Enums for Enemies and Combat Range strings
jeromkiller
added a commit
to jeromkiller/Archipelago
that referenced
this pull request
Nov 7, 2025
Tricks Options
palex00
pushed a commit
to palex00/Archipelago
that referenced
this pull request
Dec 13, 2025
Hotfix v0.6.3-alpha-hotfix-2
shananas
pushed a commit
to shananas/Archipelago
that referenced
this pull request
Dec 28, 2025
Accessory augments
Andrewki44
referenced
this pull request
in FFX-AP/Archipelago
Feb 16, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.