* 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
* Potential fix for attack issue
* also put the lazy version of the swamp fix in for good measure
* fix extra line
* now it is good
* Add the test, roll the other PR into this one
* Make the test exception more useful
* Remove debug print
* Combat logic fixed?
* Move a few areas to before well instead of east forest
* Put in qwint's suggestions in test
* Implement qwint's suggestions in combat_logic.py
* Implement qwint's suggestions for combat_logic.py
* Fix typo
* Remove experimental from combat logic description
* Remove copy_mixin again
* Add comment about copy_mixin
* Use a more proper random
* Some optimizations from Vi's comments
* Core: Replace generator creation/iteration in CollectionState methods
Using generators in these functions incurs overhead to create the new
generator instance, call the `any`/`all`/`sum` function and have the
`any`/`all`/`sum` function iterate the generator, which in turn iterates
the iterable.
Replacing the use of generators with for loops is faster.
Getting `self.prog_items[player]` once in advance also improves
performance of iterating longer iterables.
* Add comment on the choice of for loops instead of any()/all()/sum()
* [LADX] Fix minimal accessibility
* allow_partial for minimal accessibility
* create the correct partial_all_state
* skip our prefills rather than removing after
* dont rebuild our prefill list
---------
Co-authored-by: threeandthreee <a.l.nordstrom@gmail.com>