Overcooked! 2 is a couch co-op arcade game with a very high skill ceiling. It has a small but occult following, and the community craves a reason to keep coming back besides just grinding high scores. as such, this PR represents 3 major milestones in one:
* The launch of OC2 Modding, a modding framework which is the first public mod for the game beyond simple RAM trainers
* The launch of OC2 Randomizer
* The integration of OC2 Randomizer in Archipelago
* Prevent legendaries from being shuffled into restless soul encounter
* Prevent Poke Tower 6F wild mons from being same as restless soul
* fix non-deterministic generation
* fix some blunders i made when implementing this
* move generic functions to core class
* move lttp specific stuff out and split up from_text a bit for more modularity
* slightly optimize from_text call order
* don't make changes on github apparently. reading hard
* Metaclass Magic
* do a check against the base class
* copy paste strikes again
* use option default instead of hardcoded "none". check locations and bosses aren't reused.
* throw dupe location error for lttp
* generic singularity support with a bool
* forgot to enable it for lttp
* better error handling
* PlandoBosses: fix inheritance of singularity
* Tests: PlandoBosses
* fix case insensitive tests
* Tests: cleanup PlandoBosses tests
* f in the chat
* oop
* split location into a different variable
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* pass the list of options as `option_list`
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
- Added bolded note that one must use a new file with each new seed
- Added troubleshooting section for when one didn't use a new file
- Worded compilation step 8 more explicitly
- Added link to compilation options list
- Added link to TextClient for using commands
* allow string defaults in yaml templates
* have default_converter handle strings
* handle all default values in the yaml
* allow for random range options
* yaml dump dicts
* strip the whities
* rip out the converter
* accidentally stripped the dicts
* goodbye readability
* hostRoom.css Changes
Makes the console be a scrollable object, for easier use with commands
* Update hostRoom.css
* Requested Change
Requested Change
* move output file name logic into core
I see the same logic with small variations in each different world implementation.
It seems to me, it would be better in the core to keep it consistent.
* missed a few
* remove review comment
* + smw
* double quote strings
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* revert change to DS3 output file name
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* ModuleUpdate: skip non-worlds
* ModuleUpdate: don't skip _* folders
- _* folders may be used for libraries
- this means to properly disable a world, it has to be renamed with a preceding `.`
- Added sections for console commands and known issues.
- Updated "Resuming" section to reflect current functionality.
- Removed implication that one might have to create the QMods folder. (If it's missing, then you've already messed up step 1.)
- Renamed "Connect Menu" to "connect form" to be less confusing. Generally fixed word capitalization to conform to standard English. Minor wording changes.
* 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
* core: fix options with "random" as default value not generating
when option is missing from the player yaml,
Using this in #893 and tested there.
* remove if
* OptionSets default to frozenset so handle that
* range had some specific instances of assuming default as a valid value so change this here to call the from_any
* isinstance instead of type
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>