* Add trap items, relevant options, and citadel orb caches.
* Update REPL to send traps to game.
* Fix item counter.
* Allow player to select which traps to use.
* Fix host.yaml doc strings, ap-setup-options typing, bump memory version to 5.
* Alter some trap names.
* Update world doc.
* Add health trap.
* Added 3 more trap types.
* Protect against empty trap list.
* Reword traps paragraph in world doc.
* Another update to trap paragraph.
* Concisify trap option docstring.
* Timestamp on game log file.
* Update client to handle waiting on title screen.
* Send slot name and seed to game.
* Use self.random instead.
* Update setup doc for new title screen.
* Quick clarification of orb caches in world doc.
* Sanitize slot info earlier.
* Added to and improved unit tests.
* Light cleanup on world.
* Optimizations to movement rules, docs: known issues update.
* 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>
* Tests: massively improve the memory leak test performance
With the growing number of worlds, GC becomes the bottleneck and slows down the test.
* Tests: fix typing in general/test_memory
* MultiServer: add NoText tag and handling
* MultiServer: deprecate and warn for uncompressed connections
* MultiServer: fix missing space in no compression warning
* - Unrolled and improved the structure of the test for Mods + ER, to improve total performance and performance on individual tests for threading purposes
* Use | instead of Union[]
Co-authored-by: Jouramie <16137441+Jouramie@users.noreply.github.com>
* - Remove unused using
---------
Co-authored-by: Jouramie <16137441+Jouramie@users.noreply.github.com>
* adds docstring to make_gui describing what things you might want to change without dealing with kivy/kvui directly (there are better places to document those)
* Update CommonClient.py
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Update CommonClient.py
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
---------
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* skips opening a subprocess if kivy (and thus the launcher gui) hasn't been loaded so stdin can function as expected on --nogui and similar
* this exists lol
* keep old function around and use new function for CC component
* fix name=None typing
* unit test that get all state is called with partial entrances before connect_entrances
* fix the two worlds doing it
* lol
* unused import
* Update test/general/test_entrances.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update test_entrances.py
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>