* sm64ex: use item data class
* rearrange imports
* Dict to dict
* remove optional typing
* bonus item descriptions since we can also add stuff for webworld easily
* remove item descriptions (rip) and decrease verbosity for classifications
* formatting
* Timespinner: Add "no hell spiders" enemy rando option that is present in upstream settings
* Timespinner: Prism Break support tweaks (including tracker support)
* Timespinner: Add support for upstream Lock Key Amadeus flag
* Timespinner: Add support for upstream Risky Warps flag
* Timespinner: Add support for upstream Pyramid Start flag
* Timespinner: fix error in lab connectivity logic
* Timespinner: use has_all to simplify one check
Per PR suggestion.
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Timespinner: fix apparent logic error inherited from in-rando logic
* Timespinner: adjust "Origins" location logic slightly further to account for a Risky Warps case
* Timespinner: remove the backward compat options for the recent flag additions
* Timespinner: add newly added Gate Keep option from rando
* Timespinner: adjust the laser access colours in the tracker
* Timespinner: fix an item description in the tracker
* Timespinner: based on testing feedback, put Laser Access items in their own category
* Timespinner: add support for new upstream flag Royal Roadblock
* Timespinner: also ensure the new flag gets put in slot data
* Timespinner: fix bug in universal tracker support indicating castle basement is accessible at the lower Rising Tides flooding level
* Timespinner: exclude Talaria Attachment and Timespinner Wheel from pyramid start starter progression items
* Timespinner: fix region logic for the left pyramid warp
* Timespinner: fix main Gyre access logic when Risky Warps warps you behind the lasers
* Timespinner: apply suggested spacing fix
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
---------
Co-authored-by: sgrunt <sgrunt1987@gmail.com>
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Starting out
* Rules for breakable regions
* make the rest of it work, it's pr ready, boom
* Make it work in not pot shuffle
* Fix after merge
* Fix item id overlap
* Move breakable, grass, and local fill options in yaml
* Fix groups getting overwritten
* Rename, add new breakables
* Rename more stuff
* Time to rename them again
* Make it actually default for breakable shuffle
* Burn the signs down
* Fix west courtyard pot regions
* Fix fortress courtyard and beneath the fortress loc groups again
* More missing loc group conversions
* Replace instances of world.player with player, same for multiworld
* Update worlds/tunic/__init__.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Remove unused import
* create tool progression feature and unwrap option
* replace option usage with calling feature
* add comment explaining why some logic is a weird place
* replace item creation logic with feature
* self review and add unit tests
* rename test cuz I named them too long
* add a test for the trash can useful stuff cuz I thought there was a bug but turns out it works
* self review again
* remove price_multiplier, turns out it's unused during generation
* damn it 3.11 why are you like this
* use blacksmith region when checking vanilla tools
* fix rule
* move can mine using in tool logic
* remove changes to performance test
* properly set the option I guess
* properly set options 2
* that's what happen when you code too late
* Doom, Doom 2, Heretic: customizable ammo capacity
* Do not progression balance capacity up items
* Prog fill still doesn't agree, just go with our original idea
* Clean up the new options a bit
- Gave all options a consistent and easily readable naming scheme
(`max_ammo_<type>` and `added_ammo_<type>`)
- Don't show the new options in the spoiler log,
as they do not affect logic
- Fix the Doom games' Split Backpack option accidentally referring to
Heretic's Bag of Holding
The logging change across all three games is incidental, as at some
point I did run into that condition by happenstance and it turns out
that it throws an exception due to bad formatting if it's reached
* Do the visibility change for Heretic as well
* Update required client version
* Remove spoiler log restriction on options
* Remove Visibility import now made redundant
* Pokemon Emerald: Change some dexsanity vanilla items to evo items
If a species evolves via item use (Fire Stone, Metal Coat, etc.), use that as it's vanilla item instead of a ball
* Pokemon Emerald: Remove accidentally added print
* Pokemon Emerald: Update changelog
* Pokemon Emerald: Adjust changelog
* Pokemon Emerald: Remove unnecessary else
* Pokemon Emerald: Fix changelog
* adding qwints suggestions
* add stat increase protection and ingame yml stuff
* idk how I forgot these
* reword things
* Update worlds/kh2/Client.py
Co-authored-by: qwint <qwint.42@gmail.com>
* 3.12 compat
* too long of a line
* why didnt I do this before lol
* reading is hard
* missed one
* forgot the self
* fix crash if you get datapackage that isnt kh2
* update to main?
* update to use 0.10 as base and fix violet's base 0 on hex values
* reverting this because I'm bad at my job
---------
Co-authored-by: qwint <qwint.42@gmail.com>
* Expand and validate the RAM cache
* Part way through location improvement
* Fixed location tracking
* Preliminary entrance tracking support
* Actually send entrance messages
* Store found entrances on the server
* Bit of cleanup
* Added rupee count, items linked to checks
* Send Magpie a handshAck
* Got my own version wrong
* Remove the Beta name
* Only send slot_data if there's something in it
* Ask the server for entrance updates
* Small fix to stabilize Link's location when changing rooms
* Oops, server storage is shared between worlds
* Deal with null responses from the server
* Added UNUSED_KEY item
This was causing confusion and Discord support requests because the
instructions there are no longer compatible with the latest version of
Archipelago.
This also lists me as the primary author of the new setup guide.
* Secret Feature
* Fixes
* Fixes and unit tests
* renaming some variables
* Fix the thing
* unit test for elevator egg
* Docstring
* reword
* Fix duplicate locations I think?
* Remove debug thing
* Add the tests back lol
* Make it so that you can exclude an egg to disable it
* Improve hint text for easter eggs
* Update worlds/witness/options.py
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Update worlds/witness/player_logic.py
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Update worlds/witness/options.py
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Update worlds/witness/player_logic.py
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Update worlds/witness/rules.py
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Update test_easter_egg_shuffle.py
* This was actually not necessary, since this is the Egg requirements, nothing to do with location names
* Move one of them
* Improve logic
* Lol
* Moar
* Adjust unit tests
* option docstring adjustment
* Recommend door shuffle
* Don't overlap IDs
* Option description idk
* Change the way the difficulties work to reward playing higher modes
* Fix merge
* add some stuff to generate_data_file (this file is not imported during gen, don't review it :D)
* oop
* space
* This can be earlier than I thought, apparently.
* buffer
* Comment
* Make sure the option is VERY visible
* Some mypy stuff
* apparently ruff wants this
* .
* durinig
* Update options.py
* Explain the additional effects of each difficulty
* Fix logic of flood room secret
* Add Southern Peninsula Area
* oop
---------
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* More hex quest updates
- Implement page ability shuffle for hex quest
- Fix keys behind bosses if hex goal is less than 3
- Added check to fix conflicting hex quest options
- Add option to slot data
* Change option comparison
* Change option checking and fix some stuff
- also keep prayer first on low hex counts
* Update option defaulting
* Update option checking
* Fix option assignment again
* Show player name in option warning
* Add new option to universal tracker stuff
* Update __init__.py
* Make helper method for getting total hexagons in itempool
* Update options.py
* Update option value passthrough
* Change ability shuffle to default on
* Check for hexagons option when writing spoiler
* add groups and a preset
* formatting
* pull zig's tarin's gift improvements
* typing
* alias groups for progressive items
* change tarins gift option a bit
* add bush breakers item group
* fix typo
* bush_breaker option, respect non_local_items
* review suggestions
* cleaner
thx exempt
* Update worlds/ladx/__init__.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* fix gen failures for dungeon shuffle
* exclude shovel based on entrance mapping
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* marin text
* Adds lots of Marin Flavour Text (#32)
* Updates of Splash text 24-09-18
* Re-Adds '
* use pkgutil
* Adds all community suggestions up until 20/09/2024 (#33)
* Adds all community suggestions up until 20/09/2024
* cutting deathlink jokes
---------
Co-authored-by: Alex Nordstrom <a.l.nordstrom@gmail.com>
* drop piracy-adjacent jokes
* marin text was too long
* more submissions
* no longer looking for new maintainer
---------
Co-authored-by: palex00 <32203971+palex00@users.noreply.github.com>
* Move a couple locations to monastery
* Connect Quarry Back to Monastery
* Quarry Back -> Monastery with laurels, Monastery -> Monastery Back with wand/sword
* Add Monastery Back region
* Move a couple non-ER locations to monastery back
* Monastery front -> back with sword, wand, or laurels zip
* also laurels zip for non-ER
* CI: ctest: fix trigger on CMakeLists change
* CI: ctest: update cmake version
this removes a warning
and matches gtest
* CI: ctest: remove explicit build mode for MSVC
gtest switched to dynamic libc (/MD), which is default, so this just works now
* uses itempool count vs unfilled location count instead of counting prog_items values which could have custom counters
* move unfilled location check to before can_reach
* add tests for successful minimal GER call with extra collect override prog_items in the pool to regression test issue fixed in this PR