* Pokemon Emerald: Add event ticket locations to client data store flags
* Pokemon Emerald: Add regi doors event flag
* Pokemon Emerald: Add more tracker flags
* Cleanup and new option support
* Handle new locations
* Support higher Strawberry counts
* Don't add start inventory items to the pool
* Support Move Shuffle functionality and items
* Hard and Move Shuffle Logic
* Fix Options
* Update CHANGELOG.md
* Add standard moves logic for signs 3 and 4
* Fix Option Tooltip
* Add tracker link to setup guide
* Fix unit test
* Fix option tooltips
* Missing Space
* Move option checking out of rule function
* Delete just_gen500.bat
* Core: allow for single player state sweeping
* Fill: have distribute items use single_player fill when it can
* oop
* pass locations to sweep_for_events instead of the player
* finally found the diff that was breaking swap
* LTTP fills everyone's dungeons at once, not just a single player's
---------
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* Fixed Logic in Rules.py
As of easy logic of this goal is
set_rule(world.multiworld.get_location("GO! GO! MARIO!!: Stars", player), lambda state: logic.has_midring(state) or (state.has("Tulip", player) and logic.cansee_clouds(state)))
normal logic shouldn't need any collectable.
* Corrected Logic Rules.py
* Update entrance rando description to discuss seed groups
* Starting off, setting up some names
* It lives
* Some preliminary plando connection handling, probably has errors
* Add missed comma
* if -> elif
* I think this is working properly to handle plando connections
* Update comments
* Fix up shop -> shop portal stuff
* Add back comma that got removed for no reason in the ladder PR
* Remove unnecessary if else
* add back the actually necessary if but not the else
* okay they were both necessary
* Update entrance rando description
* blasphemy
Co-authored-by: Silent <110704408+silent-destroyer@users.noreply.github.com>
* Rename other instances of tunc -> tunic
* Update per Vi's review (thank you)
* Fix a not that shouldn't have been
* Rearrange, update per Vi's comments (thank you)
* Fix indent
* Add a .value
* Add .values
* Fix bad comparison
* Add a not that was supposed to be there
* Replace another isinstance
* Revise option description
* Fix per Kaito's comment
Co-authored-by: Kaito Sinclaire <ks@rosenthalcastle.org>
---------
Co-authored-by: Silent <110704408+silent-destroyer@users.noreply.github.com>
Co-authored-by: Kaito Sinclaire <ks@rosenthalcastle.org>
* Add location groups for each region
* Capitalize existing location groups
* Capitalize new boss location group names
* Update comment with capitalization
* Capitalize location_type in reigons.py
* Replaced the outdated Tracker Pack with a new one that is also pinned in the Discord channel
* Same change but for Spanish
* Update setup_en.md
* catching the bottom link as well
* See English Setupguide
* huzzah, location groups
* scope creep pog
* Apply suggestion to the other spot it is applicable at too
* apply berserker's suggestion
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
* Remove extra location group for shops
* Fire rod for magic wand
* Capitalize itme name groups
* Update docs to capitalize item name groups, remove the little section on aliases
since the aliases bit is really more for someone misremembering the name than anything else, like "fire rod" is because you played a lot of LttP, or Orb instead of Magic Orb is clear.
* Fix rule with item group name
* Capitalization is cool
* Fix merge mistake
* Add Flask group, remove Potions group
* Update docs to detail how to find item and location groups
* Revise per Vi's comment
* Fix test
* fuzzy matching please stop
* Remove test change that was meant for a different branch
---------
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
Properly name the Book to Book of Magic in Rules.py so you can actually possibly be expected to use Magical Rod plus Book of Magic to get through dark rooms. No wonder we tend to see candles so early oops.
Also adding a rule that you need candles for access to Level 8 so you aren't required to time a Rod+Book shot against a moblin to burn the bush. Might make this a logic trick or something later.
* An option was added to enable or disable the pilgrimage, and it defaults to disabled. When disabled, the client will prevent you from performing a pilgrimage (i.e. the yellow border will not appear when you enter the 1 sunwarp). The sun painting is added to the item pool when pilgrimage is disabled, as otherwise there is no way into the Pilgrim Antechamber. Inversely, the sun painting is no longer in the item pool when pilgrimage is enabled (even if door shuffle is on), requiring you to perform a pilgrimage to get to that room.
* The canonical pilgrimage has been deprecated. Instead, there is logic for determining whether a pilgrimage is possible.
* Two options were added that allow the player to decide whether paintings and/or Crossroads - Roof Access are permitted during the pilgrimage. Both default to disabled. These options apply both to logical expectations in the generator, and are also enforced by the game client.
* An option was added to control how sunwarps are accessed. The default is for them to always be accessible, like in the base game. It is also possible to disable them entirely (which is not possible when pilgrimage is enabled), or lock them behind items similar to door shuffle. It can either be one item that unlocks all sunwarps at the same time, six progressive items that unlock the sunwarps from 1 to 6, or six individual items that unlock the sunwarps in any order. This option is independent from door shuffle.
* An option was added that shuffles sunwarps. This acts similarly to painting shuffle. The 12 sunwarps are re-ordered and re-paired. Sunwarps that were previously entrances or exits do not need to stay entrances or exits. Performing a pilgrimage requires proceeding through the sunwarps in the new order, rather than the original one.
* Pilgrimage was added as a win condition. It requires you to solve the blue PILGRIM panel in the Pilgrim Antechamber.
* CI: strict mypy check in github actions
mypy_files.txt is a list of files that will fail the CI if mypy finds errors in them
* don't need these
* `Any` should be a way to silence the type checker
* restrict return Any
* CI: pyright in github actions
* fix mistake in translating from mypy
* missed another change from mypy to pyright
* pin pyright version
* add more paths that should trigger check
* use Python instead of bash
* type error for testing CI
* Revert "type error for testing CI"
This reverts commit 99f65f3dadf67fb18b6bbee90bd77d8dbd10f9f9.
* oops
* don't need to redirect output
A world's player_logic is accessible from the LingoWorld object, so it's not necessary to also pass the LingoPlayerLogic object through every function that uses both.
* Update item pool to include 25 jokes and videos as progression items, as well as a progression GeroCities profile
* Fix a bug in Items.py causing item names to be appended inappropriately
* Remove unnecessary import
* Change item pool to have 50 jokes and 20 motivational videos
* Adjust item pool to have 40 of both jokes and videos
* Fix imports to allow compressing for distribution as a .apworld
* Replace all usages of player settings
* Fixed line break error
* Attempt to fix line break again
* Finally figure out what Pycharm did to this file
* Pycharm search failed me
* Remove duplicate s
* Update ArchipIdle
* Revert random newline changes from Pycharm
* Remove player settings from fstrings and rename --samesettings to --sameoptions
* Finally get PyCharm to not auto-format my commits, randomly inserting the newlines
* Removing player-settings
* Missed one
* Remove final line break error
Co-authored-by: Exempt-Medic <60412657+exempt-medic@users.noreply.github.com>
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Co-authored-by: Exempt-Medic <ExemptMedic@Gmail.com>
* 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
* 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
* 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
* 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>
* 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>
Adds Archipelago support for Zork Grand Inquisitor, the 1997 point-and-click PC adventure game.
The client (based on `CommonClient`), on top of its regular Archipelago duties, fully handles the randomization of the game and the monitoring / modification of the game state. No game modding needed at all; the player is ready to play an Archipelago seed if they can play the vanilla game through ScummVM.
The "reverse engineering" (there's likely a better term for this...) of the game is my own original work and I included an MIT license at the root of my world directory.
A PopTracker pack was also created to help people learn the game: https://github.com/SerpentAI/ZorkGrandInquisitorAPTracker
Adds HotS, LotV and NCO campaigns to SC2 game.
The world's name has changed to reflect that (it's not only Wings of Liberty now)
The client was patched in a way that can still join to games generated prior this change
---------
Co-authored-by: Magnemania <magnemight@gmail.com>
Co-authored-by: EnvyDragon <138727357+EnvyDragon@users.noreply.github.com>
Co-authored-by: Matthew <matthew.marinets@gmail.com>
Co-authored-by: hopop201 <benjy.hopop201@gmail.com>
Co-authored-by: Salzkorn <salzkitty@gmail.com>
Co-authored-by: genderdruid <pallyoffail@gmail.com>
Co-authored-by: MadiMadsen <137329235+MadiMadsen@users.noreply.github.com>
Co-authored-by: neocerber <neocerber@gmail.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
Major Content update for Stardew Valley, including the following features
- Major performance improvements all across the Stardew Valley apworld, including a significant reduction in the test time
- Randomized Farm Type
- Bundles rework (Remixed Bundles and Missing Bundle!)
- New Settings:
* Shipsanity - Shipping individual items
* Monstersanity - Slaying monsters
* Cooksanity - Cooking individual recipes
* Chefsanity - Learning individual recipes
* Craftsanity - Crafting individual items
- New Goals:
* Protector of the Valley - Complete every monster slayer goal
* Full Shipment - Ship every item
* Craftmaster - Craft every item
* Gourmet Chef - Cook every recipe
* Legend - Earn 10 000 000g
* Mystery of the Stardrops - Find every stardrop (Maguffin Hunt)
* Allsanity - Complete every check in your slot
- Building Shuffle: Cheaper options
- Tool Shuffle: Cheaper options
- Money rework
- New traps
- New isolated checks and items, including the farm cave, the movie theater, etc
- Mod Support: SVE [Albrekka]
- Mod Support: Distant Lands [Albrekka]
- Mod Support: Hat Mouse Lacey [Albrekka]
- Mod Support: Boarding House [Albrekka]
Co-authored-by: Witchybun <elnendil@gmail.com>
Co-authored-by: Witchybun <96719127+Witchybun@users.noreply.github.com>
Co-authored-by: Jouramie <jouramie@hotmail.com>
Co-authored-by: Alchav <59858495+Alchav@users.noreply.github.com>
* Core: add layer for patches that don't use `Patch.py`
* bump container version
* APAutoPatchInterface name
* mystic quest change
* OoT and Adventure changes
* missed name in docstring
* container version compatibility