58public class Runecraft
extends Skill {
60 public Runecraft(
int level,
double experience) {
61 super(
Skill.RUNECRAFTING, level, experience);
65 protected double modifier() {
71 Item item =
event.getItem();
79 int opcode =
event.getOpcode();
83 player.runecraftPouch.
deposit(pouch);
86 player.runecraftPouch.
withdraw(pouch);
95 if (event.getOpcode() != 0) {
101 if (click(player,
object)) {
111 int essence = getEssence(player);
114 player.send(
new SendMessage(
"You need a runecrafting level of " + rune.
getLevel() +
" to do this!"));
119 player.send(
new SendMessage(
"You do not have any essence!"));
124 int multiplier = multiplier(player, rune);
126 player.locking.lock(2);
130 player.graphic(
new Graphic(186));
131 player.inventory.
remove(
new Item(essence, amount), -1,
true);
134 for (
int index = 0; index < amount; index++) {
141 player.inventory.
add(data.
getRunes(), multiplier(player, data) * 2);
145 player.playerAssistant.activateSkilling(1);
153 craft(player, essence, amount, rune);
156 player.inventory.
add(rune.
getRunes(), amount * multiplier);
157 player.playerAssistant.activateSkilling(1);
167 player.send(
new SendMessage(
"You need a runecrafting level of " + rune.
getLevel() +
" to do this!"));
172 player.send(
new SendMessage(
"You do not have any essence!"));
176 player.graphic(
new Graphic(186));
177 player.inventory.
remove(
new Item(essence, amount), -1,
true);
182 player.forClan(channel -> channel.activateTask(
ClanTaskKey.BLOOD_RUNE, player.
getName(), amount));
184 player.forClan(channel -> channel.activateTask(
ClanTaskKey.DEATH_RUNE, player.
getName(), amount));
195 player.
move(teleport.getPosition());
196 System.out.println(
"reached here");
201 private int getEssence(
Player player) {
202 return player.inventory.
contains(1436) ? 1436 : (player.inventory.
contains(7936) ? 7936 : -1);
static void activate(Player player, AchievementKey achievement)
static void onReward(Player player, int item, int chance)
void deposit(RunecraftPouchData pouch)
void withdraw(RunecraftPouchData pouch)
static Optional< RunecraftData > forId(int id)
static RunecraftPouchData forItem(int item)
static Optional< RunecraftTeleport > forId(int id)