mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-02 16:49:03 +00:00
Small Update
* Disabled The Old Dialogue System * Converted CooksAssistant/Lumbridge Cook Dialogue * Only Show Log Info For New Dialogue System When Server Is In Debug Mode
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
package plugin.quests.cooksassistant
|
||||
|
||||
import com.rs2.event.EventContext
|
||||
import com.rs2.event.EventSubscriber
|
||||
import com.rs2.event.SubscribesTo
|
||||
import com.rs2.event.impl.NpcFirstClickEvent
|
||||
import com.rs2.game.players.Player
|
||||
import plugin.quests.cooksassistant.dialogue.LumbridgeCookDialogue
|
||||
|
||||
|
||||
@SubscribesTo(NpcFirstClickEvent::class)
|
||||
class FirstClick : EventSubscriber<NpcFirstClickEvent> {
|
||||
|
||||
override fun subscribe(context: EventContext, player: Player, event: NpcFirstClickEvent) {
|
||||
|
||||
when(event.npc) {
|
||||
//Lumbridge Cook (278)
|
||||
278 -> {
|
||||
if (player.playerRights >= 3) {
|
||||
player.packetSender.sendMessage("[click= npc], [type = first/quest], [id= ${event.npc}], [Type= ${event.npc}]")
|
||||
}
|
||||
player.dialogueFactory.sendDialogue(LumbridgeCookDialogue())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+151
@@ -0,0 +1,151 @@
|
||||
package plugin.quests.cooksassistant.dialogue
|
||||
|
||||
import com.rs2.game.content.quests.QuestAssistant
|
||||
import com.rs2.game.content.quests.QuestRewards
|
||||
import com.rs2.game.dialogues.DialogueFactoryPlugin
|
||||
import com.rs2.game.dialogues.DialoguePlugin
|
||||
import com.rs2.game.dialogues.ExpressionPlugin
|
||||
|
||||
/**
|
||||
* The Dialogue For The Lumbridge Castle Cook/Cooks Assistant Quest
|
||||
*/
|
||||
class LumbridgeCookDialogue : DialoguePlugin() {
|
||||
|
||||
override fun sendDialogues(factory: DialogueFactoryPlugin) {
|
||||
if (factory.player.cookAss == 0) {
|
||||
factory
|
||||
.sendNPCChat(ExpressionPlugin.ANXIOUS, "What am I to do?")
|
||||
.sendOption("What's wrong?", {
|
||||
factory
|
||||
.onAction {
|
||||
factory
|
||||
.sendPlayerChat("What's wrong?")
|
||||
.sendNPCChat(
|
||||
"Oh dear, oh dear, oh dear, I'm in a terrible terrible",
|
||||
"mess! It's the Duke's birthday today, and I should be",
|
||||
"making him a lovely big birthday cake!"
|
||||
)
|
||||
.sendNPCChat(
|
||||
"I've forgotten to buy the ingredients. I'll never get",
|
||||
"them in time now. He'll sack me! What will I do? I have",
|
||||
"four children and a goat to look after. Would you help",
|
||||
"me? Please?"
|
||||
)
|
||||
.sendOption("I'm always happy to help a cook in distress", {
|
||||
factory.onAction {
|
||||
factory
|
||||
.sendPlayerChat("Yes, I'll help you.")
|
||||
.sendNPCChat(
|
||||
"Oh thank you, thank you. I need milk, an egg, and",
|
||||
"flour. I'd be very grateful if you can get them for me."
|
||||
)
|
||||
.sendPlayerChat("So where do I find these ingredients then?")
|
||||
.sendNPCChat(
|
||||
"You can find flour in any of the shops here.",
|
||||
"You can find eggs by killing chickens.",
|
||||
"You can find milk by using a bucket on a cow"
|
||||
)
|
||||
.execute()
|
||||
.player.cookAss = 1
|
||||
QuestAssistant.sendStages(factory.player)
|
||||
}
|
||||
},
|
||||
"I can't right now, Maybe later.", {
|
||||
factory.onAction {
|
||||
factory
|
||||
.sendPlayerChat("I can't right now, Maybe later.")
|
||||
.sendNPCChat("Oh please! Hurry then!")
|
||||
.execute()
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
}, "Can you cook me a cake?", {
|
||||
factory
|
||||
.onAction {
|
||||
factory
|
||||
.sendNPCChat("Does it look like I have the time?")
|
||||
.execute()
|
||||
}
|
||||
}, "You don't look very happy.", {
|
||||
factory
|
||||
.sendPlayerChat(ExpressionPlugin.ANXIOUS, "You don't look so happy.")
|
||||
.sendNPCChat(
|
||||
"Oh dear, oh dear, oh dear, I'm in a terrible terrible",
|
||||
"mess! It's the Duke's birthday today, and I should be",
|
||||
"making him a lovely big birthday cake!"
|
||||
)
|
||||
.sendNPCChat(
|
||||
"I've forgotten to buy the ingredients. I'll never get",
|
||||
"them in time now. He'll sack me! What will I do? I have",
|
||||
"four children and a goat to look after. Would you help",
|
||||
"me? Please?"
|
||||
)
|
||||
.sendOption("I'm always happy to help a cook in distress", {
|
||||
factory.onAction {
|
||||
factory
|
||||
.sendPlayerChat("Yes, I'll help you.")
|
||||
.sendNPCChat(
|
||||
"Oh thank you, thank you. I need milk, an egg, and",
|
||||
"flour. I'd be very grateful if you can get them for me."
|
||||
)
|
||||
.sendPlayerChat("So where do I find these ingredients then?")
|
||||
.sendNPCChat(
|
||||
"You can find flour in any of the shops here.",
|
||||
"You can find eggs by killing chickens.",
|
||||
"You can find milk by using a bucket on a cow"
|
||||
)
|
||||
.execute()
|
||||
.player.cookAss = 1
|
||||
QuestAssistant.sendStages(factory.player)
|
||||
}
|
||||
},
|
||||
"I can't right now, Maybe later.", {
|
||||
factory.onAction {
|
||||
factory
|
||||
.sendPlayerChat("I can't right now, Maybe later.")
|
||||
.sendNPCChat("Oh please! Hurry then!")
|
||||
.execute()
|
||||
}
|
||||
|
||||
})
|
||||
}, "Nice hat.") {
|
||||
factory
|
||||
.sendNPCChat("I don't have time for your jibber-jabber!")
|
||||
}
|
||||
.execute()
|
||||
} else if(factory.player.cookAss == 1) {
|
||||
factory
|
||||
.sendNPCChat("How are you getting on with finding the ingredients?")
|
||||
if (factory.player.itemAssistant.playerHasItem(1944, 1)
|
||||
&& factory.player.itemAssistant.playerHasItem(1927, 1)
|
||||
&& factory.player.itemAssistant.playerHasItem(1933, 1)
|
||||
) {
|
||||
factory.sendPlayerChat("Here's all the items!")
|
||||
factory.player.itemAssistant.deleteItem(1944, 1)
|
||||
factory.player.itemAssistant.deleteItem(1927, 1)
|
||||
factory.player.itemAssistant.deleteItem(1933, 1)
|
||||
factory.player.cookAss = 2
|
||||
factory.sendNPCChat("You brought me everything I need! I'm saved!", "Thank you!")
|
||||
.sendPlayerChat("So do I get to go to the Duke's Party?")
|
||||
.sendNPCChat("I'm afraid not, only the big cheeses get to dine with the", "Duke.")
|
||||
.sendPlayerChat("Well, maybe one day I'll be important enough to sit on", "the Duke's table")
|
||||
.sendNPCChat("Maybe, but I won't be holding my breath.")
|
||||
QuestRewards.cookReward(factory.player)
|
||||
} else {
|
||||
factory.sendPlayerChat("I don't have all the items yet.")
|
||||
.sendNPCChat("Oh please! Hurry then!")
|
||||
.execute()
|
||||
}
|
||||
} else if(factory.player.cookAss == 2) {
|
||||
factory
|
||||
.sendPlayerChat("So do I get to go to the Duke's Party?")
|
||||
.sendNPCChat("I'm afraid not, only the big cheeses get to dine with the", "Duke.")
|
||||
.sendPlayerChat("Well, maybe one day I'll be important enough to sit on", "the Duke's table")
|
||||
.sendNPCChat("Maybe, but I won't be holding my breath.")
|
||||
QuestRewards.cookReward(factory.player)
|
||||
} else if(factory.player.cookAss == 3) {
|
||||
factory.sendNPCChat("Thanks for helping me out friend!")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -670,7 +670,9 @@ public final class DialogueFactoryPlugin {
|
||||
private final String[] splitLines(String... text) {
|
||||
|
||||
if(text.length > 1){
|
||||
if(GameConstants.SERVER_DEBUG) {
|
||||
logger.log(Level.INFO, "Detected more than 1 Dialogue line. Assuming Dialogues have been split already.");
|
||||
}
|
||||
return text;
|
||||
}
|
||||
int characters = text[0].length();
|
||||
|
||||
@@ -317,140 +317,6 @@ public class DialogueHandler {
|
||||
player.nextChat = 0;
|
||||
player.ptjob = 2;
|
||||
break;
|
||||
case 50:
|
||||
sendNpcChat1("What am I to do?", player.talkingNpc, "Cook");
|
||||
player.nextChat = 51;
|
||||
break;
|
||||
case 51:
|
||||
sendOption("What's wrong?", "Can you cook me a cake?",
|
||||
"You don't look very happy.", "Nice hat.");
|
||||
player.dialogueAction = 52;
|
||||
break;
|
||||
case 52:
|
||||
sendPlayerChat("What's wrong?");
|
||||
player.nextChat = 54;
|
||||
break;
|
||||
case 54:
|
||||
sendNpcChat3(
|
||||
"Oh dear, oh dear, oh dear, I'm in a terrible terrible",
|
||||
"mess! It's the Duke's birthday today, and I should be",
|
||||
"making him a lovely big birthday cake!",
|
||||
player.talkingNpc, "Cook");
|
||||
player.nextChat = 55;
|
||||
break;
|
||||
case 55:
|
||||
sendNpcChat4(
|
||||
"I've forgotten to buy the ingredients. I'll never get",
|
||||
"them in time now. He'll sack me! What will I do? I have",
|
||||
"four children and a goat to look after. Would you help",
|
||||
"me? Please?", player.talkingNpc, "Cook");
|
||||
player.nextChat = 56;
|
||||
break;
|
||||
case 56:
|
||||
sendOption("I'm always happy to help a cook in distress.",
|
||||
"I can't right now, Maybe later.");
|
||||
player.dialogueAction = 57;
|
||||
break;
|
||||
case 57:
|
||||
sendPlayerChat("Yes, I'll help you.");// 9157
|
||||
player.nextChat = 60;
|
||||
break;
|
||||
case 58:
|
||||
sendPlayerChat("I can't right now, Maybe later.");// 9158
|
||||
player.nextChat = 59;
|
||||
break;
|
||||
case 59:
|
||||
sendNpcChat1("Oh please! Hurry then!", player.talkingNpc, "Cook");
|
||||
player.nextChat = 0;
|
||||
break;
|
||||
case 60:
|
||||
sendNpcChat2("Oh thank you, thank you. I need milk, an egg, and",
|
||||
"flour. I'd be very grateful if you can get them for me.",
|
||||
player.talkingNpc, "Cook");
|
||||
player.cookAss = 1;
|
||||
QuestAssistant.sendStages(player);
|
||||
player.nextChat = 61;
|
||||
break;
|
||||
case 61:
|
||||
sendPlayerChat("So where do I find these ingredients then?");
|
||||
player.nextChat = 62;
|
||||
break;
|
||||
case 62:
|
||||
sendNpcChat3("You can find flour in any of the shops here.",
|
||||
"You can find eggs by killing chickens.",
|
||||
"You can find milk by using a bucket on a cow",
|
||||
player.talkingNpc, "Cook");
|
||||
player.nextChat = 0;
|
||||
break;
|
||||
case 63:
|
||||
sendNpcChat1("I don't have time for your jibber-jabber!",
|
||||
player.talkingNpc, "Cook");
|
||||
player.nextChat = 0;
|
||||
break;
|
||||
case 64:
|
||||
sendNpcChat1("Does it look like I have the time?",
|
||||
player.talkingNpc, "Cook");
|
||||
player.nextChat = 0;
|
||||
break;
|
||||
case 65:
|
||||
sendPlayerChat("You don't look so happy.");
|
||||
player.nextChat = 54;
|
||||
break;
|
||||
case 66:
|
||||
sendNpcChat1(
|
||||
"How are you getting on with finding the ingredients?",
|
||||
player.talkingNpc, "Cook");
|
||||
player.nextChat = 67;
|
||||
break;
|
||||
case 67:
|
||||
if (player.getItemAssistant().playerHasItem(1944, 1)
|
||||
&& player.getItemAssistant().playerHasItem(1927, 1)
|
||||
&& player.getItemAssistant().playerHasItem(1933, 1)) {
|
||||
sendPlayerChat("Here's all the items!");
|
||||
player.nextChat = 68;
|
||||
} else {
|
||||
sendPlayerChat("I don't have all the items yet.");
|
||||
player.nextChat = 59;
|
||||
}
|
||||
break;
|
||||
case 68:
|
||||
player.getItemAssistant().deleteItem(1944, 1);
|
||||
player.getItemAssistant().deleteItem(1927, 1);
|
||||
player.getItemAssistant().deleteItem(1933, 1);
|
||||
player.cookAss = 2;
|
||||
sendNpcChat2("You brought me everything I need! I'm saved!",
|
||||
"Thank you!", player.talkingNpc, "Cook");
|
||||
player.nextChat = 69;
|
||||
break;
|
||||
case 69:
|
||||
sendPlayerChat("So do I get to go to the Duke's Party?");
|
||||
player.nextChat = 70;
|
||||
break;
|
||||
case 70:
|
||||
sendNpcChat2(
|
||||
"I'm afraid not, only the big cheeses get to dine with the",
|
||||
"Duke.", player.talkingNpc, "Cook");
|
||||
player.nextChat = 72;
|
||||
break;
|
||||
case 72:
|
||||
sendPlayerChat(
|
||||
"Well, maybe one day I'll be important enough to sit on",
|
||||
"the Duke's table");
|
||||
player.nextChat = 74;
|
||||
break;
|
||||
case 74:
|
||||
sendNpcChat1("Maybe, but I won't be holding my breath.",
|
||||
player.talkingNpc, "Cook");
|
||||
player.nextChat = 75;
|
||||
break;
|
||||
case 75:
|
||||
QuestRewards.cookReward(player);
|
||||
break;
|
||||
case 76:
|
||||
sendNpcChat1("Thanks for helping me out friend!",
|
||||
player.talkingNpc, "Cook");
|
||||
player.nextChat = 0;
|
||||
break;
|
||||
case 84:
|
||||
sendNpcChat1("How are you getting on finding all my supplies",
|
||||
player.talkingNpc, "Doric");
|
||||
|
||||
@@ -393,9 +393,6 @@ public class DialogueOptions {
|
||||
} else if (player.dialogueAction == 56) {
|
||||
player.getDialogueHandler().sendDialogues(96, player.npcType);
|
||||
return;
|
||||
} else if (player.dialogueAction == 57) {
|
||||
player.getDialogueHandler().sendDialogues(57, player.npcType);
|
||||
return;
|
||||
} else if (player.dialogueAction == 3222) {
|
||||
player.getBarrows().checkCoffins();
|
||||
player.getPacketSender().closeAllWindows();
|
||||
@@ -692,9 +689,6 @@ public class DialogueOptions {
|
||||
} else if (player.dialogueAction == 74) {
|
||||
player.getDialogueHandler().sendDialogues(535, player.npcType);
|
||||
return;
|
||||
} else if (player.dialogueAction == 57) {
|
||||
player.getDialogueHandler().sendDialogues(58, player.npcType);
|
||||
return;
|
||||
} else if (player.dialogueAction == 62) {
|
||||
player.getDialogueHandler().sendDialogues(309, player.npcType);
|
||||
return;
|
||||
@@ -944,9 +938,6 @@ public class DialogueOptions {
|
||||
if (player.dialogueAction == 113) {
|
||||
player.getDialogueHandler().sendDialogues(3540, player.npcType);
|
||||
}
|
||||
if (player.dialogueAction == 52) {
|
||||
player.getDialogueHandler().sendDialogues(52, player.npcType);
|
||||
}
|
||||
if (player.dialogueAction == 1000) {
|
||||
player.getDialogueHandler().sendDialogues(3524,player.npcType);
|
||||
}
|
||||
@@ -1017,9 +1008,6 @@ public class DialogueOptions {
|
||||
player.getPlayerAssistant().gloryTeleport(3293, 3174, 0, "modern");
|
||||
Teles.necklaces(player);
|
||||
}
|
||||
if (player.dialogueAction == 52) {
|
||||
player.getDialogueHandler().sendDialogues(64, player.npcType);
|
||||
}
|
||||
if (player.dialogueAction == 1000) {
|
||||
player.getDialogueHandler().sendDialogues(3523, player.npcType);
|
||||
}
|
||||
@@ -1093,9 +1081,6 @@ public class DialogueOptions {
|
||||
player.getPlayerAssistant().gloryTeleport(2911, 3152, 0, "modern");
|
||||
Teles.necklaces(player);
|
||||
}
|
||||
if (player.dialogueAction == 52) {
|
||||
player.getDialogueHandler().sendDialogues(65, player.npcType);
|
||||
}
|
||||
if (player.dialogueAction == 1000) {
|
||||
player.getDialogueHandler().sendDialogues(3523,player.npcType);
|
||||
}
|
||||
@@ -1154,9 +1139,6 @@ public class DialogueOptions {
|
||||
player.getPlayerAssistant().gloryTeleport(3103, 3249, 0, "modern");
|
||||
Teles.necklaces(player);
|
||||
}
|
||||
if (player.dialogueAction == 52) {
|
||||
player.getDialogueHandler().sendDialogues(63, player.npcType);
|
||||
}
|
||||
if (player.dialogueAction == 1000) {
|
||||
player.getDialogueHandler().sendDialogues(3523, player.npcType);
|
||||
}
|
||||
|
||||
@@ -724,18 +724,6 @@ public class NpcActions {
|
||||
}
|
||||
break;
|
||||
|
||||
case 278:
|
||||
if (player.cookAss == 0) {
|
||||
player.getDialogueHandler().sendDialogues(50, npcType);
|
||||
} else if (player.cookAss == 1) {
|
||||
player.getDialogueHandler().sendDialogues(67, npcType);
|
||||
} else if (player.cookAss == 2) {
|
||||
player.getDialogueHandler().sendDialogues(69, npcType);
|
||||
} else if (player.cookAss == 3) {
|
||||
player.getDialogueHandler().sendDialogues(76, npcType);
|
||||
}
|
||||
break;
|
||||
|
||||
case 608:
|
||||
if (player.blackKnight == 0 && player.questPoints >= 12) {
|
||||
player.getDialogueHandler().sendDialogues(3902, npcType);
|
||||
|
||||
@@ -59,7 +59,7 @@ public class ClickingButtons implements PacketType {
|
||||
SilverCrafting.makeSilver(player, actionButtonId, 0);
|
||||
Climbing.handleLadderButtons(player, actionButtonId);
|
||||
Specials.specialClicking(player, actionButtonId);
|
||||
DialogueOptions.handleDialogueOptions(player, actionButtonId);
|
||||
//DialogueOptions.handleDialogueOptions(player, actionButtonId);
|
||||
DairyChurn.churnItem(player, actionButtonId);
|
||||
if (EnchantStaff.staffButtons(player, actionButtonId)) {
|
||||
return;
|
||||
|
||||
@@ -16,11 +16,11 @@ public class DialoguePacket implements PacketType {
|
||||
to the new system. Expect to see flickering in some Astraeus Dialogues as the old
|
||||
dialogue handler activates before it.
|
||||
*/
|
||||
if (player.nextChat > 0) {
|
||||
/*if (player.nextChat > 0) {
|
||||
player.getDialogueHandler().sendDialogues(player.nextChat, player.talkingNpc);
|
||||
} else {
|
||||
player.getDialogueHandler().sendDialogues(0, -1);
|
||||
}
|
||||
}*/
|
||||
|
||||
// New Dialogue System
|
||||
player.getDialogueFactory().execute();
|
||||
|
||||
Reference in New Issue
Block a user