forked from 2009Scape/Server
Rebase with upstream
This commit is contained in:
commit
101b8314c9
2889 changed files with 481914 additions and 0 deletions
152
09HDscape-server/src/plugin/dialogue/SaniDialogue.java
Normal file
152
09HDscape-server/src/plugin/dialogue/SaniDialogue.java
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
package plugin.dialogue;
|
||||
|
||||
import org.crandor.game.content.dialogue.DialoguePlugin;
|
||||
import org.crandor.game.content.skill.Skills;
|
||||
import org.crandor.game.node.entity.npc.NPC;
|
||||
import org.crandor.game.node.entity.player.Player;
|
||||
import org.crandor.plugin.InitializablePlugin;
|
||||
import org.crandor.game.system.mysql.impl.ShopSQLHandler;
|
||||
|
||||
/**
|
||||
* Handles the SaniDialogue dialogue.
|
||||
* @author Vexia
|
||||
*
|
||||
*/
|
||||
@InitializablePlugin
|
||||
public class SaniDialogue extends DialoguePlugin {
|
||||
|
||||
/**
|
||||
* Constructs the {@code SaniDialgoue}
|
||||
*/
|
||||
public SaniDialogue() {
|
||||
/*
|
||||
* empty.
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs the {@code SaniDialogue}
|
||||
* @param player The player instance.
|
||||
*/
|
||||
public SaniDialogue(Player player) {
|
||||
super(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean open(Object... args) {
|
||||
npc = (NPC) args[0];
|
||||
npc("Greetings, " + player.getUsername(), "I sell weapons and armour.");
|
||||
stage = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handle(int interfaceId, int buttonId) {
|
||||
switch (stage) {
|
||||
case 0:
|
||||
options("Let me see your stock.", "Where do I get other items, like gloves?", "How do I open these box sets?");
|
||||
stage = 1;
|
||||
break;
|
||||
case 1:
|
||||
switch (buttonId) {
|
||||
case 1:
|
||||
player("Let me see your stock.");
|
||||
stage = 10;
|
||||
break;
|
||||
case 2:
|
||||
player("Where do I get other items, like gloves and capes?");
|
||||
stage = 20;
|
||||
break;
|
||||
case 3:
|
||||
player("How do I open these box sets?");
|
||||
stage = 30;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 10:
|
||||
options("Weapons", "Armour");
|
||||
stage++;
|
||||
break;
|
||||
case 11:
|
||||
switch (buttonId) {
|
||||
case 1:
|
||||
if (player.getSkills().getLevel(Skills.ATTACK) < 30) {
|
||||
openWeaponShop(player, 204);
|
||||
end();
|
||||
break;
|
||||
}
|
||||
options("Weapons (Bronze - Mithril)", "Weapons (Adamant - Dragon)");
|
||||
stage = 12;
|
||||
break;
|
||||
case 2:
|
||||
end();
|
||||
ShopSQLHandler.getShops().get(4905).open(player);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 12:
|
||||
switch (buttonId) {
|
||||
case 1:
|
||||
openWeaponShop(player, 204);
|
||||
end();
|
||||
break;
|
||||
case 2:
|
||||
openWeaponShop(player, 205);
|
||||
end();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 13:
|
||||
end();
|
||||
break;
|
||||
case 20:
|
||||
npc("Gloves of all kinds may be feely purchased from the", "Culinaromancer's chest below the Lumbridge Castle.", "On the other hand, high-tier armours can be obtained", "by defeating high-levelled bosses, like the Corporeal Beast.");
|
||||
stage++;
|
||||
break;
|
||||
case 21:
|
||||
npc("Bossing is not the only source of high-tier armour.", "Try Slayer or Barrows, catching Dragon Implings or", "perhaps even defeating monsters inside the TzHaar", "cave for fabled onyx equipment is more your style.");
|
||||
stage++;
|
||||
break;
|
||||
case 22:
|
||||
player("I see...", "So this means that you only sell common armours", "to help adventurers like nyself get started in the world", "of Keldagrim.");
|
||||
stage++;
|
||||
break;
|
||||
case 23:
|
||||
npc("Indeed, that is true. If you have any more questions", "The Keldagrim guide near the green portal should be able", "to assist you further.");
|
||||
stage = 0;
|
||||
break;
|
||||
case 30:
|
||||
player("How exactly do I open these box sets that you", "are selling?");
|
||||
stage++;
|
||||
break;
|
||||
case 31:
|
||||
npc("Take the box set to the Grand Exchange clerk. Right", "click her and select 'sets'. Next, right-click the box", "item that is in your inventory to exchange the set for", "the items that are inside the box.");
|
||||
stage++;
|
||||
break;
|
||||
case 32:
|
||||
npc("You may always convert the individual items back into", "a box set at any time in order to save banking", "space.");
|
||||
stage = 0;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Opens the weapon shop.
|
||||
* @param player The player.
|
||||
* @param uid The uid.
|
||||
*/
|
||||
private void openWeaponShop(Player player, int uid) {
|
||||
ShopSQLHandler.openUid(player, uid);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DialoguePlugin newInstance(Player player) {
|
||||
return new SaniDialogue(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getIds() {
|
||||
return new int[] { 4905 };
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue