- The Shane and Sebastian Portrait filler items werent tagged properly.
- The Beach Farm adds one secretsanity check, so it needs to be in the allsanity preset
- The Allsanity preset is renamed to "Maxsanity" to encourage better defined terminology and Allsanity means something else
- The "All Random" preset has been removed entirely. It has been the cause of too many beginner footguns over the years. People can still achieve the effect manually, but at least they'll have to try a little bit to ruin their own experience.
* CI: reduce default permissions to minimum
* CI: update pin actions
Most of them. CodeQL and action-gh-release is untouched for now.
Immutable actions and actions/* are pinned to version,
other actions are pinned to hash.
* CI: make use of archive: false in upload-artifact
also set compression level and error behavior for scan-build upload.
* CI: update codeql and enable scanning actions
* Import Buffer from typing_extensions instead of collections.abc for 3.11 compat
* always re-set sound volumes before playing
* fix game window scaling if parent is vertical
* make default volume lower
* - Improved the dynamic locations count algorithm to take into account the nature of various heavy settings in both directions
* - Fixes from Code Review
* - We're only testing for sunday locations, might as well only take sunday locations in the list to test
* - One more slight optimization
* - Added consideration for bundles per room in filler locations counting
* - Registered some more IDs to handle items up to 10
* - Fixed the Dr Seuss Bundle asking for tigerseye (mineral) instead of tiger trout (fish)
* - Made blue grass starter more consistent
* - Fragments of the past does not rely on ginger island
* - Removed legacy hard coded strange bun recipe that messed with chefsanity logic
The include_songs option is an OptionSet, whose value is a set, but was being iterated to produce self.included_songs. Sets are unordered and may have a different iteration order each time a python process is run. This meant that the order of the elements in self.included_songs could differ even when generating with a fixed seed.
This caused nondeterministic generation with the same seed because create_song_pool() deterministically randomly picks songs from self.included_songs, which could be in a different order each time, so different songs could be picked.
When CasualBounties was enabled, the location names in
`exclusion_table["HitlistCasual"]` would be iterated into
`self.random_super_boss_list` in `generate_early`, but
`exclusion_table["HitlistCasual"]` was a `set`, so its iteration order
would vary on each generation, even with same seed.
Random location names would be picked from `self.random_super_boss_list`
to place Bounty items at, so different locations could be picked on each
generation with the same seed.
`exclusion_table["Hitlist"]` is similar and was already a `list`,
avoiding the issue of nondeterministic iteration order, so
`exclusion_table["HitlistCasual"]` has been changed to a `list` to
match.
* Update plando_en.md with item group example
Added example YAML block for item placement using an item group, including recommendation of use of `true` value with item groups to avoid unintended behaviors, with an example of the same. Adjustments more than welcome!
* Made clarifying revision to description of Generator handling of item groups
Clarified the behavior of the Generator regarding item creation when item groups are used in plando.