[lua] Add quest not complete check to old ring KI in Castle O
I affirm:
- [x] I understand that if I do not agree to the following points by completing the checkboxes my PR will be ignored.
- [x] I understand I should leave resolving conversations to the LandSandBoat team so that reviewers won't miss what was said.
- [x] I have read and understood the Contributing Guide and the Code of Conduct.
- [x] 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?
Adds a check that the player has NOT completed the quest "Onion Rings". Was confirmed on retail you cannot obtain the KI again after the quest is completed.
Steps to test these changes
!zone <Castle Oztroja>!gotoname _47d- Click trapdoor get KI.
!delkeyitem old_ring!completequest 2 42- Click trapdoor don't get KI.
Capture
Trying to get the KI After completing the quest: https://youtu.be/sngOheiZYAA https://1drv.ms/u/c/87e665e10555c452/ESAQccop0BpPvI9BZO7vz3ABzf0kt6VSLBg358izVwS-KA?e=J8ThG6
Trying to get the KI before flagging the quest: https://drive.google.com/drive/folders/1-pCUZcESrK9JLSPQIEZQcdrIeRRAcpDO?usp=sharing
Just move this logic to the Onion Rings quest script.
Create a return status ~= xi.questStatus.QUEST_COMPLETED section for it and we dispose of this script.
Just move this logic to the
Onion Ringsquest script. Create areturn status ~= xi.questStatus.QUEST_COMPLETEDsection for it and we dispose of this script.
This won't work due to how IF functions. You can only be in a single section at one time. I can rework it into the quest If but it will result in a bunch of unnecessary repeated code since I would need to add this code into all 3 sections.
New one accounting for the player not having the KI AND has not completed the previous quest
Quest Available
Quest Accepted
Unrelated to the above:
I just performed a capture obtaining the KI and found that the interaction was incorrect. Obtaining the KI triggers an event and then gives the player the KI.
[12:47:27] [Capture] Capture started! [12:47:28] [ID View] INCOMING < CS Event + Params (0x034): NPC: 17396160 (), Event: 44, Params: 151, 130, 134219683, 134217732, 1125316400, 2080322158, 2, 4095 [12:47:30] You find an old ring marked with the sign of the eye. [12:47:31] [NPCL] New: 17396160 (_47d) [12:47:32] [ID View] OUTGOING > Event Option (0x05B): NPC: 17396160 (), Event: 44, Option: 0 [12:47:32] [NPCL] New: 17396028 (Yagudo Interrogator) [12:47:32] [NPCL] New: 17396235 (???) [12:47:32] [NPCL] New: 17395872 (Yagudo Oracle) [12:47:32] Obtained key item: Old ring.
Whatever the case, I think its better to just have the logic live in the quest script. Even if that means 3 interactions.
This PR has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.