* some typing and docs in various parts of the interface
* fix whitespace in docstring
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* suggested changes from discussion
* remove redundant import
* adjust type for json messages
* for options module detection:
module.lower().endswith("options")
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Doc: logic mixin, drop underscore, clarify
conventionally, we added a leading underscore to logic mixins' function
names. This is noisy in the warning section of IDEs. Leading underscores
should only be used for private/protected functions.
In addition, the use of self.world and/or requirement to (no) pass in stuff
was not made clear earlier.
* SoE: fix _ warnings for logic mixin
* 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>
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>
* 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
* LttPAdjuster: ignore invalid sprite files
* LttPAdjuster: ignore .gitignore in sprites
* LttPAdjuster: log and show message for invalid sprites
* Alttp: set sprite.valid to False for bad zspr and apsprite ...
... when throwing exceptions
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
- fix receiving items in an old save (issue #855) by moving receive queue's read pointer to a per-saveslot value
- clear SRAM over $70:2000, and invalidate save data, when booting a new seed number for the first time
- copy important ROM data to SRAM so future clients don't have to read ROM
People seem to be on the mission long enough to get attacked by Mutalisks, so Victory should require anti air.
Optional Objectives are doable quite comfortably before Mutalisks show up, allowing the anti-air to be on them for later in the mission.
* Fixed disable_non_randomized and other bugs
* Slight performance & code sensibility increase
* Added River Shortcut to Garden as a disabled check in disable_non_randomized
* Changed no progression items exception to a warning
* Added a list of disabled panels to slot_data for disable_non_randomized, so the client can automatically disable the right panels in the future
* Made no progression exception conditional on playercount