* Attempt at optimizing rules
* docstrings
* Python 3.8
* Lasers optimisation
* Simplify conversion code and make it even faster
* mypy
* ruff
* Neat
* Add redirect to the other two modes
* Update WitnessLogic.txt
* Update WitnessLogicExpert.txt
* Update WitnessLogicVanilla.txt
* Use NamedTuple
* Ruff
* mypy thing
* Mypy stuff
* Move Redirect Event to Desert Region so it has a better name
* Rename sweep_for_events to sweep_for_advancements
* more event->advancement renames
* oops accidentally deleted the deprecation thing in the force push
* Update TestDungeon.py
* Update BaseClasses.py
* Update BaseClasses.py
* oops
* utils.deprecate
* treble, you had no idea how right you were
* Update test_panel_hunt.py
* Update BaseClasses.py
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
---------
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
* Vague hints work! But, the client will probably reveal some of the info through scouts atm
* Fall back on Everywhere if necessary
* Some of these failsafes are not necessary now
* Limit region size to 100 as well
* Actually... like this.
* Nutmeg
* Lol
* -1 for own player but don't scout
* Still make always/priority ITEM hints
* fix
* uwu notices your bug
* The hints should, like, actually work, you know?
* Make it a Toggle
* Update worlds/witness/hints.py
Co-authored-by: Bryce Wilson <gyroscope15@gmail.com>
* Update worlds/witness/hints.py
Co-authored-by: Bryce Wilson <gyroscope15@gmail.com>
* Make some suggested changes
* Make that ungodly equation a bit clearer in terms of formatting
* make that not sorted
* Add a warning about the feature in the option tooltip
* Make using region names experimental
* reword option tooltip
* Note about singleplayer
* Slight rewording again
* Reorder the order of priority a bit
* this condition is unnecessary now
* comment
* No wait the order has to be like this
* Okay now I think it's correct
* Another comment
* Align option tooltip with new behavior
* slight rewording again
* reword reword reword reword
* -
* ethics
* Update worlds/witness/options.py
Co-authored-by: Bryce Wilson <gyroscope15@gmail.com>
* Rename and slight behavior change for local hints
* I think I overengineered this system before. Make it more consistent and clear now
* oops I used checks by accident
* oops
* OMEGA OOPS
* Accidentally commited a print statemetn
* Vi don't commit nonsense challenge difficulty impossible
* This isn't always true but it's good enough
* Update options.py
* Update worlds/witness/options.py
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Scipio :3
* switch to is_event instead of checking against location.address
* oop
* Update test_roll_other_options.py
* Fix that unit test problem lol
* Oh is this not fixed in the apworld?
---------
Co-authored-by: Bryce Wilson <gyroscope15@gmail.com>
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>