Gives WebHost the ability to verify that a patch file is an APPlayerContainer (defined by #4331 as a APContainer containing the "player" field), and allowed it to display any patch file that it can verify is an APPlayerContainer.
- Players and AI can sacrifice their own units and upload them to the multiworld.
- Players and AI can summon random units from the multiworld.
- Has 4 new separate options for how many sacrifices and summons either the player or the AI can make per level attempt.
- New /sacrifice_summon command to toggle sacrifices and summons on/off. Useful if the AI makes a level impossible with their summons.
- Linux Support.
- Is an apworld now.
---------
Co-authored-by: Raspberry Floof <raspberry@rosenthalcastle.org>
Co-authored-by: KScl <ks@rosenthalcastle.org>
Co-authored-by: Abigail Fox <Raspberryfloof@users.noreply.github.com>
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
The DS3 static randomizer uses the relative ordering of location names
to map between Archipelago's notion of location IDs and the static
randomizer's. Treating unrandomized locations as excluded can break this
behavior by removing some locations from the list, causing further
locations to be incorrectly assigned.
The only reason this wasn't a bigger problem up to this point was that
location order only matters on a per-region and per-item basis. That
means this only causes problems in practice when a single region has
multiple locations with the same default item, and some of those
locations are randomized while others are not. Since exclusions (and
thus randomization) are usually done based on item types, we managed to
dodge this bullet for a long time.
* Jak 1: Initial commit: Cell Locations, Items, and Regions modeled.
* Jak 1: Wrote Regions, Rules, init. Untested.
* Jak 1: Fixed mistakes, need better understanding of Entrances.
* Jak 1: Fixed bugs, refactored Regions, added missing Special Checks. First spoiler log generated.
* Jak 1: Add Scout Fly Locations, code and style cleanup.
* Jak 1: Add Scout Flies to Regions.
* Jak 1: Add version info.
* Jak 1: Reduced code smell.
* Jak 1: Fixed UT bugs, added Free The Sages as Locations.
* Jak 1: Refactor ID scheme to better fit game's scheme. Add more subregions and rules, but still missing one-way Entrances.
* Jak 1: Add some one-ways, adjust scout fly offset.
* Jak 1: Found Scout Fly ID's for first 4 maps.
* Jak 1: Add more scout fly ID's, refactor game/AP ID translation for easier reading and code reuse.
* Jak 1: Fixed a few things. Four maps to go.
* Jak 1: Last of the scout flies mapped!
* Jak 1: simplify citadel sages logic.
* Jak 1: WebWorld setup, some documentation.
* Jak 1: Initial checkin of Client. Removed the colon from the game name.
* Jak 1: Refactored client into components, working on async communication between the client and the game.
* Jak 1: In tandem with new ArchipelaGOAL memory structure, define read_memory.
* Jak 1: There's magic in the air...
* Jak 1: Fixed bug translating scout fly ID's.
* Jak 1: Make the REPL a little more verbose, easier to debug.
* Jak 1: Did you know Snowy Mountain had such specific unlock requirements? I didn't.
* Jak 1: Update Documentation.
* Jak 1: Simplify user interaction with agents, make process more robust/less dependent on order of ops.
* Jak 1: Simplified startup process, updated docs, prayed.
* Jak 1: quick fix to settings.
* Jak and Daxter: Implement New Game (#1)
* Jak 1: Initial commit: Cell Locations, Items, and Regions modeled.
* Jak 1: Wrote Regions, Rules, init. Untested.
* Jak 1: Fixed mistakes, need better understanding of Entrances.
* Jak 1: Fixed bugs, refactored Regions, added missing Special Checks. First spoiler log generated.
* Jak 1: Add Scout Fly Locations, code and style cleanup.
* Jak 1: Add Scout Flies to Regions.
* Jak 1: Add version info.
* Jak 1: Reduced code smell.
* Jak 1: Fixed UT bugs, added Free The Sages as Locations.
* Jak 1: Refactor ID scheme to better fit game's scheme. Add more subregions and rules, but still missing one-way Entrances.
* Jak 1: Add some one-ways, adjust scout fly offset.
* Jak 1: Found Scout Fly ID's for first 4 maps.
* Jak 1: Add more scout fly ID's, refactor game/AP ID translation for easier reading and code reuse.
* Jak 1: Fixed a few things. Four maps to go.
* Jak 1: Last of the scout flies mapped!
* Jak 1: simplify citadel sages logic.
* Jak 1: WebWorld setup, some documentation.
* Jak 1: Initial checkin of Client. Removed the colon from the game name.
* Jak 1: Refactored client into components, working on async communication between the client and the game.
* Jak 1: In tandem with new ArchipelaGOAL memory structure, define read_memory.
* Jak 1: There's magic in the air...
* Jak 1: Fixed bug translating scout fly ID's.
* Jak 1: Make the REPL a little more verbose, easier to debug.
* Jak 1: Did you know Snowy Mountain had such specific unlock requirements? I didn't.
* Jak 1: Update Documentation.
* Jak 1: Simplify user interaction with agents, make process more robust/less dependent on order of ops.
* Jak 1: Simplified startup process, updated docs, prayed.
* Jak 1: quick fix to settings.
* Jak and Daxter: Genericize Items, Update Scout Fly logic, Add Victory Condition. (#3)
* Jak 1: Update to 0.4.6. Decouple locations from items, support filler items.
* Jak 1: Total revamp of Items. This is where everything broke.
* Jak 1: Decouple 7 scout fly checks from normal checks, update regions/rules for orb counts/traders.
* Jak 1: correct regions/rules, account for sequential oracle/miner locations.
* Jak 1: make nicer strings.
* Jak 1: Add logic for finished game. First full run complete!
* Jak 1: update group names.
* Jak and Daxter - Gondola, Pontoons, Rules, Regions, and Client Update
* Jak 1: Overhaul of regions, rules, and special locations. Updated game info page.
* Jak 1: Preparations for Alpha. Reintroducing automatic startup in client. Updating docs, readme, codeowners.
* Alpha Updates (#15)
* Jak 1: Consolidate client into apworld, create launcher icon, improve setup docs.
* Jak 1: Update setup guide.
* Jak 1: Load title screen, save states of in/outboxes.
* Logging Update (#16)
* Jak 1: Separate info and debug logs.
* Jak 1: Update world info to refer to Archipelago Options menu.
* Deathlink (#18)
* Jak 1: Implement Deathlink. TODO: make it optional...
* Jak 1: Issue a proper send-event for deathlink deaths.
* Jak 1: Added cause of death to deathlink, fixed typo.
* Jak 1: Make Deathlink toggleable.
* Jak 1: Added player name to death text, added zoomer/flut/fishing text, simplified GOAL call for deathlink.
* Jak 1: Fix death text in client logger.
* Move Randomizer (#26)
* Finally remove debug-segment text, update Python imports to relative paths.
* HUGE refactor to Regions/Rules to support move rando, first hub area coded.
* More refactoring.
* Another refactor - may squash.
* Fix some Rules, reuse some code by returning key regions from build_regions.
* More regions added. A couple of TODOs.
* Fixed trade logic, added LPC regions.
* Added Spider, Snowy, Boggy. Fixed Misty's orbs.
* Fix circular import, assert orb counts per level, fix a few naming errors.
* Citadel added, missing locs and connections fixed. First move rando seed generated.
* Add Move Rando to Options class.
* Fixed rules for prerequisite moves.
* Implement client functionality for move rando, add blurbs to game info page.
* Fix wrong address for cache checks.
* Fix byte alignment of offsets, refactor read_memory for better code reuse.
* Refactor memory offsets and add some unit tests.
* Make green eco the filler item, also define a maximum ID. Fix Boggy tether locations.
* Move rando fixes (#29)
* Fix virtual regions in Snowy. Fix some GMC problems.
* Fix Deathlink on sunken slides.
* Removed unncessary code causing build failure.
* Orbsanity (#32)
* My big dumb shortcut: a 2000 item array.
* A better idea: bundle orbs as a numerical option and make array variable size.
* Have Item/Region generation respect the chosen Orbsanity bundle size. Fix trade logic.
* Separate Global/Local Orbsanity options. TODO - re-introduce orb factory for per-level option.
* Per-level Orbsanity implemented w/ orb bundle factory.
* Implement Orbsanity for client, fix some things up for regions.
* Fix location name/id mappings.
* Fix client orb collection on connection.
* Fix minor Deathlink bug, add Update instructions.
* Finishing Touches (#36)
* Set up connector level thresholds, completion goal choices.
* Send AP sender/recipient info to game via client.
* Slight refactors.
* Refactor option checking, add DataStorage handling of traded orbs.
* Update instructions to change order of load/connect.
* Add Option check to ensure enough Locations exist for Cell Count thresholds. Fix Final Door region.
* Need some height move to get LPC sunken chamber cell.
* Rename completion_condition to jak_completion_condition (#41)
* The Afterparty (#42)
* Fixes to Jak client, rules, options, and more.
* Post-rebase fixes.
* Remove orbsanity reset code, optimize game text in client.
* More game text optimization.
* Added more specific troubleshooting/setup instructions.
* Add known issue about large releases taking time. (Dodge 6,666th commit.)
* Remove "Bundle of", Add location name groups, set better default RootDirectory for new players.
* Make orb trade amounts configurable, make orbsanity defaults more reasonable.
* Add HUD info to doc.
* Exempt's Code Review Updates (#43)
* Round 1 of code review updates, the easy stuff.
* Factor options checking away from region/rule creation.
* Code review updates round 2, more complex stuff.
* Code review updates round 3: the mental health annihilator
* Code review updates part 4: redemption.
* More code review feedback, simplifying code, etc.
* Added a host.yaml option to override friendly limits, plus a couple of code review updates.
* Added singleplayer limits, player names to enforcement rules.
* Updated friendly limits to be more strict, optimized recalculate logic.
* Today's the big day Jak: updates docs for mod support in OpenGOAL Launcher
* Rearranged and clarified some instructions, ADDED PATH-SPACE FIX TO CLIENT.
* Fix deathlink reset stalls on a busy client. (#47)
* Jak & Daxter Client : queue game text messages to get items faster during release (#48)
* queue game text messages to write them during the main_tick function and empty the message queue faster during release
* wrap comment for code style character limit
Co-authored-by: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
* remove useless blank line
Co-authored-by: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
* whitespace code style
Co-authored-by: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
* Move JsonMessageData dataclass outside of ReplClient class for code clarity
---------
Co-authored-by: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
* Item Classifications (and REPL fixes) (#49)
* Changes to item classifications
* Bugfixes to power cell thresholds.
* Fix bugs in item_type_helper.
* Refactor 100 cell door to pass unit tests.
* Quick fix to ReplClient.
* Not so quick fix to ReplClient.
* Display friendly limits in options tooltips.
* Use math.ceil like a normal person.
* Missed a space.
* Fix non-accessibility due to bad orb calculation.
* Updated documentation.
* More Options, More Docs, More Tests (#51)
* Reorder cell counts, require punch for Klaww.
* Friendlier friendly friendlies.
* Removed custom_worlds references from docs/setup guide, focused OpenGOAL Launcher language.
* Increased breadth of unit tests.
* Clean imports of unit tests.
* Create OptionGroups.
* Fix region rule bug with Punch for Klaww.
* Include Punch For Klaww in slot data.
* Update worlds/jakanddaxter/__init__.py
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Temper and Harden Text Client (#52)
* Provide config path so OpenGOAL can use mod-specific saves and settings.
* Add versioning to MemoryReader. Harden the client against user errors.
* Updated comments.
* Add Deathlink as a "statement of intent" to the YAML. Small updates to client.
* Revert deathlink changes.
* Update error message.
* Added color markup to log messages printed in text client.
* Separate loggers by agent, write markup to GUI and non-markup to disk simultaneously.
* Refactor MemoryReader callbacks from main_tick to constructor.
* Make callback names more... informative.
* Give users explicit instructions in error messages.
* Stellar Messaging (#54)
* Use new ap-messenger functions for text writing.
* Remove Powershell requirement, bump memory version to 3.
* Error message update w/ instructions for game crash.
* Create no console window for gk.
* ISO Data Enhancement (#58)
* Add iso-path as argument to GOAL compiler.
# Conflicts:
# worlds/jakanddaxter/Client.py
* More resilient handling of iso_path.
* Fixed scout fly ID mismatches.
* Corrected iso_data subpath.
* Update memory version to 4.
* Docs update for iso_data.
* Auto Detect OpenGOAL Install (#63)
* Auto detect OpenGOAL install path. Also fix Deathlink on server connection.
* Updated docs, add instructions to error messages.
* Slight tweak to error text.
* J&D : add per region location groups (#64)
* add per region power cells location group
* add per region scout flies location group
* add per zone orb bundle groups
(I'm not particularly happy about this code, but I figured doing it this way was the point of least friction/duplication)
* guess who forgot 9 very important characters in each line of the last commit
* Rearrange location group names, quick fix to client error handling.
* Fix pycharm warnings.
* Fix more pycharm warnings.
* Light cleanup: fix icons, add bug report page, remove py 3.8 code.
* Update worlds/jakanddaxter/Options.py
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/jakanddaxter/Options.py
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/jakanddaxter/Options.py
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/jakanddaxter/Options.py
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Code review updates on comments, tooltips, and type hints.
* Update type hint for lists in regions.
* Missed todo removal.
* More type hint updates.
* Small region updates for location accessibility, small updates to world guide and README.md.
* Add GMC scout fly location group.
* Improved sanitization of game text.
* Traps 2 (#70)
* Add trap items, relevant options, and citadel orb caches.
* Update REPL to send traps to game.
* Fix item counter.
* Allow player to select which traps to use.
* Fix host.yaml doc strings, ap-setup-options typing, bump memory version to 5.
* Alter some trap names.
* Update world doc.
* Add health trap.
* Added 3 more trap types.
* Protect against empty trap list.
* Reword traps paragraph in world doc.
* Another update to trap paragraph.
* Concisify trap option docstring.
* Timestamp on game log file.
* Update client to handle waiting on title screen.
* Send slot name and seed to game.
* Use self.random instead.
* Update setup doc for new title screen.
* Quick clarification of orb caches in world doc.
* Sanitize slot info earlier.
* Added to and improved unit tests.
* Light cleanup on world.
* Optimizations to movement rules, docs: known issues update.
* Quick fixes for beta 0.5.0 release: template options and LPC logic.
* Quick fix to spoiler counts.
* Reorganize world guide for faster navigation.
* Fix links.
* Update HUD section.
* Found a way to render apostrophes in item names.
* March Refactors (#77)
* Reorg imports, small fix to Rock Village movement.
* Fix wait-on-title message never going to ready message.
* Colorama init fix.
* Swap trap list for a dictionary of trap weights.
* The more laws, the less justice.
* Quick readability update.
* Have memory reader provide instructions for slow booting games.
* Revert some things.
* Update setup_en.md
* Update HUD mode lingo for combined msgs.
* Remade launcher icon, sized correctly.
* I don't know why I can't be satisfied with things.
* Apply suggestions from Scipio
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Properly use the settings API instead of Utils.
* Newline on requirements.txt.
* Add __init__ files for frozen builds.
* Replace an ap_inform function with a CommonClient built-in.
* Resize icon to match kivymd expected size.
* First round of Treble code reviews.
* Second round of Treble code reviews.
* Third round of Treble code reviews.
* Missed an unncessary if condition.
* Missed unnecessary comments.
* Fourth round of Treble code reviews.
* Switch trap dictionary to OptionCounter.
* Use existing slot name/seed from network protocol.
* Violet code review updates.
* Violet code review updates part 2.
* Refactor to avoid floating imports (Violet part 3).
* Found a few more valid characters for messaging.
* Move tests out of init, add colon to game name (now that it's safe).
* But don't include those chars for file text.
* Implement Vi suggestion on webhost-capable friendly limits.
* Revert "Implement Vi suggestion on webhost-capable friendly limits."
This reverts commit 2d012b7f4a9a4c13985ecd7303bb1fc646831c86.
* Rename all files for PEP8.
* Refactor how maximums work on webhost.
* Fix rogue UT.
* Don't rush.
* Fix client post-PEP8.
---------
Co-authored-by: Justus Lind <DeamonHunter@users.noreply.github.com>
Co-authored-by: Romain BERNARD <30secondstodraw@gmail.com>
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
- Fixes Shadow's mission count being set by Sonic's mission count option
- Fixes one small logic error on `Security Hall - 5` on Hard Logic difficulty
- Removes stray character that was probably harmless
* Kivy: Add a button prompt box
* auto format the buttons to display 2 per row to look nicer
* update to kivymd
* have the uri popup use the new API
* have messenger use the new API
* make the buttonprompt import even more lazy
* messenger needs to be lazy too
* make the buttons take up the full dialog width
---------
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
This item name is unusual in that it loses the word "round" when it's
infused, *and* the only guaranteed drop in the base game is the infused
"Blessed Red and White Round Shield +1". But since we're just listing
the uninfused version, we should use the uninfused name.
* Fix merge conflict
* Fix formatting, fix rule for heir access after merge
* Writing combat logic helpers
* More helpers!
* More logic!
* Rename has_stick to has_melee, some fixes per Medic's review
* Clamp max power from sword upgrades
* Wrote the rest of the helpers
* Remove unused import
* Apply item classifications
* Create the combat logic option
* Item classification varies based on option
* Add the shop sword logic stuff in
* Add the rules for the boss-only option
* Fix tiny issues
* Some early Overworld combat logic
* Fill out swamp combat logic
* Add note
* Bump up Boss Scav and Heir
* More revisions to combat logic
* Some changes, currently broken
* New system for power, kinda jank probably
* Revisions to new system, needs more balancing
* Cap attack upgrades
* Uncap mp power since it's directly related to damage output
* Voidlings
* Put together a table showing the vanilla-expected stats for each area
* Added some info on potion counts
* Made new helper functions
* Make has_required_stats
* Make has_combat_reqs
* Update er_rules for new combat reqs
* Fix all the broken things ever
* Remove outdated todo
* Make temp option for testing logic
* More flexible choices for combat items
* Hard require sword for bosses
* Temporarily default combat logic to on
* Finish writing overworld combat logic
* East Forest combat logic done
* Remove a few easy ones
* Finish beneath the well
* Dark Tomb combat logic
* West Garden combat logic
* make unit tests checkmark again
* Weird west garden dagger house edge case
* Try block for that weird west garden edge case
* Add quarry combat logic
* Update to filter out unreachable regions outside of ER
* Fortress Grave Path logic, and a couple fixes to the west garden logic
* Fortress east shortcut logic, and rewriting the try except blocks to use finally
* Refactor to use a new function cause wow there was a lot of repeated code
* Add combat logic to the other two sets of fortress fuses
* Add combat rules to beneath the vault
* Fix missing cathedral -> elevator connection
* Combat logic for cathedral to elevator
* Add cathedral main region, rename cathedral -> cathedral entry
* Setup cathedral combat logic
* Adjust locations' regions for ER
* Add laurels zip logic to the chest in the spike room in cathedral
* Add combat logic to frog's domain
* Move frog's domain locations to regions for combat logic
* Add new frog's domain regions for combat logic
* Update region name for frog's domain
* Fix typo
* Add more regions for lower zig
* Move around lower zig regions for combat logic
* Lower Zig combat logic
* Upper zig combat logic
* Fix typo
* Fix typos
* Fix missing world.
* Update combat logic description
* Add todo
* Add todo
* Don't make zig skip if er or fixed shop is off
* Make it so zig skip is only made with fewer shops and er
* Temporarily default combat logic on
* Update test to explicitly disable combat logic
* Update test_access.py
* Slight wording changes
* Fix bugs, refactor quarry regions so you can access chests in lower quarry with ice grapples
* Run through checks you can do with magic dagger
* Run through checks you can do with magic dagger
* Add rule for entering town portal of having equipment to deal with enemies
* Add rule for atoll near the 6 crabs surrounding a poor defenseless baby slorm
* Update the rule for the chest near the 6 crabs surrounding a slorm to also possibly require laurels
* Revamp combat logic function to work properly without melee
* Add laurels rules to combat logic chests
* Modify beneath the vault bridge rule to need a lantern if combat logic is on
* Put in money logic
* Dagger or combat for swamp big skeleton chest
* Remove the 100 moneys from logic
* Modify lower zig ls drop region destinations
* Remove completed todo
* Reword combat logic option description, remove test option
* Add combat logic to slot data
* Merge Silent's missing slot data bugfix PR #3628
* Remove test combat option
* Update combat logic description
* Fix secret gathering place issue
* Fix secret gathering place issue
* Fix lower zig ls rule
* Fix accidentally removed librarian rule
* Remove redundant rule
* Update gauntlet rule to hard-require a sword
* Add test for a problematic connection
* Adjust combat logic to deal with weird edge cases so it doesn't take stuff out of logic that was previously in logic
* Fix create_item classification
* Update some comments
* Update per exempt's suggestion
* Add combat logic to the well boss fight, reorder the combat logic stuff a little to better section them off
* Add EntranceLayout option
* Add back LogicRules as an invisible option, to not break old yamls
* Fix a bug with seed group, continue changing fixed shop to entrance layout
* Fix missed fixed shop -> entrance layout spot
* Fix bug in seed groups with fixed shop on and off
* Add entrance layout to the UT regen stuff
* Put direction. in, will add them later
* Remove unused elevation from portal class
* Got like half of them in
* Finish adding all of the directions
* Add combat rule for zig front to back
* Update per Medic's suggestion
* Update ladder storage without items option description
* Mess with state with collect and remove to save like 2 seconds (never again)
* Save even more time, still never going to do this again on anything else
* Add option check for collect and remove
* Add directions to shop portals
* Update direction in Portal with default
* Move Direction above Portal
* Add decoupled option, mess with plando connection stuff
* Merge, implement verify plando directions
* Condense the stuff in change and remove to less lines (thanks medic)
* Remove unused thing
* Swap to using logicmixin instead of prog_items (thanks Vi)
* Fix consistency in stat counters
* Add back something that was needed
* Fix mistake when adding back
* Making the fix better (thanks medic)
* Make it actually return false if it gets to the backup lists and fails them
* Fix stuff after merge
* Add outlet regions, create new regions as needed for them
* Put together part of decoupled and direction pairs
* make direction pairs work
* Make decoupled work
* Make fixed shop work again
* Fix a few minor bugs
* Fix a few minor bugs
* Fix plando
* god i love programming
* Reorder portal list
* Update portal sorter for variable shops
* Add missing parameter
* Some cleanup of prints and functions
* Fix typo
* it's aliiiiiive
* Make seed groups not sync decoupled
* Add test with full-shop plando
* Fix bug with vanilla portals
* Handle plando connections and direction pair errors
* Update plando checking for decoupled
* Fix typo
* Fix exception text to be shorter
* Add some more comments
* Add todo note
* Remove unused safety thing
* Remove extra plando connections definition in options
* Make seed groups in decoupled with overlapping but not fully overlapped plando connections interact nicely without messing with what the entrances look like in the spoiler log
* Fix weird edge case that is technically user error
* Add note to fixed shop
* Fix parsing shop names in UT
* Remove debug print
* Actually make UT work
* multiworld. to world.
* Fix typo from merge
* Make it so the shops show up in the entrance hints
* Fix bug in ladder storage rules
* Remove blank line
* # Conflicts:
# worlds/tunic/__init__.py
# worlds/tunic/er_data.py
# worlds/tunic/er_rules.py
# worlds/tunic/er_scripts.py
# worlds/tunic/rules.py
# worlds/tunic/test/test_access.py
* Fix issues after merge
* Update plando connections stuff in docs
* Fix library mistake
* has_stick -> has_melee
* has_stick -> has_melee
* Add a failsafe for direction pairing
* Fix playthrough crash bug
* Remove init from logicmixin
* Updates per code review (thanks hesto)
* has_stick to has_melee in newer update
* has_stick to has_melee in newer update
* # Conflicts:
# worlds/tunic/__init__.py
# worlds/tunic/combat_logic.py
# worlds/tunic/er_data.py
# worlds/tunic/er_rules.py
# worlds/tunic/er_scripts.py
* Cleanup more stuff after merge
* Revert "Cleanup more stuff after merge"
This reverts commit a6ee9a93da8f2fcc4413de6df6927b246017889d.
* Revert "# Conflicts:"
This reverts commit c74ccd74a45b6ad6b9abe6e339d115a0c98baf30.
* Cleanup more stuff after merge
* Swap to .get for decoupled so it works with older games probably maybe
* Fix after merge
* Fix typo
* Fix UT support with fixed shop option
* Backport plando connections fix
* Fix issue with fixed shop + decoupled
* Make the error not duplicate the while loop condition
* Fix rule for quarry back to monastery
* Fix more stuff after merge
* Make it not output anything if you set plando connections but not ER
* Add obvious note to plando connections description
* Fix after merge
* add comment to commented out connection
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
This adds the requirement of a void mayo for the Goblin Problem quest. There are also some small adjustments to related rules
- Fishing a void mayo is only considered an option during the Goblin Problem quest, as the odds of finding one after the quest drops drastically.
- Entrance to the witch hut now requires the goblin problem quest, not just a void mayo.
- Fishing rules are all moved to `fishing_logic.py`.
- `can_fish_at` no longer check that you have any of the fishing regions and the region you actually want to fish in.
- created `can_fish_anywhere` and `can_crab_pot_anywhere` to better illustrate when any fish satisfies the rule.