RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
GenieEvent.java
1
package
com.osroyale.content.activity.randomevent.impl;
2
3
4
import
com.osroyale.net.packet.out.SendMessage;
5
import
com.osroyale.game.Animation;
6
import
com.osroyale.game.world.entity.mob.player.Player;
7
import
com.osroyale.content.activity.randomevent.RandomEvent;
8
import
com.osroyale.content.event.impl.NpcInteractionEvent;
9
import
com.osroyale.game.world.items.Item;
10
47
48
public
class
GenieEvent
extends
RandomEvent
{
49
51
private
GenieEvent(
Player
player
) {
52
super(
player
, 20);
53
}
54
56
public
static
GenieEvent
create
(
Player
player
) {
57
GenieEvent
event
=
new
GenieEvent(
player
);
58
event
.add(
player
);
59
return
event;
60
}
61
62
@Override
63
protected
boolean
clickNpc(
Player
player
,
NpcInteractionEvent
event) {
64
if
(event.getNpc().id !=
eventNpcIdentification
())
65
return
false
;
66
if
(!event.getNpc().owner.equals(
player
))
67
return
false
;
68
if
(
angered
) {
69
player
.dialogueFactory.
sendNpcChat
(
eventNpcIdentification
(),
"You had your chance..."
).
execute
();
70
return
true
;
71
}
72
if
(event.getOpcode() == 0) {
73
int
id
=
eventNpcIdentification
();
74
player
.dialogueFactory.
sendNpcChat
(
id
,
"Take this lamp as a token of appreciation for playing"
,
"Tarnish."
).
onAction
(() -> {
75
player
.dialogueFactory.
clear
();
76
player
.inventory.
addOrDrop
(
new
Item(2528, 1));
77
finishCooldown
();
78
}).execute();
79
}
else
if
(event.getOpcode() == 1) {
80
angered
=
true
;
81
player
.send(
new
SendMessage
(
"You have dismissed the genie random event."
));
82
player
.animate(
new
Animation(863));
83
player
.
interact
(
eventNpc
);
84
finishCooldown
();
85
}
86
return
true
;
87
}
88
89
@Override
90
protected
String[]
eventNpcShout
() {
91
return
new
String[]{
92
"Hello %name, I'm here to grant you a wish!"
,
93
"Are you there %name? I have something for you!"
,
94
"C'mon %name, I don't have all day!"
,
95
"I guess you didn't want a free wish! Had your chance!"
96
};
97
}
98
99
@Override
100
protected
int
eventNpcIdentification
() {
101
return
326;
102
}
103
}
com.osroyale.content.activity.Activity.finishCooldown
final void finishCooldown()
Definition
Activity.java:286
com.osroyale.content.activity.randomevent.RandomEvent.player
Player player
Definition
RandomEvent.java:60
com.osroyale.content.activity.randomevent.RandomEvent.angered
boolean angered
Definition
RandomEvent.java:69
com.osroyale.content.activity.randomevent.RandomEvent.eventNpc
Npc eventNpc
Definition
RandomEvent.java:63
com.osroyale.content.activity.randomevent.RandomEvent.RandomEvent
RandomEvent(Player player, int cooldown)
Definition
RandomEvent.java:72
com.osroyale.content.activity.randomevent.impl.GenieEvent.eventNpcShout
String[] eventNpcShout()
Definition
GenieEvent.java:90
com.osroyale.content.activity.randomevent.impl.GenieEvent.eventNpcIdentification
int eventNpcIdentification()
Definition
GenieEvent.java:100
com.osroyale.content.activity.randomevent.impl.GenieEvent.create
static GenieEvent create(Player player)
Definition
GenieEvent.java:56
com.osroyale.content.dialogue.DialogueFactory.onAction
final DialogueFactory onAction(Runnable action)
Definition
DialogueFactory.java:103
com.osroyale.content.dialogue.DialogueFactory.clear
void clear()
Definition
DialogueFactory.java:152
com.osroyale.content.dialogue.DialogueFactory.sendNpcChat
final DialogueFactory sendNpcChat(int id, String... lines)
Definition
DialogueFactory.java:333
com.osroyale.content.dialogue.DialogueFactory.execute
final DialogueFactory execute()
Definition
DialogueFactory.java:196
com.osroyale.content.event.impl.NpcInteractionEvent
Definition
NpcInteractionEvent.java:28
com.osroyale.game.world.entity.mob.Mob.interact
void interact(Mob mob)
Definition
Mob.java:315
com.osroyale.game.world.entity.mob.player.Player
Definition
Player.java:162
com.osroyale.game.world.items.containers.inventory.Inventory.addOrDrop
void addOrDrop(List< Item > items)
Definition
Inventory.java:155
com.osroyale.net.packet.out.SendMessage
Definition
SendMessage.java:38