Advertisement
Guest User

Walking

a guest
Apr 25th, 2015
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.59 KB | None | 0 0
  1. package server.model.players.packets;
  2.  
  3. import server.model.players.Client;
  4. import server.model.players.PacketType;
  5. import server.model.players.PlayerHandler;
  6. import server.model.skills.SkillHandler;
  7.  
  8. /**
  9. * Walking packet
  10. **/
  11. public class Walking implements PacketType {
  12.  
  13. @Override
  14. public void processPacket(Client c, int packetType, int packetSize) {
  15. if (c.isBanking)
  16. c.isBanking = false;
  17.  
  18. if (packetType == 248 || packetType == 164) {
  19. c.faceUpdate(0);
  20. c.npcIndex = 0;
  21. c.playerIndex = 0;
  22. if (c.followId > 0 || c.followId2 > 0 || c.follow2 > 0)
  23. c.getPA().resetFollow();
  24. }
  25. if (c.Unclosable != 1) {
  26. c.getPA().removeAllWindows();
  27. }
  28. if (c.duelStatus > 0 && !c.arenas()) {
  29. Client o = (Client) PlayerHandler.players[c.duelingWith];
  30. if(c.duelStatus < 5 || o.duelStatus < 5) {
  31. c.getPA().closeAllWindows();
  32. o.getPA().closeAllWindows();
  33. c.openDuel = false;
  34. o.openDuel = false;
  35. c.duelStatus = 0;
  36. o.duelStatus = 0;
  37. }
  38. }
  39. c.getTradeAndDuel().checkDuelWalk();
  40. if(c.duelStatus >= 1 && c.duelStatus <= 4) {
  41. Client o = (Client) PlayerHandler.players[c.duelingWith];
  42. if(o != null)
  43. o.getTradeAndDuel().declineDuel();
  44. c.getTradeAndDuel().declineDuel();
  45. }
  46. if((c.duelStatus >= 1 && c.duelStatus <= 4) || c.duelStatus == 6) {
  47. if(c.duelStatus == 6) {
  48. c.getTradeAndDuel().claimStakedItems();
  49. }
  50. return;
  51. }
  52.  
  53. if(c.duelRule[1] && c.duelStatus == 5) {
  54. c.sendMessage("Walking has been disabled in this duel!");
  55. return;
  56. }
  57.  
  58. if(c.freezeTimer > 0) {
  59. if(PlayerHandler.players[c.playerIndex] != null) {
  60. if(c.goodDistance(c.getX(), c.getY(), PlayerHandler.players[c.playerIndex].getX(), PlayerHandler.players[c.playerIndex].getY(), 1) && packetType != 98) {
  61. c.playerIndex = 0;
  62. return;
  63. }
  64. }
  65. if (packetType != 98) {
  66. c.sendMessage("A magical force stops you from moving.");
  67. c.playerIndex = 0;
  68. }
  69. return;
  70. }
  71.  
  72. if (c.DoingTut == true) {
  73. return;
  74. }
  75.  
  76. if (c.isWc == true) {
  77. c.startAnimation(65535);
  78. c.isWc = false;
  79. }
  80.  
  81. if (c.fishing == true) {
  82. c.startAnimation(65535);
  83. c.fishing = false;
  84. }
  85.  
  86. if(c.AmSkilling == true) {
  87. c.startAnimation(65535);
  88. c.AmSkilling = false;
  89. }
  90.  
  91. if(c.stopPlayerSkill) {
  92. SkillHandler.resetPlayerSkillVariables(c);
  93. c.stopPlayerSkill = false;
  94. }
  95.  
  96. if (System.currentTimeMillis() - c.lastSpear < 4000) {
  97. c.sendMessage("You have been stunned.");
  98. c.playerIndex = 0;
  99. return;
  100. }
  101.  
  102. if (packetType == 98) {
  103. c.mageAllowed = true;
  104. }
  105.  
  106. if(c.respawnTimer > 3) {
  107. return;
  108. }
  109. if(c.inTrade) {
  110. c.getTradeAndDuel().declineTrade(true);
  111. }
  112. if(packetType == 248) {
  113. packetSize -= 14;
  114. }
  115. c.newWalkCmdSteps = (packetSize - 5)/2;
  116. if(++c.newWalkCmdSteps > c.walkingQueueSize) {
  117. c.newWalkCmdSteps = 0;
  118. return;
  119. }
  120.  
  121. c.getNewWalkCmdX()[0] = c.getNewWalkCmdY()[0] = 0;
  122.  
  123. int firstStepX = c.getInStream().readSignedWordBigEndianA()-c.getMapRegionX()*8;
  124. for(int i = 1; i < c.newWalkCmdSteps; i++) {
  125. c.getNewWalkCmdX()[i] = c.getInStream().readSignedByte();
  126. c.getNewWalkCmdY()[i] = c.getInStream().readSignedByte();
  127. }
  128.  
  129. int firstStepY = c.getInStream().readSignedWordBigEndian()-c.getMapRegionY()*8;
  130. c.setNewWalkCmdIsRunning(c.getInStream().readSignedByteC() == 1);
  131. for(int i1 = 0; i1 < c.newWalkCmdSteps; i1++) {
  132. c.getNewWalkCmdX()[i1] += firstStepX;
  133. c.getNewWalkCmdY()[i1] += firstStepY;
  134. }
  135. }
  136.  
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement