-
Notifications
You must be signed in to change notification settings - Fork 730
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added option for MC bee traps #20
Merged
Merged
Conversation
This file contains 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
thank you! |
Alchav
pushed a commit
to Alchav/Archipelago
that referenced
this pull request
Mar 15, 2023
…rlds-Collide-AP Updates to __init__.py for flag-string yaml support
Ziktofel
referenced
this pull request
in Ziktofel/Archipelago
Apr 10, 2023
Port Short Hints and Generic Upgrade Options to WoL
Alchav
pushed a commit
to Alchav/Archipelago
that referenced
this pull request
Jun 10, 2024
Fixed pegasus -> hercules checks
Exempt-Medic
added a commit
to Exempt-Medic/Archipelago
that referenced
this pull request
Jun 11, 2024
NewSoupVi
added a commit
that referenced
this pull request
Aug 9, 2024
* Update worlds/dark_souls_3/Locations.py Co-authored-by: Scipio Wright <scipiowright@gmail.com> * 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 <nweiz@google.com> * 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 <79181893+nicholassaylor@users.noreply.github.com> * 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 <scipiowright@gmail.com> * Change yhorm default (#30) * Add indirect condition (#27) * Update worlds/dark_souls_3/docs/locations_en.md Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * 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 <scipiowright@gmail.com> Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Co-authored-by: Exempt-Medic <ExemptMedic@Gmail.com> Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
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 <alchav@jalchavware.com> * - 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 <60412657+Exempt-Medic@users.noreply.github.com> --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * 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 <60412657+Exempt-Medic@users.noreply.github.com> * 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 <60412657+Exempt-Medic@users.noreply.github.com> * 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 <57900059+NewSoupVi@users.noreply.github.com> * 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 <46984098+GodlFire@users.noreply.github.com> Date: Mon Apr 1 19:08:48 2024 -0600 Merge pull request #10 from ArchipelagoMW/main Merge main into branch commit 5e5792009cd3089ae61c5fdd208de1b79d183cb4 Author: Alchav <59858495+Alchav@users.noreply.github.com> Date: Mon Apr 1 12:08:21 2024 -0500 LttP: delete playerSettings.yaml (#3062) commit 9aeeeb077a9e894cd2ace51b58d537bcf7607d5b Author: CaitSith2 <d_good@caitsith2.com> 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 <gyroscope15@gmail.com> Date: Mon Apr 1 07:07:11 2024 -0600 Pokemon Emerald: Fix wonder trade race condition (#2983) commit 4ac1866689d01dc6693866ee8b1236ad6fea114b Author: Alchav <59858495+Alchav@users.noreply.github.com> Date: Mon Apr 1 08:06:31 2024 -0500 ALTTP: Skull Woods Inverted fix (#2980) commit 4aa03da66e1a8c99fc31c163c1a23fb0bd772c15 Author: Fabian Dill <Berserker66@users.noreply.github.com> 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 <58583688+Silvris@users.noreply.github.com> Date: Mon Apr 1 08:02:26 2024 -0500 KDL3: fix shuffled animals not actually being random (#3060) commit f813a7005fadb1c56bb93fee6147b63d9df2b720 Author: Aaron Wagener <mmmcheese158@gmail.com> 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 <74896918+LiquidCat64@users.noreply.github.com> Date: Sun Mar 31 09:55:55 2024 -0600 CV64: A couple of very small docs corrections. (#3057) commit 03d47e460e434b897b313c2ba452d785ecbacebe Author: Ixrec <ericrhitchcock@gmail.com> 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 <58583688+Silvris@users.noreply.github.com> Date: Sun Mar 31 10:50:31 2024 -0500 Yoshi's Island: add patch suffix (#3061) commit 2ec93ba82a969865a8addc98feb076898978c8e3 Author: Bryce Wilson <gyroscope15@gmail.com> Date: Sun Mar 31 09:48:59 2024 -0600 Pokemon Emerald: Fix inconsistent location name (#3065) commit 4e3d3963941934c77573e6e0b699edf9e26cd647 Author: Aaron Wagener <mmmcheese158@gmail.com> 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 <Berserker66@users.noreply.github.com> 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 <mmmcheese158@gmail.com> 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 <zach@alliware.com> 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 <mmmcheese158@gmail.com> Date: Thu Mar 28 21:48:40 2024 -0500 Core: Make fill failure error more human parseable (#3023) commit 301d9de9758e360ccec5399f3f9d922f1c034e45 Author: Aaron Wagener <mmmcheese158@gmail.com> 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 <80716066+TRPG0@users.noreply.github.com> 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 <gyroscope15@gmail.com> Date: Thu Mar 28 18:05:39 2024 -0600 Pokemon Emerald: Fix opponents learning non-randomized TMs (#3025) commit 5d9d4ed9f1e44309f1b53f12413ad260f1b6c983 Author: black-sliver <59490463+black-sliver@users.noreply.github.com> Date: Fri Mar 29 01:01:31 2024 +0100 SoE: update to pyevermizer v0.48.0 (#3050) commit c97215e0e755224593fdd00894731b59aa415e19 Author: Scipio Wright <scipiowright@gmail.com> 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 <59858495+Alchav@users.noreply.github.com> Date: Thu Mar 28 16:23:01 2024 -0500 SC2: Don't Filter Excluded Victory Locations (#3018) commit de860623d17d274289e3e4ab13650f2382e2e0b8 Author: Fabian Dill <Berserker66@users.noreply.github.com> 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 <gyroscope15@gmail.com> Date: Thu Mar 28 15:20:55 2024 -0600 Pokemon Emerald: Exclude norman trainer location during norman goal (#3038) commit 74ac66b03228988d0885cff556f962a04873cc54 Author: BadMagic100 <dempsey.sean@outlook.com> 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 <60412657+Exempt-Medic@users.noreply.github.com> commit 80d7ac416493a540548aad67981202a1483b5e53 Author: Silvris <58583688+Silvris@users.noreply.github.com> 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 <ziktofel@gmail.com> Date: Thu Mar 28 15:38:34 2024 +0100 SC2: Fix HERC upgrades (#3044) commit cfc1541be9e92f1f59b21f4a81f96fc88f4d9f7e Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> 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 <60412657+Exempt-Medic@users.noreply.github.com> commit 4d954afd9b2311248083fc389ac737995985be86 Author: Scipio Wright <scipiowright@gmail.com> 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 <79181893+nicholassaylor@users.noreply.github.com> 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 <163603868+Entropynines@users.noreply.github.com> Date: Thu Mar 28 06:56:35 2024 -0700 README: Remove outdated information about launchers (#2966) Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> commit bcf223081facd030aa706dc7430a72bcf2fdadc9 Author: t3hf1gm3nt <59876300+t3hf1gm3nt@users.noreply.github.com> Date: Thu Mar 28 09:54:56 2024 -0400 TLOZ: Fix markdown issue with game info page (#2985) commit fa93488f3fceac6c2f51851766543cab3ba121e6 Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Date: Thu Mar 28 09:46:00 2024 -0400 Docs: Consistent naming for "connection plando" (#2994) commit db15dd4bde442aad99048224bdb0d7dc28c26717 Author: chandler05 <66492208+chandler05@users.noreply.github.com> Date: Thu Mar 28 08:45:19 2024 -0500 A Short Hike: Fix incorrect info in docs (#3016) commit 01cdb0d761a82349afaeb7222b4b59cb1766f4a0 Author: PoryGone <98504756+PoryGone@users.noreply.github.com> Date: Thu Mar 28 09:44:23 2024 -0400 SMW: Update World Doc for v2.0 Features (#3034) Co-authored-by: Scipio Wright <scipiowright@gmail.com> commit d0ac2b744eac438570e6a2333e76fa212be66534 Author: panicbit <panicbit@users.noreply.github.com> 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 <16137441+Jouramie@users.noreply.github.com> 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 <gyroscope15@gmail.com> Date: Thu Mar 28 02:32:27 2024 -0600 Pokemon Emerald: Fix typo (#3020) commit ca1812181106a3645e7f7af417590024b377b25e Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> 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 <57900059+NewSoupVi@users.noreply.github.com> Date: Wed Mar 27 21:09:09 2024 +0100 requirements.txt: _ instead of - to make PyCharm happy (#3043) commit f7b415dab00338443b68eba51f42614fc40b9152 Author: agilbert1412 <alexgilbert@yahoo.com> Date: Tue Mar 26 19:40:58 2024 +0300 Stardew valley: Game version documentation (#2990) Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> commit 702f006c848c05b847e85f7dbedeef68b70cdcc6 Author: LiquidCat64 <74896918+LiquidCat64@users.noreply.github.com> 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 <N00byKing@hotmail.de> Date: Tue Mar 26 14:29:25 2024 +0100 sm64ex: New Options API and WebHost fix (#2979) commit ea47b90367b4a220c346d8057f3aeb4207d226a1 Author: Scipio Wright <scipiowright@gmail.com> Date: Tue Mar 26 09:25:41 2024 -0400 TUNIC: You can grapple down here without the ladder, neat (#3019) commit bf3856866c5ea385d0ac58014c71addfdc92637e Author: agilbert1412 <alexgilbert@yahoo.com> 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 <31861583+MatthewMarinets@users.noreply.github.com> Date: Sun Mar 24 13:53:20 2024 -0700 SC2: Fixed missing upgrade from custom tracker (#3013) commit 36c83073ad8c2ae1912d390ee3976ba0e2eb3f4a Author: Salzkorn <salzkitty@gmail.com> Date: Sun Mar 24 21:52:41 2024 +0100 SC2 Tracker: Fix grouped items pointing at wrong item IDs (#2992) commit 2b24539ea5b387a3b62063c8177c373e2e3f8389 Author: Ziktofel <ziktofel@gmail.com> 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 <ziktofel@gmail.com> 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 <59858495+Alchav@users.noreply.github.com> Date: Fri Mar 22 15:36:27 2024 -0500 ALTTP: Fix #2290's crashes (#2973) commit 355223b8f0af1ee729ffa8b53eb717aa5bf283a4 Author: PinkSwitch <52474902+PinkSwitch@users.noreply.github.com> Date: Fri Mar 22 15:35:00 2024 -0500 Yoshi's Island: Implement New Game (#2141) Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com> Co-authored-by: Alchav <59858495+Alchav@users.noreply.github.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> commit aaa3472d5d8d8a7a710bd38386d9eb34046a5578 Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Fri Mar 22 21:30:51 2024 +0100 The Witness: Fix seed bleed issue (#3008) commit 96d93c1ae313bb031e983c0d40d8be199b302df1 Author: chandler05 <66492208+chandler05@users.noreply.github.com> 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 <60412657+Exempt-Medic@users.noreply.github.com> commit ca549df20a0a07c30ee2e1bbc2498492b919604d Author: Silvris <58583688+Silvris@users.noreply.github.com> Date: Fri Mar 22 15:29:24 2024 -0500 CommonClient: fix hint tab overlapping (#2957) Co-authored-by: Remy Jette <remy@remyjette.com> commit 44988d430dc7d91eaeac7aad681dc024bc19ccce Author: Star Rauchenberger <fefferburbia@gmail.com> Date: Fri Mar 22 15:28:41 2024 -0500 Lingo: Add trap weights option (#2837) commit 11b32f17abebc08a6140506a375179f8a46bcfe6 Author: Danaël V <104455676+ReverM@users.noreply.github.com> 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 <scipiowright@gmail.com> * 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 <59490463+black-sliver@users.noreply.github.com> * 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 <scipiowright@gmail.com> Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> commit 218cd45844f9d733618af9088941156cd79b80bc Author: Silvris <58583688+Silvris@users.noreply.github.com> 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 <59490463+black-sliver@users.noreply.github.com> * Update worlds/Files.py Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * 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 <59490463+black-sliver@users.noreply.github.com> commit 4196bde597cdbb6186ff614294fd54ff043a0c99 Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Date: Thu Mar 21 16:38:36 2024 -0400 Docs: Fixing special_range_names example (#3005) commit 40f843f54d5970302caeb2a21b76a4845cf5c0ed Author: Star Rauchenberger <fefferburbia@gmail.com> Date: Thu Mar 21 11:00:53 2024 -0500 Lingo: Minor game data fixes (#3003) commit da333fbb0c88feedd4821a7bade3f56028a02111 Author: GodlFire <46984098+GodlFire@users.noreply.github.com> Date: Thu Mar 21 09:52:16 2024 -0600 Shivers: Adds missing logic rule for skull dial door location (#2997) commit 43084da23c719133fcae672e20c9b046e6ef8067 Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Thu Mar 21 16:51:29 2024 +0100 The Witness: Fix newlines in Witness option tooltips (#2971) commit 14816743fca366b52422ccb19add59d4960f17a3 Author: Scipio Wright <scipiowright@gmail.com> Date: Thu Mar 21 11:50:07 2024 -0400 TUNIC: Shuffle Ladders option (#2919) commit 30a0aa2c85a7015e2072b5781ed1078965f62f4b Author: Star Rauchenberger <fefferburbia@gmail.com> Date: Thu Mar 21 10:46:53 2024 -0500 Lingo: Add item/location groups (#2789) commit f4b7c28a33bb163768871616023a8cf3879840b4 Author: Silvris <58583688+Silvris@users.noreply.github.com> 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 <59490463+black-sliver@users.noreply.github.com> * Update worlds/Files.py Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * 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 <59490463+black-sliver@users.noreply.github.com> commit 12864f7b24028fa56135e599f0fe1642c9d2d377 Author: chandler05 <66492208+chandler05@users.noreply.github.com> Date: Wed Mar 20 22:44:09 2024 +0100 A Short Hike: Implement New Game (#2577) commit db02e9d2aabc0f4c1302ac761b3f5547ef00c7c5 Author: LiquidCat64 <74896918+LiquidCat64@users.noreply.github.com> Date: Wed Mar 20 15:03:25 2024 -0600 Castlevania 64: Implement New Game (#2472) commit 32315776ac0ac1a714eb9d58688c479e2038c658 Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> 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 <89949176+Magnemania@users.noreply.github.com> Date: Wed Mar 20 16:56:00 2024 -0400 SM64: Goal Logic and Hint Bugfixes (#2886) commit 183ca35bbaf6c805fdb53396d21d0cba34f9cc5e Author: qwint <qwint.42@gmail.com> Date: Wed Mar 20 08:39:37 2024 -0500 CommonClient: Port Casting Bug (#2975) commit fcaaa197a19a3be03965c504ca78dd2c21ce1f84 Author: TheLX5 <luisyuregi@gmail.com> 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 <luisyuregi@gmail.com> Date: Wed Mar 20 05:56:04 2024 -0700 SMW: Blocksanity logic fixes (#2988) commit 6f64bb98693556ac2635791381cc9651c365b324 Author: Scipio Wright <scipiowright@gmail.com> 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 <gyroscope15@gmail.com> Date: Wed Mar 20 06:43:13 2024 -0600 Pokemon Emerald: Bump required client version (#2963) commit 94650a02de62956eee8e7e41f61e8a41506b5842 Author: Silvris <58583688+Silvris@users.noreply.github.com> 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 <beauxq@users.noreply.github.com> * pep8 --------- Co-authored-by: beauxq <beauxq@yahoo.com> Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * 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 <korydondzila@gmail.com> Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * 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 <57900059+NewSoupVi@users.noreply.github.com> * Docs: Add FFMQ French Setup Guide + Minor fixes to English Guide (#3590) * Add docs * Fix character * Configuration Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * ajuster Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * inclure Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * doublon Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * remplissage Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * autre Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * pouvoir Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * mappemonde Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * apostrophes Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * virgule Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * fournir Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * apostrophes 2 Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * snes9x Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * apostrophes 3 Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * options Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * lien Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * de laquelle Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * Étape de génération Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * apostrophes 4 Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * également Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * guillemets Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * guillemets 2 Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * adresse Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * Connect Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * seed Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * Changer fichier yaml pour de configuration * Fix capitalization Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * Fix capitalization 2 Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * Fix typo+Add link to fr/en info page --------- Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * 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 <scipiowright@gmail.com> --------- Co-authored-by: Kono Tyran <Kono@koifysh.dev> Co-authored-by: Scipio Wright <scipiowright@gmail.com> * 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 <suncat.game@ya.ru> * 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 <79181893+nicholassaylor@users.noreply.github.com> * Update worlds/osrs/docs/en_Old School Runescape.md Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * 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 <79181893+nicholassaylor@users.noreply.github.com> * 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 <60412657+Exempt-Medic@users.noreply.github.com> * Update setup_en.md * Forgot to include these * Consistent styling * :) * version 3.3.0 --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * 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 <60412657+Exempt-Medic@users.noreply.github.com> * Two more minors logic modification * Adapting tests to af9b6cd * Reformat the Region file --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * 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 <scipiowright@gmail.com> * 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 <nweiz@google.com> * 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 <79181893+nicholassaylor@users.noreply.github.com> * 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 <scipiowright@gmail.com> * Change yhorm default (#30) * Add indirect condition (#27) * Update worlds/dark_souls_3/docs/locations_en.md Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * 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 <scipiowright@gmail.com> Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Co-authored-by: Exempt-Medic <ExemptMedic@Gmail.com> Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> * 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 <57900059+NewSoupVi@users.noreply.github.com> * 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 <mmmcheese158@gmail.com> --------- Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> * 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 <57900059+NewSoupVi@users.noreply.github.com> * 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 <57900059+NewSoupVi@users.noreply.github.com> * 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 <57900059+NewSoupVi@users.noreply.github.com> * Docs: Update 'tag' documentation (#3632) * Add tag docs for HintGame * Apply suggestions from code review Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Make Tracker/TextOnly consistent with previous commit * Apply suggestion Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * fix spacing * Apply suggestion Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * apply suggestion correcting footnotes Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> --------- Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * [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 always usable (#3660) * Pokemon Emerald: Ensure dig tutor is alw…
qwint
added a commit
to qwint/Archipelago
that referenced
this pull request
Sep 3, 2024
* fix options on regen xd * typing *shakes fist*
NewSoupVi
pushed a commit
that referenced
this pull request
Dec 5, 2024
* Fully updates requirements.py to live LADXR (#19) * Updates dungeon2.py to LADXR-Live (#20) No logic changes or bugfix are in this file. It is only code cleanup. * Update dungeon1.py (#21) - The Three of a Kind with Bomb is moved from Normal to Hard Logic The rest is code cleanup. lines 22-25 | 22-26 & 33 | 34 remain different in AP | Upstream with no effective difference * Fully updates dungeon3.py to LADXR-live (#22) Logic Changes: - Hard mode now considers killing the enemies in the top room with pot Everything else is cleanup. * Fully update dungeon4.py to LADXR-live logic (#23) Logic Changes: - Hard Logic: Removes Feather requirement from grabbing the Pit Key - Hell logic: new hookshot clip (line 64) - Hell logic: hookshot spam over the first pit of crossroads, then buffer down (line 69) - Hell logic: push block left of keyblock up, then shaq jump off the left wall and pause buffer to land on keyblock. - Hell logic: split zol for more entities, and clip through the block left of keyblock by hookshot spam The rest is code cleanup * Updates dungeon5.py mostly to LADXR-Live Logic (#24) Logic Changes: - Hell logic: use zoomerang dashing left to get an unclipped boots superjump off the right wall over the block. reverse is push block (line 69) The rest is cleanup. The upstream splits the post_gohma region into pre_gohma, gohma and post_gohma. I did not implement this yet as I do not know the implications. To port this the following lines need to be changed (AP | LADXR): 18 | 18-20; 55 | 58; 65 | 68-69 * Fully update dungeon6.py logic (#25) Logic Changes: - Hard logic: allow damage boosting past the mini thwomps - Glitched logic: bomb triggering elephants in two cases Everything else is cleanup * Fully update dungeon7.py to LADXR-live logic (#26) Logic Changes: - Hard logic: Three of a Kind is now possible with bombs only Everything else is code cleanup * Fully updates dungeon8.py to LADXR-live (#27) Logic change: - Hard logic: allows to drop the Gibdos into holes as a way to kill them - Glitched logic: underground section with fire balls jumping up out of lava. Use boots superjump off left wall to jump over the pot blocking the way The rest is code cleanup * Fully update dungeonColor.py to LADXR-live (#28) Logic changes: - Normal logic: Karakoros now need power bracelet to put them into their holes - Hard logic: Karakoros without power bracelet but with weapon - Hell logic: Karakoros with only bombs Everything else is code cleanup * Updating overworld.py (#29) * Updating overworld.py This tries to update all logic of the Overworld. Logic changes include: - Normal logic: requires hookshot or shield to traverse Armos Cave - Hard logic: Traverse Armos Cave with nothing (formerly normal logic) - Hard logic: get the animal village bomb cave check with jump and boomerang - Hard logic: use rooster to go to D7 - Lots of Jesus Rooster Jumps I stopped counting and need to go over this again. Also, please investigate line 474 AP because it's removed in LADXR-Upstream and I don't know why. * remove featherless fisher under bridge from hard it was moved to hell upstream and its already present in our code --------- Co-authored-by: Alex Nordstrom <a.l.nordstrom@gmail.com> * fixes * add test messages * Adds Pegasus Boots to the test (#31) * Fix d6 boss_key logic (#30) * restore hardmode logic * higher logic fixes * add bush requirement to the raft in case the player needs to farm rupees to play again --------- Co-authored-by: palex00 <32203971+palex00@users.noreply.github.com>
Ars-Ignis
added a commit
to Ars-Ignis/Archipelago
that referenced
this pull request
Dec 27, 2024
commit 3bcc86f5391ea00d220bf6bf094a4a08801b162b Author: Kory Dondzila <korydondzila@gmail.com> Date: Fri Dec 27 15:07:55 2024 -0500 Shivers: Add events and fix require puzzle hints logic (#4018) * Adds some events, renames things, fails for many players. * Adds entrance rules for requires hints. * Cleanup and add goal item. * Cleanup. * Add additional rule. * Event and regions additions. * Updates from merge. * Adds collect behavior option. * Fix missing generator location. * Fix whitespace and optimize imports. * Switch location order back. * Add name replacement for storage. * Fix test failure. * Improve puzzle hints required. * Add missing locations and cleanup indirect conditions. * Fix naming. * PR feedback. * Missed comment. * Cleanup imports, use strings for option equivalence, and update option description. * Fix rule. * Create rolling buffer goal items and remove goal items and location from default options. * Cleanup. * Removes dateutil. * Fixes Subterranean World information plaque. commit 218f28912e0e120e4cf91a63aba627e91cc451c5 Author: BadMagic100 <dempsey.sean@outlook.com> Date: Fri Dec 27 12:04:02 2024 -0800 Core: Generic Entrance Rando (#2883) * Initial implementation of Generic ER * Move ERType to Entrance.Type, fix typing imports * updates based on testing (read: flailing) * Updates from feedback * Various bug fixes in ERCollectionState * Use deque instead of queue.Queue * Allow partial entrances in collection state earlier, doc improvements * Prevent early loops in region graph, improve reusability of ER stage code * Typos, grammar, PEP8, and style "fixes" * use RuntimeError instead of bare Exceptions * return tuples from connect since it's slightly faster for our purposes * move the shuffle to the beginning of find_pairing * do er_state placements within pairing lookups to remove code duplication * requested adjustments * Add some temporary performance logging * Use CollectionState to track available exits and placed regions * Add a method to automatically disconnect entrances in a coupled-compliant way Update docs and cleanup todos * Make find_placeable_exits deterministic by sorting blocked_connections set * Move EntranceType out of Entrance * Handle minimal accessibility, autodetect regions, and improvements to disconnect * Add on_connect callback to react to succeeded entrance placements * Relax island-prevention constraints after a successful run on minimal accessibility; better error message on failure * First set of unit tests for generic ER * Change on_connect to send lists, add unit tests for EntranceLookup * Fix duplicated location names in tests * Update tests after merge * Address review feedback, start docs with diagrams * Fix rendering of hidden nodes in ER doc * Move most docstring content into a docs article * Clarify when randomize_entrances can be called safely * Address review feedback * Apply suggestions from code review Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com> * Docs on ERPlacementState, add coupled/uncoupled handling to deadend detection * Documentation clarifications * Update groups to allow any hashable * Restrict groups from hashable to int * Implement speculative sweeping in stage 1, address misc review comments * Clean unused imports in BaseClasses.py * Restrictive region/speculative sweep test * sweep_for_events->advancement * Remove redundant __str__ Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * Allow partial entrances in auto indirect condition sweep * Treat regions needed for logic as non-dead-end regardless of if they have exits, flip order of stage 3 and 4 to ensure there are enough exits for the dead ends * Typing fixes suggested by mypy * Remove erroneous newline Not sure why the merge conflict editor is different and worse than the normal editor. Crazy * Use modern typing for ER * Enforce the use of explicit indirect conditions * Improve doc on required indirect conditions --------- Co-authored-by: qwint <qwint.42@gmail.com> Co-authored-by: alwaysintreble <mmmcheese158@gmail.com> Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> commit b9642a482f67f2358f13d2306a90673fc4f8fd9a Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Date: Thu Dec 26 17:04:21 2024 -0500 KH2: Using fast_fill instead of fill_restrictive (#4227) commit 33ae68c756f71eac6203b302db0144dee04ab09f Author: Mysteryem <Mysteryem@users.noreply.github.com> Date: Thu Dec 26 13:50:18 2024 +0000 DS3: Convert post_fill to stage_post_fill for better performance (#4122) Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> commit 62942704bdea4ba0f79cb88580d5214b31b750b5 Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Wed Dec 25 21:55:15 2024 +0100 The Witness: Add info about which door items exist in the pool to slot data (#3583) * This feature is just broken lol * simplify * mypy * Expand the unit test for forbidden doors commit fe810535211ca9ab57ed3b7649a272035d59e3a7 Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Wed Dec 25 21:53:05 2024 +0100 Core: Give the option to worlds to have a remaining fill that respects excluded locations (#3738) * Give the option to worlds to have a remaining fill that respects excluded * comment commit 222c8aa0ae0ebbedb9884812087c38e15e381ed1 Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Wed Dec 25 21:47:51 2024 +0100 Core: Reword item classification definitions to allow for progression + useful (#3925) * Core: Reword item classification definitions to allow for progression + useful * Update network protocol.md * Update world api.md * Update Fill.py * Docstrings * Update BaseClasses.py * Update advanced_settings_en.md * Update advanced_settings_en.md * Update advanced_settings_en.md * space commit 845000d10faa8cdf1c6ac293dcdfecc4c69a213d Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Wed Dec 25 21:47:17 2024 +0100 Docs: Make an actual LogicMixin spec & explanation (#3975) * Docs: Make an actual LogicMixin spec & explanation * Update world api.md * Update world api.md * Update world api.md * Update world api.md * Update world api.md * Update world api.md * Update world api.md * Update world api.md * Update world api.md * Update world api.md * Update docs/world api.md Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update docs/world api.md * Update world api.md * Code corrections / actually follow own spec * Update docs/world api.md Co-authored-by: Scipio Wright <scipiowright@gmail.com> * Update world api.md * Update world api.md * Reorganize / Rewrite the parts about optimisations a bit * Update world api.md * Write a big motivation paragraph * Update world api.md * Update world api.md * line break issues * Update docs/world api.md Co-authored-by: Scipio Wright <scipiowright@gmail.com> * Update docs/world api.md Co-authored-by: Scipio Wright <scipiowright@gmail.com> * Update docs/world api.md Co-authored-by: Scipio Wright <scipiowright@gmail.com> * Update world api.md * Update docs/world api.md Co-authored-by: Scipio Wright <scipiowright@gmail.com> --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Co-authored-by: Scipio Wright <scipiowright@gmail.com> commit b05f81b4b4f8f63368c7ebcf0aa5d3223357e1ce Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Wed Dec 25 10:58:27 2024 +0100 The Witness: Fix bridge/elevator items being progression when they shouldn't be #4392 commit 6c1dc5f645ad215347eaecc2a5f5de0d2fd13365 Author: Mysteryem <Mysteryem@users.noreply.github.com> Date: Wed Dec 25 01:44:47 2024 +0000 Landstalker: Fix paths Lantern logic affecting other Landstalker worlds (#4394) The data from `WORLD_PATHS_JSON` is supposed to be constant logic data shared by all Landstalker worlds, but `add_path_requirements()` was modifying this data such that after adding a `Lantern` requirement for a dark region, subsequent Landstalker worlds to have their logic set could also be affected by this `Lantern` requirement and previous Landstalker worlds without damage boosting logic could also be affected by this `Lantern` requirement because they could all be using the same list instances. This issue would only occur for paths that have `"requiredItems"` because all paths without required items would create a new empty list, avoiding the problem. The items in `data["itemsPlacedWhenCrossing"]` were also getting added once for each Landstalker player, but there are no paths that have both `"itemsPlacedWhenCrossing"` and `"requiredItems"`, so all such cases would start from a new empty list of required items and avoid modifying `WORLD_PATHS_JSON`. commit 5578ccd578be4aff3b4542970f8bd7cacac5c526 Author: Dinopony <dinopony.gg@gmail.com> Date: Tue Dec 24 20:08:03 2024 +0100 Landstalker: Fix issues on generation (#4345) commit 78637c96a747dd15584fb85a281d447b8307ebe0 Author: Mysteryem <Mysteryem@users.noreply.github.com> Date: Tue Dec 24 17:38:46 2024 +0000 Tests: Add spheres test for missing indirect conditions (#3924) Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> commit f3ec82962e18ec3a57e1f1984ba5270b0b0d145a Author: Richard Snider <lighthousemaniac@gmail.com> Date: Sun Dec 22 18:05:43 2024 +0000 Core: Add JSONMessagePart for Hint Status (Hint Priority) (#4387) * add hint_status JSONMessagePart handling * add docs for hint_status JSONMessagePart * fix link ordering * Rename hint_status type in docs Co-authored-by: Emily <35015090+EmilyV99@users.noreply.github.com> * Remove redundant explanation of hint_status field Co-authored-by: Emily <35015090+EmilyV99@users.noreply.github.com> * Fix formatting on hint status docs again Co-authored-by: Emily <35015090+EmilyV99@users.noreply.github.com> --------- Co-authored-by: Emily <35015090+EmilyV99@users.noreply.github.com> commit 4f590cdf7b5aa2be95e4ed9cf7c7be95443456e8 Author: DrBibop <58860289+DrBibop@users.noreply.github.com> Date: Sat Dec 21 17:12:35 2024 -0500 Inscryption: Implement new game (#3621) * Worked locally before that so this is a lot of work . So, initial push * Changes in init with better create_regions (Thanks to Phar on discord). Add a rule for victory. Change the regions list to remove menu in the destination. * Added tests for location rules and changed rule locations to lists instead of sets * Fixed game var in InscryptionLocation * Fixed location access by using the same system from The Messenger * Remove unuse rules in init and add region rules. Add all the act 2 locations and items. * Add locations rule for the left of the bridge in act 2 * Added test for bridge requirement and added a dash to locationfor clarity * Added more act 2 rules and removed completion rule * Created docs for website, added Salmon Card item, marked multiple items as "progression", renamed tomb checks, added more location rules, re-added completion rule * Renamed tower bath check to "Tentacle", added monocle as requirement for some checks, adjusted setup doc a bit * Added tentacle to monocle test * Added forest burrow chest rule * Switch the two clock location because the id was swapped and screwed with the logic * Added Ancient Obol rule and adjusted docs * Added act 3 locations/items/rules/tests * Added drone & battery to trader rules * Fixed tutorial docs, added more act 3 rules, renamed holo pelt locations * Add an option for the optional death card feature * Added well check and quill item, added rules and tests * Renamed Gems module and Gems drone * Added slot data options * Added rule for act 3 middle pelt * Added option for randomize ability and uptade the randomize deck option to fit the new setup * Added randomize ability in slot data * Added more requirements for mycologists boss since it's pretty much an impossible fight early on * Finished the french translation of the installation guide * Changed the french title in the guide * Added goal option and tests associated to it + fixed goal requirement missing quill * Added goal option to docs and removed references to the now discarded API mod. Fixed some french translations. * Added ourobot item + renamed some goal settings * Fixed locations and items for act 1 goal * Added skip tutorial option. Cleanup and rename of some options. Added tower requirement for Mycologist Key check. Fixed missing comma in act 2 locations oopsies. * Added missing rules for Extra Battery, Nano Armor and Goobert's painting * Added act 1 deathlink behaviour and epitaph pieces randomization options + made pieces progressive + adjusted docs * Fixed some docs typos * Added act 3 clock rule. Paintings 2, 3 and Goobert's painting can no longer contain progression items. * New options system and fixed act 1 goal option breaking * Added skip epilogue and painting checks balancing options. Renamed randomize abilities to randomize sigils. Fixed generation issue with epitaph pieces randomization. Goobert's painting no longer forces filler. Removed traps option for now. Reworded some option descriptions. * Attempting type fix for python 3.8 * Attempting type fix for python 3.8 again * Added starting only option for randomize deck * Fixed arbitrary rule error * Import fix attempt * Migrated to DeathLinkMixin instead of creating a custom DeathLink option, cleaned up imports, renamed Death Link related options to include "death_link" instead of "deathlink", replaced numeral values for option checking into class attributes for readability, slight optimization to tower rule, fixed typo in codes option description. * Added bug report page to web class, condensed pelt rules to one function, added items/locations count in game docs and adjusted some sections * Added Inscryption to CODEOWNERS * Implemented a bunch of suggestions: Better handling of painting option, options as dict for slot data, remove redundant auto_display_name, use of has_all, better goal tests, demote skink card to filler if goal is act 1 and force filler on paintings * Makes clover plant and squirrel head progression items if paintings are balanced + fixed other issues * filler items, start inventory from pool, '->" * Fix bleeding issue * Copy the list instead * Fixed bleeding using proper deep copy * Remove unnecessary for loops in tests * Add defaults to choice options --------- Co-authored-by: Benjamin Gregoire <benjamingregoire@outlook.com> Co-authored-by: Exempt-Medic <ExemptMedic@Gmail.com> Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> commit 46613adceb4c34676f1bbda29b0fe2960667c19a Author: Kaito Sinclaire <ks@rosenthalcastle.org> Date: Sat Dec 21 11:39:38 2024 -0800 SMZ3: Fix minimal logic considering SM boss tokens unnecessary (#4377) commit e1a1cd10678ce4170a6ae5b609db815c516af193 Author: threeandthreee <a.l.nordstrom@gmail.com> Date: Fri Dec 20 07:55:32 2024 -0500 LADX: Open Mabe Option (#3964) * open mabe option swaps east mabe rocks for bushes * add open mabe to slot data * use upstream overworld option Instead of a standalone option, use upstream's "overworld" option, which we don't use yet but it leaves better space for the future * use ladxr_setting for consistency * newline commit 7c8d102c1760b519dfdc2fd5143849cc4db162e6 Author: Scipio Wright <scipiowright@gmail.com> Date: Thu Dec 19 23:45:29 2024 -0500 TUNIC: Logic for bushes in guard house 2 upper and belltower (#4371) * Logic for bushes in guard house 2 upper * Fix typo * also do it for forest belltower * i love the dumb ice grapples commit 35d30442f70ddaebadb3617a97e2841dc27bda2d Author: threeandthreee <a.l.nordstrom@gmail.com> Date: Thu Dec 19 22:53:58 2024 -0500 LADX: fix for syntax warning (#4376) * init * whitespace * raw string instead commit 4f71073d174c58c7418b83e2f46960fd1ccc9fd3 Author: threeandthreee <a.l.nordstrom@gmail.com> Date: Thu Dec 19 22:17:41 2024 -0500 LADX: correct in-game check counter LADX: correct in-game check counter commit e142283e649d7cba0431d297ee1b1ccfffce5483 Author: threeandthreee <a.l.nordstrom@gmail.com> Date: Thu Dec 19 21:19:00 2024 -0500 LADX: enable upstream options (#3962) * enable some upstream settings * flashing just disabled, no setting * just enable fast text * noflash and textmode as hidden options * typo * drop whitespace changes * add hard mode to slot data * textmode adjustments fast text default (fixing mistake) remove no text option (its buggy) * unhide options * Update worlds/ladx/Options.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * adjustments commit de3707af4a4090449a30d228e5b21c3169f30016 Author: palex00 <32203971+palex00@users.noreply.github.com> Date: Fri Dec 20 02:47:33 2024 +0100 Core/Docs: Adding apostrophe quotes around variables in printed error messages (#3914) * Also indents plando_connections properly * Adding apostrophe quotes around item, location, entrance/exit and boss names to make errors more readable * Update plando_en.md * Fixing test in Lufia II commit 2e0769c90ec27f155c1de3f6141c641c1f9c341b Author: Scipio Wright <scipiowright@gmail.com> Date: Thu Dec 19 20:30:41 2024 -0500 Noita: Make greed die a trap (#4382) Noita make greed die a trap commit 1ded7b2fd4486d116a8f86c19fb1eb3be210a021 Author: Louis M <prog@tioui.com> Date: Thu Dec 19 20:17:56 2024 -0500 Aquaria: Replacing the release link to the latest link (#4381) * Replacing the release link to the latest link * The fr link was not working commit cacab68b779a28f8401c5a3a34d26d609054bd75 Author: Bryce Wilson <gyroscope15@gmail.com> Date: Mon Dec 16 00:06:48 2024 -0800 Pokemon Emerald: Remove unnecessary code (#4364) commit 728d2492020ee3f75d421a7263308c6feb64e56a Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Sun Dec 15 23:30:35 2024 +0100 Core: Add some more world convenience methods (#3021) * Add some more convenience methods * Typing stuff * Rename the method * beauxq's suggestions * Back to Push Precollected commit d1823a21ea891c8d949cc0a5371059b265ff0cb4 Author: qwint <qwint.42@gmail.com> Date: Sun Dec 15 16:48:44 2024 -0500 HK: add random handling to plandocharmcosts (#4327) commit 6282efb13c9842a2c01eb6551d23b5d448f2d91c Author: Scipio Wright <scipiowright@gmail.com> Date: Sun Dec 15 16:40:36 2024 -0500 TUNIC: Additional Combat Logic Option (#3658) commit 0fdc14bc42a8af64a17454c42d25f5c037e95309 Author: Benjamin S Wolf <jokeserver@gmail.com> Date: Sun Dec 15 13:29:56 2024 -0800 Core: Deduplicate exception output (#4036) When running Generate.py, uncaught exceptions are logged once to a file and twice to the console due to keeping the original excepthook. We can avoid this by filtering the file log out of the stream handler. commit 0370e669e57e767f8af23cc08b05468da8a72895 Author: Mysteryem <Mysteryem@users.noreply.github.com> Date: Sun Dec 15 21:28:51 2024 +0000 Pokemon Emerald: Add Mr Briney's House indirect conditions (#4154) The `REGION_DEWFORD_TOWN/MAIN -> REGION_ROUTE109/BEACH` and `REGION_ROUTE109/BEACH -> REGION_DEWFORD_TOWN/MAIN` entrances require access to the `REGION_ROUTE104_MR_BRINEYS_HOUSE/MAIN -> REGION_DEWFORD_TOWN/MAIN` entrance in their access rules, so require indirect conditions for the parent_region of the entrance: `REGION_ROUTE104_MR_BRINEYS_HOUSE/MAIN`. commit ccea6bcf51143d9b87543e9f03e17088ccf44667 Author: threeandthreee <a.l.nordstrom@gmail.com> Date: Fri Dec 13 16:49:30 2024 -0500 LADX: Improve icon guesses for foreign items (#2201) * synonyms to new file, many added * handle singular rupee * remove redundant map and compass entries * automatic pluralization * add guardian acorn and piece of power * move phrases to ItemIconGuessing.py * organize, comment * fix tab spacing * fix * add tunic and noita synonyms * remove triangle instrument synonym * reorganize, add some matches * add tunic lucky up Co-authored-by: Scipio Wright <scipiowright@gmail.com> * Update worlds/ladx/ItemIconGuessing.py Co-authored-by: Scipio Wright <scipiowright@gmail.com> * handle camelCase and single rupee * add indicate_progression option Adds alternative system for foreign item icons that simply indicates whether or not the item is a progression item. * improve splitting drops some more characters, and also dont bother with rejoined stuff in name_cache because our splitting is better * the witness stuff * forbid more * remove boost and surge * Update worlds/ladx/ItemIconGuessing.py Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> * match by game name look at the name of the foreign game and only use game-specific entries for that game * show message for all key drops * updates from async test * vi suggestions * Adding FNAFW suggestions from @lolz1190 (#40) * Adding FNAFW suggestions from @lolz1190 * missing comma --------- Co-authored-by: threeandthreee <a.l.nordstrom@gmail.com> --------- Co-authored-by: Scipio Wright <scipiowright@gmail.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Co-authored-by: palex00 <32203971+palex00@users.noreply.github.com> commit 8d9454ea3bca864cc0e3f20f39563966feeffb86 Author: qwint <qwint.42@gmail.com> Date: Thu Dec 12 15:36:56 2024 -0500 Core: cast all the settings values so they don't try to get pickled later #4362 commit 1ca8d3e4a8b4a4a3850a0829c7c934bc4f8475c6 Author: qwint <qwint.42@gmail.com> Date: Thu Dec 12 15:24:38 2024 -0500 Docs: add description of Indirect Condition problem (#4295) * Docs: Dev FAQ - About indirect conditions I wrote up a big effortpost about indirect conditions for nex on the [DS3 3.0 PR](https://github.com/ArchipelagoMW/Archipelago/pull/3128#discussion_r1693843193). The version I'm [PRing to the world API document](https://github.com/ArchipelagoMW/Archipelago/pull/3552) is very brief and unnuanced, because I'd rather people use too many indirect conditions than too few. But that might leave some devs wanting to know more. I think that comment on nex's DS3 PR is probably the best detailed explanation for indirect conditions that exists currently. So I think it's good if it exists somewhere. And the FAQ doc seems like the best place right now, because I don't want to write an entirely new doc at the moment. * Actually copy in the text * Update docs/apworld_dev_faq.md Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update docs/apworld_dev_faq.md Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update docs/apworld_dev_faq.md Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update docs/apworld_dev_faq.md Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update docs/apworld_dev_faq.md Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update docs/apworld_dev_faq.md Co-authored-by: Scipio Wright <scipiowright@gmail.com> * Update docs/apworld_dev_faq.md Co-authored-by: Scipio Wright <scipiowright@gmail.com> * Update docs/apworld_dev_faq.md Co-authored-by: qwint <qwint.42@gmail.com> * Update docs/apworld_dev_faq.md Co-authored-by: qwint <qwint.42@gmail.com> * Update apworld_dev_faq.md * Update docs/apworld_dev_faq.md Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update apworld_dev_faq.md * Update docs/apworld_dev_faq.md Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update docs/apworld_dev_faq.md Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update docs/apworld_dev_faq.md Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update apworld_dev_faq.md * Update docs/apworld_dev_faq.md Co-authored-by: qwint <qwint.42@gmail.com> * Update docs/apworld_dev_faq.md Co-authored-by: qwint <qwint.42@gmail.com> * fix the last couple of wording issues I have with the indirect condition section to apworld dev faq doc * I didn't like that wording * Apply suggestions from code review Co-authored-by: Scipio Wright <scipiowright@gmail.com> * Apply suggestions from code review Co-authored-by: Scipio Wright <scipiowright@gmail.com> * Update docs/apworld_dev_faq.md Co-authored-by: Scipio Wright <scipiowright@gmail.com> * Update docs/apworld_dev_faq.md * Update docs/apworld_dev_faq.md Co-authored-by: Scipio Wright <scipiowright@gmail.com> --------- Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Co-authored-by: Scipio Wright <scipiowright@gmail.com> commit 9815306875f8c6a4d683679a090babc0b4f96e0d Author: qwint <qwint.42@gmail.com> Date: Thu Dec 12 14:30:49 2024 -0500 Docs: Use ModuleUpdate.py #3785 commit d7736950cd48d3df9ee35ff1167dc6586172903e Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Thu Dec 12 19:42:14 2024 +0100 The Witness: Panel Hunt Plando (#3549) * Add panel hunt plando option * Keys are strs * oops * better message * , * this doesn ot need to be here * don't replace pre picked panels * Update options.py * rebase error * rebase error * oops * Mypy * ruff * another rebase error * actually this is a stupid change too * bring over that change:tm: * Update entity_hunt.py * Update entity_hunt.py * Update entity_hunt.py commit f5e3677ef1ec741f830e6ce3d231a25dca7c2689 Author: Mysteryem <Mysteryem@users.noreply.github.com> Date: Thu Dec 12 18:04:27 2024 +0000 Pokemon Emerald: Fix invalid escape sequence warnings (#4328) Generation on Python 3.12 would print SyntaxWarnings due to invalid '\d' escape sequences added in #3832. Use raw strings to avoid `\` being used to escape characters. commit 144d612c527ac02eb290c8e7960c61c6b2fe1d79 Author: josephwhite <damasta21th@aol.com> Date: Thu Dec 12 08:50:48 2024 -0500 Super Mario 64: Rework logic for 100 Coins (#4131) * sm64ex: Rework logic for 100 Coins * sm64ex: 100 Coins Vanilla Option * sm64ex: Avoiding raw int comparisons for 100 coin option * sm64ex: Change 100 coin option from toggle to choice * sm64ex: use snake_case for 100 coin option * just use "vanilla" for option comparison (exempt-medic feedback) Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * sm64ex: remove vanilla 100 coins from item pool to remove overfilling stars * yeah Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Remove range condition (35 is the min for total stars) Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> commit 3acbe9ece14ba792ea0c50bf3623e0e377cb18f3 Author: LiquidCat64 <74896918+LiquidCat64@users.noreply.github.com> Date: Thu Dec 12 06:47:47 2024 -0700 Castlevania: Circle of the Moon - Implement New Game (#3299) * Add the cotm package with working seed playthrough generation. * Add the proper event flag IDs for the Item codes. * Oooops. Put the world completion condition in! * Adjust the game name and abbreviations. * Implement more settings. * Account for too many start_inventory_from_pool cards with Halve DSS Cards Placed. * Working (albeit very sloooooooooooow) ROM patching. * Screw you, bsdiff! AP Procedure Patch for life! * Nuke stage_assert_generate as the ROM is no longer needed for that. * Working item writing and position adjusting. * Fix the magic item graphics in Locations wherein they can be fixed. * Enable sub-weapon shuffle * Get the seed display working. * Get the enemy item drop randomization working. Phew! * Enemy drop rando and seed display fixes. * Functional Countdown + Early Double setting * Working multiworld (yay!) * Fix item links and demo shenanigans. * Add Wii U VC hash and a docs section explaining the rereleases. * Change all client read/writes to EWRAM instead of Combined WRAM. * Custom text insertion foundations. * Working text converter and word wrap detector. * More refinements to the text wrap system. * Well and truly working sent/received messages. * Add DeathLink and Battle Arena goal options. * Add tracker stuff, unittests, all locations countdown, presets. * Add to README, CODEOWNERS, and inno_setup * Add to README, CODEOWNERS, and inno_setup * Address some suggestions/problems. * Switch the Items and Locations to using dataclasses. * Add note about the alternate classes to the Game Page. * Oooops, typo! * Touch up the Options descriptions. * Fix Battle Arena flag being detected incorrectly on connection and name the locked location/item pairs better. * Implement option groups * Swap the Lizard-man Locations into their correct Regions. * Local start inventory, better DeathLink message handling, handle receiving over 255 of an item. * Update the PopTracker pack links to no longer point to the Releases page. * Add Skip Dialogues option. * Update the presets for the accessibility rework. * Swap the choices in the accessibility preset options. * Uhhhhhhh...just see the apworld v4 changelog for this one. * Ooops, typo! * . * Bunch of small stuff * Correctly change "Fake" to "Breakable" in this comment. Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Make can_touch_water one line. Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Make broke_iron_maidens one line. Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Fix majors countdown and make can_open_ceremonial_door one line. * Make the Trap AP Item less obvious. * Add Progression + Useful stuff, patcher handling for incompatible versions, and fix some mypy stuff. * Better option groups. * Change Early Double to Early Escape Item. * Update DeathLink description and ditch the Menu region. * Fix the Start Broken choice for Iron Maiden Behavior * Remove the forced option change with Arena goal + required All Bosses and Arena. * Update the Game Page with the removal of the forced option combination change. * Fix client potential to send packets nonstop. * More review addressing. * Fix the new select_drop code. * Fix the new select_drop code for REAL this time. * Send another LocationScout if we send Location checks without having the Location info. --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Co-authored-by: Exempt-Medic <ExemptMedic@Gmail.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> commit 7d0b701a2df01b93cf292c231d38c4753e6f0715 Author: Scipio Wright <scipiowright@gmail.com> Date: Thu Dec 12 06:54:03 2024 -0500 TUNIC: Change rule for heir access in non-hex quest #4365 commit f91537fb481e58ff429929f7919a288f3630ba04 Author: Justus Lind <DeamonHunter@users.noreply.github.com> Date: Thu Dec 12 18:18:19 2024 +1000 Muse Dash: Remove bad option defaults. #4340 commit 3c5ec49dbee129579573ab7528ddb87185f9fc9a Author: Jouramie <16137441+Jouramie@users.noreply.github.com> Date: Thu Dec 12 03:17:19 2024 -0500 Stardew Valley: Fix potential incompletable seed when starting winter (#4361) * make moss available with any season except winter * add tool and region requirement for moss commit 9a37a136a1ab02c561b704a144b6424eac5db416 Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Tue Dec 10 21:13:45 2024 +0100 The Witness: Add more panels to the "doors: panels" mode (#2916) * Add more panels that should be panels * Make it so the caves panel items don't exist in early caves * Remove unused import * oops * Remove Jungle to Monastery Garden from usefulification list * Add a basic test * ruff --------- Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com> commit 54a0a5ac0002ff1edf858441891625600b69e812 Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Tue Dec 10 21:06:06 2024 +0100 The Witness: Put progression + useful on some items. (#4027) * proguseful * ruff * variable rename * variable rename * Better (?) comment * Better way to do this? I guess * sure * ruff * Eh, it's not worth it. Here's the much simpler version * don't need this now * Improve some classification checks while we're at it * Only proguseful obelisk keys if eps are individual commit 704f14ffcd80d32a4c0ffed4bdf4cf38324b0dc5 Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Date: Tue Dec 10 14:37:54 2024 -0500 Core: Add toggles_as_bools to options.as_dict (#3770) * Add toggles_as_bools to options.as_dict * Update Options.py Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * Add param to docstring * if -> elif --------- Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> commit 925fb967d3274e64a8f88b73d81b97ce51c6d0d2 Author: Star Rauchenberger <fefferburbia@gmail.com> Date: Tue Dec 10 14:36:38 2024 -0500 Lingo: Fix number hunt issues on panels mode (#4342) commit 5dd19fccd0dc89966095c93c3fdb3ad72b4bea08 Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Tue Dec 10 20:35:36 2024 +0100 MultiServer/CommonClient: We forgot about Item Links again (Hint Priority) (#4314) * Vi don't forget about itemlinks challenge difficulty impossible * People other than Vi also don't forget about ItemLinks challenge difficulty impossible commit 781100a571fe7e4850272a8899c5ef9d078f19d8 Author: Jouramie <16137441+Jouramie@users.noreply.github.com> Date: Tue Dec 10 14:26:33 2024 -0500 CI: remove version restriction on pytest-subtests (#4356) This reverts commit e3b5451672c694c12974801f5c89cc172db3ff5a. commit 3fb0b57d19b9c223107308c84605e05e6b16e1cf Author: black-sliver <59490463+black-sliver@users.noreply.github.com> Date: Tue Dec 10 20:09:36 2024 +0100 Core: fix exceptions coming from LocationStore (#4358) * Speedups: add instructions for ASAN * Speedups: move typevars out of classes * Speedups, NetUtils: raise correct exceptions * Speedups: double-check malloc * Tests: more LocationStore tests commit f79657b41a8aa7904193331b7ae181e0ff9ab967 Author: Fabian Dill <Berserker66@users.noreply.github.com> Date: Tue Dec 10 19:53:42 2024 +0100 WebHost: disable abbreviations for argparse (#4352) commit 4a5ba756b6d0d26b40a8c3ca5bb3ea3e1ed931b3 Author: black-sliver <59490463+black-sliver@users.noreply.github.com> Date: Tue Dec 10 02:44:41 2024 +0100 WebHost: Set Generator memory limit to 4GiB (#4319) * WebHost: Set Generator memory limit to 4GiB * WebHost: make generator memory limit configurable, better naming * Update WebHostLib/__init__.py Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com> * Update docs/webhost configuration sample.yaml --------- Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com> commit 0b3d34ab24ffab023800e6230ca95e840cdcb683 Author: black-sliver <59490463+black-sliver@users.noreply.github.com> Date: Tue Dec 10 02:25:09 2024 +0100 CI: update scan-build to v19 (#4338) commit aa22b62b41226b62734988da0b5dcd6f5bff7a33 Author: Jouramie <16137441+Jouramie@users.noreply.github.com> Date: Mon Dec 9 15:17:25 2024 -0500 Stardew Valley: Force deactivation of Mr. Qi's special orders when ginger island is deactivated (#4348) commit 51c4fe8f67511850a7d26fe07a183242683034f1 Author: Jouramie <16137441+Jouramie@users.noreply.github.com> Date: Sun Dec 8 21:00:30 2024 -0500 Stardew Valley: Fix a bug where walnutsanity would get deactivated even tho ginger island got forced activated (and move some files) (#4311) commit 26f9720e69d33af5f55950d4bc197460f39df3ab Author: Louis M <prog@tioui.com> Date: Sun Dec 8 20:18:00 2024 -0500 Aquaria: mega refactoring (#3810) This PR is mainly refactoring. Here is what changed: - Changing item names so that each words are capitalized (`Energy Form` instead of `Energy form`) - Removing duplication of string literal by using: - Constants for items and locations, - Region's name attribute for entrances, - Clarify some documentations, - Adding some region to be more representative of the game and to remove listing of locations in the rules (prioritize entrance rules over individual location rules). This is the other minor modifications that are not refactoring: - Adding an early bind song option since that can be used to exit starting area. - Changing Sun God to Lumerean God to be coherent with the other gods. - Changing Home Water to Home Waters and Open Water to Open Waters to be coherent with the game. - Removing a rules to have an attack to go in Mithalas Cathedral since you can to get some checks in it without an attack. - Adding some options to slot data to be used with Poptracker. - Fixing a little but still potentially logic breaking bug. commit 1f712d9a8754103e2bbeb13075f460ff366d55df Author: qwint <qwint.42@gmail.com> Date: Sun Dec 8 19:59:40 2024 -0500 Various Worlds: use / explicitly for pkgutil (#4232) commit 5b4d7c752670b9cdf79258792e8045d968a54e96 Author: Scipio Wright <scipiowright@gmail.com> Date: Sun Dec 8 19:58:49 2024 -0500 TUNIC: Add Shield to Ladder Storage logic (#4146) commit a948697f3a2387d13862a194690c39af8da2dbd8 Author: Mysteryem <Mysteryem@users.noreply.github.com> Date: Mon Dec 9 00:57:34 2024 +0000 Raft: Place locked items in create_items and fix get_pre_fill_items (#4250) * Raft: Place locked items in create_items and fix get_pre_fill_items `pre_fill` runs after item plando, and item plando could place an item at a location where Raft was intending to place a locked item, which would crash generation. This patch moves the placement of these locked items earlier, into `create_items`. Setting items into `multiworld.raft_frequencyItemsPerPlayer` for each player has been replaced with passing `frequencyItems` to the new `place_frequencyItems` function. `setLocationItem` and `setLocationItemFromRegion` have been moved into the new `place_frequencyItems` function so that they can capture the `frequencyItems` argument variable. The `get_pre_fill_items` function could return a list of all previously placed items across the entire multiworld which was not correct. It should have returned the items in `multiworld.raft_frequencyItemsPerPlayer[self.player]`. Now that these items are placed in `create_items` instead of `pre_fill`, `get_pre_fill_items` is no longer necessary and has been removed. * self.multiworld.get_location -> self.get_location Changed the occurences in the modified code. commit e3b5451672c694c12974801f5c89cc172db3ff5a Author: qwint <qwint.42@gmail.com> Date: Sun Dec 8 14:43:16 2024 -0500 CI: cap pytest-subtest version (#4344) commit 6c69f590cf18d1224445ee86da7c85c7663f5fb7 Author: black-sliver <59490463+black-sliver@users.noreply.github.com> Date: Sun Dec 8 02:22:56 2024 +0100 WebHost: fix host room not updating (ports in) slot table (#4308) commit c9625e1b35c36866ee727128fe73808580f37145 Author: LeonarthCG <33758848+LeonarthCG@users.noreply.github.com> Date: Sat Dec 7 11:29:27 2024 +0100 Saving Princess: implement new game (#3238) * Saving Princess: initial commit * settings -> options Co-authored-by: Scipio Wright <scipiowright@gmail.com> * settings -> options Co-authored-by: Scipio Wright <scipiowright@gmail.com> * replace RegionData class with List[str] RegionData was only wrapping a List[str], so we can directly use List[str] * world: MultiWorld -> multiworld: MultiWorld * use world's random instead of multiworld's * use state's has_any and has_all where applicable * remove unused StartInventory import * reorder PerGameCommonOptions * fix relative AutoWorld import Co-authored-by: Scipio Wright <scipiowright@gmail.com> * clean up double spaces * local commands -> Local Commands Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * remove redundant which items section Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * game info rework * clean up item count redundancy * add game to readme and codeowners * fix get_region_entrance return type * world.multiworld.get -> world.get * add more events added events for the boss kills that open the gate, as well as for system power being restored these only apply if expanded pool is not selected * add client/autoupdater to launcher * reorder commands in game info * update docs with automated installation info * add quick links to doc * Update setup_en.md * remove standalone saving princess client * doc fixes * code improvements and redundant default removal as suggested by @Exempt-Medic this includes the removal of events from the item/location name to id, as well as checking for the player name being ASCII * add option to change launch coammnd the LaunchCommand option is filled to either the executable or wine with the necessary arguments based on Utils.is_windows * simplify valid install check * mod installer improvements now deletes possible existing files before installing the mod * add option groups and presets * add required client version * update docs about cheat items pop-ups items sent directly by the server (such as with starting inventory) now have pop-ups just like any other item * add Steam Input issue to faq * Saving Princess: BRAINOS requires all weapons * Saving Princess: Download dll and patch together Previously, gm-apclientpp.dll was downloaded from its own repo With this update, the dll is instead extracted from the same zip as the game's patch * Saving Princess: Add URI launch support * Saving Princess: goal also requires all weapons given it's past brainos * Saving Princess: update docs automatic connection support was added, docs now reflect this * Saving Princess: extend([item]) -> append(item) * Saving Princess: automatic connection validation also parses the slot, password and host:port into parameters for the game * Saving Princess: change subprocess .run to .Popen This keeps the game from freezing the launcher while it is running --------- Co-authored-by: Scipio Wright <scipiowright@gmail.com> Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> commit ced93022b67532e8172fd217a7d3a7bd205b8177 Author: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> Date: Fri Dec 6 01:15:26 2024 -0500 Adventure: Remove unused variables (#4301) * Remove unused variables * Provide old parameters to comment commit f4b926ebbe491dc9a064b5d17bdd95051a5c6496 Author: Bryce Wilson <gyroscope15@gmail.com> Date: Thu Dec 5 07:33:21 2024 -0800 Pokemon Emerald: Exclude sacred ash post champion (#4207) * Pokemon Emerald: Exclude sacred ash post champion * Pokemon Emerald: Remove .value from toggle option check commit 203d89d1d38102800bfc0aa4c5338f7fc3113dec Author: threeandthreee <a.l.nordstrom@gmail.com> Date: Thu Dec 5 10:32:45 2024 -0500 LADX: upstream logic updates (#3963) * Fully updates requirements.py to live LADXR (#19) * Updates dungeon2.py to LADXR-Live (#20) No logic changes or bugfix are in this file. It is only code cleanup. * Update dungeon1.py (#21) - The Three of a Kind with Bomb is moved from Normal to Hard Logic The rest is code cleanup. lines 22-25 | 22-26 & 33 | 34 remain different in AP | Upstream with no effective difference * Fully updates dungeon3.py to LADXR-live (#22) Logic Changes: - Hard mode now considers killing the enemies in the top room with pot Everything else is cleanup. * Fully update dungeon4.py to LADXR-live logic (#23) Logic Changes: - Hard Logic: Removes Feather requirement from grabbing the Pit Key - Hell logic: new hookshot clip (line 64) - Hell logic: hookshot spam over the first pit of crossroads, then buffer down (line 69) - Hell logic: push block left of keyblock up, then shaq jump off the left wall and pause buffer to land on keyblock. - Hell logic: split zol for more entities, and clip through the block left of keyblock by hookshot spam The rest is code cleanup * Updates dungeon5.py mostly to LADXR-Live Logic (#24) Logic Changes: - Hell logic: use zoomerang dashing left to get an unclipped boots superjump off the right wall over the block. reverse is push block (line 69) The rest is cleanup. The upstream splits the post_gohma region into pre_gohma, gohma and post_gohma. I did not implement this yet as I do not know the implications. To port this the following lines need to be changed (AP | LADXR): 18 | 18-20; 55 | 58; 65 | 68-69 * Fully update dungeon6.py logic (#25) Logic Changes: - Hard logic: allow damage boosting past the mini thwomps - Glitched logic: bomb triggering elephants in two cases Everything else is cleanup * Fully update dungeon7.py to LADXR-live logic (#26) Logic Changes: - Hard logic: Three of a Kind is now possible with bombs only Everything else is code cleanup * Fully updates dungeon8.py to LADXR-live (#27) Logic change: - Hard logic: allows to drop the Gibdos into holes as a way to kill them - Glitched logic: underground section with fire balls jumping up out of lava. Use boots superjump off left wall to jump over the pot blocking the way The rest is code cleanup * Fully update dungeonColor.py to LADXR-live (#28) Logic changes: - Normal logic: Karakoros now need power bracelet to put them into their holes - Hard logic: Karakoros without power bracelet but with weapon - Hell logic: Karakoros with only bombs Everything else is code cleanup * Updating overworld.py (#29) * Updating overworld.py This tries to update all logic of the Overworld. Logic changes include: - Normal logic: requires hookshot or shield to traverse Armos Cave - Hard logic: Traverse Armos Cave with nothing (formerly normal logic) - Hard logic: get the animal village bomb cave check with jump and boomerang - Hard logic: use rooster to go to D7 - Lots of Jesus Rooster Jumps I stopped counting and need to go over this again. Also, please investigate line 474 AP because it's removed in LADXR-Upstream and I don't know why. * remove featherless fisher under bridge from hard it was moved to hell upstream and its already present in our code --------- Co-authored-by: Alex Nordstrom <a.l.nordstrom@gmail.com> * fixes * add test messages * Adds Pegasus Boots to the test (#31) * Fix d6 boss_key logic (#30) * restore hardmode logic * higher logic fixes * add bush requirement to the raft in case the player needs to farm rupees to play again --------- Co-authored-by: palex00 <32203971+palex00@users.noreply.github.com> commit 4d42814f5d6a7315bb177f76d1f690ff6454b9ef Author: threeandthreee <a.l.nordstrom@gmail.com> Date: Thu Dec 5 06:06:52 2024 -0500 LADX: more item groups, location groups, keysanity preset (#3936) * add groups and a preset * formatting * typing * alias groups for progressive items * add bush breakers item group * fix typo * some manual location groups * drop dummy dungeon items from groups commit d80069385dc6166c2333d2c2360d47861a138d87 Author: threeandthreee <a.l.nordstrom@gmail.com> Date: Thu Dec 5 06:03:16 2024 -0500 LADX: tweak in-game hints (#3920) * dont show local player name in hint * add option to disable hints --------- Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> commit 85a0d59f739a199bf4e72612d29183f86d00a66e Author: threeandthreee <a.l.nordstrom@gmail.com> Date: Thu Dec 5 04:23:26 2024 -0500 LADX: text shuffle exclusions (#3919) * text shuffle exclusions Exclude owl statues, library books, goal sign, signpost maze, and various rupee prices from text shuffle * clearer variable name commit 58f22053048b97fd18d07843ea63638657257420 Author: nmorale5 <76963132+nmorale5@users.noreply.github.com> Date: Thu Dec 5 01:48:33 2024 -0500 Pokemon RB: Fix Incorrect Hidden Item Location in Seafoam Islands B2F (#4304) commit 769fbc55a9043f323684f6400424167eed2cea80 Author: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> Date: Wed Dec 4 02:51:56 2024 -0500 HK: Remove unused variables and imports (#4303) * Remove unused variables and imports * Accidental duplication commit f43fa612d502c3b5ed307d97f266e6acc8eaa937 Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Wed Dec 4 05:39:29 2024 +0100 The Witness: Another small access rule optimisation #4256 commit 5b0de6b6c77b76a7f40285565d4f688fb662e412 Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Date: Tue Dec 3 16:51:58 2024 -0500 FFMQ: No Longer Allow Inaccessible Useful Items (#4323) Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> commit ac8a206d4685e015494dd67f9a9e7ab2411773b3 Author: threeandthreee <a.l.nordstrom@gmail.com> Date: Tue Dec 3 00:59:55 2024 -0500 LADX: combine warp options (#4325) * combine warp options * fix * fix typo * mark old options as removed commit 6896d631db6ab24dfef67538ff7e7a7c18ff560f Author: Jouramie <16137441+Jouramie@users.noreply.github.com> Date: Tue Dec 3 00:23:13 2024 -0500 Stardew Valley: Fix a bug in equals between Or and And rules #4326 commit 6f2e1c2a7ea8395c1674124c1c7e51ffbd1bb7d9 Author: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> Date: Mon Dec 2 21:02:18 2024 -0500 Lingo: Optimize imports and remove unused parameter (#4305) commit ffe0221deb41d93b5a2e5a663a43e96beec058db Author: Fabian Dill <Berserker66@users.noreply.github.com> Date: Tue Dec 3 03:00:56 2024 +0100 Core: log process ID (#4290) commit 18e8d50768eff7ac6416048fd1d39b40551793b7 Author: Bryce Wilson <gyroscope15@gmail.com> Date: Mon Dec 2 17:52:20 2024 -0800 Pokemon Emerald: Clean up dexsanity spoiler and hints (#3832) * Pokemon Emerald: Clean up dexsanity spoiler and hints * Pokemon Emerald: Add +, do less hacks * Pokemon Emerald: Update changelog * Pokemon Emerald: Replace arrow with word in changelog * Pokemon Emerald: Fix changelog commit 81b9a53a376df3f55f76abe941796fc7aef69e89 Author: Mysteryem <Mysteryem@users.noreply.github.com> Date: Tue Dec 3 01:51:10 2024 +0000 KH2: Add missing indirect conditions for Final region access (#3923) * KH2: Add missing indirect conditions for Final region access Entrances to the Final region require being able to reach any one of a number of locations, but for a location to be reachable, its parent region must also be reachable, so indirect conditions must be added for these regions. * Use World.get_location Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Use World.get_location, for real this time --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> commit b6ab91fe4b5491c1d754aba35885f7b6e1923263 Author: Star Rauchenberger <fefferburbia@gmail.com> Date: Mon Dec 2 20:50:30 2024 -0500 LADX: Remove duplicate Magnifying Lens item (#3684) * LADX: Magnifying Glass fixes Removed the duplicate item (Magnifying Lens), and made the real one a filler item. * Update worlds/ladx/Items.py Co-authored-by: threeandthreee <alex@3and3.dev> --------- Co-authored-by: threeandthreee <alex@3and3.dev> commit f26cda07db5cb9046088a6f0c4710071c7bcfc69 Author: Emily <35015090+EmilyV99@users.noreply.github.com> Date: Sun Dec 1 09:16:36 2024 -0500 Core: Hint Priority fixes (#4315) * Update hint priority docs * Update network protocol.md * Add error on `UpdateHint` trying to change to `HINT_FOUND` * Update network protocol.md * fix: precollected hint priority commit ecc3094c70b3ee1f3e18d9299c03198564ec261a Author: Fabian Dill <Berserker66@users.noreply.github.com> Date: Sun Dec 1 08:33:43 2024 +0100 Launcher: launch without delay on URI without choice (#4279) commit 17b3ee6eaf326249c477b20ae976794817efc3ee Author: Benjamin S Wolf <jokeserver@gmail.com> Date: Sat Nov 30 20:18:00 2024 -0800 Core: warn if a yaml is empty (#4117) * Core: warn if a yaml is empty * WebHost: ignore empty yaml Generate: log which yaml documents are empty * Actually remove empty yamls from weight_cache * More verbose variable name --------- Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> commit 284e7797c5523180968016728790bf5128315c61 Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Date: Sat Nov 30 23:10:43 2024 -0500 Adventure: create_item AttributeError -> KeyError #4219 commit 62ce42440b703fba2ba544604f51690f388b7f33 Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Date: Sat Nov 30 23:03:13 2024 -0500 Super Metroid: KeyError on invalid item name #4222 commit 7b755408fa41e72b4ecf0f1e9029fe0c21ab85ee Author: Natalie Weizenbaum <nweiz@google.com> Date: Sat Nov 30 20:00:06 2024 -0800 DS3: Clarify location names for Yoel and Yuria items (#3881) * DS3: Clarify location names for Yoel and Yuria items * Fix encodings for `detailed_location_descriptions.py` * Fix one more typo commit ed721dd0c14aec3cb332a010f52bca43fddc2886 Author: Alex Nordstrom <a.l.nordstrom@gmail.com> Date: Sat Nov 30 22:58:10 2024 -0500 LADX: Implement various upstream adjustments (#3829) * magnifying lens changes https://github.com/daid/LADXR/pull/156 * restore enemy visibility in mermaid statue cave https://github.com/daid/LADXR/pull/155 * mermaid statue scale bugfix https://github.com/daid/LADXR/pull/163 * restore vanilla map when rooster is an item https://github.com/daid/LADXR/pull/132 * fix * fixes to magnifying lens changes * load marin singing even if you have marin date https://github.com/daid/LADXR/commit/4feb3099a3f3a144739094f88a4024def6f79767 * Revert "load marin singing even if you have marin date" This reverts commit a7a546ed3f7a2b9c9bcb095984cc64319a4f7855. * always patch tradequest not upstream, but included in this PR because it touches the same parts of the code. https://discord.com/channels/731205301247803413/1227373762412937347 * marin date fix * fix logic commit 1a5d22ca7890175275ef8b77c31cc0dce705d85a Author: Benjamin S Wolf <jokeserver@gmail.com> Date: Sat Nov 30 19:51:26 2024 -0800 Core: Add new error message for item count when defined as a set instead of a dict (#4100) * Core: New error message if item count is a set * Apply suggestion for error message Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Apply item count error suggestion Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> commit 21dbfd2472a517f4885b018c24ef14173d6d6cae Author: josephwhite <damasta21th@aol.com> Date: Sat Nov 30 22:33:36 2024 -0500 Multiserver: Add argument for timestamping STDOUT (#4266) * core: add server arg for timestamping STDOUT * Multiserver: Implicitly use default write_mode arg in init_logging Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> commit 472d2d54061d3ebe88a4f2577f9e510445c74bcb Author: Jarno <jarnowesthof@gmail.com> Date: Sun Dec 1 04:11:45 2024 +0100 Timespinner: Implemented support for universal tracker (#3771) * Implemented slot data interpretation * Fixed talaria attached to be taken into logic commit 3af2b1dc666cd03a2aa85044b24995adf0360833 Author: Kaito Sinclaire <ks@rosenthalcastle.org> Date: Sat Nov 30 19:10:43 2024 -0800 id Tech 1 games: Add command line instructions/info (#3757) commit 6cfc3a46670232db873d7ce362c9e99e23ebaa03 Author: Eric Newport <kethinov@gmail.com> Date: Sat Nov 30 19:10:00 2024 -0800 Docs: Improved sm64ex advanced setup docs (#3741) * Improved sm64ex advanced setup docs This edit clarifies some things that are not obvious in the version that is currently live on the site. This should prevent others from needing to go spelunking in Discord chat history to figure out how to do advanced builds. * Update worlds/sm64ex/docs/setup_en.md Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * copyediting --------- Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> commit 992657750c30094c8a4b5734104dcda8b0547622 Author: Rensen3 <127029481+Rensen3@users.noreply.github.com> Date: Sun Dec 1 04:09:22 2024 +0100 YGO06: add Item groups (#3737) * YGO06: adds item groups * YGO06: Change lists to sets Co-authored-by: Scipio Wright <scipiowright@gmail.com> * YGO06: fix imports --------- Co-authored-by: Scipio Wright <scipiowright@gmail.com> commit a67688749f556c631b3e1423c03f64d6151a5cb4 Author: Jouramie <16137441+Jouramie@users.noreply.github.com> Date: Sat Nov 30 21:52:07 2024 -0500 Stardew Valley: Refactor skill progression to use new feature system (#3662) * create a first draft of the feature * use feature in items and locations * add content to more places * use feature in logic * replace option check by feature * remove unused code * remove weird white space * some import nitpicking * flip negative if commit f735416bdac39db987ffb8af4b0d7bc09846c172 Author: Kaito Sinclaire <ks@rosenthalcastle.org> Date: Sat Nov 30 18:46:34 2024 -0800 id Tech 1: Clean up difficulty options (#4298) commit e5374eb8b81ac9913f4618f660d6f3c65b63261a Author: palex00 <32203971+palex00@users.noreply.github.com> Date: Sun Dec 1 03:22:02 2024 +0100 [PKMN RB] Make Encounters in one location unique (#3994) * Makes encounters in a location generate unique Pokémon * vyneras actually got it to work * V5 Update Fix Part 1 * Part 2 * final puzzle piece commit b83b48629de128a0b04c71b40ea4dc8b9aafc6e8 Author: black-sliver <59490463+black-sliver@users.noreply.github.com> Date: Sat Nov 30 17:23:28 2024 +0100 Core: rework python version check (#4294) * Docs: update min required version and add comment about security. * Core: rework python version check * CI: set min micro update for build and release commit ca6792a8a7c5f82e3a8c539c7f0d23e44b181c4f Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Date: Sat Nov 30 10:08:41 2024 -0500 Blasphemous: Add start_inventory_from_pool (#4217) commit 7cbd50a2e6f646870f0309a9f8c93bfe24f3a18a Author: qwint <qwint.42@gmail.com> Date: Sat Nov 30 10:02:32 2024 -0500 HK: add item group for dream nail(s) (#4069) commit d6da3bc899cd11e76a5a6da4fb6870134341d080 Author: Fabian Dill <Berserker66@users.noreply.github.com> Date: Sat Nov 30 06:53:28 2024 +0100 Factorio: add Atomic Cliff Remover Trap (#4282) commit 9eaca9527783d88e176119e7b2f436a374159357 Author: Fabian Dill <Berserker66@users.noreply.github.com> Date: Sat Nov 30 04:11:28 2024 +0100 WebHost: add a page to manage session cookie (#4173) commit c1b27f79ac4107e5b253f8cf68fcbfb64d9a11f8 Author: Fabian Dill <Berserker66@users.noreply.github.com> Date: Sat Nov 30 04:11:03 2024 +0100 Core: cull events from multidata spheres (#3623) Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> commit 0705f6e6c06baa33d60573e0a201385ba6e27ca4 Author: Fabian Dill <Berserker66@users.noreply.github.com> Date: Sat Nov 30 04:08:17 2024 +0100 Factorio: option groups (#4293) commit a537d8eb65a0b85210504691ef420cfdb8d7f3b3 Author: qwint <qwint.42@gmail.com> Date: Fri Nov 29 21:58:52 2024 -0500 Launcher: support Component icons inside apworlds (#3629) * Add kivy overrides to allow AsyncImage source paths of the format ap:worlds.module/subpath/to/data.png that use pkgutil to load files from within an apworld * Apply suggestions from code review Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * change original-load variable name for clarity per review * add comment to record pkgutil format * remove dependency on PIL * i hate typing --------- Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> commit 845a60495589e7b25a8d3f225c5aac40cb153826 Author: qwint <qwint.42@gmail.com> Date: Fri Nov 29 21:40:14 2024 -0500 MultiServer: !status shows Ready status (#3598) * Makes !status show a note if the slot is in Status Ready * update variable name for better clarity commit 7adb673a80a4fcaf8c5ca87369c5851fe2d7a0bf Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Sat Nov 30 03:37:08 2024 +0100 Core: "Fix" Priority Fill (#3592) * Priority fill -> Don't use one item per player * fix unit test thing * Ok, I think this should do it properly commit 72e88bb493b465ad2cfb1c4250c9bed60fb220fa Author: lordlou <87331798+lordlou@users.noreply.github.com> Date: Fri Nov 29 21:36:00 2024 -0500 SMZ3: generate without rom (#3461) * - 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 i…
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 <scipiowright@gmail.com> * 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 <nweiz@google.com> * 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 <79181893+nicholassaylor@users.noreply.github.com> * 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 <scipiowright@gmail.com> * Change yhorm default (ArchipelagoMW#30) * Add indirect condition (ArchipelagoMW#27) * Update worlds/dark_souls_3/docs/locations_en.md Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * 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 <scipiowright@gmail.com> Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Co-authored-by: Exempt-Medic <ExemptMedic@Gmail.com> Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
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 <alchav@jalchavware.com> * - 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 <60412657+Exempt-Medic@users.noreply.github.com> --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * 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 <60412657+Exempt-Medic@users.noreply.github.com> * 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 <60412657+Exempt-Medic@users.noreply.github.com> * 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 <57900059+NewSoupVi@users.noreply.github.com> * 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 <46984098+GodlFire@users.noreply.github.com> Date: Mon Apr 1 19:08:48 2024 -0600 Merge pull request #10 from ArchipelagoMW/main Merge main into branch commit 5e5792009cd3089ae61c5fdd208de1b79d183cb4 Author: Alchav <59858495+Alchav@users.noreply.github.com> Date: Mon Apr 1 12:08:21 2024 -0500 LttP: delete playerSettings.yaml (#3062) commit 9aeeeb077a9e894cd2ace51b58d537bcf7607d5b Author: CaitSith2 <d_good@caitsith2.com> 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 <gyroscope15@gmail.com> Date: Mon Apr 1 07:07:11 2024 -0600 Pokemon Emerald: Fix wonder trade race condition (#2983) commit 4ac1866689d01dc6693866ee8b1236ad6fea114b Author: Alchav <59858495+Alchav@users.noreply.github.com> Date: Mon Apr 1 08:06:31 2024 -0500 ALTTP: Skull Woods Inverted fix (#2980) commit 4aa03da66e1a8c99fc31c163c1a23fb0bd772c15 Author: Fabian Dill <Berserker66@users.noreply.github.com> 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 <58583688+Silvris@users.noreply.github.com> Date: Mon Apr 1 08:02:26 2024 -0500 KDL3: fix shuffled animals not actually being random (#3060) commit f813a7005fadb1c56bb93fee6147b63d9df2b720 Author: Aaron Wagener <mmmcheese158@gmail.com> 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 <74896918+LiquidCat64@users.noreply.github.com> Date: Sun Mar 31 09:55:55 2024 -0600 CV64: A couple of very small docs corrections. (#3057) commit 03d47e460e434b897b313c2ba452d785ecbacebe Author: Ixrec <ericrhitchcock@gmail.com> 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 <58583688+Silvris@users.noreply.github.com> Date: Sun Mar 31 10:50:31 2024 -0500 Yoshi's Island: add patch suffix (#3061) commit 2ec93ba82a969865a8addc98feb076898978c8e3 Author: Bryce Wilson <gyroscope15@gmail.com> Date: Sun Mar 31 09:48:59 2024 -0600 Pokemon Emerald: Fix inconsistent location name (#3065) commit 4e3d3963941934c77573e6e0b699edf9e26cd647 Author: Aaron Wagener <mmmcheese158@gmail.com> 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 <Berserker66@users.noreply.github.com> 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 <mmmcheese158@gmail.com> 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 <zach@alliware.com> 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 <mmmcheese158@gmail.com> Date: Thu Mar 28 21:48:40 2024 -0500 Core: Make fill failure error more human parseable (#3023) commit 301d9de9758e360ccec5399f3f9d922f1c034e45 Author: Aaron Wagener <mmmcheese158@gmail.com> 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 <80716066+TRPG0@users.noreply.github.com> 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 <gyroscope15@gmail.com> Date: Thu Mar 28 18:05:39 2024 -0600 Pokemon Emerald: Fix opponents learning non-randomized TMs (#3025) commit 5d9d4ed9f1e44309f1b53f12413ad260f1b6c983 Author: black-sliver <59490463+black-sliver@users.noreply.github.com> Date: Fri Mar 29 01:01:31 2024 +0100 SoE: update to pyevermizer v0.48.0 (#3050) commit c97215e0e755224593fdd00894731b59aa415e19 Author: Scipio Wright <scipiowright@gmail.com> 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 <59858495+Alchav@users.noreply.github.com> Date: Thu Mar 28 16:23:01 2024 -0500 SC2: Don't Filter Excluded Victory Locations (#3018) commit de860623d17d274289e3e4ab13650f2382e2e0b8 Author: Fabian Dill <Berserker66@users.noreply.github.com> 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 <gyroscope15@gmail.com> Date: Thu Mar 28 15:20:55 2024 -0600 Pokemon Emerald: Exclude norman trainer location during norman goal (#3038) commit 74ac66b03228988d0885cff556f962a04873cc54 Author: BadMagic100 <dempsey.sean@outlook.com> 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 <60412657+Exempt-Medic@users.noreply.github.com> commit 80d7ac416493a540548aad67981202a1483b5e53 Author: Silvris <58583688+Silvris@users.noreply.github.com> 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 <ziktofel@gmail.com> Date: Thu Mar 28 15:38:34 2024 +0100 SC2: Fix HERC upgrades (#3044) commit cfc1541be9e92f1f59b21f4a81f96fc88f4d9f7e Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> 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 <60412657+Exempt-Medic@users.noreply.github.com> commit 4d954afd9b2311248083fc389ac737995985be86 Author: Scipio Wright <scipiowright@gmail.com> 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 <79181893+nicholassaylor@users.noreply.github.com> 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 <163603868+Entropynines@users.noreply.github.com> Date: Thu Mar 28 06:56:35 2024 -0700 README: Remove outdated information about launchers (#2966) Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> commit bcf223081facd030aa706dc7430a72bcf2fdadc9 Author: t3hf1gm3nt <59876300+t3hf1gm3nt@users.noreply.github.com> Date: Thu Mar 28 09:54:56 2024 -0400 TLOZ: Fix markdown issue with game info page (#2985) commit fa93488f3fceac6c2f51851766543cab3ba121e6 Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Date: Thu Mar 28 09:46:00 2024 -0400 Docs: Consistent naming for "connection plando" (#2994) commit db15dd4bde442aad99048224bdb0d7dc28c26717 Author: chandler05 <66492208+chandler05@users.noreply.github.com> Date: Thu Mar 28 08:45:19 2024 -0500 A Short Hike: Fix incorrect info in docs (#3016) commit 01cdb0d761a82349afaeb7222b4b59cb1766f4a0 Author: PoryGone <98504756+PoryGone@users.noreply.github.com> Date: Thu Mar 28 09:44:23 2024 -0400 SMW: Update World Doc for v2.0 Features (#3034) Co-authored-by: Scipio Wright <scipiowright@gmail.com> commit d0ac2b744eac438570e6a2333e76fa212be66534 Author: panicbit <panicbit@users.noreply.github.com> 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 <16137441+Jouramie@users.noreply.github.com> 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 <gyroscope15@gmail.com> Date: Thu Mar 28 02:32:27 2024 -0600 Pokemon Emerald: Fix typo (#3020) commit ca1812181106a3645e7f7af417590024b377b25e Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> 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 <57900059+NewSoupVi@users.noreply.github.com> Date: Wed Mar 27 21:09:09 2024 +0100 requirements.txt: _ instead of - to make PyCharm happy (#3043) commit f7b415dab00338443b68eba51f42614fc40b9152 Author: agilbert1412 <alexgilbert@yahoo.com> Date: Tue Mar 26 19:40:58 2024 +0300 Stardew valley: Game version documentation (#2990) Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> commit 702f006c848c05b847e85f7dbedeef68b70cdcc6 Author: LiquidCat64 <74896918+LiquidCat64@users.noreply.github.com> 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 <N00byKing@hotmail.de> Date: Tue Mar 26 14:29:25 2024 +0100 sm64ex: New Options API and WebHost fix (#2979) commit ea47b90367b4a220c346d8057f3aeb4207d226a1 Author: Scipio Wright <scipiowright@gmail.com> Date: Tue Mar 26 09:25:41 2024 -0400 TUNIC: You can grapple down here without the ladder, neat (#3019) commit bf3856866c5ea385d0ac58014c71addfdc92637e Author: agilbert1412 <alexgilbert@yahoo.com> 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 <31861583+MatthewMarinets@users.noreply.github.com> Date: Sun Mar 24 13:53:20 2024 -0700 SC2: Fixed missing upgrade from custom tracker (#3013) commit 36c83073ad8c2ae1912d390ee3976ba0e2eb3f4a Author: Salzkorn <salzkitty@gmail.com> Date: Sun Mar 24 21:52:41 2024 +0100 SC2 Tracker: Fix grouped items pointing at wrong item IDs (#2992) commit 2b24539ea5b387a3b62063c8177c373e2e3f8389 Author: Ziktofel <ziktofel@gmail.com> 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 <ziktofel@gmail.com> 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 <59858495+Alchav@users.noreply.github.com> Date: Fri Mar 22 15:36:27 2024 -0500 ALTTP: Fix #2290's crashes (#2973) commit 355223b8f0af1ee729ffa8b53eb717aa5bf283a4 Author: PinkSwitch <52474902+PinkSwitch@users.noreply.github.com> Date: Fri Mar 22 15:35:00 2024 -0500 Yoshi's Island: Implement New Game (#2141) Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com> Co-authored-by: Alchav <59858495+Alchav@users.noreply.github.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> commit aaa3472d5d8d8a7a710bd38386d9eb34046a5578 Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Fri Mar 22 21:30:51 2024 +0100 The Witness: Fix seed bleed issue (#3008) commit 96d93c1ae313bb031e983c0d40d8be199b302df1 Author: chandler05 <66492208+chandler05@users.noreply.github.com> 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 <60412657+Exempt-Medic@users.noreply.github.com> commit ca549df20a0a07c30ee2e1bbc2498492b919604d Author: Silvris <58583688+Silvris@users.noreply.github.com> Date: Fri Mar 22 15:29:24 2024 -0500 CommonClient: fix hint tab overlapping (#2957) Co-authored-by: Remy Jette <remy@remyjette.com> commit 44988d430dc7d91eaeac7aad681dc024bc19ccce Author: Star Rauchenberger <fefferburbia@gmail.com> Date: Fri Mar 22 15:28:41 2024 -0500 Lingo: Add trap weights option (#2837) commit 11b32f17abebc08a6140506a375179f8a46bcfe6 Author: Danaël V <104455676+ReverM@users.noreply.github.com> 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 <scipiowright@gmail.com> * 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 <59490463+black-sliver@users.noreply.github.com> * 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 <scipiowright@gmail.com> Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> commit 218cd45844f9d733618af9088941156cd79b80bc Author: Silvris <58583688+Silvris@users.noreply.github.com> 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 <59490463+black-sliver@users.noreply.github.com> * Update worlds/Files.py Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * 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 <59490463+black-sliver@users.noreply.github.com> commit 4196bde597cdbb6186ff614294fd54ff043a0c99 Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Date: Thu Mar 21 16:38:36 2024 -0400 Docs: Fixing special_range_names example (#3005) commit 40f843f54d5970302caeb2a21b76a4845cf5c0ed Author: Star Rauchenberger <fefferburbia@gmail.com> Date: Thu Mar 21 11:00:53 2024 -0500 Lingo: Minor game data fixes (#3003) commit da333fbb0c88feedd4821a7bade3f56028a02111 Author: GodlFire <46984098+GodlFire@users.noreply.github.com> Date: Thu Mar 21 09:52:16 2024 -0600 Shivers: Adds missing logic rule for skull dial door location (#2997) commit 43084da23c719133fcae672e20c9b046e6ef8067 Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Thu Mar 21 16:51:29 2024 +0100 The Witness: Fix newlines in Witness option tooltips (#2971) commit 14816743fca366b52422ccb19add59d4960f17a3 Author: Scipio Wright <scipiowright@gmail.com> Date: Thu Mar 21 11:50:07 2024 -0400 TUNIC: Shuffle Ladders option (#2919) commit 30a0aa2c85a7015e2072b5781ed1078965f62f4b Author: Star Rauchenberger <fefferburbia@gmail.com> Date: Thu Mar 21 10:46:53 2024 -0500 Lingo: Add item/location groups (#2789) commit f4b7c28a33bb163768871616023a8cf3879840b4 Author: Silvris <58583688+Silvris@users.noreply.github.com> 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 <59490463+black-sliver@users.noreply.github.com> * Update worlds/Files.py Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * 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 <59490463+black-sliver@users.noreply.github.com> commit 12864f7b24028fa56135e599f0fe1642c9d2d377 Author: chandler05 <66492208+chandler05@users.noreply.github.com> Date: Wed Mar 20 22:44:09 2024 +0100 A Short Hike: Implement New Game (#2577) commit db02e9d2aabc0f4c1302ac761b3f5547ef00c7c5 Author: LiquidCat64 <74896918+LiquidCat64@users.noreply.github.com> Date: Wed Mar 20 15:03:25 2024 -0600 Castlevania 64: Implement New Game (#2472) commit 32315776ac0ac1a714eb9d58688c479e2038c658 Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> 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 <89949176+Magnemania@users.noreply.github.com> Date: Wed Mar 20 16:56:00 2024 -0400 SM64: Goal Logic and Hint Bugfixes (#2886) commit 183ca35bbaf6c805fdb53396d21d0cba34f9cc5e Author: qwint <qwint.42@gmail.com> Date: Wed Mar 20 08:39:37 2024 -0500 CommonClient: Port Casting Bug (#2975) commit fcaaa197a19a3be03965c504ca78dd2c21ce1f84 Author: TheLX5 <luisyuregi@gmail.com> 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 <luisyuregi@gmail.com> Date: Wed Mar 20 05:56:04 2024 -0700 SMW: Blocksanity logic fixes (#2988) commit 6f64bb98693556ac2635791381cc9651c365b324 Author: Scipio Wright <scipiowright@gmail.com> 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 <gyroscope15@gmail.com> Date: Wed Mar 20 06:43:13 2024 -0600 Pokemon Emerald: Bump required client version (#2963) commit 94650a02de62956eee8e7e41f61e8a41506b5842 Author: Silvris <58583688+Silvris@users.noreply.github.com> 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 <beauxq@users.noreply.github.com> * pep8 --------- Co-authored-by: beauxq <beauxq@yahoo.com> Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * 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 <korydondzila@gmail.com> Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * 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 <57900059+NewSoupVi@users.noreply.github.com> * Docs: Add FFMQ French Setup Guide + Minor fixes to English Guide (#3590) * Add docs * Fix character * Configuration Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * ajuster Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * inclure Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * doublon Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * remplissage Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * autre Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * pouvoir Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * mappemonde Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * apostrophes Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * virgule Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * fournir Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * apostrophes 2 Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * snes9x Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * apostrophes 3 Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * options Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * lien Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * de laquelle Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * Étape de génération Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * apostrophes 4 Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * également Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * guillemets Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * guillemets 2 Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * adresse Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * Connect Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * seed Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * Changer fichier yaml pour de configuration * Fix capitalization Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * Fix capitalization 2 Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * Fix typo+Add link to fr/en info page --------- Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * 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 <scipiowright@gmail.com> --------- Co-authored-by: Kono Tyran <Kono@koifysh.dev> Co-authored-by: Scipio Wright <scipiowright@gmail.com> * 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 <suncat.game@ya.ru> * 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 <79181893+nicholassaylor@users.noreply.github.com> * Update worlds/osrs/docs/en_Old School Runescape.md Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * 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 <79181893+nicholassaylor@users.noreply.github.com> * 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 <60412657+Exempt-Medic@users.noreply.github.com> * Update setup_en.md * Forgot to include these * Consistent styling * :) * version 3.3.0 --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * 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 <60412657+Exempt-Medic@users.noreply.github.com> * Two more minors logic modification * Adapting tests to af9b6cd * Reformat the Region file --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * 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 <scipiowright@gmail.com> * 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 <nweiz@google.com> * 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 <79181893+nicholassaylor@users.noreply.github.com> * 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 <scipiowright@gmail.com> * Change yhorm default (#30) * Add indirect condition (#27) * Update worlds/dark_souls_3/docs/locations_en.md Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * 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 <scipiowright@gmail.com> Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Co-authored-by: Exempt-Medic <ExemptMedic@Gmail.com> Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> * 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 <57900059+NewSoupVi@users.noreply.github.com> * 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 <mmmcheese158@gmail.com> --------- Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> * 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 <57900059+NewSoupVi@users.noreply.github.com> * 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 <57900059+NewSoupVi@users.noreply.github.com> * 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 <57900059+NewSoupVi@users.noreply.github.com> * Docs: Update 'tag' documentation (#3632) * Add tag docs for HintGame * Apply suggestions from code review Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Make Tracker/TextOnly consistent with previous commit * Apply suggestion Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * fix spacing * Apply suggestion Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * apply suggestion correcting footnotes Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> --------- Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * [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 always usable (#3660) * Pokemon Emerald: Ensure dig tutor is alw…
AustinSumigray
pushed a commit
to AustinSumigray/Archipelago
that referenced
this pull request
Jan 4, 2025
* Fully updates requirements.py to live LADXR (ArchipelagoMW#19) * Updates dungeon2.py to LADXR-Live (ArchipelagoMW#20) No logic changes or bugfix are in this file. It is only code cleanup. * Update dungeon1.py (ArchipelagoMW#21) - The Three of a Kind with Bomb is moved from Normal to Hard Logic The rest is code cleanup. lines 22-25 | 22-26 & 33 | 34 remain different in AP | Upstream with no effective difference * Fully updates dungeon3.py to LADXR-live (ArchipelagoMW#22) Logic Changes: - Hard mode now considers killing the enemies in the top room with pot Everything else is cleanup. * Fully update dungeon4.py to LADXR-live logic (ArchipelagoMW#23) Logic Changes: - Hard Logic: Removes Feather requirement from grabbing the Pit Key - Hell logic: new hookshot clip (line 64) - Hell logic: hookshot spam over the first pit of crossroads, then buffer down (line 69) - Hell logic: push block left of keyblock up, then shaq jump off the left wall and pause buffer to land on keyblock. - Hell logic: split zol for more entities, and clip through the block left of keyblock by hookshot spam The rest is code cleanup * Updates dungeon5.py mostly to LADXR-Live Logic (ArchipelagoMW#24) Logic Changes: - Hell logic: use zoomerang dashing left to get an unclipped boots superjump off the right wall over the block. reverse is push block (line 69) The rest is cleanup. The upstream splits the post_gohma region into pre_gohma, gohma and post_gohma. I did not implement this yet as I do not know the implications. To port this the following lines need to be changed (AP | LADXR): 18 | 18-20; 55 | 58; 65 | 68-69 * Fully update dungeon6.py logic (ArchipelagoMW#25) Logic Changes: - Hard logic: allow damage boosting past the mini thwomps - Glitched logic: bomb triggering elephants in two cases Everything else is cleanup * Fully update dungeon7.py to LADXR-live logic (ArchipelagoMW#26) Logic Changes: - Hard logic: Three of a Kind is now possible with bombs only Everything else is code cleanup * Fully updates dungeon8.py to LADXR-live (ArchipelagoMW#27) Logic change: - Hard logic: allows to drop the Gibdos into holes as a way to kill them - Glitched logic: underground section with fire balls jumping up out of lava. Use boots superjump off left wall to jump over the pot blocking the way The rest is code cleanup * Fully update dungeonColor.py to LADXR-live (ArchipelagoMW#28) Logic changes: - Normal logic: Karakoros now need power bracelet to put them into their holes - Hard logic: Karakoros without power bracelet but with weapon - Hell logic: Karakoros with only bombs Everything else is code cleanup * Updating overworld.py (ArchipelagoMW#29) * Updating overworld.py This tries to update all logic of the Overworld. Logic changes include: - Normal logic: requires hookshot or shield to traverse Armos Cave - Hard logic: Traverse Armos Cave with nothing (formerly normal logic) - Hard logic: get the animal village bomb cave check with jump and boomerang - Hard logic: use rooster to go to D7 - Lots of Jesus Rooster Jumps I stopped counting and need to go over this again. Also, please investigate line 474 AP because it's removed in LADXR-Upstream and I don't know why. * remove featherless fisher under bridge from hard it was moved to hell upstream and its already present in our code --------- Co-authored-by: Alex Nordstrom <a.l.nordstrom@gmail.com> * fixes * add test messages * Adds Pegasus Boots to the test (ArchipelagoMW#31) * Fix d6 boss_key logic (ArchipelagoMW#30) * restore hardmode logic * higher logic fixes * add bush requirement to the raft in case the player needs to farm rupees to play again --------- Co-authored-by: palex00 <32203971+palex00@users.noreply.github.com>
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.
forgot about this