Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package server.model.players.skills;
- import server.model.players.Client;
- import server.event.CycleEventHandler;
- import server.event.CycleEvent;
- import server.event.CycleEventContainer;
- import server.model.objects.Objects;
- import server.world.map.VirtualWorld;
- import server.*;
- import server.world.*;
- public class Firemaking extends SkillHandler {
- private static Tiles currentTile;
- private static int[][] data = {
- {1511, 1, 40, 2732}, // LOG
- {7406, 1, 250, 11406}, // RED LOG
- {7405, 1, 250, 11405}, // BLUE LOG
- {7404, 1, 250, 11404}, // RED LOG
- {2862, 1, 40, 2732}, // ACHEY
- {1521, 15, 60, 2732}, // OAK
- {1519, 30, 105, 2732}, // WILLOW
- {6333, 35, 105, 2732}, // TEAK
- {1517, 45, 135, 2732}, // MAPLE
- {10810,45, 135, 2732}, // ARTIC PINE
- {6332, 50, 158, 2732}, // MAHOGANY
- {1515, 60, 203, 2732}, // YEW
- {1513, 75, 304, 2732}, // MAGIC
- };
- public static boolean playerLogs(Client c, int i, int l) {
- boolean flag = false;
- for(int kl = 0; kl < data.length; kl++) {
- if((i == data[kl][0] && requiredItem(c, l)) || (requiredItem(c, i) && l == data[kl][0])) {
- flag = true;
- }
- }
- return flag;
- }
- private static int getAnimation(Client c, int item, int item1) {
- int[][] data = {
- {841, 6714}, {843, 6715}, {849, 6716}, {853, 6717},
- {857, 6718}, {861, 6719},
- };
- for(int i = 0; i < data.length; i++) {
- if(item == data[i][0] || item1 == data[i][0]) {
- return data[i][1];
- }
- }
- return 733;
- }
- private static boolean requiredItem(Client c, int i) {
- int[] data = {
- 841, 843, 849, 853, 857, 861, 590
- };
- for(int l = 0; l < data.length; l++) {
- if(i == data[l]) {
- return true;
- }
- }
- return false;
- }
- public static void grabData(final Client c, final int useWith, final int withUse) {
- final int[] coords = new int[2];
- coords[0] = c.absX;
- coords[1] = c.absY;
- if(c.playerIsWoodcutting) {
- Woodcutting.resetWoodcutting(c);
- }
- for(int i = 0; i < data.length; i++) {
- if((requiredItem(c, useWith) && withUse == data[i][0] || useWith == data[i][0] && requiredItem(c, withUse))) {
- if(c.playerLevel[11] < data[i][1]) {
- c.sendMessage("You don't have the correct Firemaking level to light this log!");
- c.sendMessage("You need the Firemaking level of at least "+ data[i][1] +".");
- return;
- }
- if (System.currentTimeMillis() - c.lastFire > 1200) {
- if(c.playerIsFiremaking) {
- return;
- }
- final int[] time = new int[3];
- final int log = data[i][0];
- final int fire = data[i][3];
- if(System.currentTimeMillis() - c.lastFire > 3000) {
- c.startAnimation(getAnimation(c, useWith, withUse));
- time[0] = 4;
- time[1] = 3;
- } else {
- time[0] = 1;
- time[1] = 2;
- }
- c.playerIsFiremaking = true;
- Server.itemHandler.createGroundItem(c, log, coords[0], coords[1], 1, c.getId());
- CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
- @Override
- public void execute(CycleEventContainer container) {
- Server.objectHandler.createAnObject(c, fire, coords[0], coords[1]);
- Server.itemHandler.removeGroundItem(c, log, coords[0], coords[1], false);
- c.playerIsFiremaking = false;
- container.stop();
- }
- @Override
- public void stop() {
- }
- }, time[0]);
- //if(VirtualWorld.I(c.heightLevel, c.absX, c.absY, c.absX-1, c.absY, 0)) {
- c.getPA().walkTo(-1, 0);
- //} else {
- //c.getPA().walkTo(1, 0);
- //}
- currentTile = new Tiles(c.absX - 1, c.absY, c.heightLevel);
- //if(!WalkingCheck.tiles.containsKey(currentTile.getH() << 28 | currentTile.getX() << 14 | currentTile.getY())){
- c.getPA().walkTo(-1, 0);
- //} else {
- //c.getPA().walkTo(1, 0);
- //}
- c.sendMessage("You light the logs.");
- CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
- @Override
- public void execute(CycleEventContainer container) {
- c.startAnimation(65535);
- container.stop();
- }
- @Override
- public void stop() {
- }
- }, time[1]);
- CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
- @Override
- public void execute(CycleEventContainer container) {
- Server.objectHandler.createAnObject(c, -1, coords[0], coords[1]);
- Server.itemHandler.createGroundItem(c, 592, coords[0], coords[1], 1, c.getId());
- container.stop();
- }
- @Override
- public void stop() {
- }
- }, 100);
- c.getPA().addSkillXP(data[i][2] * FIREMAKING_XP, 11);
- c.turnPlayerTo(c.absX+1, c.absY);
- c.getItems().deleteItem(data[i][0], c.getItems().getItemSlot(data[i][0]), 1);
- c.lastFire = System.currentTimeMillis();
- }
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment