2011-05-13 04:24:42 -04:00
|
|
|
package org.moparscape.msc.gs.npchandler;
|
2011-04-27 01:44:26 -04:00
|
|
|
|
2011-05-13 04:24:42 -04:00
|
|
|
import org.moparscape.msc.gs.Instance;
|
|
|
|
import org.moparscape.msc.gs.event.ShortEvent;
|
|
|
|
import org.moparscape.msc.gs.model.ChatMessage;
|
|
|
|
import org.moparscape.msc.gs.model.InvItem;
|
|
|
|
import org.moparscape.msc.gs.model.MenuHandler;
|
|
|
|
import org.moparscape.msc.gs.model.Npc;
|
|
|
|
import org.moparscape.msc.gs.model.Player;
|
|
|
|
import org.moparscape.msc.gs.model.World;
|
2011-04-27 01:44:26 -04:00
|
|
|
|
|
|
|
public class Boat implements NpcHandler {
|
2011-06-25 01:44:53 -04:00
|
|
|
/**
|
|
|
|
* World instance
|
|
|
|
*/
|
|
|
|
public static final World world = Instance.getWorld();
|
2011-04-27 01:44:26 -04:00
|
|
|
|
2011-06-25 01:44:53 -04:00
|
|
|
public void handleNpc(final Npc npc, Player player) throws Exception {
|
2011-04-27 01:44:26 -04:00
|
|
|
|
2011-06-25 01:44:53 -04:00
|
|
|
player.informOfNpcMessage(new ChatMessage(npc,
|
|
|
|
"G'day sailor, where would you like to go?", player));
|
|
|
|
player.setBusy(true);
|
|
|
|
final String[] temp;
|
|
|
|
if (npc.getID() == 163) {
|
|
|
|
temp = new String[] { "Port Sarim" };
|
|
|
|
} else {
|
|
|
|
temp = new String[] { "Karamja" };
|
|
|
|
}
|
|
|
|
Instance.getDelayedEventHandler().add(new ShortEvent(player) {
|
|
|
|
public void action() {
|
|
|
|
owner.setBusy(false);
|
|
|
|
owner.setMenuHandler(new MenuHandler(temp) {
|
|
|
|
public void handleReply(final int option, final String reply) {
|
|
|
|
if (owner.isBusy() || option < 0
|
|
|
|
|| option >= temp.length) {
|
|
|
|
npc.unblock();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
owner.informOfChatMessage(new ChatMessage(owner, reply
|
|
|
|
+ " please", npc));
|
|
|
|
owner.setBusy(true);
|
|
|
|
Instance.getDelayedEventHandler().add(
|
|
|
|
new ShortEvent(owner) {
|
|
|
|
public void action() {
|
|
|
|
owner.getActionSender().sendMessage(
|
|
|
|
"You board the ship");
|
|
|
|
Instance.getDelayedEventHandler().add(
|
|
|
|
new ShortEvent(owner) {
|
|
|
|
public void action() {
|
|
|
|
int count = owner
|
|
|
|
.getInventory()
|
|
|
|
.countId(318);
|
|
|
|
if (count > 0) {
|
|
|
|
for (int i = 0; i < count; i++) {
|
|
|
|
owner.getActionSender()
|
|
|
|
.sendMessage(
|
|
|
|
"The Officer confiscates your Karamaja rum");
|
|
|
|
if (owner
|
|
|
|
.getInventory()
|
|
|
|
.remove(new InvItem(
|
|
|
|
318)) > -1)
|
|
|
|
continue;
|
|
|
|
else
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
owner.getActionSender()
|
|
|
|
.sendInventory();
|
|
|
|
}
|
|
|
|
if (npc.getID() == 163) {
|
|
|
|
owner.teleport(269,
|
|
|
|
648, false);
|
|
|
|
} else {
|
|
|
|
owner.teleport(324,
|
|
|
|
713, false);
|
|
|
|
}
|
2011-04-27 01:44:26 -04:00
|
|
|
|
2011-06-25 01:44:53 -04:00
|
|
|
owner.getActionSender()
|
|
|
|
.sendMessage(
|
|
|
|
"The ship arrives at "
|
|
|
|
+ reply);
|
|
|
|
owner.setBusy(false);
|
|
|
|
npc.unblock();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
2011-04-27 01:44:26 -04:00
|
|
|
});
|
2011-06-25 01:44:53 -04:00
|
|
|
owner.getActionSender().sendMenu(temp);
|
|
|
|
}
|
2011-04-27 01:44:26 -04:00
|
|
|
});
|
2011-06-25 01:44:53 -04:00
|
|
|
npc.blockedBy(player);
|
|
|
|
}
|
2011-04-27 01:44:26 -04:00
|
|
|
}
|