* SC2: The client now throws a descriptive error when ExecuteInfo.txt exists but is empty, and offers more helpful suggestions when the file doesn't exist.
* SC2: Replaced the new RuntimeError with a warning in the logger to keep things consistent.
* Removed communism
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* autoworld: don't load files/folders starting with '.'
The imports fail if the folder has a '.' in the name, with a somewhat obscure error, and adding a '.' in front of it is what a linux user might expect to use when disabling a world temporarily.
* autoworld: use tuple to filter .* and _*
Fixes to postgame detection for "shuffle_postgame"
Renamed many locations to be symbol-independent ("Outside Tutorial Dots Introduction" becomes "Outside Tutorial Shed Row"). This is to set up future alternate modes, like Sigma Expert, which use completely different symbols.
Renamed most door items to be shorter, more consistent, and less... stupid. ("Bunker Bunker Entry Door" -> "Bunker Entry")
Removed "shuffle_uncommon"
Many logic fixes
* add freetext and freetextchoice options
* fix textchoice. create plando_bosses bool so worlds can check if boss plando is enabled
* remove strange unneccessary \ escapes
* lttp: rip boss plando out of core
* fix broken text methods so they read the data correctly
* revert `None` key in boss_shuffle_options. fix failing tests
* lttp: rewrite boss plando
* lttp: rewrite boss shuffle
* add generic verification step and allow options to set a plando module
* add default typing to plando_options set
* use PlandoSettings intflag for lttp boss plando
* fix plandosettings boss flag check
* minor lttp init cleanup
* make suggested changes. account for "random" existing within plando boss options
* override eq operator
* Please document me!
* Forgot to mention it supports plando
* remove auto_display_name
* Throw warning alerting user to which shuffle is being used if plando is off. Set the remaining boss shuffle in init and boss placement cleanup
* move the convoluted string matching to `from_text`
* remove unneccessary text lowering and actually turn off plando option when it's disabled
* typing
* strong typing for verify method and reorder
* typing is your friend
* log warning correctly
* 3.8 support :(
* also list apparently
* rip out old boss shuffle spoiler code
* verification step for plando bosses and locations
* update plando guide to reference new supported behavior
* empty string is not `None`. remove unneccessary error throw
* Fix bad ordering
* validate boss_shuffle only contains a normal boss option at the end
* get random choice from a list dummy
* >:(
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* minor textchoice cleanup
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* CI/Doc: use pytest-subtests
* CI: clean up pip installs a bit
* make lint and unittests install the same stuff
* make sure to install wheel, which is a recommended (not required) dependency for everything pip
SC2 client now relies almost entirely on the map file and server for the locations and just facilitates them, should make it significantly more resilient to objectives being added or removed
* SC2: fix client crash on printjson messages with more [ than ]
* SC2: move text to queue, that actually clears memory
* SC2: Announce which mission is being loaded
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* WebHost: fix local_path on python 3.8
`__file__` is relative in 3.8, so `os.path.dirname(__file__)` ends up being an empty string breaking calls to `local_path()` (without arguments)
* WebHost: add comment to local_path override
* OoT: fix shop patching crash due to Item changes
* OoT: more informative failure in triforce piece replacement
* OoT: in triforce hunt, remove ganon BK from pool and lock the door
* OoT: no longer store trap information on the item