From d3b211a087505114dbfd18ab535c8d754f46b8f0 Mon Sep 17 00:00:00 2001 From: Kermit Frog Date: Sat, 10 Jul 2021 20:10:24 +0000 Subject: [PATCH] Neitiznot Dialogue --- .../neitiznot/GunnarHoldstromDialogue.kt | 34 ++++++++++++++ .../neitiznot/JofridrMordstatterDialogue.kt | 47 +++++++++++++++++++ .../neitiznot/SlugHemliggsenDialogue.kt | 31 ++++++++++++ 3 files changed, 112 insertions(+) create mode 100644 Server/src/main/kotlin/rs09/game/content/dialogue/region/neitiznot/GunnarHoldstromDialogue.kt create mode 100644 Server/src/main/kotlin/rs09/game/content/dialogue/region/neitiznot/JofridrMordstatterDialogue.kt create mode 100644 Server/src/main/kotlin/rs09/game/content/dialogue/region/neitiznot/SlugHemliggsenDialogue.kt diff --git a/Server/src/main/kotlin/rs09/game/content/dialogue/region/neitiznot/GunnarHoldstromDialogue.kt b/Server/src/main/kotlin/rs09/game/content/dialogue/region/neitiznot/GunnarHoldstromDialogue.kt new file mode 100644 index 000000000..a8a241124 --- /dev/null +++ b/Server/src/main/kotlin/rs09/game/content/dialogue/region/neitiznot/GunnarHoldstromDialogue.kt @@ -0,0 +1,34 @@ +package rs09.game.content.dialogue.region.neitiznot + +import core.game.content.dialogue.DialoguePlugin +import core.game.content.dialogue.FacialExpression +import core.game.node.entity.player.Player +import core.plugin.Initializable +import org.rs09.consts.NPCs +import rs09.tools.END_DIALOGUE + +@Initializable +class GunnarHoldstromDialogue(player: Player? = null) : DialoguePlugin(player) { + override fun newInstance(player: Player?): DialoguePlugin { + return GunnarHoldstromDialogue(player) + } + + override fun open(vararg args: Any?): Boolean { + npcl(FacialExpression.HAPPY, "Ah, isn't it a lovely day?") + return true + } + + override fun handle(interfaceId: Int, buttonId: Int): Boolean { + when(stage){ + 0 -> playerl(FacialExpression.ASKING, "It's not bad. What puts you in such a good mood?").also { stage++ } + 1 -> npcl(FacialExpression.HAPPY, "Oh, I just love my job. The smell of the sea breeze, the smell of the arctic pine sap, the smell of the yaks. I find it all so bracing.").also { stage++ } + 2 -> playerl(FacialExpression.ASKING, "Bracing? Hmmm. I think I might have chosen a different word.").also { stage = END_DIALOGUE } + } + return true + } + + override fun getIds(): IntArray { + return intArrayOf(NPCs.GUNNAR_HOLDSTROM_5511) + } + +} \ No newline at end of file diff --git a/Server/src/main/kotlin/rs09/game/content/dialogue/region/neitiznot/JofridrMordstatterDialogue.kt b/Server/src/main/kotlin/rs09/game/content/dialogue/region/neitiznot/JofridrMordstatterDialogue.kt new file mode 100644 index 000000000..ea658b0cd --- /dev/null +++ b/Server/src/main/kotlin/rs09/game/content/dialogue/region/neitiznot/JofridrMordstatterDialogue.kt @@ -0,0 +1,47 @@ +package rs09.game.content.dialogue.region.neitiznot + +import core.game.content.dialogue.DialoguePlugin +import core.game.content.dialogue.FacialExpression +import core.game.node.entity.npc.NPC +import core.game.node.entity.player.Player +import core.plugin.Initializable +import org.rs09.consts.NPCs +import rs09.tools.END_DIALOGUE + +@Initializable +class JofridrMordstatterDialogue(player: Player? = null) : DialoguePlugin(player) { + override fun newInstance(player: Player?): DialoguePlugin { + return JofridrMordstatterDialogue(player) + } + + override fun open(vararg args: Any?): Boolean { + npc = args[0] as NPC + npcl(FacialExpression.NEUTRAL, "Hello there. Would you like to see the goods I have for sale?") + return true + } + + override fun handle(interfaceId: Int, buttonId: Int): Boolean { + when (stage) { + 0 -> options("Yes please, Jofridr.", "No thank you, Jofridr.", "Why do you have so much wool in your store?").also { stage++ } + 1 -> when (buttonId) { + 1 -> playerl(FacialExpression.NEUTRAL, "Yes please, Jofridr.").also { stage = END_DIALOGUE }.also { npc.openShop(player) } + 2 -> playerl(FacialExpression.NEUTRAL, "No thank you, Jofridr.").also { stage = 5 } + 3 -> playerl(FacialExpression.THINKING, "Why do you have so much wool in your store? I haven't seen any sheep anywhere.").also { stage = 11} + } + 5 -> npcl(FacialExpression.NEUTRAL,"Fair thee well.").also { stage = END_DIALOGUE } + + 11 -> npcl(FacialExpression.FRIENDLY,"Ah, I have contacts on the mainland. I have a sailor friend who brings me crates of wool on a regular basis.").also { stage++ } + 12 -> playerl(FacialExpression.ASKING,"What do you trade for it?").also { stage++ } + 13 -> npcl(FacialExpression.FRIENDLY,"Rope of course! What else can we sell? Fish would go off before it got so far south.").also { stage++ } + 14 -> playerl(FacialExpression.ASKING,"Where does all this rope go?").also { stage++ } + 15 -> npcl(FacialExpression.THINKING,"Err, I don't remember the name of the place very well. Dreinna? Drennor? Something like that.").also { stage++ } + 16 -> playerl(FacialExpression.NEUTRAL,"That's very interesting. Thanks Jofridr.").also { stage = END_DIALOGUE } + } + return true + } + + override fun getIds(): IntArray { + return intArrayOf(NPCs.JOFRIDR_MORDSTATTER_5509) + } + +} \ No newline at end of file diff --git a/Server/src/main/kotlin/rs09/game/content/dialogue/region/neitiznot/SlugHemliggsenDialogue.kt b/Server/src/main/kotlin/rs09/game/content/dialogue/region/neitiznot/SlugHemliggsenDialogue.kt new file mode 100644 index 000000000..418b55d14 --- /dev/null +++ b/Server/src/main/kotlin/rs09/game/content/dialogue/region/neitiznot/SlugHemliggsenDialogue.kt @@ -0,0 +1,31 @@ +package rs09.game.content.dialogue.region.neitiznot + +import core.game.content.dialogue.DialoguePlugin +import core.game.content.dialogue.FacialExpression +import core.game.node.entity.player.Player +import core.plugin.Initializable +import org.rs09.consts.NPCs +import rs09.tools.END_DIALOGUE + +@Initializable +class SlugHemliggsenDialogue(player: Player? = null) : DialoguePlugin(player) { + override fun newInstance(player: Player?): DialoguePlugin { + return SlugHemliggsenDialogue(player) + } + + override fun open(vararg args: Any?): Boolean { + npcl(FacialExpression.WORRIED, "Shhh. Go away. I'm not allowed to talk to you.") + return true + } + + override fun handle(interfaceId: Int, buttonId: Int): Boolean { + playerl(FacialExpression.ANNOYED, "Fine, whatever ...") + stage = END_DIALOGUE + return true + } + + override fun getIds(): IntArray { + return intArrayOf(NPCs.SLUG_HEMLIGSSEN_5520) + } + +} \ No newline at end of file