* Lingo: Add option to prevent shuffling postgame
* Allow roof access on door shuffle
* Fix broken unit test
* Simplified THE END edge case
* Revert unnecessary change
* Review comments
* Fix mastery unit test
* Update generated.dat
* Added player's name to error message
* [TLOZ]: Fix determinism / Add Location Name Groups / Remove Level 9 Junk Fill
Axing the final uses of world.multiworld.random that were missed before, hopefully fixing the determinism issue brought up in Issue #3664 (at least on TLOZ's end, leaving SMZ3 alone). Also adding location name groups finally, as well as axing the Level 9 Junk Fill because with the new location name groups players can choose to exclude Level 9 with exclude locations instead.
* location name groups
* add take any item and sword cave location name groups
* use sets like you're supposed to, silly
* update the addresses hopefully
* todo
* update address for steam and epic
* oops
* leftover hard address
* made auto tracking say which version of the game
* not needed anymore since they were updated
* FFMQ Efficiency improvement and use new options methods
* Hard check for 0x01 game status
* Fixes
* Why were Mac's Ship entrance hints excluded?
* Two remaining per_slot_randoms purged
* reformat generate_early
* Utils.parse_yaml
* Lingo: Add pilgrimage logic through Starting Room
* Added unit test
* Reverse order of two doors in unit test
* Remove print statements from TestPilgrimage
* Update generated.dat
* - Extracted walnut logic to a Mixin so it can be used in content pack requirements
* - Add 100 walnut requirements to the Queen of Sauce Cookbook
* - Woops a file wasn't added to previous commits
* - Make the queen of sauce cookbook a ginger island only thing, due to the walnut requirement
* - Moved the book in the correct content pack
* - Removed an empty class that I'm not sure where it came from
* make sure number of month is actually a int
* improve rule explain like in pr
* remove redundant if in can_complete_bundle
* assert number is int so cache is not bloated
Focus of the Update: Compatibility with Stardew Valley 1.6 Released on March 19th 2024
This includes randomization for pretty much all of the new content, including but not limited to
- Raccoon Bundles
- Booksanity
- Skill Masteries
- New Recipes, Craftables, Fish, Maps, Farm Type, Festivals and Quests
This also includes a significant reorganisation of the code into "Content Packs", to allow for easier modularity of various game mechanics between the settings and the supported mods. This improves maintainability quite a bit.
In addition to that, a few **very** requested new features have been introduced, although they weren't the focus of this update
- Walnutsanity
- Player Buffs
- More customizability in settings, such as shorter special orders, ER without farmhouse
- New Remixed Bundles
* Add hidden early symbol item option, make some unit tests
* Add early symbol item false to the arrows test
* I guess it's not an issue
* more tests
* assertEqual
* cleanup
* add minimum symbols test for all 3 modes
* Formatting
* Add more minimal beatability tests
* one more for the road
* I HATE THIS AAAAAAAAAAAHHHHHHHHHHH WHY DID WE GO WITH OPTIONS
* loiaqeäsdhgalikSDGHjasDÖKHGASKLDÖGHJASKLJGHJSAÖkfaöslifjasöfASGJÖASDLFGJ'sklgösLGIKsdhJLGÖsdfjälghklDASFJghjladshfgjasdfälkjghasdöLfghasd-kjgjASDLÖGHAESKDLJGJÖsdaLGJHsadöKGjFDSLAkgjölSÄDghbASDFKGjasdLJGhjLÖSDGHLJASKDkgjldafjghjÖLADSFghäasdökgjäsadjlgkjsadkLHGsaDÖLGSADGÖLwSdlgkJLwDSFÄLHBJsaöfdkHweaFGIoeWjvlkdösmVJÄlsafdJKhvjdsJHFGLsdaövhWDsköLV-ksdFJHGVöSEKD
* fix imports (within apworld needs to be relative)
* Update worlds/witness/options.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Sure
* good suggestion
* subtest
* Add some EP shuffle unit tests, also an explicit event-checking unit test
* add more tests yay
* oops
* mypy
* Update worlds/witness/options.py
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Collapse into one test :(
* More efficiency
* line length
* More collapsing
* Cleanup and docstrings
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Clean these functions up, get the hell out of here 5 parameter function
* Clean up a bunch of rules that no longer need to be multi-lined since the functions are shorter
* Clean up some range functions
* Update to use world instead of player like Vi recommended
* Fix merge conflict
* Fix after merge
* Change 'The Body main area' by 'The Body center area' for consistency
* Renaming some locations for consistency
* Adding a line for standard
* Replacing Cathedral by Mithalas Cathedral and addin Blind goal option
* Client option renaming for consistency
* Fix death link not working
* Removing death link from the option to put it client side
* Changing Left to Right
* Make witness apworld mostly pass mypy
* Fix all remaining mypy errors except the core ones
* I'm a goofy stupid poopoo head
* Two more fixes
* ruff after merge
* Mypy for new stuff
* Oops
* Stricter ruff rules (that I already comply with :3)
* Deprecated ruff thing
* wait no i lied
* lol super nevermind
* I can actually be slightly more specific
* lint
* Add note about bushes to logic section of readme
* Fix missing logic on bridge switch chest in upper zig
* Revise upper zig rule change to account for ER
* Add imo all needed options to fill_slot_data that are worth tracking in the poptracker pack. This is aimed at providing information for the oot poptracker-pack for autofilling of settings within this pack.
* cap line length at 120 and reorganize list
---------
Co-authored-by: StripesOO7 <54711792+StripeesOO7@users.noreply.github.com>
* Updated the options definitions to the new api
* Fixed the wrong base class being used for UndertaleOptions
* Undertale: Added get_filler_item_name to Undertale, changed multiworld.per_slot_randoms to self.random, removed some unused imports in options.py, and fixed rules.py still using state.multiworld instead of world.options, and simplified the set_completion_rules function in rules.py
* Undertale: Fixed it trying to add strings to the finished item pool
* fixed 1000g item not being in the key items pool for Undertale
* Removed ".copy()" for the junk_weights, reformatted the requested lines to have less new lines, and changed "itempool += [self.create_filler()]" to "itempool.append(self.create_filler())"
* Change setup_en.md to use Latest releases page
Really simple change to point users to the Latest release page instead of the Releases page. Saw a user accidentally download 0.3.6 because it was the last item on the page (they're accustomed to scrolling down to the bottom of the page in GitHub for the Assets section), and this change prevents that outright.
* Update setup_en.md
Rewrite text and link to restore semantic compatibility.
for doom 2, some of the armor and health weights were nudged down
to compensate for the addition of the megasphere
for heretic, the torch was just added without changing anything else,
as I felt doing so would negatively impact the distribution of
artifacts (and personally I already feel there's too few in a game)
Added require_pokedex, blind_trainers, and area_1_to_1 mapping, which would be helpful to the poptracker packs to accurately reflect the checks available to players.
* Render option documentation as reStructuredText in the WebView
This means that options can use the standard Python documentation
format, while producing much nicer-looking documentation in the
WebView with things like emphasis, lists, and so on.
* Opt existing worlds out of rich option docs
This avoids breaking the rendering of existing option docs which were
written with the old plain text rendering in mind, while also allowing
new options to default to the rich text rendering instead.
* Use reStructuredText formatting for Lingo Options docstrings
* Disable raw and file insertion RST directives
* Update doc comments per code review
* Make rich text docs opt-in
* Put rich_text_options_doc on WebWorld
* Document rich text API
* Code review
* Update docs/options api.md
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Update Options.py
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
---------
Co-authored-by: Chris Wilson <chris@legendserver.info>
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
Previously, this crashed because `typing.NamedTuple` fields such as
`group.name` aren't assignable. Now it will only fail for group names
that are actually incorrectly cased, and will fail with a better error
message.
* client: Added command history access with up/down and command echo in common client
* client: Changed command echo colour to orange
* client: removed star import from typing
* client: updated code style to match style guideline
* client: adjusted ordering of calling parent constructor in command prompt input constructor
* client: Fixed issues identified by beauxq in PR; fixed some typing issues
* client: PR comments; replaced command history list with deque
* Core: hot reload components from installed apworld
* address PR reviews
`Launcher` widget members default to `None` so they can be defined in `build`
`Launcher._refresh_components` is not wrapped
loaded world goes into `world_sources` so we can check if it's already loaded.
(`WorldSource` can be ordered now without trying to compare `None` and `float`)
(don't load empty directories so we don't detect them as worlds)
* clarify that the installation is successful
* A Short Hike: New options and stuff
* Add to slot data for poptracker
* Address concerns
* Address concerns
* Fix indentations
* Update option description
* Address all issues
* Group "or"s
There was a bug that made lots of flashing terrain if a game over happened in certain places.
(And this could be dangerous for people sensitive to flashing lights.)
There was also a bug with a bad sound effect after a game over.
* Ensure that included/starter songs only include those within enabled dlcs.
* Allow filtering traps by trap instead of by category.
* Add in the currently available limited time dlcs to the dlc list.
* Add the option group to the webhost and cleanup some errors.
* Fix trap list.
* Update tests. Add new ones to test correctness of new features.
* Remove the old Just As Planned option
* Make traps order alphabetically. Also adjust the title for traps.
* Adjust new lines to better fit the website.
* Style fixes.
* Test adjustments and a fix due to test no longer having just as planned dlc.
* Undo spacing changes as it breaks yaml generation.
* Fix indenting in webhost.
* Add the old options in as removed. Also clean up unused import.
* Remove references to the old allow_just_as_planned_dlc_songs option in Muse Dash tests.
* Add newline to end of file.
---------
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* duh
* Fuck it
* Major fixes
* a
* b
* Even more fixes
* New option - NoFreeRoamFinale
* a
* Hat Logic Fix
* Just to be safe
* multiworld.random to world.random
* KeyError fix
* Update .gitignore
* Update __init__.py
* Zoinks Scoob
* ffs
* Ruh Roh Raggy, more r-r-r-random bugs!
* 0.9b - cleanup + expanded logic difficulty
* Update Rules.py
* Update Regions.py
* AttributeError fix
* 0.10b - New Options
* 1.0 Preparations
* Docs
* Docs 2
* Fixes
* Update __init__.py
* Fixes
* variable capture my beloathed
* Fixes
* a
* 10 Seconds logic fix
* 1.1
* 1.2
* a
* New client
* More client changes
* 1.3
* Final touch-ups for 1.3
* 1.3.1
* 1.3.3
* Zero Jumps gen error fix
* more fixes
* Formatting improvements
* typo
* Update __init__.py
* Revert "Update __init__.py"
This reverts commit e178a7c0a6904ace803241cab3021d7b97177e90.
* init
* Update to new options API
* Missed some
* Snatcher Coins fix
* Missed some more
* some slight touch ups
* rewind
* a
* fix things
* Revert "Merge branch 'main' of https://github.com/CookieCat45/Archipelago-ahit"
This reverts commit a2360fe197e77a723bb70006c5eb5725c7ed3826, reversing
changes made to b8948bc4958855c6e342e18bdb8dc81cfcf09455.
* Update .gitignore
* 1.3.6
* Final touch-ups
* Fix client and leftover old options api
* Delete setup-ahitclient.py
* Update .gitignore
* old python version fix
* proper warnings for invalid act plandos
* Update worlds/ahit/docs/en_A Hat in Time.md
Co-authored-by: Danaël V. <104455676+ReverM@users.noreply.github.com>
* Update worlds/ahit/docs/setup_en.md
Co-authored-by: Danaël V. <104455676+ReverM@users.noreply.github.com>
* 120 char per line
* "settings" to "options"
* Update DeathWishRules.py
* Update worlds/ahit/docs/en_A Hat in Time.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* No more loading the data package
* cleanup + act plando fixes
* almost forgot
* Update Rules.py
* a
* Update worlds/ahit/Options.py
Co-authored-by: Ixrec <ericrhitchcock@gmail.com>
* Options stuff
* oop
* no unnecessary type hints
* warn about depot download length in setup guide
* Update worlds/ahit/Options.py
Co-authored-by: Ixrec <ericrhitchcock@gmail.com>
* typo
Co-authored-by: Ixrec <ericrhitchcock@gmail.com>
* Update worlds/ahit/Rules.py
Co-authored-by: Ixrec <ericrhitchcock@gmail.com>
* review stuff
* More stuff from review
* comment
* 1.5 Update
* link fix?
* link fix 2
* Update setup_en.md
* Update setup_en.md
* Update setup_en.md
* Evil
* Good fucking lord
* Review stuff again + Logic fixes
* More review stuff
* Even more review stuff - we're almost done
* DW review stuff
* Finish up review stuff
* remove leftover stuff
* a
* assert item
* add A Hat in Time to readme/codeowners files
* Fix range options not being corrected properly
* 120 chars per line in docs
* Update worlds/ahit/Regions.py
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* Update worlds/ahit/DeathWishLocations.py
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* Remove some unnecessary option.class.value
* Remove data_version and more option.class.value
* Update worlds/ahit/Items.py
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* Remove the rest of option.class.value
* Update worlds/ahit/DeathWishLocations.py
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* review stuff
* Replace connect_regions with Region.connect
* review stuff
* Remove unnecessary Optional from LocData
* Remove HatType.NONE
* Update worlds/ahit/test/TestActs.py
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
* fix so default tests actually don't run
* Improve performance for death wish rules
* rename test file
* change test imports
* 1000 is probably unnecessary
* a
* change state.count to state.has
* stuff
* starting inventory hats fix
* shouldn't have done this lol
* make ship shape task goal equal to number of tasksanity checks if set to 0
* a
* change act shuffle starting acts + logic updates
* dumb
* option groups + lambda capture cringe + typo
* a
* b
* missing option in groups
* c
* Fix Your Contract Has Expired being placed on first level when it shouldn't
* formatting
* major logic bug fix for death wish
---------
Co-authored-by: Danaël V. <104455676+ReverM@users.noreply.github.com>
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
Co-authored-by: Ixrec <ericrhitchcock@gmail.com>
Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>