55public class Firemaking
extends Skill {
57 public Firemaking(
int level,
double experience) {
58 super(
Skill.FIREMAKING, level, experience);
63 Item first =
event.getFirst();
64 Item second =
event.getSecond();
69 if (first.getId() == 590) {
72 }
else if (second.getId() == 590) {
76 if (firemaking ==
null)
81 public static double getBonus(
Player player) {
83 if(player.equipment.
getId(0) == 20708)
85 if(player.equipment.
getId(4) == 20704)
87 if(player.equipment.
getId(7) == 20706)
89 if(player.equipment.
getId(10) == 20710)
92 if(player.equipment.
containsAll(20708, 20704, 20706, 20710))
99 if (event.getOpcode() != 0 || event.getObject().getId() != 5249) {
103 if (player.
getPosition().equals(event.getObject().getPosition())) {
104 player.message(
"Please step out of the fire!");
110 for (Item item : player.inventory) {
111 if (item !=
null &&
FiremakingData.forId(item.getId()).isPresent()) {
117 if (firemaking ==
null) {
118 player.dialogueFactory.
sendStatement(
"You have no logs in your inventory to add to this fire!").
execute();
123 player.message(
"You need a firemaking level of " + firemaking.getLevel() +
" to light this log!");
127 player.action.execute(bonfireAction(player, event.getObject(), firemaking, player.inventory.
computeAmountForId(firemaking.getLog())));
143 return "Bonfire action";
147 protected void execute() {
152 if (!
object.active()) {
156 if (!player.inventory.
contains(firemaking.getLog())) {
157 player.message(
"You have no more logs!");
163 player.inventory.
remove(firemaking.getLog(), 1);
168 player.playerAssistant.activateSkilling(1);
172 player.forClan(channel -> channel.activateTask(
ClanTaskKey.BURN_WILLOW_LOG, getMob().
getName()));
175 if (player.prestige.hasPerk(
PrestigePerk.FLAME_ON) && RandomUtils.success(.25)) {
176 player.inventory.
remove(firemaking.getLog(), 1);
186 protected void onCancel(
boolean logout) {
final DialogueFactory sendStatement(String... lines)
final DialogueFactory execute()
static void onReward(Player player, int item, int chance)