* Timespinner: Add "no hell spiders" enemy rando option that is present in upstream settings
* Timespinner: Prism Break support tweaks (including tracker support)
* Timespinner: Add support for upstream Lock Key Amadeus flag
* Timespinner: Add support for upstream Risky Warps flag
* Timespinner: Add support for upstream Pyramid Start flag
* Timespinner: fix error in lab connectivity logic
* Timespinner: use has_all to simplify one check
Per PR suggestion.
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Timespinner: fix apparent logic error inherited from in-rando logic
* Timespinner: adjust "Origins" location logic slightly further to account for a Risky Warps case
* Timespinner: remove the backward compat options for the recent flag additions
* Timespinner: add newly added Gate Keep option from rando
* Timespinner: adjust the laser access colours in the tracker
* Timespinner: fix an item description in the tracker
* Timespinner: based on testing feedback, put Laser Access items in their own category
* Timespinner: add support for new upstream flag Royal Roadblock
* Timespinner: also ensure the new flag gets put in slot data
* Timespinner: fix bug in universal tracker support indicating castle basement is accessible at the lower Rising Tides flooding level
* Timespinner: exclude Talaria Attachment and Timespinner Wheel from pyramid start starter progression items
* Timespinner: fix region logic for the left pyramid warp
* Timespinner: fix main Gyre access logic when Risky Warps warps you behind the lasers
* Timespinner: apply suggested spacing fix
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
---------
Co-authored-by: sgrunt <sgrunt1987@gmail.com>
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Core: warn if a yaml is empty
* WebHost: ignore empty yaml
Generate: log which yaml documents are empty
* Actually remove empty yamls from weight_cache
* More verbose variable name
---------
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* Also makes adjustments to the style for these slots by italicizing its names (including multi-tracker).
* Player-specific trackers do not link to ItemLink player trackers (they do not exist).
* Fixes a bug on Factorio multi-tracker when item links exist.
* WebHost: use new safe yaml template filename
this mirrors the change in ArchipelagoMW/#4106 in WebHost
* WebHost: install docs into safe filename and require docs to be named safe
* Test: update doc test for safe name
* WebHost: fix import order to not break ModuleUpdate
Previously, because `default(..., true)` only checks if the
left-hand-side is falsey, not just `None`, this always forced options
to render in non-rich mode if they were explicitly set to
`rich_text_doc = None`. Now it matches the intended and documented
behavior, where `None` falls back to the world's
`rich_text_options_doc` setting.
* WebHost: restore fragment links for glossary and faq
such as /faq/en/#what-does-multi-game-mean
* WebHost: faq, glossary: make markdown titles clickable
* WebHost: reduce precision and optimize header-logo.svg
technically those files will not produce an identical output when rendered
however the difference is virtually impossible to see even when rendered to w=4096
* WebHost: keep original svg
* make yaml_output arg a bool instead of number
* make yaml_output dump all player options as csv
* it sorts by game so swap those columns
* capitalize game and name headers
* use a list and just add an if before adding instead of sorting
* skip options that the world doesn't want displayed
* check if the class is a subclass of Removed specifically instead of the none flag
* don't create empty rows
* add a header for every game option that isn't from the common ones even if they have the same name
* add to webhost gen args so it can still gen
* WebHost: add spinner to room command
and show error message if fetch fails due to NetworkError
* WebHost: don't update room log while tab is inactive
* WebHost: don't include log for automated requests
* WebHost: refresh room also for re-spinups
and do that from javascript
* Test, WebHost: send fake user-agent where required
* WebHost: remove wrong comment in host room
* Core: have webhost slot name links go through the launcher so that components can use them
* fix query handling, remove debug prints, and change mousover text for new behavior
* remove a missed debug and unused function
* filter room id to suuid since that's what everything else uses
* pass args to common client correctly
* add GUI to select which client to open
* remove args parsing and "require" components to parse it themselves
* support for messenger since it was basically already done
* use "proper" args argparsing and clean up uri handling
* use a timer and auto launch text client if no component is found
* change the timer to be a bit more appealing. also found a bug lmao
* don't hold 5 hostage and capitalize URI ig
---------
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>