From 23fda5fbc93ff94c7c1a4d7821c0a34b56256349 Mon Sep 17 00:00:00 2001 From: Beck Date: Thu, 4 Jun 2026 00:36:22 -0700 Subject: [PATCH] more dialogue --- .../dialogue/FatherUrhneyDefaultDialogue.kt | 114 +++++++++------- .../FatherUrhneyQuestDialogueFile.kt | 125 ++++++++++-------- 2 files changed, 130 insertions(+), 109 deletions(-) diff --git a/Server/src/main/content/region/misthalin/lumbridge/dialogue/FatherUrhneyDefaultDialogue.kt b/Server/src/main/content/region/misthalin/lumbridge/dialogue/FatherUrhneyDefaultDialogue.kt index 5acd45f58..154586294 100644 --- a/Server/src/main/content/region/misthalin/lumbridge/dialogue/FatherUrhneyDefaultDialogue.kt +++ b/Server/src/main/content/region/misthalin/lumbridge/dialogue/FatherUrhneyDefaultDialogue.kt @@ -1,7 +1,7 @@ package content.region.misthalin.lumbridge.dialogue; import content.data.Quests -import content.region.misthalin.lumbridge.quest.therestlessghost.FatherUrhneyQuestDialogueFile +import content.region.misthalin.lumbridge.quest.therestlessghost.* import core.api.addItem import core.api.freeSlots import core.api.getQuestStage @@ -36,73 +36,72 @@ class FatherUrhneyDefaultDialogueFile: DialogueLabeller() { goto("main_opts") label("main_opts") { - exec {player, npc -> when (getQuestStage(player, Quests.THE_RESTLESS_GHOST)) { 0 -> { - options( - DialogueOption( - "thats_friendly", - "Well, that's friendly" - ), - DialogueOption( - "repo_house", - "I've come to repossess your house." - ), - - ) + loadLabel(player, "pre_quest_opts") } 10 -> { - options( - DialogueOption( - "thats_friendly", - "Well, that's friendly" - ), - DialogueOption( - "father_aereck_sent", - "Father Aereck sent me to talk to you." - ), - DialogueOption( - "repo_house", - "I've come to repossess your house." - ) - ) + loadLabel(player, "mid_quest_opts") } - else -> { - options( - DialogueOption( - "thats_friendly", - "Well, that's friendly" - ), - DialogueOption( - "ive_lost_amulet", - "I've lost the Amulet of Ghostspeak." - ), - DialogueOption( - "repo_house", - "I've come to repossess your house." - ) - ) + loadLabel(player, "post_quest_opts") } } } } - label("father_aereck_sent") { - open(player!!, FatherUrhneyQuestDialogueFile(), npc!!) - loadLabel(player!!, "father_aereck_sent_me") + label("pre_quest_opts") { + options( + DialogueOption( + "thats_friendly", + "Well, that's friendly" + ), + DialogueOption( + "repo_house", + "I've come to repossess your house." + ) + ) } - label("ive_lost_amulet") { - open(player!!, FatherUrhneyQuestDialogueFile(), npc!!) - loadLabel(player!!, "lost_amulet") + label("mid_quest_opts") { + options( + DialogueOption( + "thats_friendly", + "Well, that's friendly" + ), + DialogueOption( + "father_aereck_sent", + "Father Aereck sent me to talk to you." + ), + DialogueOption( + "repo_house", + "I've come to repossess your house." + ) + ) + } + + label("post_quest_opts") { + options( + DialogueOption( + "thats_friendly", + "Well, that's friendly." + ), + DialogueOption( + "ive_lost_amulet", + "I've lost the Amulet of Ghostspeak." + ), + DialogueOption( + "repo_house", + "I've come to repossess your house." + ) + ) } label("thats_friendly") { npc("I SAID go AWAY.") player("Okay, okay... sheesh, what a grouch.") - end() + goto("nowhere") } label("repo_house") { @@ -129,13 +128,26 @@ class FatherUrhneyDefaultDialogueFile: DialogueLabeller() { player("Sorry. I must have got the wrong address. All the", "houses look the same around here.") npc("What? What houses? What ARE you talking about???") player("Never mind.") - end() + goto("nowhere") } label("want_house") { npc("Oh... go away and stop wasting my time!") - end() + goto("nowhere") } + //needs to be down here for some stupid reason + label("father_aereck_sent") { + open(player!!, FatherUrhneyQuestDialogueFile(), npc!!) + } + + //needs to be down here for some stupid reason + label("ive_lost_amulet") { + open(player!!, FatherUrhneyQuestAmuletDialogueFile(), npc!!) + } + + //because end() breaks shit + label("nowhere") {} + } } \ No newline at end of file diff --git a/Server/src/main/content/region/misthalin/lumbridge/quest/therestlessghost/FatherUrhneyQuestDialogueFile.kt b/Server/src/main/content/region/misthalin/lumbridge/quest/therestlessghost/FatherUrhneyQuestDialogueFile.kt index 9f0ea450c..fc9cd596b 100644 --- a/Server/src/main/content/region/misthalin/lumbridge/quest/therestlessghost/FatherUrhneyQuestDialogueFile.kt +++ b/Server/src/main/content/region/misthalin/lumbridge/quest/therestlessghost/FatherUrhneyQuestDialogueFile.kt @@ -5,6 +5,7 @@ import core.api.addItem import core.api.anyInEquipment import core.api.anyInInventory import core.api.freeSlots +import core.api.getQuestStage import core.api.inBank import core.api.inInventory import core.api.sendDialogue @@ -19,77 +20,85 @@ import org.rs09.consts.Items class FatherUrhneyQuestDialogueFile : DialogueLabeller() { override fun addConversation() { - label("father_aereck_sent_me") { - npc(FacialExpression.ANGRY, "I suppose I'd better talk to you then. What problems", "has he got himself into this time?"); - player("He's got a ghost haunting his graveyard."); - - npc(FacialExpression.ANGRY, "Oh, the silly fool."); - npc(FacialExpression.ANGRY, "I leave town for just five months, and ALREADY he", "can't manage."); - npc(FacialExpression.SAD, "(sigh)"); - npc(FacialExpression.ANGRY, "Well, I can't go back and exorcise it. I vowed not to", "leave this place. Until I had done a full two years of", "prayer and meditation."); - npc(FacialExpression.NEUTRAL, "Tell you what I can do though; take this amulet."); + + npc(FacialExpression.ANGRY, "I suppose I'd better talk to you then. What problems", "has he got himself into this time?"); + player("He's got a ghost haunting his graveyard."); + + npc(FacialExpression.ANGRY, "Oh, the silly fool."); + npc(FacialExpression.ANGRY, "I leave town for just five months, and ALREADY he", "can't manage."); + npc(FacialExpression.SAD, "(sigh)"); + npc(FacialExpression.ANGRY, "Well, I can't go back and exorcise it. I vowed not to", "leave this place. Until I had done a full two years of", "prayer and meditation."); + npc(FacialExpression.NEUTRAL, "Tell you what I can do though; take this amulet."); - goto("take_amulet") - } + goto("take_amulet") label("take_amulet") { exec { player, npc -> - if (freeSlots(player) >= 1) { - if (addItem(player, Items.GHOSTSPEAK_AMULET_552, 1)) { - sendItemDialogue(player, Item(Items.GHOSTSPEAK_AMULET_552), "Father Urhney hands you an amulet.") - setQuestStage(player, Quests.THE_RESTLESS_GHOST, 20) - - npc(FacialExpression.NEUTRAL, "It is an Amulet of Ghostspeak."); - npc(FacialExpression.NEUTRAL, "So called, because when you wear it you can speak to", "ghosts. A lot of ghosts are doomed to be ghosts because", "they have left some important task uncompleted."); - npc(FacialExpression.NEUTRAL, "Maybe if you know what this task is, you can get rid of", "the ghost. I'm not making any guarantees mind you,", "but it is the best I can do right now."); - player("Thank you. I'll give it a try!"); + if (getQuestStage(player, Quests.THE_RESTLESS_GHOST) in 10..19) { + item(Item(Items.GHOSTSPEAK_AMULET_552), "Father Urhney hands you an amulet.") + if (freeSlots(player) >= 1) { + if (addItem(player, Items.GHOSTSPEAK_AMULET_552, 1)) { + + setQuestStage(player, Quests.THE_RESTLESS_GHOST, 20) + + loadLabel(player, "post_take_amulet") + } + } else { + sendMessage(player, "You don't have enough inventory space to accept this amulet.") } - } else { - // Closes the dialogue prematurely to reveal message - end() - sendMessage(player, "You don't have enough inventory space to accept this amulet.") + } } - - end() + + goto("nowhere") } - label("lost_amulet") { + label("post_take_amulet") { + npc(FacialExpression.NEUTRAL, "It is an Amulet of Ghostspeak.") + npc(FacialExpression.NEUTRAL, "So called, because when you wear it you can speak to", "ghosts. A lot of ghosts are doomed to be ghosts because", "they have left some important task uncompleted.") + npc(FacialExpression.NEUTRAL, "Maybe if you know what this task is, you can get rid of", "the ghost. I'm not making any guarantees mind you,", "but it is the best I can do right now.") + player("Thank you. I'll give it a try!") + + goto("nowhere") + } - exec { player, npc -> - sendDialogue(player, "Father Urhney sighs.") + //because end() breaks shit + label("nowhere") {} + } +} - if (anyInEquipment(player, Items.GHOSTSPEAK_AMULET_552) || anyInInventory(player, Items.GHOSTSPEAK_AMULET_552)) { - npc("What are you talking about? I can see you've got it", "with you!"); - goto("nowhere") +class FatherUrhneyQuestAmuletDialogueFile : DialogueLabeller() { + override fun addConversation() { + npc("Father Urhney sighs.") + + exec { player, npc -> + if (anyInEquipment(player, Items.GHOSTSPEAK_AMULET_552) || anyInInventory(player, Items.GHOSTSPEAK_AMULET_552)) { + npc("What are you talking about? I can see you've got it", "with you!") + } + + if (inBank(player, Items.GHOSTSPEAK_AMULET_552)) { + npc(FacialExpression.ANGRY, "You come here wasting my time... Has it even", "occurred to you to look in your bank? Now GO", "AWAY!") + } + + npc(FacialExpression.ANGRY, "How careless can you get? Those things aren't easy to", "come by you know! It's a good job I've got a spare.") + + if (freeSlots(player) >= 1) { + if (addItem(player, Items.GHOSTSPEAK_AMULET_552, 1)) { + item(Item(Items.GHOSTSPEAK_AMULET_552), "Father Urhney hands you an amulet.") + + player.achievementDiaryManager.finishTask(player, DiaryType.LUMBRIDGE, 1, 12) + + npc(FacialExpression.ANGRY, "Be more careful this time.") + player("Ok, I'll try to be."); } - - if (inBank(player, Items.GHOSTSPEAK_AMULET_552)) { - npc(FacialExpression.ANGRY, "You come here wasting my time... Has it even", "occurred to you to look in your bank? Now GO", "AWAY!"); - goto("nowhere") - } - - npc(FacialExpression.ANGRY, "How careless can you get? Those things aren't easy to", "come by you know! It's a good job I've got a spare."); - - if (freeSlots(player) >= 1) { - if (addItem(player, Items.GHOSTSPEAK_AMULET_552, 1)) { - sendItemDialogue(player, Item(Items.GHOSTSPEAK_AMULET_552), "Father Urhney hands you an amulet.") - - player.achievementDiaryManager.finishTask(player, DiaryType.LUMBRIDGE, 1, 12) - - npc(FacialExpression.ANGRY, "Be more careful this time."); - player("Ok, I'll try to be."); - end() - } - } else { - // Closes the dialogue prematurely to reveal message - end() - sendMessage(player, "You don't have enough inventory space to accept this amulet.") - } - - //last effort dialogue end if somehow it screws up - end() + } else { + sendMessage(player, "You don't have enough inventory space to accept this amulet.") } } + + goto("nowhere") + + //because end() breaks shit + label("nowhere") {} } } \ No newline at end of file