The `banned_items` variable was the `"Unique"`list within the
`item_groups` global. `get_filler_item_name()` could then mutate
`banned_items` through `banned_items.append("Poke Doll")` and
`banned_items += item_groups["Vending Machine Drinks"]`, causing
the contents of the `item_groups` global to be mutated.
This has been fixed by making `banned_items` a shallow copy of
`item_groups["Unique"]`.
* Create setup_it.md
Created an italian translation of the setup for muse dash. I could not find direct references to translating a setup so I am assuming this is the correct way to submit a translation.
While I am a native in italian and I would consider myself fluent in english, I am not a translator so mistakes could have been made.
* Update __init__.py
* More control over progressive symbols!
* Cleanup crew
* lol
* Make it configurable how second stage items act on their own
* only let independent symbols work if they're not progressive
* revert defaults
* Better description
* comment for reviewers
* A complicated docstring for a complicated function
* More accurate
* This probably works more generically
* Actually, this would cause other issues anyway, so no need to make this generic yet
* :/
* oops
* Change the system to use collect/remove override so that plando and start inventory work correctly
* Vi stop doing that thing challenge
* Make SecondStateSymbolsActIndependently an OptionSet
* jank
* oop
* this is why we make unit tests I guess
* More unit tests
* More unit tests
* Add note about the absence of Rotated Shapers from the independent symbols optionset
* More verbose description
* More verbose description
* slight reword
* Ruff ruff :3 I am a good puppy <3
* Remove invis dots
* oops
* Remove some unused symbols
* display name
* linecounting -> discard
* Make all progressive chains always work
* Unfortunately, this optimisation is now unsafe with plando :(
* oops
* This is now a possible optimisation
* optimise optimise optimise
* optimise optimise optimise
* fix
* ruff
* oh
* fixed frfr
* mypy
* Clean up the tests a bit
* oop
* I actually like this better now, so I'm doing it as default
* Put stuff on the actual item class for faster collect/remove
* giga oops
* Make proguseful work
* None item left beef
* unnecessary change
* formatting
* add proguseful test to progressive symbols tests
* add proguseful test to progressive symbols tests
* clean up collect/remove a bit more
* giga lmfao
* Put stuff in option groups
* Add the new symbol items to hint system
* bump req client version
* fix soft conflict in unit tests
* fix more merge errors
* New solution to that plando issue
* better
* Another warning
* better comment
* Best of both worlds I guess?
* oops
* Smarter code reuse
* better comment
* oop
* lint
* mypy
* player_name
* add unit test
* oh
* Rebrand time baby
* This fits on one line
* oop
* Update worlds/witness/__init__.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* mypy
* Reorganize some doors according to medic's suggestions
* This should make it much faster (Thanks Medic)
* Town Doors works because of Church being a check always, Church Entry feels really bad tho
* Only add Desert Entry if there are no control panels stopping you
* No overlap here, so why is it a set
* Idk everything's kinda good without symbol shuffle
* Just make sure, I guess
* This makes way more sense doesn't it
* Oh, this is probably important
* oop
* loc
* oops 2
* ruff
* that was already in there
* Change the door picking a bit further
* some renaming
* slight wording change
* Fix
* Move it all to a new file
* ruff
* mypy
* .
* Make sure we're only adding as many tutorial checks as necessary
* ruff
* These checks aren't necessary, as the final list gets culled to only existing items anyway. It saves CPU cycles, but this is nicer for future compatibility
* Special handling for caves shortcuts
* 120 chars
* Update worlds/witness/place_early_item.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Clean up Windmill & Theater cases
* Make early_symbol_item removed instead
* Add early_good_item to presets
* replace double None checks with casts
* That doesn't exist anymore
* Mypy thing
* Update the doors again a bit
* Pycharm pls
* ruff
* forgot one
* oop
* Is it finally right?
* Update options.py
* Fix with new Panel Keys
* Hopefully fix crash when one of the types runs out when the others haven't yet
* oops
* Medic suggestion
* unused import
* Update place_early_item.py
* Update __init__.py
* Update __init__.py
* Update options.py
* Add possible types to option desc
* Make that include all Tutorial (Inside) checks
* Update __init__.py
* Update test_early_good_item.py
* Update test_early_good_item.py
* Slight cleanup
* fix no tutorial locations being picked up by tutorial location size check
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>