* Change Regions, Areas and Connections to dataclasses/NamedTuples
* Move to new file
* we do a little renaming
* Purge the 'lambda' naming in favor of 'rule' or 'WitnessRule'
* missed one
* unnecessary change
* omega oops
* NOOOOOOOO
* Merge error
* mypy thing
* 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>
* Add panel hunt options
* Make sure all panels are either solvable or disabled in panel hunt
* Pick huntable panels
* Discards in disable non randomized
* Set up panel hunt requirement
* Panel hunt functional
* Make it so an event can have multiple names
* Panel hunt with events
* Add hunt entities to slot data
* ruff
* add to hint data, no client sneding yet
* encode panel hunt amount in compact hint data
* Remove print statement
* my b
* consistent
* meh
* additions for lcient
* Nah
* Victory panels ineligible for panel hunt
* Panel Hunt Postgame option
* cleanup
* Add data generation file
* pull out set
* always disable gate ep in panel hunt
* Disallow certain challenge panels from being panel hunt panels
* Make panelhuntpostgame its own function, so it can be called even if normal postgame is enabled
* disallow PP resets from panel hunt
* Disable challenge timer and elevetor start respectively in disable hunt postgame
* Fix panelhunt postgame
* lol
* When you test that the bug is fixed but not that the non-bug is not unfixed
* Prevent Obelisks from being panel hunt panels
* Make picking panels for panel hunt a bit more sophisticated, if less random
* Better function maybe ig
* Ok maybe that was a bit too much
* Give advanced players some control over panel hunt
* lint
* correct the logic for amount to pick
* decided the jingle thing was dumb, I'll figure sth out client side. Same area discouragement is now a configurable factor, and the logic has been significantly rewritten
* comment
* Make the option visible
* Safety
* Change assert slightly
* We do a little logging
* number tweak & we do a lil logging
* we do a little more logging
* Ruff
* Panel Hunt Option Group
* Idk how that got here
* Update worlds/witness/options.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/witness/__init__.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* remove merge error
* Update worlds/witness/player_logic.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* True
* Don't have underwater sliding bridge when you have above water sliding bridge
* These are not actually connected lol
* get rid of unnecessary variable
* Refactor compact hint function again
* lint
* Pull out Entity Hunt Picking into its own class, split it into many functions. Kept a lot of the comments tho
* forgot to actually add the new file
* some more refactoring & docstrings
* consistent naming
* flip elif change
* Comment about naming
* Make static eligible panels a constant I can refer back to
* slight formatting change
* pull out options-based eligibility into its own function
* better text and stuff
* lint
* this is not necessary
* capitalisation
* Fix same area discouragement 0
* Simplify data file generation
* Simplify data file generation
* prevent div 0
* Add Vault Boxes -> Vault Panels to replacements
* Update options.py
* Update worlds/witness/entity_hunt.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update entity_hunt.py
* Fix some events not working
* assert
* remove now unused function
* lint
* Lasers Activate, Lasers don't Solve
* lint
* oops
* mypy
* lint
* Add simple panel hunt unit test
* Add Panel Hunt Tests
* Add more Panel Hunt Tests
* Disallow Box Short for normal panel hunt
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>