* CounterOption
* bring back the negative exception for ItemDict
* Backwards compatibility
* ruff on witness
* fix in calls
* move the contains
* comment
* comment
* Add option min and max values for CounterOption
* Use min 0 for TrapWeights
* This is safe now
* ruff
* This fits on one line again now
* OptionCounter
* Update Options.py
* Couple more typing things
* Update Options.py
* Make StartInventory work again, also make LocationCounter theoretically work
* Docs
* more forceful wording
* forced line break
* Fix unit test (that wasn't breaking?)
* Add trapweights to witness option presets to 'prove' that the unit test passes
* Make it so you can order stuff
* Update macros.html
* region.add_event function
* Make it return the location bc why not
* Actually item bc that seems more useful
* Update BaseClasses.py
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* Update BaseClasses.py
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* add all the requested features from code review
* oop
* roughly sort args in order of importance (imo)
* Fix typing
---------
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* Core: deprecate old options API
* also deprecate assigning options via option_definitions
---------
Co-authored-by: alwaysintreble <mmmcheese158@gmail.com>
Basically, hints for itemlink worlds' locations get stored in ctx.hints under
1. the location's player
2. **every individual player** that is participating in the itemlink.
Right now, the updatehint code tries to replace and resend the hint under the itemlinked player, which doesn't work.
* Add fuzzy search box to Launcher.
* move func bind to the kv and prefer substring matching (#79)
* move the func bind to the kv
* prefer substr matching
* Remove fuzzy results, rely on substring only.
* Use early return instead of else.
* Add type hint to filter_clients_by_type.
* Activate search on keyboard input.
* Clear search box when filtering by type.
* Update Launcher.py
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
---------
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
#4239 refactored buildings, but introduced iteration of a set when precollecting the building items into start inventory.
The iteration order of sets varies between separate Python processes due to set order being partially based on the hashes of the objects in the set and because Python processes each have a random hash seed by default.
* Adds a new class allowing TextFields to be resized
* Resizes most CommonClient components to be more in-line with pre-KivyMD
* Change the color of SelectableLabels and TooltipLabels to white
* Fixed ClientTabs not correctly showing the current tab indicator
* The server label now features a (i) icon to indicate that it can be hovered over.
* Changed the default `primary_palette` to `Lightsteelblue` and the default `dynamic_scheme_name` to `VIBRANT`
* Properly set attributes on `KivyJSONToTextParser.TextColors` so that proper typing can be utilized if an individual value is needed
* Fixed some buttons being discolored permanently once pressed
* Sped up the animations of button ripples and tab switching
* Added the ability to insert a new tab to `GameManager.add_client_tab`
* Hovering over the "Command" button in CommonClient will now display the contents of `/help` as a popup (note: this popup can be too large on default height for adequately large /help (SC2 Client), but should always fit fine on fullscreen).
* Fixed invalid sizing of MessageBox errors, and changed their text color to white