forked from 2009Scape/Server
79 lines
1.7 KiB
Java
79 lines
1.7 KiB
Java
package plugin.dialogue;
|
|
|
|
import org.crandor.game.content.dialogue.DialogueInterpreter;
|
|
import org.crandor.game.content.dialogue.DialoguePlugin;
|
|
import org.crandor.game.content.skill.member.summoning.pet.Pet;
|
|
import org.crandor.plugin.InitializablePlugin;
|
|
import org.crandor.game.node.entity.player.Player;
|
|
|
|
/**
|
|
* Represents the dialogue plugin used to dismiss a follower.
|
|
* @author 'Vexia
|
|
* @version 1.0
|
|
*/
|
|
@InitializablePlugin
|
|
public final class DismissDialoguePlugin extends DialoguePlugin {
|
|
|
|
/**
|
|
* Constructs a new {@code DismissDialoguePlugin} {@code Object}.
|
|
*/
|
|
public DismissDialoguePlugin() {
|
|
/**
|
|
* empty.
|
|
*/
|
|
}
|
|
|
|
/**
|
|
* Constructs a new {@code DismissDialoguePlugin} {@code Object}.
|
|
* @param player the player.
|
|
*/
|
|
public DismissDialoguePlugin(Player player) {
|
|
super(player);
|
|
}
|
|
|
|
@Override
|
|
public DialoguePlugin newInstance(Player player) {
|
|
return new DismissDialoguePlugin(player);
|
|
}
|
|
|
|
@Override
|
|
public boolean open(Object... args) {
|
|
if (player.getFamiliarManager().getFamiliar() instanceof Pet) {
|
|
interpreter.sendOptions("Free pet", "Yes", "No");
|
|
} else {
|
|
interpreter.sendOptions("Dismiss Familiar", "Yes", "No");
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean handle(int interfaceId, int buttonId) {
|
|
switch (stage) {
|
|
case 0:
|
|
switch (buttonId) {
|
|
case 1:
|
|
if (player.getFamiliarManager().getFamiliar() instanceof Pet) {
|
|
interpreter.sendDialogues(player, null, "Run along; I'm setting you free.");
|
|
} else {
|
|
end();
|
|
}
|
|
player.getFamiliarManager().dismiss(false);
|
|
stage = 1;
|
|
break;
|
|
case 2:
|
|
end();
|
|
break;
|
|
}
|
|
break;
|
|
case 1:
|
|
end();
|
|
break;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public int[] getIds() {
|
|
return new int[] { DialogueInterpreter.getDialogueKey("dismiss_dial") };
|
|
}
|
|
}
|