From 83854c3305782a20ece072766e17fe09d0eaa066 Mon Sep 17 00:00:00 2001 From: Beck Date: Sat, 1 Aug 2026 00:06:16 -0700 Subject: [PATCH] even more fixes 1 --- .../dialogue/FatherAereckDefaultDialogue.kt | 55 ++++++++++++------- .../dialogue/FatherUrhneyDefaultDialogue.kt | 16 +++--- .../FatherAereckQuestDialogueFile.kt | 15 +++-- .../FatherUrhneyQuestDialogueFile.kt | 23 +++++--- .../quest/therestlessghost/RestlessGhost.kt | 2 +- .../RestlessGhostNPCDialogue.kt | 24 ++++---- 6 files changed, 77 insertions(+), 58 deletions(-) diff --git a/Server/src/main/content/region/misthalin/lumbridge/dialogue/FatherAereckDefaultDialogue.kt b/Server/src/main/content/region/misthalin/lumbridge/dialogue/FatherAereckDefaultDialogue.kt index 902514bf1..fd66eb1e4 100644 --- a/Server/src/main/content/region/misthalin/lumbridge/dialogue/FatherAereckDefaultDialogue.kt +++ b/Server/src/main/content/region/misthalin/lumbridge/dialogue/FatherAereckDefaultDialogue.kt @@ -32,7 +32,7 @@ class FatherAereckDefaultDialogue : InteractionListener { class FatherAereckDefaultDialogueFile : DialogueLabeller() { override fun addConversation() { - //allows skipping the main dialogue while Restless Ghost quest is started + //allows skipping the main dialogue authentically while Restless Ghost quest is started exec { player, npc -> when (getQuestStage(player, Quests.THE_RESTLESS_GHOST)) { 0 -> { @@ -49,21 +49,24 @@ class FatherAereckDefaultDialogueFile : DialogueLabeller() { } label("main_entry_transcript") { - npc("Welcome to the church of holy Saradomin.") + npc(FacialExpression.FRIENDLY, "Welcome to the church of holy Saradomin.") goto("main_opts") } label("main_opts") { exec { player, npc -> - if (getQuestStage(player, Quests.THE_RESTLESS_GHOST) > 0) { - loadLabel(player, "no_quest_main_opts") - } else { + if (getQuestStage(player, Quests.THE_RESTLESS_GHOST) == 0) { loadLabel(player, "not_started_quest_main_opts") + } else if (isQuestComplete(player, Quests.THE_RESTLESS_GHOST)) { + loadLabel(player, "post_quest_main_opts") + } else { + //this shouldn't be needed although in case some how we get here + loadLabel(player, "mid_quest_main_opts") } } } - label("no_quest_main_opts") { + label("post_quest_main_opts") { options( DialogueOption( "change_grave", @@ -85,11 +88,6 @@ class FatherAereckDefaultDialogueFile : DialogueLabeller() { label("not_started_quest_main_opts") { options( - DialogueOption( - "change_grave", - "Can you change my gravestone now?", - expression = ChatAnim.HALF_ASKING - ), DialogueOption( "who_sara", "Who's Saradomin?", @@ -102,8 +100,23 @@ class FatherAereckDefaultDialogueFile : DialogueLabeller() { ), DialogueOption( "start_restless_ghost_quest", - "I'm looking for a quest.", + "I'm looking for a quest!", + expression = ChatAnim.FRIENDLY + ) + ) + } + + label("mid_quest_main_opts") { + options( + DialogueOption( + "who_sara", + "Who's Saradomin?", expression = ChatAnim.HALF_ASKING + ), + DialogueOption( + "nice_place", + "Nice place you've got here.", + expression = ChatAnim.FRIENDLY ) ) } @@ -117,10 +130,9 @@ class FatherAereckDefaultDialogueFile : DialogueLabeller() { npc(FacialExpression.HALF_ASKING, "Surely you have heard of our god, Saradomin?") npc(FacialExpression.AMAZED, "He who created the forces of goodness and purity in this", "world? I cannot believe your ignorance!") npc("This is the god with more followers than any other ...at", "least in this part of the world.") - npc("He who forged the world as we know it, along with his", "brothers Guthix and Zamorak?") + npc(FacialExpression.HALF_ASKING, "He who forged the world as we know it, along with his", "brothers Guthix and Zamorak?") goto("oh_that_sara") - } label("oh_that_sara") { @@ -128,7 +140,7 @@ class FatherAereckDefaultDialogueFile : DialogueLabeller() { DialogueOption( "that_sara", "Oh, THAT Saradomin.", - expression = FacialExpression.GUILTY + expression = FacialExpression.AMAZED ), DialogueOption( "not_from_this_world", @@ -146,8 +158,8 @@ class FatherAereckDefaultDialogueFile : DialogueLabeller() { } label("not_from_this_world") { - npc("..."); - npc("That's...strange.") + npc(FacialExpression.SUSPICIOUS, "..."); + npc(FacialExpression.SUSPICIOUS, "That's...strange.") npc("I thought things not from this world were all, you know,", "slime and tentacles.") goto("like_my_disguise") } @@ -160,7 +172,8 @@ class FatherAereckDefaultDialogueFile : DialogueLabeller() { ), DialogueOption( "like_disguise", - "I am! Do you like my disguise?" + "I am! Do you like my disguise?", + expression = FacialExpression.FRIENDLY ), ) } @@ -180,7 +193,7 @@ class FatherAereckDefaultDialogueFile : DialogueLabeller() { } label("nice_place") { - npc("It is, isn't it? It was built over two centuries ago."); + npc(FacialExpression.HALF_ASKING, "It is, isn't it? It was built over two centuries ago."); goto("nowhere") } @@ -188,7 +201,9 @@ class FatherAereckDefaultDialogueFile : DialogueLabeller() { label("gravestone_iface") { exec { player, npc -> openInterface(player, Components.GRAVESTONE_SHOP_652) - player.achievementDiaryManager.finishTask(player, DiaryType.LUMBRIDGE, 0, 15); + if (isQuestComplete(Quests.THE_RESTLESS_GHOST)) { + player.achievementDiaryManager.finishTask(player, DiaryType.LUMBRIDGE, 0, 15); + } loadLabel(player, "nowhere") } } 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 bbc6ac05f..ac522db5f 100644 --- a/Server/src/main/content/region/misthalin/lumbridge/dialogue/FatherUrhneyDefaultDialogue.kt +++ b/Server/src/main/content/region/misthalin/lumbridge/dialogue/FatherUrhneyDefaultDialogue.kt @@ -51,7 +51,7 @@ class FatherUrhneyDefaultDialogueFile: DialogueLabeller() { options( DialogueOption( "thats_friendly", - "Well, that's friendly" + "Well, that's friendly." ), DialogueOption( "repo_house", @@ -64,7 +64,7 @@ class FatherUrhneyDefaultDialogueFile: DialogueLabeller() { options( DialogueOption( "thats_friendly", - "Well, that's friendly" + "Well, that's friendly." ), DialogueOption( "father_aereck_sent", @@ -95,13 +95,13 @@ class FatherUrhneyDefaultDialogueFile: DialogueLabeller() { } label("thats_friendly") { - npc("I SAID go AWAY.") + npc(FacialExpression.ANGRY, "I SAID go AWAY.") player("Okay, okay... sheesh, what a grouch.") goto("nowhere") } label("repo_house") { - npc("Under what grounds???") + npc(FacialExpression.ANGRY, "Under what grounds???") goto("repo_opts") } @@ -119,16 +119,16 @@ class FatherUrhneyDefaultDialogueFile: DialogueLabeller() { } label("mtg_repay") { - npc("What?") - npc("I don't have a mortgage! I built this house.") + npc(FacialExpression.ANNOYED, "What?") + npc(FacialExpression.ANGRY, "I don't have a mortgage! I built this house.") 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???") + npc(FacialExpression.ANGRY, "What? What houses? What ARE you talking about???") player("Never mind.") goto("nowhere") } label("want_house") { - npc("Oh... go away and stop wasting my time!") + npc(FacialExpression.ANGRY, "Oh... go away and stop wasting my time!") goto("nowhere") } diff --git a/Server/src/main/content/region/misthalin/lumbridge/quest/therestlessghost/FatherAereckQuestDialogueFile.kt b/Server/src/main/content/region/misthalin/lumbridge/quest/therestlessghost/FatherAereckQuestDialogueFile.kt index 21a963614..6d8cce233 100644 --- a/Server/src/main/content/region/misthalin/lumbridge/quest/therestlessghost/FatherAereckQuestDialogueFile.kt +++ b/Server/src/main/content/region/misthalin/lumbridge/quest/therestlessghost/FatherAereckQuestDialogueFile.kt @@ -45,6 +45,12 @@ class FatherAereckQuestDialogueFile : DialogueLabeller() { label("quest_main_entry") { npc("That's lucky, I need someone to do a quest for me.") + exec { player, npc -> + setQuestStage(player, Quests.THE_RESTLESS_GHOST, 10) + //ensures the varbits is set to default state + setVarbit(player, 2128, 0, true) + setVarbit(player, 2130, 0, true) + } goto("start_quest_opts") } @@ -56,19 +62,12 @@ class FatherAereckQuestDialogueFile : DialogueLabeller() { ), DialogueOption( "no_time", - "Sorry, I don't have time right now." + "Sorry, I don't have time right now" ) ) } label("let_me_help") { - exec { player, npc -> - setQuestStage(player, Quests.THE_RESTLESS_GHOST, 10) - //ensures the varbits is set to default state - setVarbit(player, 2128, 0, true) - setVarbit(player, 2130, 0, true) - } - npc("Thank you. The problem is, there is a ghost in the", "church graveyard. I would like you to get rid of it.") npc("If you need any help, my friend Father Urhney is an", "expert on ghosts.") npc("I believe he is currently living as a hermit in Lumbridge", "swamp. He has a little shack in the south-west of the", "swamps.") 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 7157f5577..7b9b2c971 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 @@ -73,20 +73,25 @@ class FatherUrhneyQuestAmuletDialogueFile : DialogueLabeller() { //mid or after finishing quest and needing another one or doing the drop trick - npc("Father Urhney sighs.") + exec { player, npc -> + line("Father Urhney sighs.") + loadLabel(player, "amulet_main_flow") + } - exec { player, npc -> - if (anyInEquipment(player, Items.GHOSTSPEAK_AMULET_552) || anyInInventory(player, Items.GHOSTSPEAK_AMULET_552)) { - loadLabel(player, "amulet_equip_resp") - } else if (inBank(player, Items.GHOSTSPEAK_AMULET_552)) { - loadLabel(player, "amulet_in_bank_resp") - } else { - loadLabel(player, "give_amulet") + label("amulet_main_flow") { + exec { player, npc -> + if (anyInEquipment(player, Items.GHOSTSPEAK_AMULET_552) || anyInInventory(player, Items.GHOSTSPEAK_AMULET_552)) { + loadLabel(player, "amulet_equip_resp") + } else if (inBank(player, Items.GHOSTSPEAK_AMULET_552)) { + loadLabel(player, "amulet_in_bank_resp") + } else { + loadLabel(player, "give_amulet") + } } } label("amulet_equip_resp") { - npc("What are you talking about? I can see you've got it", "with you!") + npc(FacialExpression.ANNOYED, "What are you talking about? I can see you've got it", "with you!") goto("nowhere") } diff --git a/Server/src/main/content/region/misthalin/lumbridge/quest/therestlessghost/RestlessGhost.kt b/Server/src/main/content/region/misthalin/lumbridge/quest/therestlessghost/RestlessGhost.kt index 05af5aeb0..a5d15a0d3 100644 --- a/Server/src/main/content/region/misthalin/lumbridge/quest/therestlessghost/RestlessGhost.kt +++ b/Server/src/main/content/region/misthalin/lumbridge/quest/therestlessghost/RestlessGhost.kt @@ -28,7 +28,7 @@ class RestlessGhost : Quest(Quests.THE_RESTLESS_GHOST, 25, 24, 1, 107, 0, 4, 5) 0 -> { player.packetDispatch.sendString("I can start this quest by speaking to Father Aereck in the", 275, 4 + 7) player.packetDispatch.sendString("church next to Lumbridge Castle.", 275, 5 + 7) - player.packetDispatch.sendString("I must be unafraid of a Level 13 Skeleton ", 275, 6 + 7) + player.packetDispatch.sendString("I must be unafraid of a Level 13 Skeleton.", 275, 6 + 7) } 10 -> { player.packetDispatch.sendString("Father Aereck asked me to help him deal with the Ghost in", 275, 4 + 7) diff --git a/Server/src/main/content/region/misthalin/lumbridge/quest/therestlessghost/RestlessGhostNPCDialogue.kt b/Server/src/main/content/region/misthalin/lumbridge/quest/therestlessghost/RestlessGhostNPCDialogue.kt index 355ed584d..619db934d 100644 --- a/Server/src/main/content/region/misthalin/lumbridge/quest/therestlessghost/RestlessGhostNPCDialogue.kt +++ b/Server/src/main/content/region/misthalin/lumbridge/quest/therestlessghost/RestlessGhostNPCDialogue.kt @@ -69,19 +69,19 @@ class RestlessGhostNPCDialogueFile : DialogueLabeller() { } label("not_very_good") { - npc(FacialExpression.HALF_GUILTY, "Not very good actually.") - player(FacialExpression.HALF_GUILTY, "What's the problem then?") - npc(FacialExpression.HALF_GUILTY, "Did you understand what I said???") - player(FacialExpression.HALF_GUILTY, "Yep, now tell me what the problem is.") - npc(FacialExpression.HALF_GUILTY, "WOW! This is INCREDIBLE! I didn't expect anyone", "to ever understand me again!") - player(FacialExpression.HALF_GUILTY, "Ok, ok, I can understand you!") - player(FacialExpression.HALF_GUILTY, "But have you any idea WHY you're doomed to be a", "ghost?") + npc(FacialExpression.HALF_WORRIED, "Not very good actually.") + player(FacialExpression.HALF_ASKING, "What's the problem then?") + npc(FacialExpression.THINKING, "Did you understand what I said???") + player(FacialExpression.FRIENDLY, "Yep, now tell me what the problem is.") + npc(FacialExpression.AMAZED, "WOW! This is INCREDIBLE! I didn't expect anyone", "to ever understand me again!") + player(FacialExpression.FRIENDLY, "Ok, Ok, I can understand you!") + player(FacialExpression.HALF_ASKING, "But have you any idea WHY you're doomed to be a", "ghost?") npc(FacialExpression.HALF_GUILTY, "Well, to be honest... I'm not sure.") - player(FacialExpression.HALF_GUILTY, "I've been told a certain task may need to be completed", "so you can rest in peace.") + player(FacialExpression.FRIENDLY, "I've been told a certain task may need to be completed", "so you can rest in peace.") npc(FacialExpression.HALF_GUILTY, "I should think it is probably because a warlock has come", "along and stolen my skull. If you look inside my coffin", "there, you'll find my corpse without a head on it.") - player(FacialExpression.HALF_GUILTY, "Do you know where this warlock might be now?") + player(FacialExpression.HALF_ASKING, "Do you know where this warlock might be now?") npc(FacialExpression.HALF_GUILTY, "I think it was one of the warlocks who lives in the big", "tower by the sea south-west from here.") - player(FacialExpression.HALF_GUILTY, "Ok. I will try and get the skull back for you, then you", "can rest in peace.") + player(FacialExpression.FRIENDLY, "Ok. I will try and get the skull back for you, then you", "can rest in peace.") exec { player, npc -> setQuestStage(player, Quests.THE_RESTLESS_GHOST, 30) @@ -90,8 +90,8 @@ class RestlessGhostNPCDialogueFile : DialogueLabeller() { } label("great_relief") { - npc(FacialExpression.HALF_GUILTY, "Ooh, thank you. That would be such a great relief!") - npc(FacialExpression.HALF_GUILTY, "It is so dull being a ghost...") + npc(FacialExpression.HALF_WORRIED, "Ooh, thank you. That would be such a great relief!") + npc(FacialExpression.SAD, "It is so dull being a ghost...") } label("woo") {