* Core: lazy-load worlds in unpickler
this should hopefully fix customserver's memory consumption
* WebHost: move imports around to save memory in MP
* MultiServer: prefer loading _speedups without pyximport
This saves ~15MB per MP and speeds up module import if it was built in-place.
* Tests: fix tests for changed WebHost imports
* CustomServer: run GC after setup
* CustomServer: cleanup exception handling
Migrates SC2 WoL world to the new mod with new items and locations. The new mod has a different architecture making it more future proof (with planned adding of other campaigns). Also gets rid of several old bugs
Adds new short game formats intended for sync games (Tiny Grid, Mini Gauntlet). The final mission isn't decided by campaign length anymore but it's configurable instead. Allow excluding missions for Vanilla Shuffled, corrected some documentation.
NOTE: This is a squashed commit with Salz' HotS excluded (not ready for the release and I plan multi-campaign instead)
---------
Co-authored-by: Matthew <matthew.marinets@gmail.com>
* Support multi-select during check/generate file upload
This will allow the user to select multiple YAML files via Shift-Click
or Control-Click in their browser when generating a game via the site
instead of having to zip them locally first.
* Update generate.html: File -> File(s)
* Change check.html button text to "Upload File(s)" to match generate.html
* rework main ap setup guide
* review updates
* add blurb about re-opening rooms and user-content
* more review suggestions
* remove dead links. Windows blurb
* Change default spoiler-option in WebHostLib/generate.py to 3 instead of 0
* shifting spoiler-default to the JS calls instead of setting it in generate.py
---------
Co-authored-by: StripesOO7 <54711792+StripeesOO7@users.noreply.github.com>
* Restore "random" option to weighted-settings, adjust capitalization of hardcoded settings
* Set default value as "random" for Choice, TextChoice, and Toggle options with no default value
* Add support for items-list, locations-list, and custom-list option types to weighted-settings
* Fix subclass detection for `items-list`, `locations-list`, and `custom-list` in weighted-settings
* Move specially handled options alongside each other in the UI, and split them into logical groupings
* Fix header text and location for Priority an Exclusion locations
* Add universally supported "random" option to `Choice` and `TextChoice` options in weighted-settings
* Update description text for exclusion items to clarify they also prevent helpful items.
* Be technically correct and call them `useful` items.
* Fix a bug causing weighted-settings UI to incorrectly display range values with no default as having a value of 25.
* Do not set min and max values of range options to zero by default. This causes clutter in saved `.yaml` files.
* [WebHost] Unify styles for popover and mobile menus. Adjust popover menu to function the same as the mobile menu, and toggle via JS.
* Remove class `first-link` in favor of CSS `:first-child`.
* Adjust mobile menu link font size and padding. Change wording of popover trigger text. Add border-right to popover menu. Change "Upload Host File" to "Host Game"
* Change mobile menu text to "Host Game"
* Change archipelago mod download page
* Docs: change connecting to archipelago in RoR2 setup guide
* dropdowns for links
* change some relative sizing
* change links and reorder links
* dropdowns for links
* change some relative sizing
* change links and reorder links
* mobile view was showing on desktop early
* add in missing relative font sizes
* clean up and add a temp downdown img
* move links around
* added cloud border
* move arrow to the left side
* Improve mobile styles for WebHost
- Mobile view works properly on mobile Chrome and Firefox
- Added thin-window view for desktop browsers that have been reduced in size
- Tested in Chrome and Firefox on mobile and desktop
* Improve style for small-width desktop popover
* Timespinner: added RisingTides and DadPercent flags
* Implemented logic for DadPercent and RisingTides
* Fixed TODO's
* Logic fixes
* Fixed + removed LogicMixins
* Fixes
* More Fixes
* Added UnchainedKeys flag
* Fixed available items in pool with UnchainedKeys
* Fixed typing callable
* Fixed generation failures
* More refactorings
* Implemented traps
* Fixed more typo
* Fixed copy paste bug
* Fixed teleporter logic
* Fixed traps from pool
* Fixed pyramid gates bug that causes a crash on connecting
* Fixed seed reproduceability
* Fixed logic eye for eye spy
Now consider warp beacons as starter progression items
* Attempt to add tracker icons using table
* Replaced table layout with css grid
* Fixed tracker + added Timespinner was apworld capatible
* Updated archipelago items description
* updated URL
* Cleared up text
* Fixed based on self review of PR
* Fixed unit tests
* Fixed seed reproduceability when the traps yaml option is not provided
* Fixed logic for flooded basement
* Implemented Beserkers review result
I am not sure why, i guess this is just to make adding future games less conflicting?
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
* Added two new options (thanks to WeffJebster)
* Apply suggestions from code review
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Addition review results
---------
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* WebHost: Tweaks to search on tracker pages
- Pressing `Ctrl+F` or `/` now focuses the search box.
- Typing now automatically focuses the search box.
- Pressing `Escape` now clears the search and scrolls to the top.
* WebHost/Trackers: Focus search box on load
* WebHost/Trackers: Remove overriding of Ctrl+F and /
* oot: repair closed forest + dungeon ER
* oot: finally skip triforce pieces in balancing
* oot: fix mq_dungeons_mode set to mq or count
* oot: force 0.3.7 client
hopefully this makes people update
* oot: temp fix for skip-child-zelda crash
eventually I want to decide on a better fix for this though
* oot: remove skip-child-zelda item inside if tree
* oot: fix classification of some thieves hideout locations in tracker
* oot: fix regional shuffle for hideout keys and ganon boss key
* oot: properly attach hints to dungeon locations
* Fix entrance shuffle flag not being set correctly due to new dungeon shuffle option format
* Webhost: rename all references to forfeit and deprecate it
* needed some renames in multiserver for all the commands to function
* remove forfeit commands
* support forfeit_mode for clients
* rename `forfeit_player` to `release_player`
## What is this fixing or adding?
- Adds the majority of OoTR 7.0 features:
- Pot shuffle, Freestanding item shuffle, Crate shuffle, Beehive shuffle
- Key rings mode
- Dungeon shortcuts to speed up dungeons
- "Regional" shuffle for dungeon items
- New options for shop pricing in shopsanity
- Expanded Ganon's Boss Key shuffle options
- Pre-planted beans
- Improved Chest Appearance Matches Contents mode
- Blue Fire Arrows
- Bonk self-damage
- Finer control over MQ dungeons and spawn position randomization
- Several bugfixes as a result of the update:
- Items recognized by the server and valid starting items are now in a 1-to-1 correspondence. In particular, starting with keys is now supported.
- Entrance randomization success rate improved. Hopefully it is now at 100%.
Co-authored-by: Zach Parks <zach@alliware.com>
* WebHost: save datatables state
* WebHost: Fix DataTables local storage keys.
Co-authored-by: recklesscoder <57289227+recklesscoder@users.noreply.github.com>
* WebHost: On uploads, infer player name if missing in file name.
* Remove conditional logic for not including player name in file name.
* quick readability tweak to "fix"
* Refactored `upload_zip_to_db` to clean up redundancies and fix issues
* Rename `patches` to `files`
* fix comment
* WebHost: Remove "Random" as an option and move to separate button in …
* Merge branch 'main' into randomize-button
* Tweaked color and changed text of tooltip.
* Merge branch 'main' into randomize-button
* Fix wrapping too early if docstring is within 120 characters and re-indent other lines.
* Remove auto-word wrapping and tweaked all worlds' option docstrings formatting.
Options should wrap around the 120 character mark to prevent template files from being too long horizontally. This also allows manual-indentation to work again.
* Fix missing '#' on empty lines in output from docstring.