Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package server.model.players.packets;
- import server.model.players.Client;
- import server.model.players.PacketType;
- import server.model.players.PlayerHandler;
- import server.model.skills.SkillHandler;
- /**
- * Walking packet
- **/
- public class Walking implements PacketType {
- @Override
- public void processPacket(Client c, int packetType, int packetSize) {
- if (c.isBanking)
- c.isBanking = false;
- if (packetType == 248 || packetType == 164) {
- c.faceUpdate(0);
- c.npcIndex = 0;
- c.playerIndex = 0;
- if (c.followId > 0 || c.followId2 > 0 || c.follow2 > 0)
- c.getPA().resetFollow();
- }
- if (c.Unclosable != 1) {
- c.getPA().removeAllWindows();
- }
- if (c.duelStatus > 0 && !c.arenas()) {
- Client o = (Client) PlayerHandler.players[c.duelingWith];
- if(c.duelStatus < 5 || o.duelStatus < 5) {
- c.getPA().closeAllWindows();
- o.getPA().closeAllWindows();
- c.openDuel = false;
- o.openDuel = false;
- c.duelStatus = 0;
- o.duelStatus = 0;
- }
- }
- c.getTradeAndDuel().checkDuelWalk();
- if(c.duelStatus >= 1 && c.duelStatus <= 4) {
- Client o = (Client) PlayerHandler.players[c.duelingWith];
- if(o != null)
- o.getTradeAndDuel().declineDuel();
- c.getTradeAndDuel().declineDuel();
- }
- if((c.duelStatus >= 1 && c.duelStatus <= 4) || c.duelStatus == 6) {
- if(c.duelStatus == 6) {
- c.getTradeAndDuel().claimStakedItems();
- }
- return;
- }
- if(c.duelRule[1] && c.duelStatus == 5) {
- c.sendMessage("Walking has been disabled in this duel!");
- return;
- }
- if(c.freezeTimer > 0) {
- if(PlayerHandler.players[c.playerIndex] != null) {
- if(c.goodDistance(c.getX(), c.getY(), PlayerHandler.players[c.playerIndex].getX(), PlayerHandler.players[c.playerIndex].getY(), 1) && packetType != 98) {
- c.playerIndex = 0;
- return;
- }
- }
- if (packetType != 98) {
- c.sendMessage("A magical force stops you from moving.");
- c.playerIndex = 0;
- }
- return;
- }
- if (c.DoingTut == true) {
- return;
- }
- if (c.isWc == true) {
- c.startAnimation(65535);
- c.isWc = false;
- }
- if (c.fishing == true) {
- c.startAnimation(65535);
- c.fishing = false;
- }
- if(c.AmSkilling == true) {
- c.startAnimation(65535);
- c.AmSkilling = false;
- }
- if(c.stopPlayerSkill) {
- SkillHandler.resetPlayerSkillVariables(c);
- c.stopPlayerSkill = false;
- }
- if (System.currentTimeMillis() - c.lastSpear < 4000) {
- c.sendMessage("You have been stunned.");
- c.playerIndex = 0;
- return;
- }
- if (packetType == 98) {
- c.mageAllowed = true;
- }
- if(c.respawnTimer > 3) {
- return;
- }
- if(c.inTrade) {
- c.getTradeAndDuel().declineTrade(true);
- }
- if(packetType == 248) {
- packetSize -= 14;
- }
- c.newWalkCmdSteps = (packetSize - 5)/2;
- if(++c.newWalkCmdSteps > c.walkingQueueSize) {
- c.newWalkCmdSteps = 0;
- return;
- }
- c.getNewWalkCmdX()[0] = c.getNewWalkCmdY()[0] = 0;
- int firstStepX = c.getInStream().readSignedWordBigEndianA()-c.getMapRegionX()*8;
- for(int i = 1; i < c.newWalkCmdSteps; i++) {
- c.getNewWalkCmdX()[i] = c.getInStream().readSignedByte();
- c.getNewWalkCmdY()[i] = c.getInStream().readSignedByte();
- }
- int firstStepY = c.getInStream().readSignedWordBigEndian()-c.getMapRegionY()*8;
- c.setNewWalkCmdIsRunning(c.getInStream().readSignedByteC() == 1);
- for(int i1 = 0; i1 < c.newWalkCmdSteps; i1++) {
- c.getNewWalkCmdX()[i1] += firstStepX;
- c.getNewWalkCmdY()[i1] += firstStepY;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement