Server/09HDscape-server/src/plugin/dialogue/RestlessGhostDialogue.java
2019-05-28 22:15:17 -08:00

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