Rewrote Lilly dialogue

Rewrote Eadburg dialogue
Added examine texts for Achietties, Wizard Cromperty and Obli
Corrected seaweed spawn
This commit is contained in:
Trident101 2024-01-20 12:02:42 +00:00 committed by Ryan
parent 4ec0f4aa27
commit 2449bfe241
6 changed files with 108 additions and 179 deletions

View file

@ -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",

View file

@ -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"
}
]

View file

@ -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 };
}
}

View file

@ -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!"
)
}
}

View file

@ -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 };
}
}

View file

@ -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()
}
}
}