Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.54 KB | None | 0 0
  1. if(Config.itemRequirements) {
  2. if(targetSlot == 10 || targetSlot == 7 || targetSlot == 5 || targetSlot == 4 || targetSlot == 0 || targetSlot == 9 || targetSlot == 10) {
  3. if(c.defenceLevelReq > 0) {
  4. if(c.getPA().getLevelForXP(c.playerXP[1]) < c.defenceLevelReq) {
  5. c.sendMessage("You need a defence level of "+c.defenceLevelReq+" to wear this item.");
  6. canWearItem = false;
  7. }
  8. }
  9. if(c.rangeLevelReq > 0) {
  10. if(c.getPA().getLevelForXP(c.playerXP[4]) < c.rangeLevelReq) {
  11. c.sendMessage("You need a range level of "+c.rangeLevelReq+" to wear this item.");
  12. canWearItem = false;
  13. }
  14. }
  15. if(c.magicLevelReq > 0) {
  16. if(c.getPA().getLevelForXP(c.playerXP[6]) < c.magicLevelReq) {
  17. c.sendMessage("You need a magic level of "+c.magicLevelReq+" to wear this item.");
  18. canWearItem = false;
  19. }
  20. }
  21. }
  22. if(targetSlot == 3) {
  23. if(c.attackLevelReq > 0) {
  24. if(c.getPA().getLevelForXP(c.playerXP[0]) < c.attackLevelReq) {
  25. c.sendMessage("You need an attack level of "+c.attackLevelReq+" to wield this weapon.");
  26. canWearItem = false;
  27. }
  28. }
  29. if(c.rangeLevelReq > 0) {
  30. if(c.getPA().getLevelForXP(c.playerXP[4]) < c.rangeLevelReq) {
  31. c.sendMessage("You need a range level of "+c.rangeLevelReq+" to wield this weapon.");
  32. canWearItem = false;
  33. }
  34. }
  35. if(c.magicLevelReq > 0) {
  36. if(c.getPA().getLevelForXP(c.playerXP[6]) < c.magicLevelReq) {
  37. c.sendMessage("You need a magic level of "+c.magicLevelReq+" to wield this weapon.");
  38. canWearItem = false;
  39. }
  40. }
  41. }
  42. }
  43.  
  44. if(!canWearItem) {
  45. return true;
  46. }
  47.  
  48. int wearAmount = c.playerItemsN[slot];
  49. if (wearAmount < 1) {
  50. return false;
  51. }
  52.  
  53. if (targetSlot == c.playerWeapon) {
  54. c.getPA().resetAutocast();
  55. }
  56.  
  57. if(slot >= 0 && wearID >= 0) {
  58. int toEquip = c.playerItems[slot];
  59. int toEquipN = c.playerItemsN[slot];
  60. int toRemove = c.playerEquipment[targetSlot];
  61. int toRemoveN = c.playerEquipmentN[targetSlot];
  62. if (toEquip == toRemove + 1 && Item.itemStackable[toRemove]) {
  63. deleteItem(toRemove, getItemSlot(toRemove), toEquipN);
  64. c.playerEquipmentN[targetSlot] += toEquipN;
  65. } else if (targetSlot != 5 && targetSlot != 3) {
  66. c.playerItems[slot] = toRemove + 1;
  67. c.playerItemsN[slot] = toRemoveN;
  68. c.playerEquipment[targetSlot] = toEquip - 1;
  69. c.playerEquipmentN[targetSlot] = toEquipN;
  70. } else if (targetSlot == 5) {
  71. boolean wearing2h = is2handed(getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase(), c.playerEquipment[c.playerWeapon]);
  72. boolean wearingShield = c.playerEquipment[c.playerShield] > 0;
  73. if (wearing2h) {
  74. toRemove = c.playerEquipment[c.playerWeapon];
  75. toRemoveN = c.playerEquipmentN[c.playerWeapon];
  76. c.playerEquipment[c.playerWeapon] = -1;
  77. c.playerEquipmentN[c.playerWeapon] = 0;
  78. updateSlot(c.playerWeapon);
  79. }
  80. c.playerItems[slot] = toRemove + 1;
  81. c.playerItemsN[slot] = toRemoveN;
  82. c.playerEquipment[targetSlot] = toEquip - 1;
  83. c.playerEquipmentN[targetSlot] = toEquipN;
  84. } else if (targetSlot == 3) {
  85. boolean is2h = is2handed(getItemName(wearID).toLowerCase(), wearID);
  86. boolean wearingShield = c.playerEquipment[c.playerShield] > 0;
  87. boolean wearingWeapon = c.playerEquipment[c.playerWeapon] > 0;
  88. if (is2h) {
  89. if (wearingShield && wearingWeapon) {
  90. if (freeSlots() > 0) {
  91. c.playerItems[slot] = toRemove + 1;
  92. c.playerItemsN[slot] = toRemoveN;
  93. c.playerEquipment[targetSlot] = toEquip - 1;
  94. c.playerEquipmentN[targetSlot] = toEquipN;
  95. removeItem(c.playerEquipment[c.playerShield], c.playerShield);
  96. } else {
  97. c.sendMessage("You do not have enough inventory space to do this.");
  98. return false;
  99. }
  100. } else if (wearingShield && !wearingWeapon) {
  101. c.playerItems[slot] = c.playerEquipment[c.playerShield] + 1;
  102. c.playerItemsN[slot] = c.playerEquipmentN[c.playerShield];
  103. c.playerEquipment[targetSlot] = toEquip - 1;
  104. c.playerEquipmentN[targetSlot] = toEquipN;
  105. c.playerEquipment[c.playerShield] = -1;
  106. c.playerEquipmentN[c.playerShield] = 0;
  107. updateSlot(c.playerShield);
  108. } else {
  109. c.playerItems[slot] = toRemove + 1;
  110. c.playerItemsN[slot] = toRemoveN;
  111. c.playerEquipment[targetSlot] = toEquip - 1;
  112. c.playerEquipmentN[targetSlot] = toEquipN;
  113. }
  114. } else {
  115. c.playerItems[slot] = toRemove + 1;
  116. c.playerItemsN[slot] = toRemoveN;
  117. c.playerEquipment[targetSlot] = toEquip - 1;
  118. c.playerEquipmentN[targetSlot] = toEquipN;
  119. }
  120. }
  121. resetItems(3214);
  122. }
  123. if(targetSlot == 3) {
  124. c.usingSpecial = false;
  125. addSpecialBar(wearID);
  126. }
  127. if(c.getOutStream() != null && c != null ) {
  128. c.getOutStream().createFrameVarSizeWord(34);
  129. c.getOutStream().writeWord(1688);
  130. c.getOutStream().writeByte(targetSlot);
  131. c.getOutStream().writeWord(wearID+1);
  132.  
  133. if (c.playerEquipmentN[targetSlot] > 254) {
  134. c.getOutStream().writeByte(255);
  135. c.getOutStream().writeDWord(c.playerEquipmentN[targetSlot]);
  136. } else {
  137. c.getOutStream().writeByte(c.playerEquipmentN[targetSlot]);
  138. }
  139.  
  140. c.getOutStream().endFrameVarSizeWord();
  141. c.flushOutStream();
  142. }
  143. sendWeapon(c.playerEquipment[c.playerWeapon], getItemName(c.playerEquipment[c.playerWeapon]));
  144. resetBonus();
  145. getBonus();
  146. writeBonus();
  147. c.getCombat().getPlayerAnimIndex(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
  148. c.getPA().requestUpdates();
  149. return true;
  150. } else {
  151. return false;
  152. }
  153. }
  154. }
  155.  
  156.  
  157. public void wearItem(int wearID, int wearAmount, int targetSlot) {
  158. synchronized(c) {
  159. if(c.getOutStream() != null && c != null ) {
  160. c.getOutStream().createFrameVarSizeWord(34);
  161. c.getOutStream().writeWord(1688);
  162. c.getOutStream().writeByte(targetSlot);
  163. c.getOutStream().writeWord(wearID+1);
  164.  
  165. if (wearAmount > 254) {
  166. c.getOutStream().writeByte(255);
  167. c.getOutStream().writeDWord(wearAmount);
  168. } else {
  169. c.getOutStream().writeByte(wearAmount);
  170. }
  171. c.getOutStream().endFrameVarSizeWord();
  172. c.flushOutStream();
  173. c.playerEquipment[targetSlot]=wearID;
  174. c.playerEquipmentN[targetSlot]=wearAmount;
  175. c.getItems().sendWeapon(c.playerEquipment[c.playerWeapon], c.getItems().getItemName(c.playerEquipment[c.playerWeapon]));
  176. c.getItems().resetBonus();
  177. c.getItems().getBonus();
  178. c.getItems().writeBonus();
  179. c.getCombat().getPlayerAnimIndex(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
  180. c.updateRequired = true;
  181. c.setAppearanceUpdateRequired(true);
  182. }
  183. }
  184. }
  185.  
  186. public void updateSlot(int slot) {
  187. synchronized(c) {
  188. if(c.getOutStream() != null && c != null ) {
  189. c.getOutStream().createFrameVarSizeWord(34);
  190. c.getOutStream().writeWord(1688);
  191. c.getOutStream().writeByte(slot);
  192. c.getOutStream().writeWord(c.playerEquipment[slot] + 1);
  193. if (c.playerEquipmentN[slot] > 254) {
  194. c.getOutStream().writeByte(255);
  195. c.getOutStream().writeDWord(c.playerEquipmentN[slot]);
  196. } else {
  197. c.getOutStream().writeByte(c.playerEquipmentN[slot]);
  198. }
  199. c.getOutStream().endFrameVarSizeWord();
  200. c.flushOutStream();
  201. }
  202. }
  203.  
  204. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement