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

Varlamore Part 2 Quest Cleanup #1788

Merged
merged 11 commits into from
Oct 23, 2024
Merged

Varlamore Part 2 Quest Cleanup #1788

merged 11 commits into from
Oct 23, 2024

Conversation

Zoinkwiz
Copy link
Owner

@Zoinkwiz Zoinkwiz commented Oct 3, 2024

This is primarily focusing on implementing the PuzzleWrapperStep to the newest Varlamore quests.

As part of this, I made a few QuestStep functions return said QuestStep. This is intended to make it a bit easier to make things like PuzzleWrapperStep in the future when there's various things needing to be applied to the base QuestStep.

I also needed to fix a bug in the sidebar with how substeps were detected for section highlighting, as it was causing the sidebar to not highlight correctly for substeps of puzzle wrappers.

The parts I've added a puzzle hide to are:

Heart of Darkness

  • The first floor puzzle is entirely hidden, except a prompt saying to work out the passphrase for the guy.
  • The third floor puzzle is entirely hidden, except for a prompt saying to work out who is guilty.
  • The ice dungeon statue puzzle is entirely hidden, except a prompt saying to work out how to open the door.

Ethically Acquired Antiquities

  • The shaming of Helen shouldn't show the prompts on what to say, and will say to instead work out how to shame him.

Death on the Isle

None added at present, as it is kinda all a puzzle. I think we could consider adding some, basically making it so sections are more like 'Search the wine cellar for all clues', 'Accuse the person you think is the murderer', etc. But I'd like that to be a discussion as I'm not 100% sure on it.

Meat and Greet

None needed to be added as @pajlada is a competent individual who's very good at coding ❤️

@Zoinkwiz Zoinkwiz marked this pull request as ready for review October 3, 2024 12:27
This should make it easier to use any QuestStep in PuzzleWrapperStep, as well as generally making it more concise when using various dialog adding and highlighting in the future.
This makes it easier to use NpcStep in things such as PuzzleWrapperStep.
As some steps may want to default to different other steps upon being hidden (for example in a PuzzleWrapperStep), this ensures that the sidebar highlight check is re-run if a step is hidden/shown.
This makes use of the actual active sidebar step for the queststeppanel, rather than a local variable representing it based on a last-known state.

This should ensure that panels are properly checked, and there's no chance of this variable not representing the actual quest state.

This does mean recolour of the sidebar can occur on things which are already set, but I don't think this should have any noted performance changes.
@Zoinkwiz Zoinkwiz force-pushed the varlamore-p2-quest-cleanup branch from 0bfb80e to 75049a6 Compare October 23, 2024 12:20
Copy link
Contributor

@pajlada pajlada left a comment

Choose a reason for hiding this comment

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

Haven't tested in game, overall code looks good, just a small nit for the ObjectStep code

src/main/java/com/questhelper/steps/ObjectStep.java Outdated Show resolved Hide resolved
src/main/java/com/questhelper/steps/ObjectStep.java Outdated Show resolved Hide resolved
@@ -223,7 +221,8 @@ public void setupSteps()
"back already!",
"Think of the Varlamorian children who won't get to see this artefact.", "You should give Varlamore a chance before stealing their stuff.",
"This is stealing! Thieving! Taking what's not yours!", "I thought archaeology was cool. I didn't realise it was just thieving!",
"How would you feel if someone came in here and stole all your stuff?", "You're hoarding artefacts, but you should be sharing them!");
"How would you feel if someone came in here and stole all your stuff?", "You're hoarding artefacts, but you should be sharing them!")
.puzzleWrapStep("Work out how to shame Curator Haig Halen, get the meter to 100%.");
Copy link
Contributor

Choose a reason for hiding this comment

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

This builder-like API with the puzzle wrap step helper function is neat

@Zoinkwiz Zoinkwiz merged commit 8485023 into master Oct 23, 2024
1 check passed
@Zoinkwiz Zoinkwiz deleted the varlamore-p2-quest-cleanup branch October 23, 2024 13:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants