Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package server.model.players;
- import java.util.LinkedList;
- import java.util.Queue;
- import java.util.concurrent.Future;
- import org.apache.mina.common.IoSession;
- import server.Config;
- import server.Server;
- import server.model.items.ItemAssistant;
- import server.model.shops.ShopAssistant;
- import server.net.HostList;
- import server.net.Packet;
- import server.net.StaticPacketBuilder;
- import server.util.Misc;
- import server.util.Stream;
- import server.model.items.Item;
- import server.model.players.skills.*;
- import server.event.EventManager;
- import server.event.Event;
- import server.event.EventContainer;
- import server.event.CycleEventHandler;
- import server.model.players.PlayerSave;
- import server.model.players.PlayerHandler;
- //import server.model.players.grimreaper;
- public class Client extends Player {
- public byte buffer[] = null;
- public Stream inStream = null, outStream = null;
- private IoSession session;
- private ItemAssistant itemAssistant = new ItemAssistant(this);
- private ShopAssistant shopAssistant = new ShopAssistant(this);
- private TradeAndDuel tradeAndDuel = new TradeAndDuel(this);
- private PlayerAssistant playerAssistant = new PlayerAssistant(this);
- private CombatAssistant combatAssistant = new CombatAssistant(this);
- private ActionHandler actionHandler = new ActionHandler(this);
- private DialogueHandler dialogueHandler = new DialogueHandler(this);
- private Queue<Packet> queuedPackets = new LinkedList<Packet>();
- private Potions potions = new Potions(this);
- private PotionMixing potionMixing = new PotionMixing(this);
- private Food food = new Food(this);
- private Curse curse = new Curse(this);
- /**
- * Skill instances
- */
- private Slayer slayer = new Slayer(this);
- private Runecrafting runecrafting = new Runecrafting(this);
- private Agility agility = new Agility(this);
- private Crafting crafting = new Crafting(this);
- private Smithing smith = new Smithing(this);
- private Prayer prayer = new Prayer(this);
- private Fletching fletching = new Fletching(this);
- private SmithingInterface smithInt = new SmithingInterface(this);
- private Farming farming = new Farming(this);
- private Thieving thieving = new Thieving(this);
- private Firemaking firemaking = new Firemaking(this);
- private Herblore herblore = new Herblore(this);
- private int somejunk;
- public int lowMemoryVersion = 0;
- public int timeOutCounter = 0;
- public int returnCode = 2;
- public boolean usingClaws = false;
- private Future<?> currentTask;
- public Client(IoSession s, int _playerId) {
- super(_playerId);
- this.session = s;
- synchronized(this) {
- outStream = new Stream(new byte[Config.BUFFER_SIZE]);
- outStream.currentOffset = 0;
- }
- inStream = new Stream(new byte[Config.BUFFER_SIZE]);
- inStream.currentOffset = 0;
- buffer = new byte[Config.BUFFER_SIZE];
- }
- public void flushOutStream() {
- if(disconnected || outStream.currentOffset == 0) return;
- synchronized(this) {
- StaticPacketBuilder out = new StaticPacketBuilder().setBare(true);
- byte[] temp = new byte[outStream.currentOffset];
- System.arraycopy(outStream.buffer, 0, temp, 0, temp.length);
- out.addBytes(temp);
- session.write(out.toPacket());
- outStream.currentOffset = 0;
- }
- }
- public void sendClan(String name, String message, String clan, int rights) {
- outStream.createFrameVarSizeWord(217);
- outStream.writeString(name);
- outStream.writeString(message);
- outStream.writeString(clan);
- outStream.writeWord(rights);
- outStream.endFrameVarSize();
- }
- public static PlayerSave save;
- public static Client cliento2;
- public static final int PACKET_SIZES[] = {
- 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, //0
- 0, 0, 0, 0, 8, 0, 6, 2, 2, 0, //10
- 0, 2, 0, 6, 0, 12, 0, 0, 0, 0, //20
- 0, 0, 0, 0, 0, 8, 4, 0, 0, 2, //30
- 2, 6, 0, 6, 0, -1, 0, 0, 0, 0, //40
- 0, 0, 0, 12, 0, 0, 0, 8, 8, 12, //50
- 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, //60
- 6, 0, 2, 2, 8, 6, 0, -1, 0, 6, //70
- 0, 0, 0, 0, 0, 1, 4, 6, 0, 0, //80
- 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, //90
- 0, 13, 0, -1, 0, 0, 0, 0, 0, 0,//100
- 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, //110
- 1, 0, 6, 0, 0, 0, -1, 0, 2, 6, //120
- 0, 4, 6, 8, 0, 6, 0, 0, 0, 2, //130
- 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, //140
- 0, 0, 1, 2, 0, 2, 6, 0, 0, 0, //150
- 0, 0, 0, 0, -1, -1, 0, 0, 0, 0,//160
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //170
- 0, 8, 0, 3, 0, 2, 0, 0, 8, 1, //180
- 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, //190
- 2, 0, 0, 0, 0, 0, 0, 0, 4, 0, //200
- 4, 0, 0, 0, 7, 8, 0, 0, 10, 0, //210
- 0, 0, 0, 0, 0, 0, -1, 0, 6, 0, //220
- 1, 0, 0, 0, 6, 0, 6, 8, 1, 0, //230
- 0, 4, 0, 0, 0, 0, -1, 0, -1, 4,//240
- 0, 0, 6, 6, 0, 0, 0 //250
- };
- public void destruct() {
- if(session == null)
- return;
- CycleEventHandler.getSingleton().stopEvents(this);
- getPA().removeFromCW();
- if (inPits)
- Server.fightPits.removePlayerFromPits(playerId);
- if (clanId >= 0)
- Server.clanChat.leaveClan(playerId, clanId);
- Misc.println("[DEREGISTERED]: "+playerName+"");
- HostList.getHostList().remove(session);
- disconnected = true;
- session.close();
- session = null;
- inStream = null;
- outStream = null;
- isActive = false;
- buffer = null;
- super.destruct();
- }
- public boolean isAutoButton(int button) {
- for (int j = 0; j < autocastIds.length; j += 2) {
- if (autocastIds[j] == button)
- return true;
- }
- return false;
- }
- public void sendMessage(String s) {
- synchronized (this) {
- if(getOutStream() != null) {
- outStream.createFrameVarSize(253);
- outStream.writeString(s);
- outStream.endFrameVarSize();
- }
- }
- }
- public void setSidebarInterface(int menuId, int form) {
- synchronized (this) {
- if(getOutStream() != null) {
- outStream.createFrame(71);
- outStream.writeWord(form);
- outStream.writeByteA(menuId);
- }
- }
- }
- public void Combo() {
- if(Combos >= 1 && Combos <= 2) {
- getPA().sendFrame126("@gre@"+Combos+" Hit", 25601);
- } else if(Combos >= 3 && Combos <= 5) {
- getPA().sendFrame126("@yel@"+Combos+" Hit", 25601);
- } else if(Combos >= 6 && Combos <= 8) {
- getPA().sendFrame126("@or3@"+Combos+" Hit", 25601);
- } else if(Combos >= 9) {
- getPA().sendFrame126("@red@"+Combos+" Hit", 25601);
- }
- }
- public void ComboShow() {
- if(underAttackBy > 0 || underAttackBy2 > 0) {
- getPA().walkableInterface(25600);
- } else {
- Combos = 0;
- }
- }
- public void initialize() {
- synchronized (this) {
- outStream.createFrame(249);
- outStream.writeByteA(1); // 1 for members, zero for free
- outStream.writeWordBigEndianA(playerId);
- for (int j = 0; j < Server.playerHandler.players.length; j++) {
- if (j == playerId)
- continue;
- if (Server.playerHandler.players[j] != null) {
- if (Server.playerHandler.players[j].playerName.equalsIgnoreCase(playerName))
- disconnected = true;
- }
- }
- for (int i = 0; i < 25; i++) {
- getPA().setSkillLevel(i, playerLevel[i], playerXP[i]);
- getPA().refreshSkill(i);
- }
- for(int p = 0; p < PRAYER.length; p++) { // reset prayer glows
- prayerActive[p] = false;
- getPA().sendFrame36(PRAYER_GLOW[p], 0);
- }
- for(int p = 0; p < CURSE.length; p++) { // reset prayer glows
- curseActive[p] = false;
- getPA().sendFrame36(CURSE_GLOW[p], 0);
- }
- getPA().sendCrashFrame();
- getPA().sendFrame126("Monsters", 21833);
- getPA().sendFrame126("Minigames", 21933);
- getPA().sendFrame126("Bosses", 22052);
- getPA().sendFrame126("Pking", 22123);
- getPA().sendFrame126("Skilling", 22232);
- getPA().sendFrame126("Monsters", 19641);
- getPA().sendFrame126("Minigames", 19722);
- getPA().sendFrame126("Bosses", 19803);
- getPA().sendFrame126("Pking", 19860);
- getPA().sendFrame126("Skilling", 20195);
- for(int i = 744; i <= 760; i++) { // Emote icons
- getPA().sendFrame36(i, 1); // 0 = off 1 = on
- }
- getPA().handleWeaponStyle();
- getPA().handleLoginText();
- accountFlagged = getPA().checkForFlags();
- //getPA().sendFrame36(43, fightMode-1);
- getPA().sendFrame36(108, 0);//resets autocast button
- getPA().sendFrame36(172, 1);
- getPA().sendFrame107(); // reset screen
- getPA().setChatOptions(0, 0, 0); // reset private messaging options
- getPA().sendFrame126("Pk Points: "+pkPoints+"", 663);
- getPA().sendFrame126("Kills: "+KC+"", 13136);
- getPA().sendFrame126("Death: "+DC+"", 673);
- getPA().sendFrame126("", 7332);
- getPA().sendFrame126("", 7333);
- getPA().sendFrame126("", 7334);
- getPA().sendFrame126("", 7336);
- getPA().sendFrame126("", 7383);
- getPA().sendFrame126("", 7339);
- getPA().sendFrame126("", 7338);
- getPA().sendFrame126("", 7340);
- getPA().sendFrame126("", 7346);
- getPA().sendFrame126("", 7341);
- getPA().sendFrame126("", 7342);
- getPA().sendFrame126("", 7337);
- getPA().sendFrame126("", 7343);
- getPA().sendFrame126("", 7335);
- getPA().sendFrame126("", 7344);
- getPA().sendFrame126("", 7345);
- getPA().sendFrame126("", 7347);
- getPA().sendFrame126("", 7348);
- /*Members Quests*/
- getPA().sendFrame126("", 12772);
- getPA().sendFrame126("", 7352);
- getPA().sendFrame126("", 12129);
- getPA().sendFrame126("", 8438);
- getPA().sendFrame126("", 18517);
- getPA().sendFrame126("", 15847);
- getPA().sendFrame126("", 15487);
- getPA().sendFrame126("", 12852);
- getPA().sendFrame126("", 7354);
- getPA().sendFrame126("", 7355);
- getPA().sendFrame126("", 7356);
- getPA().sendFrame126("", 8679);
- getPA().sendFrame126("", 7459);
- getPA().sendFrame126("", 7357);
- getPA().sendFrame126("", 14912);
- getPA().sendFrame126("", 249);
- getPA().sendFrame126("", 6024);
- getPA().sendFrame126("", 191);
- getPA().sendFrame126("", 15235);
- getPA().sendFrame126("", 15592);
- getPA().sendFrame126("", 6987);
- getPA().sendFrame126("", 15098);
- getPA().sendFrame126("", 15352);
- getPA().sendFrame126("", 18306);
- getPA().sendFrame126("", 15499);
- getPA().sendFrame126("", 668);
- getPA().sendFrame126("", 18684);
- getPA().sendFrame126("", 6027);
- getPA().sendFrame126("", 18157);
- getPA().sendFrame126("", 15847);
- getPA().sendFrame126("", 16128);
- getPA().sendFrame126("", 12836);
- getPA().sendFrame126("", 16149);
- getPA().sendFrame126("", 15841);
- getPA().sendFrame126("", 7353);
- getPA().sendFrame126("", 7358);
- getPA().sendFrame126("", 17510);
- getPA().sendFrame126("", 7359);
- getPA().sendFrame126("", 14169);
- getPA().sendFrame126("", 10115);
- getPA().sendFrame126("", 14604);
- getPA().sendFrame126("", 7360);
- getPA().sendFrame126("", 12282);
- getPA().sendFrame126("", 13577);
- getPA().sendFrame126("", 12839);
- getPA().sendFrame126("", 7361);
- getPA().sendFrame126("", 11857);
- getPA().sendFrame126("", 7362);
- getPA().sendFrame126("", 7363);
- getPA().sendFrame126("", 7364);
- getPA().sendFrame126("", 10135);
- getPA().sendFrame126("", 4508);
- getPA().sendFrame126("", 11907);
- getPA().sendFrame126("", 7365);
- getPA().sendFrame126("", 7366);
- getPA().sendFrame126("", 7367);
- getPA().sendFrame126("", 13389);
- getPA().sendFrame126("", 7368);
- getPA().sendFrame126("", 11132);
- getPA().sendFrame126("", 7369);
- getPA().sendFrame126("", 12389);
- getPA().sendFrame126("", 13974);
- getPA().sendFrame126("", 7370);
- getPA().sendFrame126("", 8137);
- getPA().sendFrame126("", 7371);
- getPA().sendFrame126("", 12345);
- getPA().sendFrame126("", 7372);
- getPA().sendFrame126("", 8115);
- getPA().sendFrame126("", 8576);
- getPA().sendFrame126("", 12139);
- getPA().sendFrame126("", 7373);
- getPA().sendFrame126("", 7374);
- getPA().sendFrame126("", 8969);
- getPA().sendFrame126("", 7375);
- getPA().sendFrame126("", 7376);
- getPA().sendFrame126("", 1740);
- getPA().sendFrame126("", 3278);
- getPA().sendFrame126("", 7378);
- getPA().sendFrame126("", 6518);
- getPA().sendFrame126("", 7379);
- getPA().sendFrame126("", 7380);
- getPA().sendFrame126("", 7381);
- getPA().sendFrame126("", 11858);
- getPA().sendFrame126("", 9927);
- getPA().sendFrame126("", 7349);
- getPA().sendFrame126("", 7350);
- getPA().sendFrame126("", 7351);
- getPA().sendFrame126("", 13356);
- /*END OF ALL QUESTS*/
- setSidebarInterface(1, 3917);
- setSidebarInterface(2, 638);
- setSidebarInterface(3, 3213);
- setSidebarInterface(4, 1644);
- if(prayerBook == 0) {
- setSidebarInterface(5, 5608);
- } else if(prayerBook == 1) {
- setSidebarInterface(5, 21356);
- }
- if(playerMagicBook == 0) {
- setSidebarInterface(6, 1151);
- } else if(playerMagicBook == 1) {
- setSidebarInterface(6, 12855);
- } else if(playerMagicBook == 2) {
- setSidebarInterface(6, 16640);
- }
- if (splitChat == false) {
- getPA().sendFrame36(502, 0);
- getPA().sendFrame36(287, 0);
- }
- if (splitChat == true) {
- getPA().sendFrame36(502, 1);
- getPA().sendFrame36(287, 1);
- }
- correctCoordinates();
- setSidebarInterface(7, 18128);
- setSidebarInterface(8, 5065);
- setSidebarInterface(9, 5715);
- setSidebarInterface(10, 2449);
- //setSidebarInterface(11, 4445); // wrench tab
- setSidebarInterface(11, 904); // wrench tab
- setSidebarInterface(12, 147); // run tab
- setSidebarInterface(13, -1);
- setSidebarInterface(0, 2423);
- sendMessage("<col=16711680>Welcome to "+Config.SERVER_NAME);
- sendMessage("Please remember to vote so we can have more players!");
- getPA().showOption(4, 0,"Trade With", 3);
- getPA().showOption(5, 0,"Follow", 4);
- getItems().resetItems(3214);
- getItems().sendWeapon(playerEquipment[playerWeapon], getItems ().getItemName(playerEquipment[playerWeapon]));
- getItems().resetBonus();
- getItems().getBonus();
- getItems().writeBonus();
- getItems().setEquipment(playerEquipment[playerHat],1,playerHat);
- getItems().setEquipment(playerEquipment[playerCape],1,playerCape);
- getItems().setEquipment(playerEquipment[playerAmulet],1,playerAmulet);
- getItems().setEquipment(playerEquipment[playerArrows],playerEquipmentN[playerArrows],playerArrows);
- getItems().setEquipment(playerEquipment[playerChest],1,playerChest);
- getItems().setEquipment(playerEquipment[playerShield],1,playerShield);
- getItems().setEquipment(playerEquipment[playerLegs],1,playerLegs);
- getItems().setEquipment(playerEquipment[playerHands],1,playerHands);
- getItems().setEquipment(playerEquipment[playerFeet],1,playerFeet);
- getItems().setEquipment(playerEquipment[playerRing],1,playerRing);
- getItems().setEquipment(playerEquipment[playerWeapon],playerEquipmentN[playerWeapon],playerWeapon);
- getCombat().getPlayerAnimIndex(getItems().getItemName(playerEquipment[playerWeapon]).toLowerCase());
- getPA().logIntoPM();
- getItems().addSpecialBar(playerEquipment[playerWeapon]);
- saveTimer = Config.SAVE_TIMER;
- saveCharacter = true;
- Misc.println("[REGISTERED]: "+playerName+"");
- handler.updatePlayer(this, outStream);
- handler.updateNPC(this, outStream);
- flushOutStream();
- getPA().clearClanChat();
- follow(0, 3, 1);
- if (addStarter)
- getPA().addStarter();
- if (autoRet == 1)
- getPA().sendFrame36(172, 1);
- else
- getPA().sendFrame36(172, 0);
- }
- }
- public void update() {
- synchronized (this) {
- handler.updatePlayer(this, outStream);
- handler.updateNPC(this, outStream);
- flushOutStream();
- }
- }
- public void applyFollowing()
- {
- if (follow2 > 0)
- {
- //Client p = Server.playerHandler.client[followId];
- Client p = (Client) Server.playerHandler.players[follow2];
- if (p != null)
- {
- if (isDead)
- {
- follow(0, 3, 1);
- return;
- }
- if (!goodDistance(p.absX, p.absY, absX, absY, 25))
- {
- follow(0, 3, 1);
- return;
- }
- }
- else if (p == null)
- {
- follow(0, 3, 1);
- }
- }
- else if (follow2 > 0)
- {
- //Server.npcHandler.npcs.NPC npc = Server.npcHandler.npcs[followId2];
- if (Server.npcHandler.npcs[followId2] != null)
- {
- if (Server.npcHandler.npcs[followId2].isDead)
- {
- follow(0, 3, 1);
- return;
- }
- if (!goodDistance(Server.npcHandler.npcs[followId2].absX, Server.npcHandler.npcs[followId2].absY, absX, absY, 25))
- {
- follow(0, 3, 1);
- return;
- }
- }
- else if (Server.npcHandler.npcs[followId2] == null)
- {
- follow(0, 3, 1);
- }
- }
- }
- public int followDistance = 0;
- public void follow(int slot, int type, int distance)
- {
- if (slot > 0 && slot == follow2 && type == 1 && follow2 > 0 && followDistance != distance && (/*usingOtherRangeWeapons || */usingBow || usingMagic))
- return;
- else if (slot > 0 && slot == followId2 && type == 0 && followId2 > 0 && followDistance >= distance && distance != 1)
- return;
- //else if (type == 3 && followId2 == 0 && follow2 == 0)
- //return;
- outStream.createFrame(174);
- if (freezeTimer > 0) {
- outStream.writeWord(0);
- } else {
- outStream.writeWord(slot);
- if (type == 0) {
- follow2 = 0;
- followId2 = slot;
- faceUpdate(followId2);
- } else if (type == 1) {
- followId2 = 0;
- follow2 = slot;
- faceUpdate(32768 + follow2);
- } else if (type == 3) {
- followId2 = 0;
- follow2 = 0;
- followDistance = 0;
- faceUpdate(65535);
- }
- followDistance = distance;
- }
- outStream.writeByte(type);
- outStream.writeWord(distance);
- }
- public void logout() {
- synchronized (this) {
- if(System.currentTimeMillis() - logoutDelay > 10000) {
- CycleEventHandler.getSingleton().stopEvents(this);
- outStream.createFrame(109);
- properLogout = true;
- } else {
- sendMessage("You must wait a few seconds from being out of combat to logout.");
- }
- }
- }
- public int packetSize = 0, packetType = -1;
- public void process() {
- getPA().sendFrame126("Players Online: "+PlayerHandler.getPlayerCount(), 640);
- getCombat().handlePrayerDrain();
- if (smeltTimer > 0 && smeltType > 0) {
- smeltTimer--;
- } else if (smeltTimer == 0 && smeltType > 0) {
- getSmithing().smelt(smeltType);
- }
- if (System.currentTimeMillis() - lastPoison > 20000 && poisonDamage > 0) {
- int damage = poisonDamage/2;
- if (damage > 0) {
- sendMessage("Applying poison damage.");
- if (!getHitUpdateRequired()) {
- setHitUpdateRequired(true);
- setHitDiff(damage);
- updateRequired = true;
- poisonMask = 1;
- } else if (!getHitUpdateRequired2()) {
- setHitUpdateRequired2(true);
- setHitDiff2(damage);
- updateRequired = true;
- poisonMask = 2;
- }
- lastPoison = System.currentTimeMillis();
- poisonDamage--;
- dealDamage(damage);
- } else {
- poisonDamage = -1;
- sendMessage("You are no longer poisoned.");
- }
- }
- if(System.currentTimeMillis() - specDelay > Config.INCREASE_SPECIAL_AMOUNT) {
- specDelay = System.currentTimeMillis();
- if(specAmount < 10) {
- specAmount += .5;
- if (specAmount > 10)
- specAmount = 10;
- getItems().addSpecialBar(playerEquipment[playerWeapon]);
- }
- }
- if(clawDelay > 0) {
- clawDelay--;
- }
- if(clawDelay == 1) {
- double damage4 = 0;
- if(npcIndex > 0) {
- getCombat().applyNpcMeleeDamage(npcIndex, 1, previousDamage / 2);
- }
- if(playerIndex > 0) {
- getCombat().applyPlayerMeleeDamage(playerIndex, 1, previousDamage / 2);
- }
- damage4 = previousDamage % 2;
- if(damage4 >= 0.001) {
- previousDamage = previousDamage + 1;
- damage4 = 0;
- }
- if(npcIndex > 0) {
- getCombat().applyNpcMeleeDamage(npcIndex, 2, previousDamage);
- }
- if(playerIndex > 0) {
- getCombat().applyPlayerMeleeDamage(playerIndex, 2, previousDamage);
- }
- clawDelay = 0;
- specEffect = 0;
- previousDamage = 0;
- usingClaws = false;
- }
- applyFollowing();
- if(followId > 0) {
- getPA().followPlayer();
- } else if (followId2 > 0) {
- getPA().followNpc();
- }
- if(System.currentTimeMillis() - singleCombatDelay > 3300) {
- underAttackBy = 0;
- }
- if (System.currentTimeMillis() - singleCombatDelay2 > 3300) {
- underAttackBy2 = 0;
- }
- if(System.currentTimeMillis() - restoreStatsDelay > 60000) {
- restoreStatsDelay = System.currentTimeMillis();
- for (int level = 0; level < playerLevel.length; level++) {
- if (playerLevel[level] < getLevelForXP(playerXP[level])) {
- if(level != 5) { // prayer doesn't restore
- playerLevel[level] += 1;
- getPA().setSkillLevel(level, playerLevel[level], playerXP[level]);
- getPA().refreshSkill(level);
- }
- } else if (playerLevel[level] > getLevelForXP(playerXP[level])) {
- playerLevel[level] -= 1;
- getPA().setSkillLevel(level, playerLevel[level], playerXP[level]);
- getPA().refreshSkill(level);
- }
- }
- }
- if(!hasMultiSign && inMulti()) {
- hasMultiSign = true;
- getPA().multiWay(1);
- }
- if(hasMultiSign && !inMulti()) {
- hasMultiSign = false;
- getPA().multiWay(-1);
- }
- if(skullTimer > 0) {
- skullTimer--;
- if(skullTimer == 1) {
- isSkulled = false;
- attackedPlayers.clear();
- headIconPk = -1;
- skullTimer = -1;
- getPA().requestUpdates();
- }
- }
- if(isDead && respawnTimer == -6) {
- getPA().applyDead();
- //getPA().handleDeathsActions();
- }
- if(respawnTimer == 7) {
- respawnTimer = -6;
- getPA().giveLife();
- } else if(respawnTimer == 12) {
- respawnTimer--;
- startAnimation(0x900);
- poisonDamage = -1;
- }
- if(respawnTimer > -6) {
- respawnTimer--;
- }
- if(freezeTimer > -6) {
- freezeTimer--;
- if (frozenBy > 0) {
- if (Server.playerHandler.players[frozenBy] == null) {
- freezeTimer = -1;
- frozenBy = -1;
- } else if (!goodDistance(absX, absY, Server.playerHandler.players[frozenBy].absX, Server.playerHandler.players[frozenBy].absY, 20)) {
- freezeTimer = -1;
- frozenBy = -1;
- }
- }
- }
- if(hitDelay > 0) {
- hitDelay--;
- }
- if(teleTimer > 0) {
- teleTimer--;
- if (!isDead) {
- if(teleTimer == 1 && newLocation > 0) {
- teleTimer = 0;
- getPA().changeLocation();
- }
- if(teleTimer == 5) {
- teleTimer--;
- getPA().processTeleport();
- }
- if(teleTimer == 9 && teleGfx > 0) {
- teleTimer--;
- gfx100(teleGfx);
- }
- } else {
- teleTimer = 0;
- }
- }
- if(hitDelay == 1) {
- if(oldNpcIndex > 0) {
- getCombat().delayedHit(oldNpcIndex);
- }
- if(oldPlayerIndex > 0) {
- getCombat().playerDelayedHit(oldPlayerIndex);
- }
- }
- if(attackTimer > 0) {
- attackTimer--;
- }
- if(attackTimer == 1){
- if(npcIndex > 0 && clickNpcType == 0) {
- getCombat().attackNpc(npcIndex);
- }
- if(playerIndex > 0) {
- getCombat().attackPlayer(playerIndex);
- }
- } else if (attackTimer <= 0 && (npcIndex > 0 || playerIndex > 0)) {
- if (npcIndex > 0) {
- attackTimer = 0;
- getCombat().attackNpc(npcIndex);
- } else if (playerIndex > 0) {
- attackTimer = 0;
- getCombat().attackPlayer(playerIndex);
- }
- }
- if(timeOutCounter > Config.TIMEOUT) {
- disconnected = true;
- }
- timeOutCounter++;
- }
- public void updateWalkEntities() {
- if(inWild()) {
- int modY = absY > 6400 ? absY - 6400 : absY;
- wildLevel = (((modY - 3520) / 8) + 1);
- getPA().walkableInterface(197);
- if(Config.SINGLE_AND_MULTI_ZONES) {
- if(inMulti()) {
- getPA().sendFrame126("@yel@Level: "+wildLevel, 199);
- } else {
- getPA().sendFrame126("@yel@Level: "+wildLevel, 199);
- }
- } else {
- getPA().multiWay(-1);
- getPA().sendFrame126("@yel@Level: "+wildLevel, 199);
- }
- getPA().showOption(3, 0, "Attack", 1);
- } else if (inDuelArena()) {
- getPA().walkableInterface(201);
- if(duelStatus == 5) {
- getPA().showOption(3, 0, "Attack", 1);
- } else {
- getPA().showOption(3, 0, "Challenge", 1);
- }
- } else if(inBarrows()){
- //getPA().sendFrame99(2);
- getPA().sendFrame126("Kill Count: "+barrowsKillCount, 4536);
- getPA().walkableInterface(4535);
- } else if(InZammy()){
- getPA().walkableInterface(12418);
- getPA().sendFrame36(166,1);
- } else if (inCwGame || inPits) {
- getPA().showOption(3, 0, "Attack", 1);
- } else if (getPA().inPitsWait()) {
- getPA().showOption(3, 0, "Null", 1);
- } else if (gwdCoords()) {
- getPA().walkableInterface(21346);
- }
- if (!inBarrows() && !InZammy() && !inWild() && !inDuelArena() && !inCwGame && !inPits && !getPA().inPitsWait() && !gwdCoords()) {
- getPA().walkableInterface(-1);
- }
- }
- public void setCurrentTask(Future<?> task) {
- currentTask = task;
- }
- public Future<?> getCurrentTask() {
- return currentTask;
- }
- public synchronized Stream getInStream() {
- return inStream;
- }
- public synchronized int getPacketType() {
- return packetType;
- }
- public synchronized int getPacketSize() {
- return packetSize;
- }
- public synchronized Stream getOutStream() {
- return outStream;
- }
- public ItemAssistant getItems() {
- return itemAssistant;
- }
- public PlayerAssistant getPA() {
- return playerAssistant;
- }
- public DialogueHandler getDH() {
- return dialogueHandler;
- }
- public ShopAssistant getShops() {
- return shopAssistant;
- }
- public TradeAndDuel getTradeAndDuel() {
- return tradeAndDuel;
- }
- public CombatAssistant getCombat() {
- return combatAssistant;
- }
- public ActionHandler getActions() {
- return actionHandler;
- }
- public IoSession getSession() {
- return session;
- }
- public Potions getPotions() {
- return potions;
- }
- public PotionMixing getPotMixing() {
- return potionMixing;
- }
- public Food getFood() {
- return food;
- }
- /**
- * Skill Constructors
- */
- public Slayer getSlayer() {
- return slayer;
- }
- public Runecrafting getRunecrafting() {
- return runecrafting;
- }
- public Agility getAgility() {
- return agility;
- }
- public Crafting getCrafting() {
- return crafting;
- }
- public Smithing getSmithing() {
- return smith;
- }
- public Farming getFarming() {
- return farming;
- }
- public Thieving getThieving() {
- return thieving;
- }
- public Herblore getHerblore() {
- return herblore;
- }
- public Firemaking getFiremaking() {
- return firemaking;
- }
- public SmithingInterface getSmithingInt() {
- return smithInt;
- }
- public Prayer getPrayer() {
- return prayer;
- }
- public Curse getCurse() {
- return curse;
- }
- public Fletching getFletching() {
- return fletching;
- }
- /**
- * End of Skill Constructors
- */
- public void queueMessage(Packet arg1) {
- synchronized(queuedPackets) {
- //if (arg1.getId() != 41)
- queuedPackets.add(arg1);
- //else
- //processPacket(arg1);
- }
- }
- public synchronized boolean processQueuedPackets() {
- Packet p = null;
- synchronized(queuedPackets) {
- p = queuedPackets.poll();
- }
- if(p == null) {
- return false;
- }
- inStream.currentOffset = 0;
- packetType = p.getId();
- packetSize = p.getLength();
- inStream.buffer = p.getData();
- if(packetType > 0) {
- //sendMessage("PacketType: " + packetType);
- PacketHandler.processPacket(this, packetType, packetSize);
- }
- timeOutCounter = 0;
- return true;
- }
- public synchronized boolean processPacket(Packet p) {
- synchronized (this) {
- if(p == null) {
- return false;
- }
- inStream.currentOffset = 0;
- packetType = p.getId();
- packetSize = p.getLength();
- inStream.buffer = p.getData();
- if(packetType > 0) {
- //sendMessage("PacketType: " + packetType);
- PacketHandler.processPacket(this, packetType, packetSize);
- }
- timeOutCounter = 0;
- return true;
- }
- }
- public void correctCoordinates() {
- if (inPcGame()) {
- getPA().movePlayer(2657, 2639, 0);
- }
- if (inFightCaves()) {
- getPA().movePlayer(absX, absY, playerId * 4);
- sendMessage("Your wave will start in 10 seconds.");
- EventManager.getSingleton().addEvent(new Event() {
- public void execute(EventContainer c) {
- Server.fightCaves.spawnNextWave((Client)Server.playerHandler.players[playerId]);
- c.stop();
- }
- }, 10000);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement