Skip to content

Port Jarvald to Kotlin

Player Name requested to merge PlayerName/2009scape:jarvald2 into master

What has been done in this MR?

  • Port Jarvald to Kotlin
  • Implement his post-Frem-Trials dialogue, including free travel to Waterbirth. Closes #1039.
  • Change the script processor code to no longer incorrectly close interfaces on SOFT queue scripts. Manually add these interface closes for code that appeared to rely on this behavior, using a new contentapi function closeAllInterfaces().

For sources, I relied first and foremost on Arios, and for the parts that Arios didn't have I used the OSRS/RS3 transcripts from #1039. They agree with each other as well as with Arios (for the parts that Arios does have, i.e. the pre-quest dialogue), so it is plausible that they did not change Jarvald from 2009. As these dialogues don't show line breaks, I added those according to my best guess.

One thing of note: in the original code, a varp was set when you ran through the dialogue branch where Jarvald explains what Waterbirth is and that you need to pay 1k to go there. Although neither wiki source mentions this, I trust Arios more than them on this issue, so I have kept this in. The varp makes it so that, on your next interaction with Jarvald, you don't need to listen to his whole story again but you can immediately pay the 1k when you choose the appropriate option. I have added an analogous implementation of this skip to the new post-Frem-Trials dialogue.

To unset this varp again when you're testing, use ::setvarp 520 13 0.

What should testers check?

  • Run through all of his dialogue both with the Frem Trials set to 0 (::setqueststage 64 0) and set to 100, both in Rellekka and in Waterbirth. Also initiate his dialogue with the stage in between those - he says a few extra lines at the beginning if the quest is in progress.
  • Check that no text overruns the message box - I think I caught all of it but I might have missed something
  • Confirm that the sailing interface shows as expected when you're traveling
  • I have tested these changes thoroughly.

  • I used the relevant Zaros tool for any JSON edits where possible, and have attached screenshots of any changes.

Edited by Player Name

Merge request reports