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

[AMK, Lua] Mission 13 puzzle 1 - Beaucedine Glacier runaround #5045

Merged

Conversation

Flibe-XI
Copy link
Contributor

I affirm:

  • I understand that if I do not agree to the following points by completing the checkboxes my PR will be ignored.
  • I understand I should leave resolving conversations to the LandSandBoat team so that reviewers won't miss what was said.
  • I have read and understood the Contributing Guide and the Code of Conduct.
  • I have tested my code and the things my code has changed since the last commit in the PR and will test after any later commits.

What does this pull request do?

This implements the first puzzle of mission 13 of AMK (see walkthrough here). The goblin grenadier tells you to find pips, of which there are six, which based on the order of the vanadiel days of the week, draw a number between 0-9. There is a odd bug that can occur where the args passed from the CS 507 are used to update the map, so the values sent through there can add erroneous pips to show up on the map. This is solved by passing 0's through onEventUpdate, which leaves the map showing only what the player already discovered. This function can also be used to change the map to show something else if desired... but unclear to what end at the moment.

Steps to test these changes

!addmission 10 12
Zone into Castle Zvahl Bailey's and talk to shadowy pillar for cs
Go to lonely evergreen in beaucedine glacier for a cs
Talk to Goblin Grenadier in beaucedine glacier for puzzle instructions
Gather pips and determine answer according to wiki instructions
Return to goblin, ask for hints
Get wrong answer: chest should not open
Get correct answer: chest should open, get pocket mogbomb KI

  • if you used 0 hints: 5 min flee, 1 hint: 3 min flee, 2 hints: no flee

Return to lonely evergreen for cs, which exchanges pocket mogbomb for trivia challenge kupon KI

Structure for cutscenes handled by lonely evergreen and goblin grenadier, as well as the
structure of the pips.
@Flibe-XI Flibe-XI changed the title Mission 13 puzzle 1 - Beaucedine Glacier runaround [AMK, Lua] Mission 13 puzzle 1 - Beaucedine Glacier runaround Jan 30, 2024
@Flibe-XI Flibe-XI force-pushed the mission_13_puz_1 branch 3 times, most recently from 15311d1 to 4d09ed3 Compare January 30, 2024 04:36
Copy link
Contributor

@zach2good zach2good left a comment

Choose a reason for hiding this comment

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

LGTM, just one question about vars

onEventFinish =
{
[100] = function(player, csid, option, npc)
player:setCharVar('Mission[10][12]progress', 1)
Copy link
Contributor

Choose a reason for hiding this comment

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

Don't you just call mission.setVar('progress') or something here, rather than making up the key by hand?

Copy link
Contributor

Choose a reason for hiding this comment

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

Same question for all manual management and lookup of these keys

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I was concerned about repeatability but now that I think about it this mission is only repeated while still on the same mission, never after you've completed it successfully. So I need to actually remove the >= check on mission ID, and yes can use mission:progress. Force of habit for me in amk missions

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Actually scratch that, this mission is run while on the following mission. So I'm not sure how it would work using the mission progress variable while on a different mission in case that one needed to use it. Thoughts?

Copy link
Contributor

Choose a reason for hiding this comment

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

That's fine then, just leave a note saying that's whats happening

Comment on lines +131 to +137
pos.x * 1000,
pos.z * 1000,
pos.y * 1000,
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think I've ever seen pos units put into an event like this, interesting!

The cutscene event for the goblin grenadier requires two sets of args, first is for the hint and win/lose mechanic, the second
from the eventUpdate section is to relabel an pips on the map if you wanted to.  Setting the pip args to 0 makes it so the
map isn't changed accidentally
@zach2good zach2good merged commit 2f71f2e into LandSandBoat:feature/amk_missions Jan 31, 2024
11 checks passed
zach2good pushed a commit that referenced this pull request Apr 29, 2024
* Add beauc glac puzzle npc logic

Structure for cutscenes handled by lonely evergreen and goblin grenadier, as well as the
structure of the pips.

* puzzle pips complete, map bug fixed

The cutscene event for the goblin grenadier requires two sets of args, first is for the hint and win/lose mechanic, the second
from the eventUpdate section is to relabel an pips on the map if you wanted to.  Setting the pip args to 0 makes it so the
map isn't changed accidentally
zach2good pushed a commit that referenced this pull request May 23, 2024
* Add beauc glac puzzle npc logic

Structure for cutscenes handled by lonely evergreen and goblin grenadier, as well as the
structure of the pips.

* puzzle pips complete, map bug fixed

The cutscene event for the goblin grenadier requires two sets of args, first is for the hint and win/lose mechanic, the second
from the eventUpdate section is to relabel an pips on the map if you wanted to.  Setting the pip args to 0 makes it so the
map isn't changed accidentally
hooksta4 pushed a commit to hooksta4/LSB_Hook_fork that referenced this pull request May 23, 2024
…ndBoat#5045)

* Add beauc glac puzzle npc logic

Structure for cutscenes handled by lonely evergreen and goblin grenadier, as well as the
structure of the pips.

* puzzle pips complete, map bug fixed

The cutscene event for the goblin grenadier requires two sets of args, first is for the hint and win/lose mechanic, the second
from the eventUpdate section is to relabel an pips on the map if you wanted to.  Setting the pip args to 0 makes it so the
map isn't changed accidentally
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.

3 participants