Advertisement
Guest User

Untitled

a guest
Jun 13th, 2013
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.01 KB | None | 0 0
  1. package server.model.players.packets;
  2.  
  3. import server.Server;
  4. import server.model.players.Client;
  5. import server.model.players.PacketType;
  6.  
  7. /**
  8. * Walking packet
  9. **/
  10. public class Walking implements PacketType {
  11.  
  12. @Override
  13. public void processPacket(Client c, int packetType, int packetSize) {
  14. c.fishing = false;
  15. if(!c.isBanking && !c.inTrade) {
  16. c.getPA().removeAllWindows();
  17. c.startAnimation(65535);
  18. }
  19. if (c.isBanking)
  20. c.isBanking = false;
  21. if (c.storing)
  22. c.storing = false;
  23. if (c.isShopping)
  24. c.isShopping = false;
  25. if(c.duelRule[1] && c.duelStatus == 5) {
  26. if(Server.playerHandler.players[c.duelingWith] != null) {
  27. if(!c.goodDistance(c.getX(), c.getY(), Server.playerHandler.players[c.duelingWith].getX(), Server.playerHandler.players[c.duelingWith].getY(), 1) || c.attackTimer == 0) {
  28. c.sendMessage("Walking has been disabled in this duel!");
  29. }
  30. }
  31. c.playerIndex = 0;
  32. return;
  33. }
  34. if(c.inTrade) {
  35. return;
  36. }
  37.  
  38. if(c.freezeTimer > 0) {
  39. if(Server.playerHandler.players[c.playerIndex] != null) {
  40. if(c.goodDistance(c.getX(), c.getY(), Server.playerHandler.players[c.playerIndex].getX(), Server.playerHandler.players[c.playerIndex].getY(), 1) && packetType != 98) {
  41. c.playerIndex = 0;
  42. return;
  43. }
  44. }
  45. if (packetType != 98) {
  46. c.sendMessage("A magical force stops you from moving.");
  47. c.playerIndex = 0;
  48. }
  49. return;
  50. }
  51.  
  52. if (System.currentTimeMillis() - c.lastSpear < 4000) {
  53. c.sendMessage("You have been stunned.");
  54. c.playerIndex = 0;
  55. return;
  56. }
  57.  
  58. if (packetType == 98) {
  59. c.mageAllowed = true;
  60. c.fishing = false;
  61. }
  62. if (c.sit == true) {
  63. c.sendMessage("::unsit before you can start walking again!");
  64. return;
  65. }
  66.  
  67. if((c.duelStatus >= 1 && c.duelStatus <= 4) || c.duelStatus == 6) {
  68. if(c.duelStatus == 6) {
  69. c.getTradeAndDuel().claimStakedItems();
  70. }
  71. return;
  72. }
  73.  
  74.  
  75. if(c.isDead)
  76. return;
  77.  
  78. if(c.wearId == 6583) {
  79. c.sendMessage("::return before you can start walking again!");
  80. return;
  81. }
  82. if(c.wearId == 7927) {
  83. c.sendMessage("::return before you can start walking again!");
  84. return;
  85. }
  86. if(c.inTrade) {
  87. return;
  88. }
  89. if(packetType == 248) {
  90. packetSize -= 14;
  91. }
  92. c.newWalkCmdSteps = (packetSize - 5)/2;
  93. if(++c.newWalkCmdSteps > c.walkingQueueSize) {
  94. c.newWalkCmdSteps = 0;
  95. return;
  96. }
  97.  
  98. c.getNewWalkCmdX()[0] = c.getNewWalkCmdY()[0] = 0;
  99.  
  100. int firstStepX = c.getInStream().readSignedWordBigEndianA()-c.getMapRegionX()*8;
  101. for(int i = 1; i < c.newWalkCmdSteps; i++) {
  102. c.getNewWalkCmdX()[i] = c.getInStream().readSignedByte();
  103. c.getNewWalkCmdY()[i] = c.getInStream().readSignedByte();
  104. }
  105.  
  106. int firstStepY = c.getInStream().readSignedWordBigEndian()-c.getMapRegionY()*8;
  107. c.setNewWalkCmdIsRunning(c.getInStream().readSignedByteC() == 1);
  108. for(int i1 = 0; i1 < c.newWalkCmdSteps; i1++) {
  109. c.getNewWalkCmdX()[i1] += firstStepX;
  110. c.getNewWalkCmdY()[i1] += firstStepY;
  111. }
  112. }
  113.  
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement