RuneHive-Game
Loading...
Searching...
No Matches
DrillDemonEvent.java
Go to the documentation of this file.
1package com.runehive.content.activity.randomevent.impl;
2
3import com.runehive.net.packet.out.SendMessage;
4import com.runehive.game.Animation;
5import com.runehive.game.world.entity.mob.player.Player;
6import com.runehive.content.activity.randomevent.RandomEvent;
7import com.runehive.content.event.impl.NpcInteractionEvent;
8import com.runehive.game.world.items.Item;
9
10/**
11 * The drill demon random event.
12 *
13 * @author Daniel
14 */
15public class DrillDemonEvent extends RandomEvent {
16
17 /** Constructs a new <code>DrillDemonEvent</code>. */
19 super(player, 20);
20 }
21
22 /** Creates a new Mime event. */
25 event.add(player);
26 return event;
27 }
28
29 @Override
31 if (event.getNpc().id != eventNpcIdentification())
32 return false;
33 if (!event.getNpc().owner.equals(player))
34 return false;
35 if (angered) {
36 player.dialogueFactory.sendNpcChat(eventNpcIdentification(), "You will suffer for ignoring me!").execute();
37 return true;
38 }
39 if (event.getOpcode() == 0) {
40 player.dialogueFactory.sendStatement("You have been given a reward from the Drill Demon.").onAction(() -> {
41 player.dialogueFactory.clear();
42 player.inventory.addOrDrop(new Item(6832, 1));
44 }).execute();
45 } else if (event.getOpcode() == 1) {
46 angered = true;
47 player.send(new SendMessage("You have dismissed the drill demon random event."));
48 player.animate(new Animation(863));
49 player.interact(eventNpc);
51 }
52 return true;
53 }
54
55 @Override
56 protected int eventNpcIdentification() {
57 return 337;
58 }
59
60 @Override
61 protected String[] eventNpcShout() {
62 return new String[]{
63 "Attention, %name! I have something for you.",
64 "%name! I said I have something for you!",
65 "You are starting to really get my angry %name!",
66 "You're going to regret ignoring me, %name!"
67 };
68 }
69}
final void finishCooldown()
Sets the cooldown flag to FINISH.
boolean angered
Flag if the event is angered.
RandomEvent(Player player, int cooldown)
Constructs a new RandomEvent.
DrillDemonEvent(Player player)
Constructs a new DrillDemonEvent.
boolean clickNpc(Player player, NpcInteractionEvent event)
static DrillDemonEvent create(Player player)
Creates a new Mime event.
Class that models a single animation used by an entity.
This class represents a character controlled by a player.
Definition Player.java:125
The container class that represents an item that can be interacted with.
Definition Item.java:21
The OutgoingPacket that sends a message to a Players chatbox in the client.