RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
ScatterAshAction.java
1
package
com.osroyale.game.action.impl;
2
3
import
com.osroyale.Config;
4
import
com.osroyale.content.skill.impl.prayer.AshData;
5
import
com.osroyale.content.skillcape.SkillCape;
6
import
com.osroyale.content.achievement.AchievementHandler;
7
import
com.osroyale.content.achievement.AchievementKey;
8
import
com.osroyale.content.skill.SkillAction;
9
import
com.osroyale.content.skill.impl.prayer.BoneData;
10
import
com.osroyale.game.Animation;
11
import
com.osroyale.game.action.policy.WalkablePolicy;
12
import
com.osroyale.game.world.entity.mob.player.Player;
13
import
com.osroyale.game.world.entity.skill.Skill;
14
import
com.osroyale.game.world.items.Item;
15
import
com.osroyale.net.packet.out.SendMessage;
16
17
import
java.util.Optional;
18
49
50
public
final
class
ScatterAshAction
extends
SkillAction
{
51
private
final
int
slot;
52
private
final
Item item;
53
private
final
AshData
ashes;
54
55
public
ScatterAshAction(
Player
player,
AshData
ashes,
int
slot) {
56
super(player, Optional.empty(),
true
);
57
this.slot = slot;
58
this.ashes = ashes;
59
this.item = player.inventory.
get
(slot);
60
}
61
62
@Override
63
public
boolean
canInit
() {
64
return
getMob
().skills.getSkills()[
skill
()].stopwatch.elapsed(1200);
65
}
66
67
@Override
68
public
void
init
() {
69
70
}
71
72
@Override
73
public
void
onExecute
() {
74
getMob
().animate(
new
Animation
(2295));
75
Player
player =
getMob
().getPlayer();
76
player.inventory.
remove
(item, slot,
true
);
77
player.skills.
addExperience
(
skill
(),
experience
());
78
player.send(
new
SendMessage
(
"You scatter the ashes."
));
79
80
cancel
();
81
}
82
83
@Override
84
public
void
onCancel
(
boolean
logout) {
85
getMob
().skills.getSkills()[
skill
()].stopwatch.reset();
86
}
87
88
@Override
89
public
Optional<SkillAnimation>
animation
() {
90
return
Optional.empty();
91
}
92
93
@Override
94
public
double
experience
() {
95
double
exp = (ashes.getExperience() *
Config
.
PRAYER_MODIFICATION
);
96
if
(
SkillCape
.isEquipped(
getMob
().getPlayer(),
SkillCape
.PRAYER)) {
97
exp *= 2.0;
98
}
99
return
exp;
100
}
101
102
@Override
103
public
int
skill
() {
104
return
Skill
.
PRAYER
;
105
}
106
107
@Override
108
public
String
getName
() {
109
return
"Ash scatter"
;
110
}
111
112
@Override
113
public
boolean
prioritized
() {
114
return
false
;
115
}
116
117
@Override
118
public
WalkablePolicy
getWalkablePolicy
() {
119
return
WalkablePolicy
.
NON_WALKABLE
;
120
}
121
}
com.osroyale.Config
Definition
Config.java:61
com.osroyale.Config.PRAYER_MODIFICATION
static final double PRAYER_MODIFICATION
Definition
Config.java:316
com.osroyale.content.skill.SkillAction.SkillAction
SkillAction(Mob mob, Optional< Position > position, int delay, boolean instant)
Definition
SkillAction.java:66
com.osroyale.game.Animation
Definition
Animation.java:45
com.osroyale.game.action.Action.getMob
T getMob()
Definition
Action.java:44
com.osroyale.game.action.impl.ScatterAshAction.onExecute
void onExecute()
Definition
ScatterAshAction.java:73
com.osroyale.game.action.impl.ScatterAshAction.animation
Optional< SkillAnimation > animation()
Definition
ScatterAshAction.java:89
com.osroyale.game.action.impl.ScatterAshAction.getWalkablePolicy
WalkablePolicy getWalkablePolicy()
Definition
ScatterAshAction.java:118
com.osroyale.game.action.impl.ScatterAshAction.init
void init()
Definition
ScatterAshAction.java:68
com.osroyale.game.action.impl.ScatterAshAction.canInit
boolean canInit()
Definition
ScatterAshAction.java:63
com.osroyale.game.action.impl.ScatterAshAction.onCancel
void onCancel(boolean logout)
Definition
ScatterAshAction.java:84
com.osroyale.game.action.impl.ScatterAshAction.experience
double experience()
Definition
ScatterAshAction.java:94
com.osroyale.game.action.impl.ScatterAshAction.getName
String getName()
Definition
ScatterAshAction.java:108
com.osroyale.game.action.impl.ScatterAshAction.prioritized
boolean prioritized()
Definition
ScatterAshAction.java:113
com.osroyale.game.action.impl.ScatterAshAction.skill
int skill()
Definition
ScatterAshAction.java:103
com.osroyale.game.task.Task.cancel
synchronized final void cancel()
Definition
Task.java:147
com.osroyale.game.world.entity.mob.player.Player
Definition
Player.java:162
com.osroyale.game.world.entity.skill.Skill
Definition
Skill.java:55
com.osroyale.game.world.entity.skill.Skill.PRAYER
static final int PRAYER
Definition
Skill.java:73
com.osroyale.game.world.entity.skill.SkillManager.addExperience
void addExperience(int id, double experience)
Definition
SkillManager.java:304
com.osroyale.game.world.items.containers.ItemContainer.get
final Item get(int index)
Definition
ItemContainer.java:1061
com.osroyale.game.world.items.containers.ItemContainer.remove
boolean remove(Item item)
Definition
ItemContainer.java:348
com.osroyale.net.packet.out.SendMessage
Definition
SendMessage.java:38
com.osroyale.content.skill.impl.prayer.AshData
Definition
AshData.java:30
com.osroyale.content.skillcape.SkillCape
Definition
SkillCape.java:42
com.osroyale.game.action.policy.WalkablePolicy
Definition
WalkablePolicy.java:34
com.osroyale.game.action.policy.WalkablePolicy.NON_WALKABLE
NON_WALKABLE
Definition
WalkablePolicy.java:40