forked from 2009Scape/Server
251 lines
7.8 KiB
Java
251 lines
7.8 KiB
Java
package plugin.dialogue;
|
|
|
|
import org.crandor.game.content.dialogue.DialoguePlugin;
|
|
import org.crandor.game.content.dialogue.FacialExpression;
|
|
import org.crandor.game.node.entity.npc.NPC;
|
|
import org.crandor.plugin.InitializablePlugin;
|
|
import org.crandor.game.node.entity.player.Player;
|
|
|
|
/**
|
|
* Handles the RestlessGhostDialogue dialogue.
|
|
* @author 'Vexia
|
|
*/
|
|
@InitializablePlugin
|
|
public class RestlessGhostDialogue extends DialoguePlugin {
|
|
|
|
public RestlessGhostDialogue() {
|
|
|
|
}
|
|
|
|
public RestlessGhostDialogue(Player player) {
|
|
super(player);
|
|
}
|
|
|
|
@Override
|
|
public DialoguePlugin newInstance(Player player) {
|
|
|
|
return new RestlessGhostDialogue(player);
|
|
}
|
|
|
|
@Override
|
|
public boolean open(Object... args) {
|
|
npc = (NPC) args[0];
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "Hello ghost, how are you?");
|
|
stage = 0;
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean handle(int interfaceId, int buttonId) {
|
|
switch (stage) {
|
|
case 0:
|
|
if (!player.getEquipment().contains(552, 1)) {
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "Wooo wooo wooooo!");
|
|
stage = 1;
|
|
} else {
|
|
if (player.getQuestRepository().getQuest("The Restless Ghost").getStage(player) == 20) {
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "Not very good actually.");
|
|
stage = 500;
|
|
break;
|
|
}
|
|
if (player.getQuestRepository().getQuest("The Restless Ghost").getStage(player) == 30) {
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "How are you doing finding my skull?");
|
|
stage = 520;
|
|
break;
|
|
}
|
|
if (player.getQuestRepository().getQuest("The Restless Ghost").getStage(player) == 40) {
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "How are you doing finding my skull?");
|
|
stage = 550;
|
|
break;
|
|
}
|
|
interpreter.sendDialogues(npc, null, "Fine, thanks.");
|
|
stage = 990;
|
|
}
|
|
break;
|
|
case 990:
|
|
end();
|
|
break;
|
|
case 500:
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "What's the problem then?");
|
|
stage = 501;
|
|
break;
|
|
case 501:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "Did you just understand what I said???");
|
|
stage = 502;
|
|
break;
|
|
case 502:
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "Yep, now tell me what the problem is.");
|
|
stage = 503;
|
|
break;
|
|
case 503:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "WOW! This is INCREDIBLE! I didn't expect anyone", "to ever understand me again!");
|
|
stage = 504;
|
|
break;
|
|
case 504:
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "Ok, Ok, I can understand you!");
|
|
stage = 505;
|
|
break;
|
|
case 505:
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "But have you any idea WHY you're doomed to be a", "ghost?");
|
|
stage = 506;
|
|
break;
|
|
case 506:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "Well, to be honest... I'm not sure.");
|
|
stage = 507;
|
|
break;
|
|
case 507:
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "I've been told a certain task may need to be completed", "so you can rest in peace.");
|
|
stage = 508;
|
|
break;
|
|
case 508:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "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.");
|
|
stage = 509;
|
|
break;
|
|
case 509:
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "Do you know where this warlock might be now?");
|
|
stage = 510;
|
|
break;
|
|
case 510:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "I think it was one of the warlocks who lives in the big", "tower by the sea south-west from here.");
|
|
stage = 511;
|
|
break;
|
|
case 511:
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "Ok. I will try and get the skull back for you, then you", "can rest in peace.");
|
|
player.getQuestRepository().getQuest("The Restless Ghost").setStage(player, 30);
|
|
stage = 512;
|
|
break;
|
|
case 512:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "Ooh, thank you. That would be such a great relief!");
|
|
stage = 513;
|
|
break;
|
|
case 513:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "It is so dull being a ghost...");
|
|
stage = 514;
|
|
break;
|
|
case 514:
|
|
end();
|
|
break;
|
|
case 520:
|
|
if (player.getInventory().contains(964, 1)) {
|
|
|
|
break;
|
|
} else {
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "Sorry, I can't find it at the moment.");
|
|
stage = 521;
|
|
}
|
|
break;
|
|
case 521:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "Ah well. Keep on looking.");
|
|
stage = 522;
|
|
break;
|
|
case 522:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "I'm pretty sure it's somewhere in the tower south-west", "from here. There's a lot of levels to the tower, though. I", "suppose it might take a little while to find.");
|
|
stage = 523;
|
|
break;
|
|
case 523:
|
|
end();
|
|
break;
|
|
case 550:
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "I have found it!");
|
|
stage = 551;
|
|
break;
|
|
case 551:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "Hurah! Now I can stop being a ghost! You just need", "to put it on my coffin there, and I will be free!");
|
|
stage = 523;
|
|
break;
|
|
case 1:
|
|
interpreter.sendOptions("Select an Option", "Sorry, I don't speak ghost.", "Ooh... THAT'S interesting.", "Any hints where I can find some treasure?");
|
|
stage = 2;
|
|
break;
|
|
case 2:
|
|
switch (buttonId) {
|
|
case 1:
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "Sorry, I don't speak ghost.");
|
|
stage = 10;
|
|
break;
|
|
case 2:
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "Ooh... THAT'S interesting.");
|
|
stage = 20;
|
|
break;
|
|
case 3:
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "Any hints wher I can find some treasure?");
|
|
stage = 30;
|
|
break;
|
|
|
|
}
|
|
break;
|
|
case 10:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "Woo woo?");
|
|
stage = 11;
|
|
break;
|
|
case 11:
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "Nope, still don't understand you.");
|
|
stage = 12;
|
|
break;
|
|
case 12:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "WOOOOOOOOO!");
|
|
stage = 13;
|
|
break;
|
|
case 13:
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "Never mind.");
|
|
stage = 14;
|
|
break;
|
|
case 14:
|
|
end();
|
|
break;
|
|
case 30:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "Wooooooo woo! Wooooo woo wooooo woowoowoo wooo", "Woo woooo. Wooooo woo woo? Wooooooooooooooooooo!");
|
|
stage = 31;
|
|
break;
|
|
case 31:
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "Sorry, I don't speak ghost.");
|
|
stage = 32;
|
|
break;
|
|
case 32:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "Woo woo?");
|
|
stage = 11;
|
|
break;
|
|
case 20:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "Woo woooo. Woooooooooooooooooo!");
|
|
stage = 21;
|
|
break;
|
|
case 21:
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "Did he really?");
|
|
stage = 22;
|
|
break;
|
|
case 22:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "Woo.");
|
|
stage = 23;
|
|
break;
|
|
case 23:
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "My brother had EXACTLY the same problem.");
|
|
stage = 24;
|
|
break;
|
|
case 24:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "Woo Wooooo!");
|
|
stage = 25;
|
|
break;
|
|
case 25:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "Wooooo Woo woo woo!");
|
|
stage = 26;
|
|
break;
|
|
case 26:
|
|
interpreter.sendDialogues(player, FacialExpression.NORMAL, "Goodbye. Thanks for the chat.");
|
|
stage = 27;
|
|
break;
|
|
case 27:
|
|
interpreter.sendDialogues(npc, FacialExpression.NORMAL, "Wooo wooo?");
|
|
stage = 28;
|
|
break;
|
|
case 28:
|
|
end();
|
|
break;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public int[] getIds() {
|
|
return new int[] { 457 };
|
|
}
|
|
}
|