Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The Witness: Make "Early Good Item" an OptionSet allowing Symbols, Doors and Obelisk Keys #3804

Open
wants to merge 80 commits into
base: main
Choose a base branch
from

Conversation

NewSoupVi
Copy link
Member

@NewSoupVi NewSoupVi commented Aug 17, 2024

Rework of / Rebrand of / Based off of #3041

Includes parts of #3895

Instead of always placing an early Symbol item on Tutorial Gate Open, this now lets you specify that you want a Symbol, Door, and / or Obelisk Key.
Additional locations will be added in Tutorial to make room if necessary.

@NewSoupVi NewSoupVi added is: enhancement Issues requesting new features or pull requests implementing new features. waiting-on: peer-review Issue/PR has not been reviewed by enough people yet. labels Aug 17, 2024
@Exempt-Medic Exempt-Medic added the waiting-on: author Issue/PR is waiting for feedback or changes from its author. label Nov 21, 2024
Copy link
Member

@Exempt-Medic Exempt-Medic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some initial comments, didn't do any testing. One question, do you think an early item type should cause an error if those items aren't shuffled at all? That does cause some issue with "Symbol" though since somebody could easily change shuffle_symbols and then not unlick early_good_items but 🤷

worlds/witness/options.py Show resolved Hide resolved
worlds/witness/options.py Show resolved Hide resolved
worlds/witness/test/test_early_good_item.py Show resolved Hide resolved
worlds/witness/test/test_early_good_item.py Show resolved Hide resolved
worlds/witness/player_items.py Outdated Show resolved Hide resolved
worlds/witness/player_items.py Outdated Show resolved Hide resolved
worlds/witness/player_items.py Show resolved Hide resolved
worlds/witness/place_early_item.py Outdated Show resolved Hide resolved
# On some options combinations with doors, there just aren't a lot of doors that unlock much early.
# In this case, we add some doors that aren't great, but are at least guaranteed to unlock 1 location.

fallback_doors = [
Copy link
Member

@Exempt-Medic Exempt-Medic Nov 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could also include: "Town Maze Stairs (Panel)", "Keep Shadows Shortcut (Door)", "Keep Shortcuts", "Keep Pressure Plates Doors", "Keep Tower Shortcut (Door)", "Tunnels Doors", "Tunnels Town Shortcut (Door)", "Quarry Stoneworks Doors", "Quarry Stoneworks Roof Exit (Door)", "Desert Doors & Elevator", "Desert Panels", "Keep Hedge Maze 1 Exit (Door)", "Keep Hedge Maze 2 Shortcut (Door)", "Keep Hedge Maze 3 Shortcut (Door)", "Keep Hedge Maze 4 Shortcut (Door)", "Keep Hedge Maze Doors", "Keep Hedge Maze 1 (Panel)", "Keep Hedge Maze Panels", "Shadows Laser Room Doors", "Shadows Timed Door", "Shadows Lower Doors", and "Shadows Door Timer (Panel)"

Copy link
Member Author

@NewSoupVi NewSoupVi Nov 29, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've considered all of these individually and added the ones I like accordingly. Let me know if you have any more suggested additions / changes

@Exempt-Medic Exempt-Medic removed the waiting-on: author Issue/PR is waiting for feedback or changes from its author. label Nov 28, 2024
@NewSoupVi
Copy link
Member Author

NewSoupVi commented Nov 29, 2024

One question, do you think an early item type should cause an error if those items aren't shuffled at all?

No. I prefer when people who play mystery can just leave the option on one specific setting, and any "conflicts" get resolved if I believe there to be a "canonical" way to resolve the conflict. In this case, I do - The type just gets skipped.

I've made an addition to the option tooltip to reflect this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
is: enhancement Issues requesting new features or pull requests implementing new features. waiting-on: peer-review Issue/PR has not been reviewed by enough people yet.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants