RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
BuryBoneAction.java
1
package
com.osroyale.game.action.impl;
2
3
import
com.osroyale.Config;
4
import
com.osroyale.content.skillcape.SkillCape;
5
import
com.osroyale.content.achievement.AchievementHandler;
6
import
com.osroyale.content.achievement.AchievementKey;
7
import
com.osroyale.content.skill.SkillAction;
8
import
com.osroyale.content.skill.impl.prayer.BoneData;
9
import
com.osroyale.game.Animation;
10
import
com.osroyale.game.action.policy.WalkablePolicy;
11
import
com.osroyale.game.world.entity.mob.player.Player;
12
import
com.osroyale.game.world.entity.skill.Skill;
13
import
com.osroyale.game.world.items.Item;
14
import
com.osroyale.net.packet.out.SendMessage;
15
16
import
java.util.Optional;
17
54
55
public
final
class
BuryBoneAction
extends
SkillAction
{
56
private
final
int
slot;
57
private
final
Item item;
58
private
final
BoneData
bone;
59
60
public
BuryBoneAction(
Player
player,
BoneData
bone,
int
slot) {
61
super(player, Optional.empty(),
true
);
62
this.slot = slot;
63
this.bone = bone;
64
this.item = player.inventory.
get
(slot);
65
}
66
67
@Override
68
public
boolean
canInit
() {
69
return
getMob
().skills.getSkills()[
skill
()].stopwatch.elapsed(1200);
70
}
71
72
@Override
73
public
void
init
() {
74
75
}
76
77
@Override
78
public
void
onExecute
() {
79
getMob
().animate(
new
Animation
(827));
80
Player
player =
getMob
().getPlayer();
81
player.inventory.
remove
(item, slot,
true
);
82
player.skills.
addExperience
(
skill
(),
experience
());
83
player.send(
new
SendMessage
(
"You bury the "
+ item.getName() +
"."
));
84
AchievementHandler
.
activate
(player,
AchievementKey
.BURY_BONES, 1);
85
86
if
(player.equipment.hasAmulet() && player.equipment.getAmuletSlot().getId() == 22111) {
87
int
current = player.skills.
getLevel
(
Skill
.
PRAYER
);
88
int
maximum = player.skills.
getMaxLevel
(
Skill
.
PRAYER
);
89
90
if
(current < maximum) {
91
int
points = bone.getBoneAmulet();
92
93
if
(current + points > maximum) {
94
points = maximum - current;
95
}
96
97
player.skills.
get
(
Skill
.
PRAYER
).
addLevel
(points);
98
player.skills.
refresh
(
Skill
.
PRAYER
);
99
player.message(
"You feel your "
+ player.equipment.getAmuletSlot().getName() +
" vibrate as you bury the bone."
);
100
}
101
}
102
103
cancel
();
104
}
105
106
@Override
107
public
void
onCancel
(
boolean
logout) {
108
getMob
().skills.getSkills()[
skill
()].stopwatch.reset();
109
}
110
111
@Override
112
public
Optional<SkillAnimation>
animation
() {
113
return
Optional.empty();
114
}
115
116
@Override
117
public
double
experience
() {
118
double
exp = (bone.getExperience() *
Config
.
PRAYER_MODIFICATION
);
119
if
(
SkillCape
.isEquipped(
getMob
().getPlayer(),
SkillCape
.PRAYER)) {
120
exp *= 2.0;
121
}
122
return
exp;
123
}
124
125
@Override
126
public
int
skill
() {
127
return
Skill
.
PRAYER
;
128
}
129
130
@Override
131
public
String
getName
() {
132
return
"Bone bury"
;
133
}
134
135
@Override
136
public
boolean
prioritized
() {
137
return
false
;
138
}
139
140
@Override
141
public
WalkablePolicy
getWalkablePolicy
() {
142
return
WalkablePolicy
.
NON_WALKABLE
;
143
}
144
}
com.osroyale.Config
Definition
Config.java:61
com.osroyale.Config.PRAYER_MODIFICATION
static final double PRAYER_MODIFICATION
Definition
Config.java:316
com.osroyale.content.achievement.AchievementHandler
Definition
AchievementHandler.java:50
com.osroyale.content.achievement.AchievementHandler.activate
static void activate(Player player, AchievementKey achievement)
Definition
AchievementHandler.java:57
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.BuryBoneAction.getName
String getName()
Definition
BuryBoneAction.java:131
com.osroyale.game.action.impl.BuryBoneAction.animation
Optional< SkillAnimation > animation()
Definition
BuryBoneAction.java:112
com.osroyale.game.action.impl.BuryBoneAction.getWalkablePolicy
WalkablePolicy getWalkablePolicy()
Definition
BuryBoneAction.java:141
com.osroyale.game.action.impl.BuryBoneAction.skill
int skill()
Definition
BuryBoneAction.java:126
com.osroyale.game.action.impl.BuryBoneAction.onCancel
void onCancel(boolean logout)
Definition
BuryBoneAction.java:107
com.osroyale.game.action.impl.BuryBoneAction.init
void init()
Definition
BuryBoneAction.java:73
com.osroyale.game.action.impl.BuryBoneAction.experience
double experience()
Definition
BuryBoneAction.java:117
com.osroyale.game.action.impl.BuryBoneAction.onExecute
void onExecute()
Definition
BuryBoneAction.java:78
com.osroyale.game.action.impl.BuryBoneAction.canInit
boolean canInit()
Definition
BuryBoneAction.java:68
com.osroyale.game.action.impl.BuryBoneAction.prioritized
boolean prioritized()
Definition
BuryBoneAction.java:136
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.Skill.addLevel
void addLevel(int amount)
Definition
Skill.java:353
com.osroyale.game.world.entity.skill.SkillManager.addExperience
void addExperience(int id, double experience)
Definition
SkillManager.java:304
com.osroyale.game.world.entity.skill.SkillManager.get
Skill get(int id)
Definition
SkillManager.java:133
com.osroyale.game.world.entity.skill.SkillManager.getLevel
int getLevel(int id)
Definition
SkillManager.java:141
com.osroyale.game.world.entity.skill.SkillManager.refresh
void refresh()
Definition
SkillManager.java:228
com.osroyale.game.world.entity.skill.SkillManager.getMaxLevel
int getMaxLevel(int id)
Definition
SkillManager.java:146
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.achievement.AchievementKey
Definition
AchievementKey.java:34
com.osroyale.content.skill.impl.prayer.BoneData
Definition
BoneData.java:46
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