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

171 lines
4.2 KiB
Java

package plugin.dialogue;
import org.crandor.game.content.dialogue.DialoguePlugin;
import org.crandor.game.node.entity.npc.NPC;
import org.crandor.plugin.InitializablePlugin;
import org.crandor.game.node.entity.player.Player;
/**
* The ref dialogue.
* @author 'Vexia
* @version 1.0
*/
@InitializablePlugin
public final class ReffDialogue extends DialoguePlugin {
/**
* Constructs a new {@code ReffDialogue} {@code Object}.
*/
public ReffDialogue() {
/**
* empty.
*/
}
/**
* Constructs a new {@code ReffDialogue} {@code Object}.
* @param player the player.
*/
public ReffDialogue(final Player player) {
super(player);
}
@Override
public DialoguePlugin newInstance(Player player) {
return new ReffDialogue(player);
}
@Override
public boolean open(Object... args) {
npc = (NPC) args[0];
npc("Greetings " + (player.getAppearance().isMale() ? "Sir" : "Madam") + ".");
return true;
}
@Override
public boolean handle(int interfaceId, int buttonId) {
switch (stage) {
case 0:
options("Tell me about the Shot Put area.", "May I claim my tokens please?", "Do you have any tips for me?", "Bye!");
stage++;
break;
case 1:
switch (buttonId) {
case 1:
player("Tell me about the Shot Put area.");
stage = 10;
break;
case 2:
end();
player.getDialogueInterpreter().open("wg:claim-tokens", npc.getId());
break;
case 3:
player("Do you have any tips for me?");
stage = 30;
break;
case 4:
player("Bye!");
stage = 40;
break;
}
break;
case 10:
npc("Of course " + (player.getAppearance().isMale() ? "Sir" : "Madam") + ". There are two different weights of", "shot...");
stage++;
break;
case 11:
player("Shot?");
stage++;
break;
case 12:
npc("Yes Madam. Shot. The iron spheres that are propelled", "by chemical energy stored in your body.");
stage++;
break;
case 13:
player("The... what?");
stage++;
break;
case 14:
npc("Your strength " + (player.getAppearance().isMale() ? "Sir" : "Madam") + ". The stronger you are, the", "further you can throw the shot, but there are other", "factors of course, like your technique.");
stage++;
break;
case 15:
player("What's that then?");
stage++;
break;
case 16:
npc("The style of the shot " + (player.getAppearance().isMale() ? "Sir" : "Madam") + ".");
stage++;
break;
case 17:
player("Iron has style??");
stage++;
break;
case 18:
interpreter.sendDialogue("The Referee sighs, rolls his eyes and continues....");
stage++;
break;
case 19:
npc((player.getAppearance().isMale() ? "Sir" : "Madam") + ", the style in which you throw the shot, not the", "style of iron.");
stage = -1;
break;
case -1:
player("OH! You mean the spinny round thing or the chuck it", "straight?");
stage = -2;
break;
case -2:
npc("Crudely put " + (player.getAppearance().isMale() ? "Sir" : "Madam") + ", but yes. Some are more difficult", "than others. Experiment and see which you prefer.");
stage = -3;
break;
case -3:
player("Thanks for the help!");
stage = -4;
break;
case -4:
npc("You are welcome " + (player.getAppearance().isMale() ? "Sir" : "Madam") + ".");
stage = -5;
break;
case -5:
end();
break;
case 30:
npc("Tips " + (player.getAppearance().isMale() ? "Sir" : "Madam") + "?");
stage++;
break;
case 31:
player("Yes, like how can I do better than everyone else.");
stage++;
break;
case 32:
npc((player.getAppearance().isMale() ? "Sir" : "Madam") + " may find that a fine powder applied to the", "hands may give one an advantage when putting the", "shot.");
stage++;
break;
case 33:
player("You mean if I grind something up and put dust on my", "hands I'll chuck the ball further?");
stage++;
break;
case 34:
npc("Yes " + (player.getAppearance().isMale() ? "Sir" : "Madam") + ".");
stage++;
break;
case 35:
player("Thanks!");
stage = -4;
break;
case 40:
npc("Good luck " + (player.getAppearance().isMale() ? "Sir" : "Madam") + ".");
stage++;
break;
case 41:
end();
break;
}
return true;
}
@Override
public int[] getIds() {
return new int[] { 4299, 4300 };
}
}