* Docs: Don't serve non-static files in example_nginx.conf
`try_files` will serve the file as long as it exists, which means I could `GET /autolauncher.py` and be served the file.
* Use root instead of alias, add route for favicon
* Update deploy/example_nginx.conf
* fix(undertale): prevent massive bounce msg spam for position updates
* make sure player is removed on leaving / timing out
* do not check for tags: online, as bounce evaluation is or'd
* Core: Better scaling explicit indirect conditions
When the number of connections to retry was large and `queue` was large
`new_entrance not in queue` would get slow.
For the average supported world, the difference this change makes is
negligible.
For a game like Blasphemous, with a lot of explicit indirect conditions,
generation of 10 template Blasphemous yamls with
`--skip_output --seed 1` and progression balancing disabled went from
19.0s to 17.9s (5.9% reduction in generation duration).
* Create a new variable for the new set created from the intersection
HK's `get_filler_item_name` was writing lists into a ClassVar[dict] on
the `HKWorld` class. This dict would not be cleaned out between
generations on the same process, leaving behind cached data from
previous generations.
I confirmed the issue when running single-slot generations on a local
webhost, where `self.cached_filler_items` could be already populated
during `HKWorld.__init__()`.
This has been fixed by putting an individual cache list on each HKWorld
instance, instead of a shared cached on the class.
`music_table` was initialized on the `SavingPrincessWorld` *class*, so
was being shared by each Saving Princess slot in the multiworld.
This has been fixed by initializing the `music_table` attribute on each
`SavingPrincessWorld` *instance* in `generate_early()` instead.
### Logic Fixes:
- Old Site A
- Logic now allows for going backwards from the `Awake` checkpoint
- Golden Ridge A
- `Golden Strawberry` now requires `Moving Platforms` as it should
- Mirror Temple A
- `Room b-01c Strawberry` and `Room b-10 Strawberry` no longer erroneously require `Red Boosters`
- `Golden Strawberry` now requires `Dash Refills` as it should
- Reflection A
- Logic now allows for going backwards from the `Reflection` checkpoint
- Reflection B
- Logic now allows for going backwards from the `Reflection` checkpoint
- Farewell
- `Power Source Key 2` now logically requires `Dash Switches` and `Double Dash Refills` as it should
* move `gui_enabled` to Utils
* docstring
* If a user specified no-gui, don't use GUI messageboxes
---------
Co-authored-by: alwaysintreble <mmmcheese158@gmail.com>
* CI: make the comment in 'Build' more verbose
* Doc: add Linux running from source and build instructions
* Doc: fix name in running from source on Linux
* Update docs/running from source.md
Co-authored-by: qwint <qwint.42@gmail.com>
---------
Co-authored-by: qwint <qwint.42@gmail.com>
First, there is one check that has been added. The location is "Sitting on the throne before the cathedral with the crest on it" and the item is the "Opening of the Cathedral door". In Vanilla, sitting on the crested throne open the door to the cathedral.
Now for the options added:
- infinite_hot_soup: Make the game impossible to run out of hot soup once you got it as an item.
- open_body_tongue: The body level (the ending level) is blocked by a big tongue. This option remove the tongue without having to go to the Sunken City (where it is normally removed)
- maximum_ingredient_amount: In the Vanilla game, the ingredients and dishes count is limited to 8. This option make this count configurable.
- skip_final_boss_3rd_form: The final boss has 5 forms. The 3rd one is long and not really challenging. So, this option is used to skip this form.
- save_healing: Normally, the save points heal the player. There is also beds in the game that can heal the player. This option removed the healing from the save point and forced the player to heal using beds (or healing monsters or healing items)
- no_progression_(whatever): Make this "whatever" (generally regions) exempt of progression items. Note that this is not using the exclusion-feature of AP, as these locations may still contain 'Useful' items. It is only guaranteed that no 'Progression' and 'Progression_Skip_Balancing'-items will appear in these regions. This option does not remove locations. I did not exclude or completely remove the regions because I don't have enough location to put every useful item in the game.
There is also 2 new goals:
- Four gods: The goal is obtained when the player beat the four gods (this is something like half the game). Useful to have quicker runs
- Gods and Creator: Like the Four Gods run, but when the four gods are obtained, that open a transportation turtle to the final boss (the Creator) and the player have to beat the final boss to obtain the goal.
Note that for the 2 new goals, all locations from the last 4 areas (Abyss, Frozen Veil, Sunken City and The Body) are completely removed (not just excluded).