Fixes randomly placed ingredients not being deterministic (depending on settings)
and in turn also fixes logic not being deterministic if they get replaced by fragments.
* Update worlds/dark_souls_3/Locations.py
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Fix Covetous Silver Serpent Ring location
* Update location groups
This should cover pretty much all of the seriously hidden items. It
also splits out miniboss drops, mimic drops, and hostile NPC drops.
* Remove the "Guarded by Keys" group
On reflection, I don't think this is actually that useful. It'll also
get a lot muddier once we can randomize shops and ashes become
pseudo-"keys".
* Restore Knight Slayer's Ring classification
* Support infusions/upgrades in the new DS3 mod system
* Support random starting loadouts
* Make an item's NPC status orthogonal to its category
* Track location groups with flags
* Track Archipelago/Offline mismatches on the server
Also fix a few incorrect item names.
* Add additional locations that are now randomizable
* Don't put soul and multiple items in shops
* Add an option to enable whether NG+ items/locations are included
* Clean up useful item categorization
There are so many weapons in the game now, it doesn't make sense to
treat them all as useful
* Add more variety to filler items
* Iron out a few bugs and incompatibilities
* Fix more silly bugs
* Get tests passing
* Update options to cover new item types
Also recategorize some items.
* Verify the default values of `Option`s.
Since `Option.verify()` can handle normalization of option names, this allows options to define defaults which rely on that normalization. For example, it allows a world to exclude certain locations by default.
This also makes it easier to catch errors if a world author accidentally sets an invalid default.
* Make a few more improvements and fixes
* Randomize Path of the Dragon
* Mark items that unlock checks as useful
These items all unlock missable checks, but they're still good to ahve in the game for variety's sake.
* Guarantee more NPC quests are completable
* Fix a syntax error
* Fix rule definition
* Support enemy randomization
* Support online Yhorm randomization
* Remove a completed TODO
* Fix tests
* Fix force_unique
* Add an option to smooth out upgrade item progression
* Add helpers for setting location/entrance rules
* Support smoother soul item progression
* Fill extra smoothing items into conditional locations as well as other worlds
* Add health item smoothing
* Handle infusions at item generation time
* Handle item upgrades at genreation time
* Fix Grave Warden's Ashes
* Don't overwrite old rules
* Randomize items based on spheres instead of DS3 locations
* Add a smoothing option for weapon upgrades
* Add rules for crow trades
* Small fixes
* Fix a few more bugs
* Fix more bugs
* Try to prevent Path of the Dragon from going somewhere it doesn't work
* Add the ability to provide enemy presets
* Various fixes and features
* Bug fixes
* Better Coiled Sword placement
* Structure DarkSouls3Location more like DarkSouls3Item
* Add events to make DS3's spheres more even
* Restructure locations to work like items do now
* Add rules for more missable locations
* Don't add two Storm Rulers
* Place Hawk Ring in Farron Keep
* Mark the Grass Crest Shield as useful
* Mark new progression items
* Fix a bug
* Support newer better Path of the Dragon code
* Don't lock the player out of Coiled Sword
* Don't create events for missable locations
* Don't throw strings
* Don't smooth event items
* Properly categorize Butcher Knife
* Be more careful about placing Yhorm in low-randomization scenarios
* Don't try to smooth DLC items with DLC disabled
* Fix another Yhorm bug
* Fix upgrade/infusion logic
* Remove the PoolType option
This distinction is no longer meaningful now that every location in
the game of each type is randomized
* Categorize HWL: Red Eye Orb as an NPC location
* Don't place Storm Ruler on CA: Coiled Sword
* Define flatten() locally to make this APWorld capable
* Fix some more Leonhard weirdness
* Fix unique item randomization
* Don't double Twin Dragon Greatshield
* Remove debugging print
* Don't add double Storm Ruler
Also remove now-redundant item sorting by category in create_items.
* Don't add double Storm Ruler
Also remove now-redundant item sorting by category in create_items.
* Add a missing dlc_enabled check
* Use nicer options syntax
* Bump data_version
* Mention where Yhorm is in which world
* Better handle excluded events
* Add a newline to Yhorm location
* Better way of handling excluded unradomized progression locations
* Fix a squidge of nondeterminism
* Only smooth items from this world
* Don't smooth progression weapons
* Remove a location that doesn't actually exist in-game
* Classify Power Within as useful
* Clarify location names
* Fix location requirements
* Clean up randomization options
* Properly name Coiled Sword location
* Add an option for configuring how missable items are handled
* Fix some bugs from location name updates
* Fix location guide link
* Fix a couple locations that were busted offline
* Update detailed location descriptions
* Fix some bugs when generating for a multiworld
* Inject Large Leather Shield
* Fix a few location issues
* Don't allow progression_skip_balancing for unnecessary locs
* Update some location info
* Don't uniquify the wrong items
* Fix some more location issues
* More location fixes
* Use hyphens instead of parens for location descriptions
* Update and fix more locations
* Fix Soul of Cinder boss name
* Fix some logic issues
* Add item groups and document item/location groups
* Fix the display name for "Impatient Mimics"
* Properly handle Transposing Kiln and Pyromancer's Flame
* Testing
* Some fixes to NPC quests, late basin, and transposing kiln
* Improve a couple location names
* Split out and improve missable NPC item logic
* Don't allow crow trades to have foreign items
* Fix a variable capture bug
* Make sure early items are accessible early even with early Castle
* Mark ID giant slave drops as missable
* Make sure late basin means that early items aren't behind it
* Make is_location_available explicitly private
* Add an _add_item_rule utility that checks availability
* Clear excluded items if excluded_locations == "unnecessary"
* Don't allow upgrades/infusions in crow trades
* Fix the documentation for deprecated options
* Create events for all excluded locations
This allows `can_reach` logic to work even if the locations are
randomized.
* Fix up Patches' and Siegward's logic based on some manual testing
* Factor out more sub-methods for setting location rules
* Oops, left these in
* Fixing name
* Left that in too
* Changing to NamedRange to support special_range_names
* Alphabetizing
* Don't call _is_location_available on foreign locations
* Add missing Leonhard items
* Changing late basin to have a post-small-doll option
* Update basin option, add logic for some of Leonhard Hawkwood and Orbeck
* Simplifying an option, fixing a copy-paste error
* Removing trailing whitespace
* Changing lost items to go into start inventory
* Revert Basin changes
* Oops
* Update Options.py
* Reverting small doll changes
* Farron Keep boss requirement logic
* Add Scroll for late_dlc
* Fixing excluded unnecessary locations
* Adding Priestess Ring as being after UG boss
* Removing missable from Corvian Titanite Slab
* Adding KFF Yhorm boss locks
* Screams about Creighton
* Elite Knight Set isn't permanently missable
* Adding Kiln requirement to KFF
* fixing valid_keys and item groups
* Fixing an option-checker
* Throwing unplaceable Storm Ruler into start inventory
* Update locations
* Refactor item injection
* Update setup doc
* Small fixes
* Fix another location name
* Fix injection calculation
* Inject guaranteed items along with progression items
* Mark boss souls as required for access to regions
This allows us to set quest requirements for boss souls and have them
automatically propagated to regions, means we need less machinery for
Yhorm bosses, and allows us to get rid of a few region-transition
events.
* Make sure Sirris's quest can be completed before Pontiff
* Removing unused list
* Changing dict to list
* Removing unused test
* Update __init__.py
* self.multiworld.random -> self.random (#9)
* Fix some miscellaneous location issues
* Rewrite the DS3 intro page/FAQ
* Removing modifying the itempool after fill (#7)
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
* Small fixes to the setup guide (#10)
Small fixes, adding an example for connecting
* Expanded Late Basin of Vows and Late DLC (#6)
* Add proper requirements for CD: Black Eye Orb
* Fix Aldrich's name
* Document the differences with the 2.x.x branch
* Don't crash if there are more items than locations in smoothing
* Apply suggestions from code review
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Code review
* Fix _replace_with_filler
* Don't use the shared flatten function in SM
* Track local items separately rather than iterating the multiworld
* Various formatting/docs changes suggested by PyCharm (#12)
* Drop deprecated options
* Rename "offline randomizer" to "static randomizer" which is clearer
* Move `enable_*_locations` under removed options.
* Avoid excluded locations for locally-filled items
* Adding Removed options to error (#14)
* Changes for WebHost options display and the options overhaul
* unpack iterators in item list (#13)
* Allow worlds to add options to prebuilt groups
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.
* Style changes, rename exclude behavior options, remove guaranteed items option
* Spacing/Formatting (#18)
* Various Fixes (#19)
* Universally Track Yhorm (#20)
* Account for excluded and missable
* These are behaviors now
* This is singular, apparently
* Oops
* Fleshing out the priority process
* Missable Titanite Lizards and excluded locations (#22)
* Small style/efficiency changes
* Final passthrough fixes (#24)
* Use rich option formatting
* Make the behavior option values actual behaviors (#25)
* Use !=
* Remove unused flatten utility
* Some changes from review (#28)
* Fixing determinism and making smooth faster (#29)
* Style change
* PyCharm and Mypy fixes (#26)
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Change yhorm default (#30)
* Add indirect condition (#27)
* Update worlds/dark_souls_3/docs/locations_en.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Ship all item IDs to the client
This avoids issues where items might get skipped if, for instance,
they're only in the starting inventory.
* Make sure to send AP IDs for infused/upgraded weapons
* Make `RandomEnemyPresetOption` compatible with ArchipelagoMW/Archipelago#3280 (#31)
* Fix cast
* More typing and small fixes (#32)
---------
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Co-authored-by: Exempt-Medic <ExemptMedic@Gmail.com>
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* makes grub hunt goal option that calculates the total available grubs (including item link replacements) and requires all of them to be gathered for goal completion
* update slot data name for grub count
* add option to set number needed for grub hub
* updates to grub hunt goal based on review
* copy/paste fix
* account for 'any' goal and fix overriding non-grub goals
* making sure godhome is in logic for any and removing redundancy on completion condition
* fix typing
* i hate typing
* move to stage_pre_fill
* modify "any" goal so all goals are in logic under minimal settings
* rewrite grub counting to create lookups for grubs and groups that can be reused
* use generator instead of list comprehension
* fix whitespace merging wrong
* minor code cleanup
* Fixing logic bugs
* Require energy attack in the cathedral and energy form in the body
* King Jelly can be beaten easily with only the Dual Form
* I think that I have a problem with my left and right...
* There is a monster that is blocking the path, soo need attack to pass
* The Li cage is not accessible without the Sunken city boss
* Removing useless space.
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Two more minors logic modification
* Adapting tests to af9b6cd
* Reformat the Region file
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
The access rules for "<Environment name> Chest n", "<Environment name>
Shrine n" etc. locations recursively called state.can_reach() for the
n-1 location name, with the n=1 location being the only location to have
the actual access rule set.
This patch removes the recursion, instead setting the actual access rule
directly on each location, increasing the performance of checking
accessibility of n>1 locations.
Risk of Rain 2 was already quite fast to generate despite the recursion
in the access rules, but with this patch, generating a multiworld with
200 copies of the template RoR2 yaml (and progression balancing
disabled through a meta.yaml) goes from about 18s to about 6s for me.
From generating the same seed before and after this patch, the same
result is produced.
* Sort entrances in spoiler log
* Rearrange portal list to closer match the vanilla game order, for better spoiler and because I already did this mod-side
* Add break (thanks vi)
* MMBN3: Press program now has proper color index when received remotely
* Initial commit of OSRS untangled from MMBN3 branch
* Fixes some broken region connections
* Removes some locations
* Rearranges locations to fill in slots left by removed locations
* Adds starting area rando
* Moves Oak and Willow trees to resource regions
* Fixes various PEP8 violations
* Refactor of regions
* Fixes variable capture issue with region rules
* Partial completion of brutal grind logic
* Finishes can_reach_skill function
* Adds skill requirements to location rules, fixes regions rules
* Adds documentation for OSRS
* Removes match statement
* Updates Data Version to test mode to prevent item name caching
* Fixes starting spawn logic for east varrock
* Fixes river lum crossing logic to not assume you can phase across water
* Prevents equipping items when you haven't unlocked them
* Changes canoe logic to not require huge levels
* Skeletoning out some data I'll need for variable task system
* Adds csvs and parser for logic
* Adds Items parsing
* Fixes the spawning logic to not default to Chunksanity when you didn't pick it
* Begins adding generation rules for data-driven logic
* Moves region handling and location creating to different methods
* Adds logic limits to Options
* Begun the location generation has
* Randomly generates tasks for each skill until populated
* Mopping up improper names, adding custom logic, and fixes location rolling
* Drastically cleans up the location rolling loop
* Modifies generation to properly use local variables and pass unit tests
* Game is now generating, but rules don't seem to work
* Lambda capture, my old nemesis. We meet again
* Fixes issue with Corsair Cove item requirement causing logic loop
* Okay one more fix, another variable capture
* On second thought lets not have skull sceptre tasks. 'Tis a silly place
* Removes QP from item pool (they're events not items)
* Removes Stronghold floor tasks, no varbit to track them
* Loads CSV with pkutil so it can be used in apworld
* Fixes logic of skill tasks and adds QP requirements to long grinds
* Fixes pathing in pkgutil call
* Better handling for empty task categories, no longer throws errors
* Fixes order for progressive tasks, removes un-checkable spider task
* Fixes logic issues related to stew and the Blurite caves
* Fixes issues generating causing tests to sporadically fail
* Adds missing task that caused off-by-one error
* Updates to new Options API
* Updates generation to function properly with the Universal Tracker (Thanks Faris)
* Replaces runtime CSV parsing with pre-made python files generated from CSVs
* Switches to self.random and uses random.choice instead of doing it manually
* Fixes to typing, variable names, iterators, and continue conditions
* Replaces Name classes with Enums
* Fixes parse error on region special rules
* Skill requirements check now returns an accessrule instead of being one that checks options
* Updates documentation and setup guide
* Adjusts maximum numbers for combat and general tasks
* Fixes region names so dictionary lookup works for chunksanity
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Updates readme.md and codeowners doc
* Removes erroneous East Varrock -> Al Kharid connection
* Changes to canoe logic to account for woodcutting level options
* Fixes embarassing typo on 'Edgeville'
* Moves Logic CSVs to separate repository, addresses suggested changes on PR
* Fixes logic error in east/west lumbridge regions. Fixes incorrect List typing in main
* Removes task types with weight 0 from the list of rollable tasks
* Missed another place that the task type had to be removed if 0 weight
* Prevents adding an empty task weight if levels are too restrictive for tasks to be added
* Removes giant blank space in error message
* Adds player name to error for not having enough available tasks
---------
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Options: Always verify keys for VerifyKeys options
* fix PlandoTexts
* use OptionError and give a slightly better error message for which option it is
* add the player name to the error
* don't create an unnecessary list
---------
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* Adds an option to have pot pieces placed local/non-local/anywhere
Shivers nearly always finishes last in multiworld games due to the fact you need all 20 pot pieces to win and the pot pieces open very few location checks. This option allows the pieces to be placed locally. This should allow Shivers to be finished earlier.
* New option: Choose how many ixupi captures are needed for goal completion
New option: Choose how many ixupi captures are needed for goal completion
* Fixes rule logic for location 'puzzle solved three floor elevator'
Fixes rule logic for location 'puzzle solved three floor elevator'. Missing a parenthesis caused only the key requirement to be checked for the blue maze region.
* Merge branch 'main' of https://github.com/GodlFire/Shivers
* Revert "Merge branch 'main' of https://github.com/GodlFire/Shivers"
This reverts commit bb08c3f0c2ef148fd24d7c7820cdfe936f7196e2.
* Fixes issue with office elevator rule logic.
* Bug fix, missing logic requirement for location 'Final Riddle: Guillotine Dropped'
Bug fix, missing logic requirement for location 'Final Riddle: Guillotine Dropped'
* Moves plaque location to front for better tracker referencing.
* Tiki should be Shaman.
* Hanging should be Gallows.
* Merrick spelling.
* Clarity change.
* Changes new option to use new option API
Changes new option to use new option API
* Added sub regions for Ixupi
-Added sub regions for Ixupi and moved ixupi capture checks into the sub region.
-Added missing wax capture possible spot in Shaman room
* Adds option for ixupi captures to be priority locations
Adds option for ixupi captures to be priority locations
* Consistency
Consistency
* Changes ixupi captures priority to default on toggle
Changes ixupi captures priority to default on toggle
* Docs update
-Updated link to randomizer
-Update some text to reflect the latest functionality
-Replaced 'setting' with 'option'
* New features/bug fixes
-Adds an option to have completed pots in the item pool
-Moved subterranean world information plaque to maze staircase
* Cleanup
Cleanup
* Fixed name for moved location
When moving a location and renaming it I forgot to fix the name in a second spot.
* Squashed commit of the following:
commit 630a3bdfb9414d8c57154f29253fce0cf67b6436
Merge: 8477d3c8 5e579200
Author: GodlFire <46984098+GodlFire@users.noreply.github.com>
Date: Mon Apr 1 19:08:48 2024 -0600
Merge pull request #10 from ArchipelagoMW/main
Merge main into branch
commit 5e5792009c
Author: Alchav <59858495+Alchav@users.noreply.github.com>
Date: Mon Apr 1 12:08:21 2024 -0500
LttP: delete playerSettings.yaml (#3062)
commit 9aeeeb077a
Author: CaitSith2 <d_good@caitsith2.com>
Date: Mon Apr 1 06:07:56 2024 -0700
ALttP: Re-mark light/dark world regions after applying plando connections (#2964)
commit 35458380e6
Author: Bryce Wilson <gyroscope15@gmail.com>
Date: Mon Apr 1 07:07:11 2024 -0600
Pokemon Emerald: Fix wonder trade race condition (#2983)
commit 4ac1866689
Author: Alchav <59858495+Alchav@users.noreply.github.com>
Date: Mon Apr 1 08:06:31 2024 -0500
ALTTP: Skull Woods Inverted fix (#2980)
commit 4aa03da66e
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Mon Apr 1 15:06:02 2024 +0200
Factorio: fix attempting to create savegame with not filename safe characters (#2842)
commit 24a03bc8b6
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Mon Apr 1 08:02:26 2024 -0500
KDL3: fix shuffled animals not actually being random (#3060)
commit f813a7005f
Author: Aaron Wagener <mmmcheese158@gmail.com>
Date: Sun Mar 31 11:11:10 2024 -0500
The Messenger: update docs formatting and fix outdated info (#3033)
* The Messenger: update docs formatting and fix outdated info
* address review feedback
* 120 chars
commit 2a0b7e0def
Author: LiquidCat64 <74896918+LiquidCat64@users.noreply.github.com>
Date: Sun Mar 31 09:55:55 2024 -0600
CV64: A couple of very small docs corrections. (#3057)
commit 03d47e460e
Author: Ixrec <ericrhitchcock@gmail.com>
Date: Sun Mar 31 16:55:08 2024 +0100
A Short Hike: Clarify installation instructions (#3058)
* Clarify installation instructions
* don't mention 'config' folder since it isn't created until the game starts
commit e546c0f7ff
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Sun Mar 31 10:50:31 2024 -0500
Yoshi's Island: add patch suffix (#3061)
commit 2ec93ba82a
Author: Bryce Wilson <gyroscope15@gmail.com>
Date: Sun Mar 31 09:48:59 2024 -0600
Pokemon Emerald: Fix inconsistent location name (#3065)
commit 4e3d396394
Author: Aaron Wagener <mmmcheese158@gmail.com>
Date: Sun Mar 31 10:47:11 2024 -0500
The Messenger: Fix precollected notes not being removed from the itempool (#3066)
* The Messenger: fix precollected notes not being properly removed from pool
* The Messenger: bump required client version
commit 72c53513f8
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Sun Mar 31 03:57:59 2024 +0200
WebHost: fix /check creating broken yaml files if files don't end with a newline (#3063)
commit b7ac6a4cbd
Author: Aaron Wagener <mmmcheese158@gmail.com>
Date: Fri Mar 29 20:14:53 2024 -0500
The Messenger: Fix various portal shuffle issues (#2976)
* put constants in a bit more sensical order
* fix accidental incorrect scoping
* fix plando rules not being respected
* add docstrings for the plando functions
* fix the portal output pools being overwritten
* use shuffle and pop instead of removing by content so plando can go to the same area twice
* move portal pool rebuilding outside mapping creation
* remove plando_connection cleansing since it isn't shared with transition shuffle
commit 5f0112e783
Author: Zach Parks <zach@alliware.com>
Date: Fri Mar 29 19:13:51 2024 -0500
Tracker: Add starting inventory to trackers and received items table. (#3051)
commit bb481256de
Author: Aaron Wagener <mmmcheese158@gmail.com>
Date: Thu Mar 28 21:48:40 2024 -0500
Core: Make fill failure error more human parseable (#3023)
commit 301d9de975
Author: Aaron Wagener <mmmcheese158@gmail.com>
Date: Thu Mar 28 19:31:59 2024 -0500
Docs: adding games rework (#2892)
* Docs: complete adding games.md rework
* remove all the now unused images
* review changes
* address medic's review
* address more comments
commit 9dc708978b
Author: Trevor L <80716066+TRPG0@users.noreply.github.com>
Date: Thu Mar 28 18:26:58 2024 -0600
Hylics 2: Fix invalid multiworld data, use `self.random` instead of `self.multiworld.random` (#3001)
* Hylics 2: Fixes
* Rewrite loop
commit 4391d1f4c1
Author: Bryce Wilson <gyroscope15@gmail.com>
Date: Thu Mar 28 18:05:39 2024 -0600
Pokemon Emerald: Fix opponents learning non-randomized TMs (#3025)
commit 5d9d4ed9f1
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Fri Mar 29 01:01:31 2024 +0100
SoE: update to pyevermizer v0.48.0 (#3050)
commit c97215e0e7
Author: Scipio Wright <scipiowright@gmail.com>
Date: Thu Mar 28 17:23:37 2024 -0400
TUNIC: Minor refactor of the vanilla_portals function (#3009)
* Remove unused, change an if to an elif
* Remove unused import
commit eb66886a90
Author: Alchav <59858495+Alchav@users.noreply.github.com>
Date: Thu Mar 28 16:23:01 2024 -0500
SC2: Don't Filter Excluded Victory Locations (#3018)
commit de860623d1
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Thu Mar 28 22:21:56 2024 +0100
Core: differentiate between unknown worlds and broken worlds in error message (#2903)
commit 74b2bf5161
Author: Bryce Wilson <gyroscope15@gmail.com>
Date: Thu Mar 28 15:20:55 2024 -0600
Pokemon Emerald: Exclude norman trainer location during norman goal (#3038)
commit 74ac66b032
Author: BadMagic100 <dempsey.sean@outlook.com>
Date: Thu Mar 28 08:49:19 2024 -0700
Hollow Knight: 0.4.5 doc revamp and default options tweaks (#2982)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 80d7ac4164
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Thu Mar 28 09:41:32 2024 -0500
KDL3: RC1 Fixes and Enhancement (#3022)
* fix cloudy park 4 rule, zero deathlink message
* remove redundant door_shuffle bool
when generic ER gets in, this whole function gets rewritten. So just clean it a little now.
* properly fix deathlink messages, fix fill error
* update docs
commit 77311719fa
Author: Ziktofel <ziktofel@gmail.com>
Date: Thu Mar 28 15:38:34 2024 +0100
SC2: Fix HERC upgrades (#3044)
commit cfc1541be9
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Thu Mar 28 15:19:32 2024 +0100
Docs: Mention the "last received item index" paradigm in the network protocol docs (#2989)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 4d954afd9b
Author: Scipio Wright <scipiowright@gmail.com>
Date: Thu Mar 28 10:11:20 2024 -0400
TUNIC: Add link to AP plando guide to connection plando section of game page (#2993)
commit 17748a4bf1
Author: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
Date: Thu Mar 28 10:00:10 2024 -0400
Launcher, Docs: Update UI and Set-Up Guide to Reference Options (#2950)
commit 9182fe563f
Author: Entropynines <163603868+Entropynines@users.noreply.github.com>
Date: Thu Mar 28 06:56:35 2024 -0700
README: Remove outdated information about launchers (#2966)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit bcf223081f
Author: t3hf1gm3nt <59876300+t3hf1gm3nt@users.noreply.github.com>
Date: Thu Mar 28 09:54:56 2024 -0400
TLOZ: Fix markdown issue with game info page (#2985)
commit fa93488f3f
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Thu Mar 28 09:46:00 2024 -0400
Docs: Consistent naming for "connection plando" (#2994)
commit db15dd4bde
Author: chandler05 <66492208+chandler05@users.noreply.github.com>
Date: Thu Mar 28 08:45:19 2024 -0500
A Short Hike: Fix incorrect info in docs (#3016)
commit 01cdb0d761
Author: PoryGone <98504756+PoryGone@users.noreply.github.com>
Date: Thu Mar 28 09:44:23 2024 -0400
SMW: Update World Doc for v2.0 Features (#3034)
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
commit d0ac2b744e
Author: panicbit <panicbit@users.noreply.github.com>
Date: Thu Mar 28 10:11:26 2024 +0100
LADX: fix local and non-local instrument placement (#2987)
* LADX: fix local and non-local instrument placement
* change confusing variable name
commit 14f5f0127e
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Thu Mar 28 04:42:35 2024 -0400
Stardew Valley: Fix potential soft lock with vanilla tools and entrance randomizer + Performance improvement for vanilla tool/skills (#3002)
* fix vanilla tool fishing rod requiring metal bars
fix vanilla skill requiring previous level (it's always the same rule or more restrictive)
* add test to ensure fishing rod need fish shop
* fishing rod should be indexed from 0 like a mentally sane person would do.
* fishing rod 0 isn't real, but it definitely can hurt you.
* reeeeeeeee
commit cf133dde72
Author: Bryce Wilson <gyroscope15@gmail.com>
Date: Thu Mar 28 02:32:27 2024 -0600
Pokemon Emerald: Fix typo (#3020)
commit ca18121811
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Thu Mar 28 04:27:49 2024 -0400
Stardew Valley: Fix generation fail with SVE and entrance rando when Wizard Tower is in place of Sprite Spring (#2970)
commit 1d4512590e
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Wed Mar 27 21:09:09 2024 +0100
requirements.txt: _ instead of - to make PyCharm happy (#3043)
commit f7b415dab0
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Tue Mar 26 19:40:58 2024 +0300
Stardew valley: Game version documentation (#2990)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 702f006c84
Author: LiquidCat64 <74896918+LiquidCat64@users.noreply.github.com>
Date: Tue Mar 26 07:31:36 2024 -0600
CV64: Change all mentions of "settings" to "options" and fix a broken link (#3015)
commit 98ce8f8844
Author: Yussur Mustafa Oraji <N00byKing@hotmail.de>
Date: Tue Mar 26 14:29:25 2024 +0100
sm64ex: New Options API and WebHost fix (#2979)
commit ea47b90367
Author: Scipio Wright <scipiowright@gmail.com>
Date: Tue Mar 26 09:25:41 2024 -0400
TUNIC: You can grapple down here without the ladder, neat (#3019)
commit bf3856866c
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Sun Mar 24 23:53:49 2024 +0300
Stardew Valley: presets with some of the new available values for existing settings to make them more accurate (#3014)
commit c0368ae0d4
Author: Phaneros <31861583+MatthewMarinets@users.noreply.github.com>
Date: Sun Mar 24 13:53:20 2024 -0700
SC2: Fixed missing upgrade from custom tracker (#3013)
commit 36c83073ad
Author: Salzkorn <salzkitty@gmail.com>
Date: Sun Mar 24 21:52:41 2024 +0100
SC2 Tracker: Fix grouped items pointing at wrong item IDs (#2992)
commit 2b24539ea5
Author: Ziktofel <ziktofel@gmail.com>
Date: Sun Mar 24 21:52:16 2024 +0100
SC2 Tracker: Use level tinting to let the player know which level he has of Replenishable Magazine (#2986)
commit 7e904a1c78
Author: Ziktofel <ziktofel@gmail.com>
Date: Sun Mar 24 21:51:46 2024 +0100
SC2: Fix Kerrigan presence resolving when deciding which races should be used (#2978)
commit bdd498db23
Author: Alchav <59858495+Alchav@users.noreply.github.com>
Date: Fri Mar 22 15:36:27 2024 -0500
ALTTP: Fix#2290's crashes (#2973)
commit 355223b8f0
Author: PinkSwitch <52474902+PinkSwitch@users.noreply.github.com>
Date: Fri Mar 22 15:35:00 2024 -0500
Yoshi's Island: Implement New Game (#2141)
Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com>
Co-authored-by: Alchav <59858495+Alchav@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit aaa3472d5d
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Fri Mar 22 21:30:51 2024 +0100
The Witness: Fix seed bleed issue (#3008)
commit 96d93c1ae3
Author: chandler05 <66492208+chandler05@users.noreply.github.com>
Date: Fri Mar 22 15:30:23 2024 -0500
A Short Hike: Add option to customize filler coin count (#3004)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit ca549df20a
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Fri Mar 22 15:29:24 2024 -0500
CommonClient: fix hint tab overlapping (#2957)
Co-authored-by: Remy Jette <remy@remyjette.com>
commit 44988d430d
Author: Star Rauchenberger <fefferburbia@gmail.com>
Date: Fri Mar 22 15:28:41 2024 -0500
Lingo: Add trap weights option (#2837)
commit 11b32f17ab
Author: Danaël V <104455676+ReverM@users.noreply.github.com>
Date: Fri Mar 22 12:46:14 2024 -0400
Docs: replacing "setting" to "option" in world docs (#2622)
* Update contributing.md
* Update contributing.md
* Update contributing.md
* Update contributing.md
* Update contributing.md
* Update contributing.md
Added non-AP World specific information
* Update contributing.md
Fixed broken link
* Some minor touchups
* Update Contributing.md
Draft for version with picture
* Update contributing.md
Small word change
* Minor updates for conciseness, mostly
* Changed all instances of settings to options in info and setup guides
I combed through all world docs and swapped "setting" to "option" when this was refering to yaml options.
I also changed a leftover "setting" in option.py
* Update contributing.md
* Update contributing.md
* Update setup_en.md
Woops I forgot one
* Update Options.py
Reverted changes regarding options.py
* Update worlds/noita/docs/en_Noita.md
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
* Update worlds/sc2wol/docs/en_Starcraft 2 Wings of Liberty.md
revert change waiting for that page to be updated
* Update worlds/witness/docs/setup_en.md
* Update worlds/witness/docs/en_The Witness.md
* Update worlds/soe/docs/multiworld_en.md
Fixed Typo
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Update worlds/witness/docs/en_The Witness.md
* Update worlds/adventure/docs/en_Adventure.md
* Update worlds/witness/docs/setup_en.md
* Updated Stardew valley to hopefully get rid of the merge conflicts
* Didn't work :dismay:
* Delete worlds/sc2wol/docs/setup_en.md
I think this will fix the merge issue
* Now it should work
* Woops
---------
Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
commit 218cd45844
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Fri Mar 22 03:02:38 2024 -0500
APProcedurePatch: fix RLE/COPY incorrect sizing (#3006)
* change class variables to instance variables
* Update worlds/Files.py
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Update worlds/Files.py
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* move required_extensions to tuple
* fix missing tuple ellipsis
* fix classvar mixup
* rename tokens to _tokens. use hasattr
* type hint cleanup
* Update Files.py
* check using isinstance instead
* Update Files.py
---------
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
commit 4196bde597
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Thu Mar 21 16:38:36 2024 -0400
Docs: Fixing special_range_names example (#3005)
commit 40f843f54d
Author: Star Rauchenberger <fefferburbia@gmail.com>
Date: Thu Mar 21 11:00:53 2024 -0500
Lingo: Minor game data fixes (#3003)
commit da333fbb0c
Author: GodlFire <46984098+GodlFire@users.noreply.github.com>
Date: Thu Mar 21 09:52:16 2024 -0600
Shivers: Adds missing logic rule for skull dial door location (#2997)
commit 43084da23c
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Thu Mar 21 16:51:29 2024 +0100
The Witness: Fix newlines in Witness option tooltips (#2971)
commit 14816743fc
Author: Scipio Wright <scipiowright@gmail.com>
Date: Thu Mar 21 11:50:07 2024 -0400
TUNIC: Shuffle Ladders option (#2919)
commit 30a0aa2c85
Author: Star Rauchenberger <fefferburbia@gmail.com>
Date: Thu Mar 21 10:46:53 2024 -0500
Lingo: Add item/location groups (#2789)
commit f4b7c28a33
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Wed Mar 20 17:45:32 2024 -0500
APProcedurePatch: hotfix changing class variables to instance variables (#2996)
* change class variables to instance variables
* Update worlds/Files.py
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Update worlds/Files.py
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* move required_extensions to tuple
* fix missing tuple ellipsis
* fix classvar mixup
* rename tokens to _tokens. use hasattr
* type hint cleanup
* Update Files.py
* check using isinstance instead
---------
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
commit 12864f7b24
Author: chandler05 <66492208+chandler05@users.noreply.github.com>
Date: Wed Mar 20 22:44:09 2024 +0100
A Short Hike: Implement New Game (#2577)
commit db02e9d2aa
Author: LiquidCat64 <74896918+LiquidCat64@users.noreply.github.com>
Date: Wed Mar 20 15:03:25 2024 -0600
Castlevania 64: Implement New Game (#2472)
commit 32315776ac
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Wed Mar 20 16:57:45 2024 -0400
Stardew Valley: Fix extended family legendary fishes being locations with fishsanity set to exclude legendary (#2967)
commit e9620bea77
Author: Magnemania <89949176+Magnemania@users.noreply.github.com>
Date: Wed Mar 20 16:56:00 2024 -0400
SM64: Goal Logic and Hint Bugfixes (#2886)
commit 183ca35bba
Author: qwint <qwint.42@gmail.com>
Date: Wed Mar 20 08:39:37 2024 -0500
CommonClient: Port Casting Bug (#2975)
commit fcaaa197a1
Author: TheLX5 <luisyuregi@gmail.com>
Date: Wed Mar 20 05:56:19 2024 -0700
SMW: Fixes for Bowser being defeatable on Egg Hunt and CI2 DC room access (#2981)
commit 8f7b63a787
Author: TheLX5 <luisyuregi@gmail.com>
Date: Wed Mar 20 05:56:04 2024 -0700
SMW: Blocksanity logic fixes (#2988)
commit 6f64bb9869
Author: Scipio Wright <scipiowright@gmail.com>
Date: Wed Mar 20 08:46:31 2024 -0400
Noita: Remove newline from option description so it doesn't look bad on webhost (#2969)
commit d0a9d0e2d1
Author: Bryce Wilson <gyroscope15@gmail.com>
Date: Wed Mar 20 06:43:13 2024 -0600
Pokemon Emerald: Bump required client version (#2963)
commit 94650a02de
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Tue Mar 19 17:08:29 2024 -0500
Core: implement APProcedurePatch and APTokenMixin (#2536)
* initial work on procedure patch
* more flexibility
load default procedure for version 5 patches
add args for procedure
add default extension for tokens and bsdiff
allow specifying additional required extensions for generation
* pushing current changes to go fix tloz bug
* move tokens into a separate inheritable class
* forgot the commit to remove token from ProcedurePatch
* further cleaning from bad commit
* start on docstrings
* further work on docstrings and typing
* improve docstrings
* fix incorrect docstring
* cleanup
* clean defaults and docstring
* define interface that has only the bare minimum required
for `Patch.create_rom_file`
* change to dictionary.get
* remove unnecessary if statement
* update to explicitly check for procedure, restore compatible version and manual override
* Update Files.py
* remove struct uses
* ensure returning bytes, add token type checking
* Apply suggestions from code review
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* pep8
---------
Co-authored-by: beauxq <beauxq@yahoo.com>
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Changes pot_completed_list to a instance variable instead of global.
Changes pot_completed_list to a instance variable instead of global. The global variable was unintentional and was causing missmatch in pre_fill which would cause generation error.
* Removing deprecated options getter
* Adds back fix from main branch
Adds back fix from main branch
* Removing messenger changes that somehow got on my branch?
Removing messenger changes that somehow got on my branch?
* Removing messenger changes that are somehow on the Shivers branch
Removing messenger changes that are somehow on the Shivers branch
* Still trying to remove Messenger changes on Shivers branch
Still trying to remove Messenger changes on Shivers branch
* Review comments addressed. Early lobby access set as default.
Review comments addressed. Early lobby access set as default.
* Review comments addressed
Review comments addressed
* Review comments addressed. Option for priority locations removed.
Option to have ixupi captures a priority has been removed and can be added again if Priority Fill is changed. See Issues #3467.
* Minor Change
Minor Change
* Fixed ID 10 T Error
Fixed ID 10 T Error
* Front door option added to slot data
Front door option added to slot data
* Add missing .value on slot data
Add missing .value on slot data
* Small change to slot data
Small change to slot data
* Small change to slot data
Why didn't this change get pushed github...
* Forgot list
Forgot list
---------
Co-authored-by: Kory Dondzila <korydondzila@gmail.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* rename locations accessibility to "full" and make old locations accessibility debug only
* fix a bug in oot
* reorder lttp tests to not override its overrides
* changed the wrong word in the dict
* :forehead:
* update the manual lttp yaml
* use __debug__
* update pokemon and messenger
* fix conflicts from 993
* fix stardew presets
* add that locations may be inaccessible to description
* use reST format and make the items description one line so that it renders correctly on webhost
* forgot i renamed that
* add aliases for back compat
* some cleanup
* fix imports
* fix test failure
* only check "items" players when the item is progression
* Revert "only check "items" players when the item is progression"
This reverts commit ecbf986145e6194aa99a39c481d8ecd0736d5a4c.
* remove some unnecessary diffs
* CV64: Add ItemsAccessibility
* put items description at the bottom of the docstring since that's it's visual order
* :
* rename accessibility reference in pokemon rb dexsanity
* make the rendered tooltips look nicer
* updates HK to consistently use world.random, use world.options, don't use world = self.multiworld, and remove some things from the logicMixin
* Update HK to new options dataclass
* Move completion condition helpers to Rules.py
* updates from review
These areas are technically connected through The Observant, but the connection between The Observant and The Incomparable is marked as a warp because of the warp hallways leading up to The Observant's achievement panel. Creating separate entrances for The Incomparable is a simple workaround, and allows use of that connection during a pilgrimage.
* save the seed in slot data to reuse it in UT
* add logging when seed is missing
* add UT test and fix bundle test
* self review
* run UT test on allsanity+mod so it's more meaningfull
* Created panels mode door shuffle
* Added some panel door item names
* Remove RUNT TURN panel door
Not really useful.
* Fix logic with First SIX related stuff
* Add group_doors to slot data
* Fix LEVEL 2 behavior with panels mode
* Fixed unit tests
* Fixed duplicate IDs from merge
* Just regenerated new IDs
* Fixed duplication of color and door group items
* Removed unnecessary unit test option
* Fix The Seeker being achievable without entrance door
* Fix The Observant being achievable without locked panels
* Added some more panel doors
* Added Progressive Suits Area
* Lingo: Fix Basement access with THE MASTER
* Added indirect conditions for MASTER-blocked entrances
* Fixed Incomparable achievement access
* Fix STAIRS panel logic
* Fix merge error with good items
* Is this clearer?
* DREAD and TURN LEARN
* Allow a weird edge case for reduced locations
Panels mode door shuffle + grouped doors + color shuffle + pilgrimage enabled is exactly the right number of items for reduced locations. Removing color shuffle also allows for disabling pilgrimage, adding sunwarp locking, or both, with a couple of locations left over.
* Prevent small sphere one on panels mode
* Added shuffle_doors aliases for old options
* Fixed a unit test
* Updated datafile
* Tweaked requirements for reduced locations
* Added player name to OptionError messages
* Update generated.dat
* Docs: Add Swedish Guide for Pokemon Emerald
Swedish Translation
* v2
some proof reading & clarification changes
* v3
* v4
* v5
typo
* v6
* Update worlds/pokemon_emerald/docs/setup_sv.md
Co-authored-by: Bryce Wilson <gyroscope15@gmail.com>
* Update worlds/pokemon_emerald/docs/setup_sv.md
Co-authored-by: Bryce Wilson <gyroscope15@gmail.com>
* v7
Tried to reduce the length of lines, this should still convey the same message/meaning
* typo
* v8
Removed Leading/Trailing Spaces
* typo v2
* Added a couple of full stops.
* lowercase typos
* Update setup_sv.md
* Apply suggestions from code review
Co-authored-by: Bryce Wilson <gyroscope15@gmail.com>
---------
Co-authored-by: Bryce Wilson <gyroscope15@gmail.com>
Co-authored-by: bittersweetrin <chandraherbozo@gmail.com>
* Fix logic bug on daggerfish
* Make new region for pond.
* Fix SVE logic for crops
* Fix Distant Lands Cropsanity
* Fix failing tests.
* Reverting removing these for now.
* Fix bugs, add combat requirement
* convert str into tuple directly
* add ginger island to mod tests
* Move a lot of mod item logic to content pack
* Gut the rules from DL while we're at it.
* Import nuke
* Fix alecto
* Move back some rules for now.
* Move archaeology rules
* Add some comments why its done.
* Clean up archaeology and fix sve
* Moved dulse to water item class
* Remove digging like worms for now
* fix
* Add missing shipsanity location
* Move background names around or something idk
* Revert ArchaeologyTrash for now
---------
Co-authored-by: Jouramie <jouramie@hotmail.com>
* 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>