* Add Start Inventory From Pool
Just as the title implies
* Update Options.py
Fix dataclass since I had just pulled changes from prior options.py without seeing if anythin had changed
* Update Options.py
One more time with feeling
* Update worlds/smz3/Options.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Introduce 'Hint Priority' concept
* fix error when sorting hints while not connected
* fix 'found' -> 'status' kivy stuff
* remove extraneous warning
this warning fired if you clicked to select or toggle priority of any hint, as you weren't clicking on the header...
* skip scanning individual header widgets when not clicking on the header
* update hints on disconnection
* minor cleanup
* minor fixes/cleanup
* fix: hints not updating properly for receiving player
* update re: review
* 'type() is' -> 'isinstance()'
* cleanup, re: Jouramie's review
* Change 'priority' to 'status', add 'Unspecified' and 'Avoid' statuses, update colors
* cleanup
* move dicts out of functions
* fix: new hints being returned when hint already exists
* fix: show `Found` properly when hinting already-found hints
* import `Hint` and `HintStatus` directly from `NetUtils`
* Default any hinted `Trap` item to be classified as `Avoid` by default
* add some sanity checks
* re: Vi's feedback
* move dict out of function
* Update kvui.py
* remove unneeded dismiss message
* allow lclick to drop hint status dropdown
* underline hint statuses to indicate clickability
* only underline clickable statuses
* Update kvui.py
* Update kvui.py
---------
Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* sm64ex: add option groups
* sm64ex: rename sanity options group to item options
* sm64ex: rename sanity options group to logic options
* sm64ex: seperate star costs from goal options and add entrance rando to logic options
* sm64ex: seperate ability options from logic options group
* Core: Fix playthrough only checking half of the sphere 0 items
The lists of precollected items were being mutated while iterating those
same lists, causing playthrough to skip checking half of the sphere 0
advancement items.
This patch ensures the lists are copied before they are iterated.
* Replace chain.from_iterable with two for loops for better clarity
Added a comment to `multiworld.push_precollected(item)` to explain that
it is also modifying `precollected_items`.
* Docs: Mention explicit_indirect_conditions
https://github.com/ArchipelagoMW/Archipelago/pull/3682
* Update world api.md
* Docs: "Menu" -> origin_region_name
https://github.com/ArchipelagoMW/Archipelago/pull/3682
* Update docs/world api.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update world api.md
* I just didn't do this one and then Medic approved it anyway LMAO
* Update world api.md
---------
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update mac_en.md
Updated the minimum version recommended to a version actually supported by AP.
* 3.13 is not in fact, supported.
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
---------
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Fix it so item linked locations are correct in slot data
* List -> Set
* Cache the locations instead
* Just loop the multiworld once
* Move it all to fill slot data and pretend we're doing a stage
* Move groups up so it doesn't loop over the multiworld locations if no item links are present
* Update worlds/tunic/__init__.py
Co-authored-by: Mysteryem <Mysteryem@users.noreply.github.com>
---------
Co-authored-by: Mysteryem <Mysteryem@users.noreply.github.com>
Reconnecting an act in a telescope to a time rift removes the entrances
to the time rift from its access regions because it will be accessible
from the telescope instead.
By doing so early on, as a starting act with insanity act randomizer or
as a plando-ed act, this can happen before the time rift itself has been
reconnected to an act or other time rift. In which case, when later
attempting to connect that time rift to an act or other time rift, the
entrances from the rift access regions will no longer exist, so must be
re-created. The original code was mistakenly re-creating the entrances
from the time rift being reconnected, instead of from the rift access
regions.
* Removes explicit indirect conditions
* Changes special rules function add rule instead of setting, and call it unconditionally
* Fixes issues in rule generation that have been around but unused the whole time
* Finally moves rules out into a separate file. Fixes level-related logic
* Removes redundant max skill level checks on canoes, since they're in the skill training rules now
* For some reason, canoe logic assumed you could always walk from lumbridge to south varrock without farms. This has been fixed
* Apply suggestions from code review
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Quests now respect skill limits and can be excluded. Tasks that take multiple skills how actually check all skills
* Adds alternative route for cooking that doesn't require fishing
* Remove debug code
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* Aquaria: Remove BaseException handling from create_item
Catching `BaseException` without re-raising the exception should almost
never be done because `BaseException` includes exit exceptions, such as
`SystemExit` and `KeyboardInterrupt`.
Ideally, the caught exception types should be as narrow as possible to
not mask bugs from catching unexpected exceptions. Having narrow
exception types can also help indicate to other developers what
exceptions are expected to be raisable by the code within the `try`
clause.
Similarly, the `try` clause should ideally contain the minimum code
necessary, to avoid masking bugs in the case that code within the `try`
clause that is not expected to raise an exception does so.
In this case, the only expected exception that can occur appears to be
`item_table[name]` that can raise a `KeyError` when `create_item()` is
passed an unexpected `name` argument. So this patch moves the other code
out of the `try` clause and changes the caught exception types to only
`KeyError`.
* Remove try-except
The KeyError that would be raised will be propagated as-is rather than
raising a new exception in its place.
* Remove extra newline
The original code did not have this newline, so it has been removed.
* change to persist all hints to ctx.hints regardless of found status
* remove if not found entirely as it seems like it was added to not double charge hint points
9842399d8b
* Add missing connection to the furnace entry by west garden
* Add missing connection to the furnace entry by west garden
* Add missing hard ls for ruined passage door
* Allow shield for LS
* Split PR into two
* Split PR into two
* Split PR into two
* Add dark tomb ice grapple through the wall
* move special cases to be outside strict
* Update text.py
* fix wily machine edge case, incorrect weapons, and time stopper failsafe
* bump world version
* weakness checking is inclusive
* Update __init__.py
* add air shooter to edge case validation