mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2026-08-01 14:39:13 -06:00
Merge branch 'route' into 'master'
Draft: In Search of the Myreque See merge request 2009scape/2009scape!2384
This commit is contained in:
commit
c03dd20343
10 changed files with 885 additions and 0 deletions
|
|
@ -0,0 +1,102 @@
|
|||
package content.region.morytania.quest.insearchmyreque
|
||||
|
||||
import content.data.Quests
|
||||
import core.api.*
|
||||
import core.game.dialogue.DialogueLabeller
|
||||
import core.game.dialogue.DialogueOption
|
||||
import core.game.interaction.IntType
|
||||
import core.game.interaction.InteractionListener
|
||||
import core.game.node.entity.npc.NPC
|
||||
import org.rs09.consts.*
|
||||
|
||||
class CurpileFyodDialogue : InteractionListener {
|
||||
override fun defineListeners() {
|
||||
on(intArrayOf(NPCs.CURPILE_FYOD_1568), IntType.NPC, "talk-to") { player, node ->
|
||||
DialogueLabeller.open(player, CurpileFyodDialogueFile(), node as NPC)
|
||||
return@on true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class CurpileFyodDialogueFile : DialogueLabeller() {
|
||||
override fun addConversation() {
|
||||
|
||||
npc("Hey...what're you doin' here?")
|
||||
|
||||
options(
|
||||
DialogueOption("weapons","I've come to help the Myreque, I've brought weapons."),
|
||||
DialogueOption("fk off","I don't have to answer to you!"),
|
||||
DialogueOption("no rsn","No reason!"),
|
||||
DialogueOption("lost","I'm lost, can you show me the way out?"),
|
||||
DialogueOption("bye","I have to go."),
|
||||
)
|
||||
|
||||
label("weapons")
|
||||
npc("Ok, I see ya got da weapons...but how'd I know you're not gonna use 'em against my friends?")
|
||||
player("But I just want to help deliver these weapons.")
|
||||
npc("Well, dat's as maybe, and I'm not doubting your sincerity here, you seems all sincered up to me...it's choking me up right here, you're making me cry...but hey, I's godda do my job or da kids don't get fed! Ok,")
|
||||
npc("so say I asks you a few questions and you were to answer them all correct and so on, well that'd make me believe you's...I'd get to feeling that you was the real deal an all. How's dat sound?")
|
||||
player("Sounds fine to me...go ahead, shoot!")
|
||||
npc("Hey...don't tempt me! You's dicing wiv death here my friend!")
|
||||
npc("Ok, first question. Who is the youngest member of the Myreque?")
|
||||
|
||||
options( // todo set attribute for answers
|
||||
DialogueOption("q2","Sani Piliu"),
|
||||
DialogueOption("q2","Ivan Strom"), // correct answer
|
||||
DialogueOption("q2","Veliaf Hurtz"),
|
||||
DialogueOption("q2","Radigad Ponfit"),
|
||||
DialogueOption("q2","Don't know!"),
|
||||
title = "Who is the youngest member of the Myreque?"
|
||||
)
|
||||
|
||||
label("q2")
|
||||
npc("Ok, interesting answer. First question answered.")
|
||||
npc("Ok, second question. What family is rumored to rule Morytania?")
|
||||
|
||||
options( // todo set attribute for answers
|
||||
DialogueOption("q3","Drunken"),
|
||||
DialogueOption("q3","Drakan"), // correct answer
|
||||
DialogueOption("q3","Draynor"),
|
||||
DialogueOption("q3","Praymore"),
|
||||
DialogueOption("q3","I don't know!"),
|
||||
title = "What family is rumored to rule Morytania?"
|
||||
)
|
||||
|
||||
label("q3")
|
||||
npc("An interesting response. Second question answered.")
|
||||
npc("Ok, third and final question. Who is the leader of the Myreque?")
|
||||
|
||||
options( // todo set attribute for answers
|
||||
DialogueOption("results", "Sani Piliu"),
|
||||
DialogueOption("results","Ivan Strom"),
|
||||
DialogueOption("results","Veliaf Hurtz"), // correct answer
|
||||
DialogueOption("results","Radigad Ponfit"),
|
||||
DialogueOption("results","Don't know!"),
|
||||
title = "Who is the leader of the Myreque?"
|
||||
)
|
||||
|
||||
label("results")
|
||||
npc("Hmmm, a calculated retort. Third question answered.") // todo add a failure check
|
||||
npc("Ok, I believes ya...you can go on.")
|
||||
player("What's the combination to the door?")
|
||||
npc("Oh, there isn't one. I'll unlock it for you.")
|
||||
goto("nowhere")
|
||||
|
||||
label("fk off")
|
||||
npc("You do if you know what's good for you!")
|
||||
goto("nowhere")
|
||||
|
||||
label("no rsn")
|
||||
npc("Come on... speak up! I may be able to help you. However, you's gotta know that you's trespassing and that, by rights, I should slap you around a bit. You know: just like as a warning.")
|
||||
goto("nowhere")
|
||||
|
||||
label("lost")
|
||||
npc("You got yourself in here, now get yourself out. And quickly, if I were you.")
|
||||
goto("nowhere")
|
||||
|
||||
label("bye")
|
||||
goto("nowhere")
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,184 @@
|
|||
package content.region.morytania.quest.insearchmyreque
|
||||
|
||||
import content.data.Quests
|
||||
import core.api.*
|
||||
import core.game.dialogue.DialogueLabeller
|
||||
import core.game.dialogue.DialogueOption
|
||||
import core.game.interaction.IntType
|
||||
import core.game.interaction.InteractionListener
|
||||
import core.game.node.entity.npc.NPC
|
||||
import org.rs09.consts.*
|
||||
|
||||
class CyregPaddlehornDialogue : InteractionListener {
|
||||
override fun defineListeners() {
|
||||
on(intArrayOf(NPCs.CYREG_PADDLEHORN_1567), IntType.NPC, "talk-to") { player, node ->
|
||||
DialogueLabeller.open(player, CyregPaddlehornDialogueFile(), node as NPC)
|
||||
return@on true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class CyregPaddlehornDialogueFile : DialogueLabeller() {
|
||||
override fun addConversation() {
|
||||
|
||||
npc("Hello there friend") // authentic lack of a period
|
||||
player("Hello there, I have some weapons for you to give to the 'Myreque'.")
|
||||
loadLabel(player!!, "check")
|
||||
|
||||
label("check")
|
||||
// todo check if weapons and load one of the two next labels
|
||||
|
||||
label("doesnthaveweapons")
|
||||
npc("Hmm, well, it doesn't look as if you've got the right sort of weapons to me!")
|
||||
goto("nowhere")
|
||||
|
||||
label("hasweapons")
|
||||
npc("Hmm, I'm sure I don't know what you're talking about.")
|
||||
player("Come on, I know you're in cahoots with them, just take these weapons to them.")
|
||||
npc("Ok, seriously, I did some work for them before, but now it's just too dangerous. I won't take the weapons to them, I'm sorry, it's just too dangerous.")
|
||||
player("Can you tell me how to find the Myreque?")
|
||||
npc("Their base is well hidden and I'm sorry but I can't reveal the directions. Sorry but I guess you're all out of luck.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("options")
|
||||
options(
|
||||
DialogueOption("tell","Oh come on, you can tell me!"),
|
||||
DialogueOption("die","Well, I guess they'll just die without weapons."),
|
||||
DialogueOption("bribe","I'll give you some cash if you tell me."),
|
||||
DialogueOption("help","I just want to help them, I think they need help."),
|
||||
DialogueOption("ok","Ok, thanks."),
|
||||
)
|
||||
|
||||
label("tell")
|
||||
npc("I'm sorry, I can't. I just can't... people are watching... eyes everywhere!")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("die")
|
||||
npc("Hmm, you don't seem to concerned about their welfare... I'm glad I didn't tell you where they were...in any case they're resourceful, they can look after themselves.")
|
||||
player("What's that supposed to mean?")
|
||||
npc("They're resourceful folks, that's all I'm saying. Their leader, Veliaf looks after them well.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("steel")
|
||||
npc("Maybe they are...what do you care anyway? They've been up against it ever since they got started. All of 'em have suffered more loss and heartache than you'll ever know. Now, leave me be!")
|
||||
loadLabel(player!!, "options2")
|
||||
|
||||
label("options2")
|
||||
options(
|
||||
DialogueOption("what","What have they been up against?"),
|
||||
DialogueOption("loss","What kind of loss and heartache?"),
|
||||
DialogueOption("death","If you don't tell me, their deaths are on your head!"),
|
||||
DialogueOption("help","I just want to help them, I think they need help."),
|
||||
DialogueOption("ok","Ok, thanks."),
|
||||
)
|
||||
|
||||
label("what")
|
||||
npc("You're not from around here or you wouldn't be asking such foolish questions. Morytania is ruled by a cruel dark overlord by the name of Drakan. His reign over Morytania means we all live in fear.")
|
||||
loadLabel(player!!, "options2")
|
||||
|
||||
label("loss")
|
||||
npc("The worst kind, most have lost members of their family. Little Sani Piliu, she was orphaned overnight when a vampyre went on the rampage... Imagine that, losing your entire family in one night? Terrible!")
|
||||
player("It sounds awful... Who is Sani Piliu?")
|
||||
npc("She's the only female member of the Myreque. She's already proven herself with her agility and light fingers, if you know what I mean!")
|
||||
loadLabel(player!!, "options2")
|
||||
|
||||
label("death")
|
||||
npc("There's death a plenty in this forsaken place...what do I care that some fool hardy vigilantes decided to go it alone against the drakans? Stupidity of youth is to blame, I shan't carry it on my shoulders!")
|
||||
loadLabel(player!!, "options3")
|
||||
|
||||
label("options3")
|
||||
options(
|
||||
DialogueOption("batman","One mans vigilante is another mans freedom fighter!"), // authentic lack of apostrophes
|
||||
DialogueOption("drakan","Who are the drakans?"),
|
||||
DialogueOption("care","What kind of man are you to say that you don't care?"),
|
||||
DialogueOption("forsaken","Why do you say that this place is 'forsaken'?"),
|
||||
DialogueOption("ok","Ok, thanks."),
|
||||
)
|
||||
|
||||
label("batman")
|
||||
npc("Aye, you can see it from both sides I suppose. But many of us consider it fool hardy to fight for something we'll never get, even Polmafi, a scholar, such as he was, agrees that the chances are slim.")
|
||||
player("Polmafi? Who's he?")
|
||||
npc("Polmafi Ferdygris is one of the Myreque. He's a technical sort and advises on all sorts of things to Veliaf. He was a scholar before he became a renegade.")
|
||||
loadLabel(player!!, "options3")
|
||||
|
||||
label("drakan")
|
||||
npc("The Drakans are the family of overlords that rule Morytania. They're the ones to whom the blood tithes are paid. Too much I have told you already!")
|
||||
npc("Ignorance is better than these truths, I tell you! I can pretend once more that I am a free man, and some relief from this gloom can I feel again. Be gone with you now and leave me with my dreams.")
|
||||
loadLabel(player!!, "options3")
|
||||
|
||||
|
||||
label("care")
|
||||
npc("Don't dare to judge me young fool...what do you know of the heartache I carry? Can you not see the anchor of woe that holds me fast?")
|
||||
npc("Very well, if you would take your chance to help these strangers, who am I to stop you?")
|
||||
player("But will you help me? Will you take me to them?")
|
||||
npc("No, I won't take you, but you can use my boat. You'll be going through Mort Myre though so I won't be letting you go unless you've got some defence against the Ghasts") // todo check druid pouch. if not, player: "I don't have anything which I can use against them at this time."
|
||||
|
||||
manual { player, npc -> // todo add check
|
||||
interpreter!!.sendItemMessage(Items.DRUID_POUCH_2957, "You show the boatman your druid pouch.")
|
||||
}
|
||||
|
||||
player("I have this druid pouch! This turns Ghasts visible and I can kill them once I see them.")
|
||||
npc("Very well, You can go! But you'll need to bring me some wood planks first, I need three and you need three.") // authentic capitalised You
|
||||
npc("The bridge you cross later is rotten and may need to be mended, so bring tools and steel metal fixers as well, you may find them useful. I see that you have some with you now, do you want to give them to me?") // todo check for planks
|
||||
|
||||
options(
|
||||
DialogueOption("gib", "Give wooden planks to Cyreg"),
|
||||
DialogueOption("no gib", "Don't give any wooden planks to Cyreg"),
|
||||
title = "Cyreg wants wooden planks!"
|
||||
)
|
||||
|
||||
label("gib")
|
||||
manual { player, npc ->
|
||||
interpreter!!.sendItemMessage(Items.PLANK_960, "The boatman takes 3 wooden planks from you.")
|
||||
} // todo remove planks
|
||||
npc("Very well, You can take the boat. Just jump in when you're ready to leave. When you get to the hollows, just keep going North and look for an unusual tree.")
|
||||
npc("The bridge you'll need to cross later is rotten and may need to be mended. You'll need three more planks as well as a hammer, and I'd say around 75 nails.")
|
||||
goto("nowhere")
|
||||
|
||||
label("no gib")
|
||||
player("Not just yet, sorry.")
|
||||
goto("nowhere")
|
||||
|
||||
label("forsaken")
|
||||
npc("All of these lands are forsaken of Saradomin's kindness, only cold death from the evil gods do we now feel. Those lucky ones to the west of the Salve little realise their fate if the river should one day become tainted.")
|
||||
loadLabel(player!!, "options3")
|
||||
|
||||
label("bribe")
|
||||
npc("You think you can buy me!")
|
||||
player("Er, no, I just want to compensate you for your trouble!")
|
||||
npc("You keep your money and I'll keep my secrets.") // alright then, keep your secrets :)
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("help")
|
||||
npc("Aye, well, they may do... but it's just not safe and it's not likely to get safer any time soon. Though I do feel sorry for Ivan, the baby of the group. He's seen too few winters to be involved in such toil.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("ok")
|
||||
goto("nowhere")
|
||||
|
||||
// todo see if you need some more dialogue for later
|
||||
|
||||
// boarding the boat
|
||||
npc("It costs 10 gold to cover the loan of the boat. Will you pay?")
|
||||
|
||||
options(
|
||||
DialogueOption("boat","Yes, I'll pay ten gold."),
|
||||
DialogueOption("no boat", "No, I won't use the boat."),
|
||||
)
|
||||
|
||||
label("boat")
|
||||
// todo deduct 10 gold and use boat
|
||||
// "You arrive at the Hollows."
|
||||
|
||||
label("no boat")
|
||||
goto("nowhere")
|
||||
|
||||
// after quest
|
||||
player("Thanks for your help in finding the Myreque.")
|
||||
npc("Well, I'd like to say that you're welcome. But I heard that you led Vanstrom straight to their hideout and he killed Sani and Harold. I feel so guilty.")
|
||||
player("Hmm, yeah, I know how you feel.")
|
||||
goto("nowhere")
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
package content.region.morytania.quest.insearchmyreque
|
||||
|
||||
import content.data.Quests
|
||||
import core.api.*
|
||||
import core.game.dialogue.DialogueLabeller
|
||||
import core.game.dialogue.DialogueOption
|
||||
import core.game.interaction.IntType
|
||||
import core.game.interaction.InteractionListener
|
||||
import core.game.node.entity.npc.NPC
|
||||
import org.rs09.consts.*
|
||||
|
||||
class HaroldEvansDialogue : InteractionListener {
|
||||
override fun defineListeners() {
|
||||
on(intArrayOf(NPCs.HAROLD_EVANS_1571), IntType.NPC, "talk-to") { player, node ->
|
||||
DialogueLabeller.open(player, HaroldEvansDialogueFile(), node as NPC)
|
||||
return@on true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class HaroldEvansDialogueFile : DialogueLabeller() {
|
||||
override fun addConversation() {
|
||||
|
||||
// before speaking to veliaf
|
||||
npc("Hail and well met, friend! You'd better go and introduce yourself to Veliaf. But after come and have a chat if you've a mind to.")
|
||||
goto("nowhere")
|
||||
|
||||
// after speaking to veliaf
|
||||
npc("Well met, friend! My name's Harold... nice to meet a fellow soldier. Just joined us have you?")
|
||||
player("Not exactly! I am $player. I'd like to ask a few questions if that's okay.")
|
||||
npc("Sure, go ahead. I'll answer as best I can.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("options")
|
||||
options(
|
||||
DialogueOption("beach","What's your job here?"),
|
||||
DialogueOption("squad goals","What can you tell me about your squad?"),
|
||||
DialogueOption("what up","What's your grasp of the situation, soldier?"),
|
||||
DialogueOption("do you know you're about to get demolished by a vampyre","Have you heard any rumours?"),
|
||||
DialogueOption("Ok, thanks.", "Ok, thanks."),
|
||||
)
|
||||
|
||||
label("beach")
|
||||
npc("I generally do what Veliaf orders. Taking a bridge, defending a tactical retreat... you name it, I'm usually in the thick of it. It's funny, I seem to cheat death most of the time.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("squad goals")
|
||||
npc("They're all good soldiers, though they're pretty much a bunch of irregulars. I consider them a good squad, ready to leap into the fray if needed, but we're seriously outnumbered by the Drakans and their brood.")
|
||||
npc("Most fights we have to improvise but this bunch are very good at that. That young lad over there, Ivan Strom, he saved our bacon in the last encounter by his faith in Saradomin... he weakened the Juves and we ran for it!")
|
||||
player("Juves? What are they?")
|
||||
npc("It's short for 'juvenile', that's the stage that those vampyres were at in the forest. They've only recently become vampyric and they're pretty inexperienced. However, they're stronger and faster than many well trained militia men, and twice as bloodthirsty.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("what up")
|
||||
npc("The situation is grave, it would be dangerous to think differently. We're really up against it here, but we have no choice: this is a battle for our right to exist and we need to employ any tactics to achieve our goal.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("do you know you're about to get demolished by a vampyre")
|
||||
npc("Yes, I hear them all the time. Thankfully, I don't pay any attention to them.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("Ok, thanks.")
|
||||
goto("nowhere")
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
package content.region.morytania.quest.insearchmyreque
|
||||
|
||||
import content.data.Quests
|
||||
import core.api.*
|
||||
import core.game.dialogue.DialogueLabeller
|
||||
import core.game.dialogue.DialogueOption
|
||||
import core.game.interaction.IntType
|
||||
import core.game.interaction.InteractionListener
|
||||
import core.game.node.entity.npc.NPC
|
||||
import org.rs09.consts.*
|
||||
|
||||
class IvanStromDialogue : InteractionListener {
|
||||
override fun defineListeners() {
|
||||
on(intArrayOf(NPCs.IVAN_STROM_1574), IntType.NPC, "talk-to") { player, node ->
|
||||
DialogueLabeller.open(player, IvanStromDialogueFile(), node as NPC)
|
||||
return@on true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class IvanStromDialogueFile : DialogueLabeller() {
|
||||
override fun addConversation() {
|
||||
|
||||
// before speaking to veliaf
|
||||
npc("Oh--er... hello... greetings that is... sorry... you need to speak to Veliaf first. I'm not sure if I'm supposed to be talking to you.")
|
||||
goto("nowhere")
|
||||
|
||||
// after speaking to veliaf
|
||||
player("Greetings! My name is $player. Veliaf said that I should introduce myself to all members of the Myreque.")
|
||||
npc("Veliaf says it's okay for me to talk to you. My name is Ivan, nice to meet you.")
|
||||
player("Would you mind if I ask you a few questions?")
|
||||
npc("Yeah, I suppose so, but I don't know how much I can help.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("options")
|
||||
options(
|
||||
DialogueOption("wat", "What are you doing here?"),
|
||||
DialogueOption("myq","What can you tell me about the Myreque?"),
|
||||
DialogueOption("mory","What do you know about Morytania?"),
|
||||
DialogueOption("tea","Have you heard any rumours?"),
|
||||
DialogueOption("ty","Ok, thanks."),
|
||||
)
|
||||
|
||||
label("wat")
|
||||
npc("I'm not sure really. I should really be at the temple to Saradomin, but Veliaf says that the trip's too dangerous. I am a trainee cleric of Saradomin. I hope one day to serve him as faithfully as all his priests.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("myq")
|
||||
npc("Well, they're certainly brave and they're prepared to put up a fight against the evil of the Drakan clan. I'm proud to be associated with them, but with my poor skills I worry that I will let them down.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("mory")
|
||||
npc("It's a lost land ruled by the evil Drakans. People cling to each other in fear every week when the blood tithes are to be paid. With Saradomin's help we'll bring light back to this dark land.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("tea")
|
||||
npc("I'm sorry my friend, but I spend most of my free time in prayer to Saradomin. I prefer to cleanse my soul in case he should wish that I serve him closer.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("ty")
|
||||
goto("nowhere")
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
package content.region.morytania.quest.insearchmyreque
|
||||
|
||||
import content.data.Quests
|
||||
import core.api.*
|
||||
import core.game.dialogue.DialogueLabeller
|
||||
import core.game.dialogue.DialogueOption
|
||||
import core.game.interaction.IntType
|
||||
import core.game.interaction.InteractionListener
|
||||
import core.game.node.entity.npc.NPC
|
||||
import org.rs09.consts.*
|
||||
|
||||
class PolmafiFerdygrisDialogue : InteractionListener {
|
||||
override fun defineListeners() {
|
||||
on(intArrayOf(NPCs.POLMAFI_FERDYGRIS_1573), IntType.NPC, "talk-to") { player, node ->
|
||||
DialogueLabeller.open(player, PolmafiFerdygrisDialogueFile(), node as NPC)
|
||||
return@on true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class PolmafiFerdygrisDialogueFile : DialogueLabeller() {
|
||||
override fun addConversation() {
|
||||
|
||||
// before speaking to veliaf
|
||||
npc("Good day. You should quickly introduce yourself to Veliaf - after that I'll be happy to have a chat with you.")
|
||||
goto("nowhere")
|
||||
|
||||
// after speaking to veliaf
|
||||
npc("Good! Now that you've introduced yourself to Veliaf and observed proper protocol, I'll be happy to chat with you. Now, please tell me... what can I do for you?")
|
||||
player("Do you mind if I ask a few questions?")
|
||||
npc("Not at all, I'm sure I'll be able to help; and if I can't, I'll tell you so.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("options")
|
||||
options(
|
||||
DialogueOption("tf u doin here","What are you doing here?"),
|
||||
DialogueOption("tf deez boiz doin","What can you tell me about the Myreque?"),
|
||||
DialogueOption("tf is up w ths place","What do you know about Morytania?"),
|
||||
DialogueOption("gimme dat tea", "Have you heard any rumours?"),
|
||||
DialogueOption("ty","Ok, thanks."),
|
||||
)
|
||||
|
||||
label("tf u doin here")
|
||||
npc("I am the key advisor to Veliaf. He seeks my council on many issues before we engage the enemy. Not that we would be doing that any time soon... the situation is somewhat difficult and terrifying at the moment.")
|
||||
npc("However, we must always remember, 'All that is required for evil to survive is for good people to do nothing.'")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("tf deez boiz doin")
|
||||
npc("Well, we have a hierarchical chain of command. Veliaf reports to Calsidiu who is considered the head of the armed resistance against the Drakans.")
|
||||
npc("I've also heard people talking about a spiritual man who inspires many people to join the resistance. He's said to be very influential with supposed contacts within the Drakan clan.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("tf is up w ths place")
|
||||
npc("It has a rugged landscape, situated to the east of the River Salve. Primary occupants seem to be human in appearance, but are in fact large vampyric predators.")
|
||||
npc("They maintain a stock of human villages in the same way that humans keep cattle. Weekly blood tithes are paid to the Vampyric overlord Drakan in return for moderate safety.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("gimme dat tea")
|
||||
npc("Yes, I hear them all the time, but they're usually neither correct nor even all that interesting. I suspect that we will be looking to make a strike against the human sympathisers some time soon.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("ty")
|
||||
goto("nowhere")
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
package content.region.morytania.quest.insearchmyreque
|
||||
|
||||
import content.data.Quests
|
||||
import core.api.*
|
||||
import core.game.dialogue.DialogueLabeller
|
||||
import core.game.dialogue.DialogueOption
|
||||
import core.game.interaction.IntType
|
||||
import core.game.interaction.InteractionListener
|
||||
import core.game.node.entity.npc.NPC
|
||||
import org.rs09.consts.*
|
||||
|
||||
class RadigadPonfitDialogue : InteractionListener {
|
||||
override fun defineListeners() {
|
||||
on(intArrayOf(NPCs.RADIGAD_PONFIT_1572), IntType.NPC, "talk-to") { player, node ->
|
||||
DialogueLabeller.open(player, RadigadPonfitDialogueFile(), node as NPC)
|
||||
return@on true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class RadigadPonfitDialogueFile : DialogueLabeller() {
|
||||
override fun addConversation() {
|
||||
|
||||
// before speaking to veliaf
|
||||
npc("Greetings, friend! Once you've introduced yourself to Veliaf please feel free to chat with me...")
|
||||
goto("nowhere")
|
||||
|
||||
// after speaking to veliaf
|
||||
npc("Ah, it's $player. I see you've introduced yourself to Veliaf, good! Now, how can I be of service to you?")
|
||||
player("Do you mind if I ask a few questions?")
|
||||
npc("Sure, go ahead. I'll answer as best I can.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("options")
|
||||
options(
|
||||
DialogueOption("jerb","What's your job here?"),
|
||||
DialogueOption("myr","What can you tell me about the Myreque?"),
|
||||
DialogueOption("dreams", "What're your plans for the future?"),
|
||||
DialogueOption("rumor","Have you heard any rumours?"),
|
||||
DialogueOption("ok","Ok, thanks."),
|
||||
)
|
||||
|
||||
label("jerb")
|
||||
npc("I'm a bit of an all-rounder and help Veliaf where I can. I've relied on his sword arm many a time, and I like to think that he can rely on mine.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("myr")
|
||||
npc("We're just developing the resistance against the Drakans and the rest of the Vampyric entourage. We're seriously outnumbered. Veliaf doesn't like to hear us saying 'hopeless' but that's our situation at the minute.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("dreams")
|
||||
npc("I'm not really sure. I guess Veliaf might know that, however I hope that more people will join the ranks and take the fight to the dead hearts of our vampyric foe so that we might one day reclaim our right to exist.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("rumor")
|
||||
npc("I have. Something you might find interesting is that our enigmatic leader 'Safalaan' has connections inside the Drakan Clan. I'm not sure how true that is but it would be great!")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("ok")
|
||||
goto("nowhere")
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
package content.region.morytania.quest.insearchmyreque
|
||||
|
||||
import content.data.Quests
|
||||
import core.api.*
|
||||
import core.game.dialogue.DialogueLabeller
|
||||
import core.game.dialogue.DialogueOption
|
||||
import core.game.interaction.IntType
|
||||
import core.game.interaction.InteractionListener
|
||||
import core.game.node.entity.npc.NPC
|
||||
import org.rs09.consts.*
|
||||
|
||||
class SaniPiliuDialogue : InteractionListener {
|
||||
override fun defineListeners() {
|
||||
on(intArrayOf(NPCs.SANI_PILIU_1570), IntType.NPC, "talk-to") { player, node ->
|
||||
DialogueLabeller.open(player, SaniPiliuDialogueFile(), node as NPC)
|
||||
return@on true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class SaniPiliuDialogueFile : DialogueLabeller() {
|
||||
override fun addConversation() {
|
||||
|
||||
// before speaking to veliaf
|
||||
npc("Hi there... you're new here, aren't you? You'd best go and talk with Veliaf. But afterwards, I'd love to introduce myself properly.")
|
||||
goto("nowhere")
|
||||
|
||||
// after speaking to veliaf
|
||||
npc("Hello... very nice to meet you! My name is Sani Piliu, what's yours?")
|
||||
player("I am known as $player; nice to meet you, Sani.")
|
||||
npc("The pleasure's all mine! Excuse me for being forward, but you somehow seem different to other people, somehow more determined. I sense a powerful aura... sorry, that must seem really strange?")
|
||||
player("Well, perhaps a little; but it's nice of you to say so in any case. I'd like to ask a few questions if that's alright.")
|
||||
npc("Sure, go ahead, I'll answer as best I can.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("options")
|
||||
options(
|
||||
DialogueOption("girl u cute","Tell me a bit about yourself."),
|
||||
DialogueOption("what up","What can you tell me about the Myreque?"),
|
||||
DialogueOption("swamp lyf","What's going on in Morytania?"),
|
||||
DialogueOption("can i get your address","Is this your main camp?"),
|
||||
DialogueOption("kthxbai", "Ok, thanks."),
|
||||
)
|
||||
|
||||
label("girl u cute")
|
||||
npc("There's not much to tell, really. I was about nine years old when my family was ripped to pieces by a vampyre attack. One day a happy member of a loving family, the next day an orphan living a hand to mouth existence.")
|
||||
npc("Somehow I managed to get by, eking out a living wherever I could. People took pity on me, I earned food by helping people out. Before too long I was quite adept at helping myself, other people appreciated my skills.")
|
||||
npc("I bumped into Veliaf in Canifis. He saw that I would be an asset to the resistance so I joined. I want to fight back against those killers who took my family. One day I may even escape to the west across the Salve! Who knows?")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("what up")
|
||||
npc("As far as I know, Veliaf is one of two Lieutenants who report to another soldier called Calsidiu. While we don't advertise the fact, there are quite a lot of people in Morytania who want to put up a fight.")
|
||||
npc("Our current operations are merely trying to find a weakness in the Drakans' hierarchy and perhaps get a spy in there. We need to find out how to kill them before we then take the war to them.")
|
||||
player("You make it sound easy!")
|
||||
npc("With determination you can achieve great things. However, Veliaf always tells us not to underestimate the enemy. After those juvenile vampyres discovered us in the forest, it's a mistake I won't be making again.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("swamp lyf")
|
||||
npc("Lowerniel Drakan and his siblings collect blood tithes from the locals as a way of controlling the population and keeping their brood happy. Sanguinesti and Castle Drakan hold sway over all the inhabitants of Morytania.")
|
||||
npc("We're nothing more than an ill-organised rabble, but we're determined to fight against these evil monsters. We won't just offer our family members to the Drakans for a weekly snack, we're going to fight back!")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("can i get your address")
|
||||
npc("It's our only camp! At least, I don't know of any others.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("kthxbai")
|
||||
goto("nowhere")
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
package content.region.morytania.quest.insearchmyreque
|
||||
|
||||
import content.data.Quests
|
||||
import core.api.*
|
||||
import core.game.dialogue.DialogueLabeller
|
||||
import core.game.dialogue.FacialExpression
|
||||
import core.game.interaction.IntType
|
||||
import core.game.interaction.InteractionListener
|
||||
import core.game.node.entity.npc.NPC
|
||||
import org.rs09.consts.*
|
||||
|
||||
class StrangerMyrequeDialogue : InteractionListener {
|
||||
override fun defineListeners() {
|
||||
on(intArrayOf(NPCs.STRANGER_1576), IntType.NPC, "talk-to") { player, node ->
|
||||
DialogueLabeller.open(player, StrangerMyrequeDialogueFile(), node as NPC)
|
||||
return@on true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class StrangerMyrequeDialogueFile : DialogueLabeller() {
|
||||
override fun addConversation() {
|
||||
|
||||
npc("Hello friend? What can I do for you?")
|
||||
player("Oh, sorry, I thought you were someone else.")
|
||||
npc(FacialExpression.ASKING, "Who did you think I was?")
|
||||
player("I thought you were that dirty murderer Vanstrom.")
|
||||
npc(FacialExpression.AMAZED, "Woah, it sounds like you've got a score to settle!")
|
||||
player(FacialExpression.ANGRY, "I definitely have!")
|
||||
// quest complete!
|
||||
|
||||
// after quest
|
||||
|
||||
npc("I think we've been through this before, haven't we?")
|
||||
goto("nowhere")
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
package content.region.morytania.quest.insearchmyreque
|
||||
|
||||
import content.data.Quests
|
||||
import core.api.*
|
||||
import core.game.dialogue.DialogueLabeller
|
||||
import core.game.dialogue.DialogueOption
|
||||
import core.game.interaction.IntType
|
||||
import core.game.interaction.InteractionListener
|
||||
import core.game.node.entity.npc.NPC
|
||||
import org.rs09.consts.*
|
||||
|
||||
class VanstromKlauseDialogue : InteractionListener {
|
||||
override fun defineListeners() {
|
||||
on(intArrayOf(NPCs.VANSTROM_KLAUSE_1577), IntType.NPC, "talk-to") { player, node ->
|
||||
DialogueLabeller.open(player, VanstromKlauseDialogueFile(), node as NPC)
|
||||
return@on true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class VanstromKlauseDialogueFile : DialogueLabeller() {
|
||||
override fun addConversation() {
|
||||
|
||||
// before quest
|
||||
|
||||
npc("Hello there, how goes it stranger?")
|
||||
player("Quite well thanks for asking, how about you?")
|
||||
npc("Hmm, well, I am a little concerned about some friends of mine, they're in dire need of some assistance, but I'm at a loss as to how I can help them.")
|
||||
loadLabel(player!!, "options1")
|
||||
|
||||
label("options1")
|
||||
options(
|
||||
DialogueOption("what friends","What friends are these?"),
|
||||
DialogueOption("Why help","Why do they need help? Are they in trouble?"),
|
||||
DialogueOption("busy","I wish I could help, but I'm busy at the moment."),
|
||||
DialogueOption("ty","Ok, thanks."),
|
||||
)
|
||||
|
||||
label("what friends")
|
||||
npc("It's a personal tragedy that I have yet to meet them in the flesh. But their exploits make mouth watering hero stories...the real meat and drink of high adventure and daring...so they say.")
|
||||
player("What does that mean exactly? I mean, I have some stories. I'm quite a hero myself, you may actually be talking about me?")
|
||||
npc("They're regarded as heroes in Morytania, though some people see them as vigilantes. The local villagers call them the 'Myreque'. Some people call them terrorists while others call them freedom fighters!")
|
||||
loadLabel(player!!, "options1")
|
||||
|
||||
label("why help")
|
||||
npc("I should imagine that heroes of such high calibre are almost always in some sort of trouble, wouldn't you? There's always some evil heel ready to grind the face of humanity into the dirt?")
|
||||
npc("However, the Myreque are almost certainly able to handle themselves...given the tools! I hear they're short of weapons, I was hoping to do it myself but I find that I'm rather short of time and ability!")
|
||||
player("What help do you hope to give to them?")
|
||||
npc("I'd have taken some weapons to them!")
|
||||
player("What kind of weapons do they need?")
|
||||
npc("Steel I believe. All six of them require steel weapons. I would have suggested a longsword, two shortswords, a dagger, a mace and a warhammer.")
|
||||
|
||||
options(
|
||||
DialogueOption("what friends","What friends are these?"),
|
||||
DialogueOption("Why help","Why do they need help? Are they in trouble?"),
|
||||
DialogueOption("busy","I wish I could help, but I'm busy at the moment."),
|
||||
DialogueOption("help","Perhaps I could help you out here.", "Perhaps I could help you out here. Maybe I could take these weapons to the Myreque."),
|
||||
DialogueOption("ty","Ok, thanks."),
|
||||
)
|
||||
|
||||
label("help")
|
||||
npc("Oh yes, well that would be very nice of you! Are you sure you want to help out?")
|
||||
loadLabel(player!!, "options2")
|
||||
|
||||
label("options2")
|
||||
options(
|
||||
DialogueOption("what do","What would I have to do?"),
|
||||
DialogueOption("what weapons","What weapons do I need to get?"),
|
||||
DialogueOption("where weapons","Where do I need to take the weapons?"),
|
||||
DialogueOption("yes","Yes, I'll do it!"),
|
||||
DialogueOption("no", "Sorry, I can't do it!"),
|
||||
)
|
||||
|
||||
label("what do")
|
||||
npc("Well, some freedom fighters, called the Myreque, require some weapons. You'd need to get the weapons they require and give them to the freedom fighters.")
|
||||
loadLabel(player!!, "options2")
|
||||
|
||||
label("what weapons")
|
||||
npc("Well, I'm sure the following will be fine: a longsword, two swords, a dagger, a mace and a warhammer. All the items should be made of steel.")
|
||||
npc("You would also have to fund the costs of this yourself and once you've found them, I'll be sure to give you a nice surprise in return for your help.")
|
||||
loadLabel(player!!, "options2")
|
||||
|
||||
label("where weapons")
|
||||
npc("I believe there's a boatman in Mort'ton who can show you the way. I'm sure if you use your powers of persuasion you can get some information out of him! The Myreque have a lot of sympathisers.")
|
||||
loadLabel(player!!, "options2")
|
||||
|
||||
label("yes")
|
||||
npc("That's great news my friend, really great news! Perhaps the many peoples of Morytania now have an additional hero that they can come to rely upon?")
|
||||
goto("nowhere")
|
||||
|
||||
label("no")
|
||||
goto("nowhere")
|
||||
|
||||
label("busy")
|
||||
goto("nowhere")
|
||||
|
||||
label("ty")
|
||||
goto("nowhere")
|
||||
|
||||
// during/after quest
|
||||
npc("Hello again, how's the quest going?")
|
||||
player("What am I supposed to do again?")
|
||||
npc("You've forgotten already? Ha! That's funny! But I do understand, my memory isn't what it was!")
|
||||
npc("It would be great if you could get some steel weapons and take them to the Myreque, the boatman in Mort'ton should be able to help you find them. But you may need to be a bit persuasive!")
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,120 @@
|
|||
package content.region.morytania.quest.insearchmyreque
|
||||
|
||||
import content.data.Quests
|
||||
import core.api.*
|
||||
import core.game.dialogue.DialogueLabeller
|
||||
import core.game.dialogue.DialogueOption
|
||||
import core.game.interaction.IntType
|
||||
import core.game.interaction.InteractionListener
|
||||
import core.game.node.entity.npc.NPC
|
||||
import org.rs09.consts.*
|
||||
|
||||
class VeliafHurtzDialogue : InteractionListener {
|
||||
override fun defineListeners() {
|
||||
on(intArrayOf(NPCs.VELIAF_HURTZ_1569), IntType.NPC, "talk-to") { player, node ->
|
||||
DialogueLabeller.open(player, VeliafHurtzDialogueFile(), node as NPC)
|
||||
return@on true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class VeliafHurtzDialogueFile : DialogueLabeller() {
|
||||
override fun addConversation() {
|
||||
|
||||
// before introducing yourself
|
||||
|
||||
player("Hello there.")
|
||||
npc("Hello there...how did you get in here? Who are you?")
|
||||
player("I was asked to bring you some weapons..apparently you need them? Don't worry, I'm a friend!")
|
||||
npc("Hmm, well, it's true we could do with some supplies. It's very good of you to bring them to us. I'm sorry but I'm a bit busy at the moment, please introduce yourself to the others, then we can talk about those weapons.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("options")
|
||||
options(
|
||||
DialogueOption("leader","So are you the leader?"),
|
||||
DialogueOption("org structure","Can you tell me about your organization?"),
|
||||
DialogueOption("morytania","What can you tell me about Morytania?"),
|
||||
DialogueOption("plans","What are your plans for the future?"),
|
||||
DialogueOption("thx","Ok, thanks."),
|
||||
)
|
||||
|
||||
label("leader")
|
||||
npc("Well, as much as anyone is, it's not official or anything. I guess the others just look up to me or something. I feel a certain responsibility for them so I guess that means I'm a leader of sorts.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("org structure")
|
||||
npc("Huh, organisation? That's rich! We're really not that organised, however, the Myreque are dedicated to mounting a resistance against the Drakans and the evil that they've brought to Morytania.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("morytania")
|
||||
npc("I can tell you that it used to be a beautiful country before Lowerniel and his quarelling siblings arrived.")
|
||||
player("Lowerniel? Who's that?")
|
||||
npc("Lowerniel Vergidiyad Drakan - he's the head of the Drakan family and along with his brother Ranis and his sister Vanescula they play out their petty backstabbing games using the peoples of Morytania as their pawns.")
|
||||
player("You sound very bitter.")
|
||||
npc("So would you, if you lost everyone dear to you at the hands of such monsters.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("plans")
|
||||
npc("At the moment we're maintaining a low profile after we were spotted scouting out the Drakans' castle.")
|
||||
npc("The forest where we camped is infested with vampyres, and even though they're only juveniles in terms of experience, we only just managed to survive. After we've regrouped, we will try to recruit more people to our cause. At the minute we're hopelessly outnumbered.")
|
||||
loadLabel(player!!, "options")
|
||||
|
||||
label("thx")
|
||||
goto("nowhere")
|
||||
|
||||
// before you talk to the rest of the myreque
|
||||
npc("Have you introduced yourself to the rest of the gang?")
|
||||
player("Not yet, I'll go do that now.")
|
||||
goto("nowhere")
|
||||
|
||||
// after introducing yourself
|
||||
|
||||
npc("Hello again...so, You've introduced yourself to the team have you? Good. Now, let's have a look at those weapons you brought us.")
|
||||
// todo check weapons
|
||||
|
||||
// if no has weapons
|
||||
npc("Well, you don't seem to have what we need in your inventory. We really need specific weapons, we each have our own specialisms.")
|
||||
player("Which weapons do you need?")
|
||||
npc("We need 1 steel longsword, 2 steel swords, 1 steel dagger, 1 steel mace, and 1 steel warhammer.")
|
||||
player("Ok, I'll go get them.")
|
||||
goto("nowhere")
|
||||
|
||||
// if has weapons
|
||||
npc("These weapons look great! Many thanks.")
|
||||
goto("nowhere")
|
||||
// todo cutscene start
|
||||
|
||||
// after killing the hellhound
|
||||
|
||||
npc("That murder Vanstrom has killed Sani and Harold! He came in and killed them right in front of our eyes. And that beast he summoned probably would have killed the rest of us if it wasn't for you!")
|
||||
player("It was the least I could do! After all, I was the one he followed here, I'm sort of responsible.")
|
||||
npc("That is for your conscience to bear, but now perhaps you can understand why we fight for our freedom?")
|
||||
player("Yes, I think I understand now.")
|
||||
loadLabel(player!!, "options2")
|
||||
|
||||
label("options2")
|
||||
options(
|
||||
DialogueOption("join", "I want to join your organization."),
|
||||
DialogueOption("plan","What do you plan to do now?"),
|
||||
DialogueOption("escape","How do I get out of here?"),
|
||||
DialogueOption("revenge","Let's get revenge on Vanstrom!"),
|
||||
DialogueOption("ty","Ok, thanks."),
|
||||
)
|
||||
|
||||
label("join")
|
||||
|
||||
label("plan")
|
||||
|
||||
label("escape")
|
||||
npc("If you go back into the main corridor which leads into this room, it goes down towards the basement of an Inn.")
|
||||
npc("If you search the wall, you'll find that it is in fact moveable. You should be able to get into the room, take the ladder to come out to the south of the 'Hair of the Dog Tavern' in Canifis.")
|
||||
loadLabel(player!!, "options2")
|
||||
|
||||
label("revenge")
|
||||
|
||||
label("ty")
|
||||
goto("nowhere")
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue