stage_post_fill iterates sets of locations, so the iteration order is
non-deterministic, resulting in different items being converted from
Progression to Useful when generating with the same seed.
This patch makes stage_post_fill deterministic by sorting the duplicate
pokemon locations in each sphere before choosing which of the duplicates
should remain as progression.
* Quiz updates
* Enable Partial Trainersanity
* Losable Key Items Still Count
* New options api
* Type Chart Seed
* Continue switching to new options API
* Level Scaling and Quiz fixes
* Level Scaling and Quiz fixes
* Clarify that palettes are only for Super Gameboy
* Type chart seed groups use one random players' options
* remove goal option again
* Text updates
* Trainersanity Trainers ignore Blind Trainers setting
* Re-order simple connecting interiors so that directions are preserved when possible
* Dexsanity exact number
* Year update
* Dexsanity Doc update
* revert accidental file deletion
* Fixes
* Add world parameter to logic calls
* restore correct seeded random object
* missing world.options changes
* Trainersanity table bug fix
* delete entrances as well as exits when restarting door shuffle
* Do not collect route 25 item for level scaling if trainer is trainersanity
* world.options in level_scaling.py
* Update worlds/pokemon_rb/level_scaling.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/pokemon_rb/encounters.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Update worlds/pokemon_rb/encounters.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* world -> multiworld
* Fix Cerulean Cave Hidden Item Center Rocks region
* Fix Cerulean Cave Hidden Item Center Rocks region for real
* Remove "self-locking" rules
* Update worlds/pokemon_rb/regions.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Fossil events
* Update worlds/pokemon_rb/level_scaling.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
---------
Co-authored-by: alchav <alchav@jalchavware.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* Rename sweep_for_events to sweep_for_advancements
* more event->advancement renames
* oops accidentally deleted the deprecation thing in the force push
* Update TestDungeon.py
* Update BaseClasses.py
* Update BaseClasses.py
* oops
* utils.deprecate
* treble, you had no idea how right you were
* Update test_panel_hunt.py
* Update BaseClasses.py
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
---------
Co-authored-by: Fabian Dill <Berserker66@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
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.
* Pokemon RB: Add an item group for each HM
HMs are suffixed with the name of the move, e.g. "HM02 Fly". If TM
move are randomized, they do not have the move name, e.g. "TM02".
If someone hints for an HM using the just the number, the fuzzy matching
sees "TM02" as closer than "HM02 Fly", and in fact sees it as close
enough to not ask the user to confirm, leading them to waste hint points
on non-progression item that they didn't intend.
Emerald already does this for this reason, adding the same for RB.
* Add the new groups for HMs in the item_table instead
* 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>
* 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>
- Perhaps most critically, adds the ability for the door shuffle code to catch door shuffle exceptions and try again. Will try up to 10 times. Should mean Door Shuffle does not need to be disallowed in the big async🤞
- Door Shuffle code has been made drastically faster by searching for the first dead end instead of sorting the whole list of entrances by whether they are dead ends.
- Renames Full to Interiors, and adds a new Full door shuffle that shuffles interior-to-interior doors separately from exterior-to-interior doors.
- Adds a new Decoupled door shuffle.
- Warp Tile Shuffle now has 3 separate options, Vanilla, Shuffle, and Mixed. Shuffle shuffles the warp tiles among themselves, Mixed mixes them into the Door Shuffle pool.
- Safari Zone connections are now shuffled on Full, Insanity, and Decoupled.
- On Simple Door Shuffle, the Town Map is updated to show the new dungeon locations. The Town Map has been updated to show the locations of dungeons that previously were not shown unless you opened the map within them, and the Sea Cottage has been removed from it.
- Adds Auto Level Scaling that chooses the level scaling mode based on the Door Shuffle choice.
- Fixes issues with Flash and Fly move interventions (where it ensures an available Pokémon that can learn it is reachable depending on settings).
- Fixes a possible generation crash with type chart randomization.
- Should fix an issue where `stage_fill_hook` was able to remove the wrong item from the item pool resulting in a duplicated item reference existing.
- Adds a stage_post_fill function which searches for Pokémon in order of spheres, setting all but the first advancement Pokémon event found to `useful` so that spoiler playthrough calculation skips them. In a solo game gen test, this cut gen time from 15 seconds to 10 seconds with same seed number. Difference is likely to be much more massive in larger multiworlds.
* If the user tried to run `/bank` with no arguments to see the current
value while disconnected, previously it threw an exception `KeyError:
'EnergyLinkNone'`. Now it informs the user that they must be connected
and in-game, like `/bank deposit` and `/bank withdraw` do.
I'm also open to adding another `if` branch to make `/bank` only check
for `ctx.server` instead of combining it with the other bank commands,
to allow connecting to check the bank before the game save is loaded.
If that's preferred let me know.
* If the user tried to run `/bank` or `/bank deposit` when the EnergyLink
hadn't been used yet, they would get a `TypeError` exception. Trying
`/bank withdraw` would give no output and would crash the lua
connector script. Now it treats a `None` EnergyLink as `0` and works
properly.
Only attempt to place badges in badge locations if they are empty. Return unplaced badges to the item pool if fewer than 8 locations are being filled.
This should fix errors that occur when items are placed into badge locations via plando, or whatever other worlds may do.
Fixes an issue where the Silph Co 6F hostage check becomes unavailable if Giovanni has been defeated on 11F. This is due to the NPC having separate scripts depending on whether Giovanni was defeated. The code for the check has been moved to before the branch.
- Removes the Pokémon Client, adding support for Red and Blue to the Bizhawk Client.
- Adds `/bank` commands that mirror SDV's, allowing transferring money into and out of the EnergyLink storage.
- Adds a fix to the base patch so that the progressive card key counter will not increment beyond 10, which would lead to receiving glitch items. This value is checked against and verified that it is not > 10 as part of crash detection by the client, to prevent erroneous location checks when the game crashes, so this is relevant to the new client (although shouldn't happen unless you're using !getitem, or putting progressive card keys as item link replacement items)
* Add Unique Locals Commands to ChecksFinder
* Add Unique Locals Commands to MMBN3 Game Page
* Add Unique Locals Commands to Ocarina of Time Game Page
* Add Unique Locals Commands to Undertale Game Page
* Add Unique Locals Commands to Wargroove Game Page
* Add Unique Locals Commands to The Legend of Zelda Game Page
* Add Unique Locals Commands to Zillion Game Page
* Amend Unique Locals Commands on Final Fantasy 1 Game Page
* Add Unique Locals Commands to Pokemon R/B Game Page
* Grammar fix for FF1
* Corrected sections names to match
* Added commands to Starcraft 2 Wings of Liberty game page
Co-authored-by: Bicoloursnake <60069210+bicoloursnake@users.noreply.github.com>
---------
Co-authored-by: Bicoloursnake <60069210+bicoloursnake@users.noreply.github.com>
Sweep only current player's locations so that more players does not slow it down.
Fix a slight possibility of Full door shuffle crash by only sorting for outdoor dead ends only when connecting from a non-dead end.
* added setup_es.md
setup_en 100% translated (with a bit of adaptation to spanish linguistics)
* Update __init__.py
add reference to the spanish tutorial
* Update setup_es.md
removed temporary "wip translation" header
* Update setup_es.md
formatting cleanup
* Update setup_es.md
translated "alias for" on lines 73 and 74, which I just forgot to
* Update setup_es.md
fixed a bunch of punctuation/grammar and fixed bold format in Configuring Bizhawk section
* Update worlds/pokemon_rb/docs/setup_es.md
updated bold format as per nicholassaylor's suggestion
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
---------
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* added setup_es.md
setup_en 100% translated (with a bit of adaptation to spanish linguistics)
* Update __init__.py
add reference to the spanish tutorial
* Update setup_es.md
removed temporary "wip translation" header
* Update setup_es.md
formatting cleanup
* Update setup_es.md
translated "alias for" on lines 73 and 74, which I just forgot to