RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
Killstreak.java
1
package
com.osroyale.content.combat;
2
3
import
com.osroyale.content.achievement.AchievementHandler;
4
import
com.osroyale.content.achievement.AchievementKey;
5
import
com.osroyale.game.world.World;
6
import
com.osroyale.game.world.entity.mob.player.Player;
7
import
com.osroyale.game.world.entity.mob.player.PlayerRight;
8
import
com.osroyale.game.world.items.Item;
9
import
com.osroyale.util.Utility;
10
39
40
public
class
Killstreak {
41
private
final
Player
player;
42
public
int
streak;
43
44
public
Killstreak(
Player
player) {
45
this.player = player;
46
}
47
48
public
void
add() {
49
streak++;
50
51
if
(announcementNeeded()) {
52
reward();
53
announce();
54
}
55
}
56
57
public
void
end(
Player
killer) {
58
if
(announcementNeeded()) {
59
String icon =
"<icon=0>"
;
60
String name =
PlayerRight
.
getCrown
(player) +
" "
+ player.getName();
61
int
bounty = streak * 150;
62
World
.
sendMessage
(
""
+ icon +
" <col=FF0000>"
+ name +
"</col> has lost their kill streak of <col=FF0000>"
+ streak +
"</col> to <col=FF0000>"
+ killer.
getName
() +
"</col>!"
);
63
killer.inventory.
addOrDrop
(
new
Item(13307, bounty));
64
killer.message(
"You were rewarded with "
+
Utility
.
formatDigits
(bounty) +
" blood money for claiming "
+ player.getName() +
"'s bounty!"
);
65
}
66
67
streak = 0;
68
}
69
70
public
void
reward() {
71
int
bm = streak * 500;
72
player.inventory.
addOrDrop
(
new
Item(13307, bm));
73
player.message(
"<col=FF0000>You are rewarded with "
+
Utility
.
formatDigits
(bm) +
" blood money."
);
74
}
75
76
private
void
announce() {
77
String icon =
"<icon=0>"
;
78
String name =
PlayerRight
.
getCrown
(player) +
" "
+ player.getName();
79
int
bounty = streak * 150;
80
World
.
sendMessage
(
"<col=FF0000>"
+ icon +
" "
+ name +
" </col>is now on a killstreak of <col=FF0000>"
+ streak +
"</col>. Bounty: <col=FF0000>"
+
Utility
.
formatDigits
(bounty) +
"</col> BM."
);
81
82
if
(streak == 5) {
83
AchievementHandler
.
activate
(player,
AchievementKey
.KILLSTKREAK_5);
84
}
else
if
(streak == 10) {
85
AchievementHandler
.
activate
(player,
AchievementKey
.KILLSTKREAK_10);
86
}
else
if
(streak == 15) {
87
AchievementHandler
.
activate
(player,
AchievementKey
.KILLSTKREAK_15);
88
}
else
if
(streak == 25) {
89
AchievementHandler
.
activate
(player,
AchievementKey
.KILLSTKREAK_25);
90
}
91
}
92
93
private
boolean
announcementNeeded() {
94
return
streak >= 5;
95
}
96
}
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.game.world.World
Definition
World.java:83
com.osroyale.game.world.World.sendMessage
static void sendMessage(String... messages)
Definition
World.java:433
com.osroyale.game.world.entity.mob.player.Player
Definition
Player.java:162
com.osroyale.game.world.entity.mob.player.Player.getName
String getName()
Definition
Player.java:794
com.osroyale.game.world.items.containers.inventory.Inventory.addOrDrop
void addOrDrop(List< Item > items)
Definition
Inventory.java:155
com.osroyale.util.Utility
Definition
Utility.java:64
com.osroyale.util.Utility.formatDigits
static String formatDigits(final int amount)
Definition
Utility.java:78
com.osroyale.content.achievement.AchievementKey
Definition
AchievementKey.java:34
com.osroyale.game.world.entity.mob.player.PlayerRight
Definition
PlayerRight.java:52
com.osroyale.game.world.entity.mob.player.PlayerRight.getCrown
static String getCrown(Player player)
Definition
PlayerRight.java:194