63 public Hunter(
int level,
double experience) {
64 super(
Skill.HUNTER, level, experience);
68 protected double modifier() {
73 protected boolean clickObject(
Player player, ObjectInteractionEvent event) {
74 if (event.getOpcode() == 0) {
75 switch (event.getObject().getId()) {
78 player.action.execute(
new PuroPuroAction(player, event.getObject()));
82 TrapManager.dismantle(player, event.getObject());
90 TrapManager.lootTrap(player, event.getObject());
98 protected boolean clickNpc(Player player, NpcInteractionEvent event) {
99 if (event.getOpcode() != 0) {
103 Npc npc =
event.getNpc();
105 if (!npc.isVisible()) {
109 if (Impling.forId(npc.id).isPresent()) {
110 Impling imp = Impling.forId(npc.id).get();
111 World.schedule(
new Netting(player, npc, imp.experience, imp.level, 11260, imp.reward));
113 }
else if (Butterfly.forId(npc.id).isPresent()) {
114 Butterfly fly = Butterfly.forId(npc.id).get();
115 World.schedule(
new Netting(player, npc, fly.experience, fly.level, 10012, fly.reward));
123 protected boolean clickItem(Player player, ItemInteractionEvent event) {
124 Item item =
event.getItem();
126 if (event.getOpcode() == 0) {
127 switch (item.getId()) {
129 TrapManager.layTrap(player,
new SnareTrap(
new CustomGameObject(19175,
new Position(player.getX(), player.getY(), player.getHeight())), Trap.TrapState.SET, 200, player));
132 TrapManager.layTrap(player,
new BoxTrap(
new CustomGameObject(19187,
new Position(player.getX(), player.getY(), player.getHeight())), Trap.TrapState.SET, 200, player));
137 if (event.getOpcode() != 1) {
141 if (!ImplingReward.forId(item.getId()).isPresent()) {
145 ImplingReward impling = ImplingReward.forId(item.getId()).get();
146 Item reward = Utility.randomElement(impling.getLootation());
148 if (player.inventory.getFreeSlots() == 0) {
149 player.send(
new SendMessage(
"You do not have enough inventory space to enter this."));
153 boolean shatter = Utility.random(10) == 1;
154 player.inventory.remove(item);
157 player.inventory.add(11260, 1);
158 player.send(
new SendMessage(
"You successfully open the jar.",
true));
160 player.send(
new SendMessage(
"The jar breaks as you open the jar, cutting you a bit.",
true));
161 player.damage(
new Hit(Utility.random(3)));
164 player.inventory.add(reward);
Hunter(int level, double experience)