From 2449bfe24193564e29db4be9cfccd4bba8f91f79 Mon Sep 17 00:00:00 2001 From: Trident101 Date: Sat, 20 Jan 2024 12:02:42 +0000 Subject: [PATCH] Rewrote Lilly dialogue Rewrote Eadburg dialogue Added examine texts for Achietties, Wizard Cromperty and Obli Corrected seaweed spawn --- Server/data/configs/ground_spawns.json | 2 +- Server/data/configs/npc_configs.json | 5 + .../burthorpe/dialogue/EadburgDialogue.java | 73 ------------ .../burthorpe/dialogue/EadburgDialogue.kt | 46 ++++++++ .../burthorpe/dialogue/LillyDialogue.java | 105 ------------------ .../burthorpe/dialogue/LillyDialogue.kt | 56 ++++++++++ 6 files changed, 108 insertions(+), 179 deletions(-) delete mode 100644 Server/src/main/content/region/asgarnia/burthorpe/dialogue/EadburgDialogue.java create mode 100644 Server/src/main/content/region/asgarnia/burthorpe/dialogue/EadburgDialogue.kt delete mode 100644 Server/src/main/content/region/asgarnia/burthorpe/dialogue/LillyDialogue.java create mode 100644 Server/src/main/content/region/asgarnia/burthorpe/dialogue/LillyDialogue.kt diff --git a/Server/data/configs/ground_spawns.json b/Server/data/configs/ground_spawns.json index 140926a8d..de99f91cc 100644 --- a/Server/data/configs/ground_spawns.json +++ b/Server/data/configs/ground_spawns.json @@ -109,7 +109,7 @@ }, { "item_id": "401", - "loc_data": "{1,2810,3387,0,11796640}-{1,2809,3388,0,11796640}-{1,2809,3385,0,11796640}-{1,2807,3386,0,11796640}-{1,2804,3385,0,11796640}-{1,2807,3384,0,11796640}-{1,2805,3384,0,11796640}-{1,2802,3382,0,11796640}-{1,2805,3381,0,11796640}-{1,2804,3380,0,11796640}-{1,3829,3053,0,11796640}-{1,3813,3066,0,11796640}-{1,3814,3064,0,11796640}-{1,3808,3060,0,11796640}-{1,2693,3727,0,11796640}-{1,2698,3729,0,11796640}-{1,2700,3731,0,11796640}-{1,2708,3728,0,11796640}-{1,2725,3731,0,11796640}-{1,2721,3730,0,11796640}-{1,2719,3733,0,11796640}-{1,2714,3733,0,11796640}-{1,2712,3732,0,11796640}-{1,2896,3119,0,11796640}-{1,2914,3111,0,11796640}-{1,2926,3110,0,11796640}-{1,2939,3102,0,11796640}-{1,2938,3073,0,11796640}-{1,2945,3068,0,11796640}-{1,2975,3013,0,11796640}-{1,2955,3010,0,11796640}-{1,2959,2959,0,11796640}-{1,2943,2950,0,11796640}-{1,2866,2976,0,11796640}-{1,2854,2977,0,11796640}-{1,2840,2974,0,11796640}-{1,2757,2947,0,11796640}-{1,2755,2952,0,11796640}-{1,2786,2960,0,11796640}-{1,2782,2987,0,11796640}-{1,2771,2995,0,11796640}-{1,2761,3000,0,11796640}-{1,2755,3008,0,11796640}-{1,2754,3017,0,11796640}-{1,2756,3060,0,11796640}-{1,2755,3070,0,11796640}-{1,2756,3074,0,11796640}-{1,2806,3128,0,11796640}-{1,2864,3195,0,11796640}-{1,2764,3131,0,11796640}-{1,2753,3125,0,11796640}-{1,2757,3109,0,11796640}" + "loc_data": "{1,2810,3387,0,11796640}-{1,2809,3388,0,11796640}-{1,2809,3385,0,11796640}-{1,2807,3386,0,11796640}-{1,2804,3385,0,11796640}-{1,2807,3384,0,11796640}-{1,2805,3384,0,11796640}-{1,2802,3382,0,11796640}-{1,2805,3381,0,11796640}-{1,2804,3380,0,11796640}-{1,3829,3053,0,11796640}-{1,3813,3066,0,11796640}-{1,3814,3064,0,11796640}-{1,3808,3060,0,11796640}-{1,2693,3727,0,11796640}-{1,2698,3729,0,11796640}-{1,2700,3731,0,11796640}-{1,2708,3728,0,11796640}-{1,2725,3731,0,11796640}-{1,2721,3730,0,11796640}-{1,2719,3733,0,11796640}-{1,2714,3733,0,11796640}-{1,2712,3732,0,11796640}-{1,2896,3119,0,11796640}-{1,2914,3111,0,11796640}-{1,2926,3110,0,11796640}-{1,2939,3102,0,11796640}-{1,2938,3073,0,11796640}-{1,2945,3068,0,11796640}-{1,2975,3013,0,11796640}-{1,2955,3010,0,11796640}-{1,2959,2959,0,11796640}-{1,2943,2950,0,11796640}-{1,2866,2976,0,11796640}-{1,2854,2977,0,11796640}-{1,2839,2975,0,11796640}-{1,2757,2947,0,11796640}-{1,2755,2952,0,11796640}-{1,2786,2960,0,11796640}-{1,2782,2987,0,11796640}-{1,2771,2995,0,11796640}-{1,2761,3000,0,11796640}-{1,2755,3008,0,11796640}-{1,2754,3017,0,11796640}-{1,2756,3060,0,11796640}-{1,2755,3070,0,11796640}-{1,2756,3074,0,11796640}-{1,2806,3128,0,11796640}-{1,2864,3195,0,11796640}-{1,2764,3131,0,11796640}-{1,2753,3125,0,11796640}-{1,2757,3109,0,11796640}" }, { "item_id": "444", diff --git a/Server/data/configs/npc_configs.json b/Server/data/configs/npc_configs.json index 37d38e80a..eaafee09d 100644 --- a/Server/data/configs/npc_configs.json +++ b/Server/data/configs/npc_configs.json @@ -72525,5 +72525,10 @@ "examine": "The hat is a dead give away.", "name": "Wizard Cromperty", "id": "2328" + }, + { + "examine": "An intelligent-looking shop owner.", + "name": "Obli", + "id": "516" } ] \ No newline at end of file diff --git a/Server/src/main/content/region/asgarnia/burthorpe/dialogue/EadburgDialogue.java b/Server/src/main/content/region/asgarnia/burthorpe/dialogue/EadburgDialogue.java deleted file mode 100644 index ef0623522..000000000 --- a/Server/src/main/content/region/asgarnia/burthorpe/dialogue/EadburgDialogue.java +++ /dev/null @@ -1,73 +0,0 @@ -package content.region.asgarnia.burthorpe.dialogue; - -import core.game.dialogue.DialoguePlugin; -import core.game.dialogue.FacialExpression; -import core.game.node.entity.npc.NPC; -import core.plugin.Initializable; -import core.game.node.entity.player.Player; - -/** - * Represents the dialogue plugin used for the eadburg npc. - * @author 'Vexia - * @version 1.0 - */ -@Initializable -public final class EadburgDialogue extends DialoguePlugin { - - /** - * Constructs a new {@code EadburgDialogue} {@code Object}. - */ - public EadburgDialogue() { - /** - * empty. - */ - } - - /** - * Constructs a new {@code EadburgDialogue} {@code Object}. - * @param player the player. - */ - public EadburgDialogue(Player player) { - super(player); - } - - @Override - public DialoguePlugin newInstance(Player player) { - return new EadburgDialogue(player); - } - - @Override - public boolean open(Object... args) { - npc = (NPC) args[0]; - interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "What's cooking, good looking?"); - stage = 0; - return true; - } - - @Override - public boolean handle(int interfaceId, int buttonId) { - switch (stage) { - case 0: - interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "The stew for the servant's main meal."); - stage = 1; - break; - case 1: - interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "Um...er...see you later."); - stage = 2; - break; - case 2: - interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "Bye!"); - stage = 3; - break; - case 3: - end(); - break; - } - return true; - } - - @Override - public int[] getIds() { - return new int[] { 1072 }; - } -} diff --git a/Server/src/main/content/region/asgarnia/burthorpe/dialogue/EadburgDialogue.kt b/Server/src/main/content/region/asgarnia/burthorpe/dialogue/EadburgDialogue.kt new file mode 100644 index 000000000..f2135a729 --- /dev/null +++ b/Server/src/main/content/region/asgarnia/burthorpe/dialogue/EadburgDialogue.kt @@ -0,0 +1,46 @@ +package content.region.asgarnia.burthorpe.dialogue + +import core.api.openDialogue +import core.game.dialogue.DialogueBuilder +import core.game.dialogue.DialogueBuilderFile +import core.game.dialogue.DialoguePlugin +import core.game.dialogue.FacialExpression +import core.game.node.entity.player.Player +import core.plugin.Initializable +import org.rs09.consts.NPCs + +@Initializable +class EadburgDialogue(player: Player? = null) : DialoguePlugin(player) { + + override fun handle(interfaceId: Int, buttonId: Int): Boolean { + openDialogue(player, EadburgDialogueFile(), npc) + return true + } + + override fun newInstance(player: Player?): DialoguePlugin { + return EadburgDialogue(player) + } + + override fun getIds(): IntArray { + return intArrayOf(NPCs.EADBURG_1072) + } +} + +class EadburgDialogueFile : DialogueBuilderFile() { + + override fun create(b: DialogueBuilder) { + b.defaultDialogue().playerl( + FacialExpression.FRIENDLY, + "What's cooking, good looking?" + ).npcl( + FacialExpression.FRIENDLY, + "The stew for the servant's main meal." + ).playerl( + FacialExpression.HALF_WORRIED, + "Um...er...see you later." + ).npcl( + FacialExpression.FRIENDLY, + "Bye!" + ) + } +} \ No newline at end of file diff --git a/Server/src/main/content/region/asgarnia/burthorpe/dialogue/LillyDialogue.java b/Server/src/main/content/region/asgarnia/burthorpe/dialogue/LillyDialogue.java deleted file mode 100644 index 88455aa82..000000000 --- a/Server/src/main/content/region/asgarnia/burthorpe/dialogue/LillyDialogue.java +++ /dev/null @@ -1,105 +0,0 @@ -package content.region.asgarnia.burthorpe.dialogue; - -import core.game.dialogue.DialoguePlugin; -import core.game.dialogue.FacialExpression; -import core.game.node.entity.npc.NPC; -import core.plugin.Initializable; -import core.game.node.entity.player.Player; - -/** - * Represents the dialogue plugin used for the lilly npc. - * @author 'Vexia - * @version 1.0 - */ -@Initializable -public final class LillyDialogue extends DialoguePlugin { - - /** - * Constructs a new {@code LillyDialogue} {@code Object} - */ - public LillyDialogue() { - /** - * empty. - */ - } - - /** - * Constructs a new {@code LillyDialogue} {@code Object}. - * @param player the player. - */ - public LillyDialogue(Player player) { - super(player); - } - - @Override - public DialoguePlugin newInstance(Player player) { - return new LillyDialogue(player); - } - - @Override - public boolean open(Object... args) { - npc = (NPC) args[0]; - interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "Uh..... hi... didn't see you there. Can.... I help?"); - stage = 0; - return true; - } - - @Override - public boolean handle(int interfaceId, int buttonId) { - switch (stage) { - case 0: - interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "Umm... do you sell potions?"); - stage = 1; - break; - case 1: - interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "Erm... yes. When I'm not drinking them."); - stage = 2; - break; - case 2: - interpreter.sendOptions("What would you like to say?", "I'd like to see what you have for sale.", "That's a pretty wall hanging.", "Bye!"); - stage = 3; - break; - case 3: - if (buttonId == 1) { - interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "I'd like to see what you have for sale."); - stage = 4; - } else if (buttonId == 2) { - interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "That's a pretty wall hanging."); - stage = 5; - } else if (buttonId == 3) { - interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "Bye!"); - stage = 9; - } - break; - case 4: - end(); - npc.openShop(player); - break; - case 5: - interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "Do you think so? I made it my self."); - stage = 6; - break; - case 6: - interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "Really? Is that why there's all this cloth and dye around?"); - stage = 7; - break; - case 7: - interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "Yes, it's a hobby of mine when I'm.... relaxing."); - stage = 8; - break; - case 8: - end(); - break; - case 9: - interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "Have fun and come back soon!"); - stage = 8; - break; - } - return true; - } - - @Override - public int[] getIds() { - return new int[] { 4294 }; - } -} diff --git a/Server/src/main/content/region/asgarnia/burthorpe/dialogue/LillyDialogue.kt b/Server/src/main/content/region/asgarnia/burthorpe/dialogue/LillyDialogue.kt new file mode 100644 index 000000000..553366bc0 --- /dev/null +++ b/Server/src/main/content/region/asgarnia/burthorpe/dialogue/LillyDialogue.kt @@ -0,0 +1,56 @@ +package content.region.asgarnia.burthorpe.dialogue + +import core.api.openDialogue +import core.api.openNpcShop +import core.game.dialogue.DialogueBuilder +import core.game.dialogue.DialogueBuilderFile +import core.game.dialogue.DialoguePlugin +import core.game.dialogue.FacialExpression +import core.game.node.entity.player.Player +import core.plugin.Initializable +import org.rs09.consts.NPCs + +@Initializable +class LillyDialogue(player: Player? = null) : DialoguePlugin(player) { + + override fun handle(interfaceId: Int, buttonId: Int): Boolean { + openDialogue(player, LillyDialogueFile(), npc) + return true + } + + override fun newInstance(player: Player?): DialoguePlugin { + return LillyDialogue(player) + } + + override fun getIds(): IntArray { + return intArrayOf(NPCs.LILLY_4294) + } +} + +class LillyDialogueFile : DialogueBuilderFile() { + + override fun create(b: DialogueBuilder) { + b.defaultDialogue().npcl( + FacialExpression.HALF_GUILTY, "Uh..... hi... didn't see you there. Can.... I help?" + ).playerl( + FacialExpression.HALF_ASKING, " Umm... do you sell potions?" + ).npcl( + FacialExpression.HALF_GUILTY, " Erm... yes. When I'm not drinking them." + ).options().let { optionsBuilder -> + optionsBuilder.option("I'd like to see what you have for sale.") + .playerl(FacialExpression.FRIENDLY, "I'd like to see what you have for sale. ") + .endWith { _, player -> openNpcShop(player, NPCs.LILLY_4294) } + optionsBuilder.option("That's a pretty wall hanging.").playerl( + FacialExpression.FRIENDLY, "That's a pretty wall hanging." + ).npcl( + FacialExpression.HAPPY, " Do you think so? I made it myself." + ).playerl( + FacialExpression.ASKING, " Really? Is that why there's all this cloth and dye around?" + ).npcl( + FacialExpression.HAPPY, " Yes, it's a hobby of mine when I'm.... relaxing." + ).end() + optionsBuilder.option("Bye. ").playerl(FacialExpression.FRIENDLY, "Bye.") + .npcl(FacialExpression.FRIENDLY, " Have fun and come back soon!").end() + } + } +} \ No newline at end of file