Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.experium.game.content.skills.firemaking;
- import org.experium.game.content.skills.SkillHandler;
- import org.experium.game.content.skills.Skills;
- import org.experium.game.content.skills.firemaking.FiremakingData.LogData;
- import org.experium.game.entity.Animation;
- import org.experium.game.entity.player.Player;
- import org.experium.game.object.Object;
- import org.experium.task.CycleEvent;
- import org.experium.task.CycleEventContainer;
- import org.experium.task.CycleEventHandler;
- import org.experium.task.CycleEventList;
- import org.experium.utility.Misc;
- /**
- *
- * @author Foye
- *
- */
- public class Bonfire extends SkillHandler {
- private Player p;
- public Bonfire(Player p) {
- this.p = p;
- }
- public boolean handleUse(int itemUsed) {
- final LogData l = LogData.forLog(itemUsed);
- if (l.getLogId() != itemUsed)
- return false;
- sendInterface(l.getLogId());
- return true;
- }
- public void burnLogs(int itemUsed) {
- final LogData l = LogData.forLog(itemUsed);
- if (p.playerUsingSkill[Skills.FIREMAKING]) {
- return;
- }
- if (p.getSkills().getSkillLevel(Skills.FARMING) < l.getLevel()) {
- p.getDH().sendStatement(
- "You need a firemaking level of " + l.getLevel()
- + " to add this logs.");
- return;
- }
- p.playerUsingSkill[Skills.FIREMAKING] = true;
- CycleEventHandler.getSingleton().addEvent(
- CycleEventList.PLAYER_SKILLING, p, new CycleEvent() {
- @Override
- public void execute(CycleEventContainer container) {
- if (p.playerUsingSkill[Skills.FIREMAKING]) {
- if (p.doAmount > 0) {
- p.doAmount--;
- p.performAnimation(new Animation(2286));
- p.getItems().deleteItem(l.getLogId(),
- p.getItems().getItemSlot(l.getLogId()),
- 1);
- p.sendMessage("You add more logs to the fire.");
- p.getPA().addSkillXP(l.getXp(),
- Skills.FIREMAKING);
- new Object(2732, p.objectX, p.objectY, 0, 0,
- 10, -1, 60 + Misc.random(30));
- } else {
- p.playerUsingSkill[Skills.FIREMAKING] = false;
- p.doAmount = 0;
- p.itemToDo = 0;
- container.stop();
- }
- } else {
- p.playerUsingSkill[Skills.FIREMAKING] = false;
- p.doAmount = 0;
- p.itemToDo = 0;
- container.stop();
- }
- }
- @Override
- public void stop() {
- }
- }, 5);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment