Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.53 KB | None | 0 0
  1. package wind.model.players.combat.melee;
  2.  
  3. import wind.model.items.ItemAssistant;
  4. import wind.model.npcs.NPCHandler;
  5. import wind.model.players.Client;
  6. import wind.model.players.PlayerHandler;
  7. import wind.util.Misc;
  8.  
  9. /**
  10. *
  11. * Weapon Specials
  12. *
  13. * Class MeleeData
  14. *
  15. * @author 2012
  16. *
  17. */
  18.  
  19. public class MeleeSpecial {
  20.  
  21. public static boolean checkSpecAmount(Client c, int weapon) {
  22. switch (weapon) {
  23. case 1249:
  24. case 1215:
  25. case 1231:
  26. case 5680:
  27. case 5698:
  28. case 1305:
  29. case 1434:
  30. if (c.specAmount >= 2.5) {
  31. c.specAmount -= 2.5;
  32. c.getItems().addSpecialBar(weapon);
  33. return true;
  34. }
  35. return false;
  36.  
  37. case 4151: // can i just leave these texts
  38. case 12006:
  39. case 11802:
  40. case 11806:
  41. //case 4153: <<<<<l0l0l0 i added the hitdelay you did this wrong 0h shit ur smart asf
  42. case 14484:
  43. case 10887:
  44. case 11785:
  45. if (c.specAmount >= 5) {
  46. c.specAmount -= 5;
  47. c.getItems().addSpecialBar(weapon);
  48. return true;
  49. }
  50. return false;
  51.  
  52. case 3204:
  53. if (c.specAmount >= 3) {
  54. c.specAmount -= 3;
  55. c.getItems().addSpecialBar(weapon);
  56. return true;
  57. }
  58. return false;
  59.  
  60. case 1377:
  61. case 11804:
  62. case 11838:
  63. if (c.specAmount >= 10) {
  64. c.specAmount -= 10;
  65. c.getItems().addSpecialBar(weapon);
  66. return true;
  67. }
  68. return false;
  69.  
  70. case 4587:
  71. case 859:
  72. case 861:
  73. case 12926:
  74. case 11235:
  75. case 11808:
  76. if (c.specAmount >= 5.5) {
  77. c.specAmount -= 5.5;
  78. c.getItems().addSpecialBar(weapon);
  79. return true;
  80. }
  81. return false;
  82.  
  83. default:
  84. return true; // incase u want to test a weapon
  85. }
  86. }
  87.  
  88. public static void activateSpecial(Client c, int weapon, int i) {
  89. if (NPCHandler.npcs[i] == null && c.npcIndex > 0) {
  90. return;
  91. }
  92. /*
  93. * if(PlayerHandler.players[i] == null && c.playerIndex > 0) { return; }
  94. */
  95. c.doubleHit = false;
  96. c.specEffect = 0;
  97. c.projectileStage = 0;
  98. c.specMaxHitIncrease = 2;
  99. if (c.npcIndex > 0) {
  100. c.oldNpcIndex = i;
  101. } else if (c.playerIndex > 0) {
  102. c.oldPlayerIndex = i;
  103. PlayerHandler.players[i].underAttackBy = c.playerId;
  104. PlayerHandler.players[i].logoutDelay = System.currentTimeMillis();
  105. PlayerHandler.players[i].singleCombatDelay = System
  106. .currentTimeMillis();
  107. PlayerHandler.players[i].killerId = c.playerId;
  108. }
  109. if (c.playerIndex > 0) {
  110. c.getPA().followPlayer();
  111. } else if (c.npcIndex > 0) {
  112. c.getPA().followNpc();
  113. }
  114. switch (weapon) {
  115. case 10887:
  116. c.gfx0(1027);
  117. c.startAnimation(5870);
  118. c.hitDelay = c.getCombat().getHitDelay(
  119. i,
  120. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  121. .toLowerCase());
  122. c.specDamage = 1.20;
  123. c.specAccuracy = 1.85;
  124. break;
  125.  
  126. case 1305: // dragon long
  127. c.gfx100(248);
  128. c.startAnimation(1058);
  129. c.hitDelay = c.getCombat().getHitDelay(
  130. i,
  131. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  132. .toLowerCase());
  133. c.specAccuracy = 1.10;
  134. c.specDamage = 1.20;
  135. break;
  136.  
  137. case 1215: // dragon daggers
  138. case 1231:
  139. case 5680:
  140. case 5698:
  141. c.gfx100(252);
  142. c.startAnimation(1062);
  143. c.hitDelay = c.getCombat().getHitDelay(
  144. i,
  145. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  146. .toLowerCase());
  147. c.doubleHit = true;
  148. c.specAccuracy = 1.30;
  149. c.specDamage = 1.05;
  150. break;
  151.  
  152. case 11838: // Saradomin Sword
  153. c.gfx100(1221);
  154. c.startAnimation(7072);
  155. c.hitDelay = c.getCombat().getHitDelay(
  156. i,
  157. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  158. .toLowerCase());
  159. c.doubleHit = true;
  160. c.ssSpec = true;
  161. c.specAccuracy = 1.30;
  162. break;
  163.  
  164. case 14484: // Dragon claws
  165. c.startAnimation(7000);
  166. c.usingClaws = true;
  167. c.doubleHit = true;
  168. c.hitDelay = c.getCombat().getHitDelay(
  169. i,
  170. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  171. .toLowerCase());
  172. break;
  173.  
  174. case 4151: // whip
  175. if (NPCHandler.npcs[i] != null) {
  176. NPCHandler.npcs[i].gfx100(341);
  177. }
  178. c.specAccuracy = 1.10;
  179. c.startAnimation(1658);
  180. c.hitDelay = c.getCombat().getHitDelay(
  181. i,
  182. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  183. .toLowerCase());
  184. break;
  185. case 12006:
  186. if (NPCHandler.npcs[i] != null) {
  187. NPCHandler.npcs[i].gfx100(341);
  188. }
  189. c.specAccuracy = 1.10;
  190. c.startAnimation(1658);
  191. c.hitDelay = c.getCombat().getHitDelay(
  192. i,
  193. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  194. .toLowerCase());
  195. break;
  196.  
  197. case 11785:
  198. c.startAnimation(4230);
  199. c.acbSpec = true;
  200. //c.gfx100(301); //just testing will change to projectile
  201. c.usingBow = true;
  202. c.rangeItemUsed = c.playerEquipment[c.playerArrows];
  203. if (c.playerIndex > 0)
  204. c.getCombat().fireProjectilePlayer();
  205. else if (c.npcIndex > 0)
  206. c.getCombat().fireProjectileNpc();
  207. c.hitDelay = c.getCombat().getHitDelay(i, ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
  208. c.specAccuracy = 2;
  209. c.getCombat().calculateRangeAttack();
  210. break;
  211.  
  212. case 11802: // ags
  213. c.startAnimation(7061);
  214. c.specDamage = 1.25;
  215. c.specAccuracy = 1.85;
  216. c.gfx0(1211);
  217. c.hitDelay = c.getCombat().getHitDelay(
  218. i,
  219. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  220. .toLowerCase());
  221. break;
  222.  
  223. case 11808://zgs
  224. c.startAnimation(7057);
  225. c.gfx0(1210);
  226. c.specAccuracy = 1.25;
  227. c.hitDelay = c.getCombat().getHitDelay(
  228. i,
  229. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  230. .toLowerCase());
  231. c.specEffect = 2;
  232. break;
  233.  
  234. case 11804:
  235. c.startAnimation(7060);
  236. c.gfx0(1212);
  237. c.specDamage = 1.10;
  238. c.specAccuracy = 1.5;
  239. c.hitDelay = c.getCombat().getHitDelay(
  240. i,
  241. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  242. .toLowerCase());
  243. c.specEffect = 3;
  244. break;
  245.  
  246. case 11806:
  247. c.startAnimation(7058);
  248. c.gfx0(1209);
  249. c.specAccuracy = 1.25;
  250. c.specEffect = 4;
  251. c.hitDelay = c.getCombat().getHitDelay(
  252. i,
  253. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  254. .toLowerCase());
  255. break;
  256.  
  257. case 1249:
  258. c.startAnimation(405);
  259. c.gfx100(253);
  260. if (c.playerIndex > 0) {
  261. Client o = (Client) PlayerHandler.players[i];
  262. o.getPA().getSpeared(c.absX, c.absY);
  263. }
  264. break;
  265.  
  266. case 3204: // d hally
  267. c.gfx100(282);
  268. c.startAnimation(1203);
  269. c.hitDelay = c.getCombat().getHitDelay(
  270. i,
  271. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  272. .toLowerCase());
  273. if (NPCHandler.npcs[i] != null && c.npcIndex > 0) {
  274. if (!c.goodDistance(c.getX(), c.getY(),
  275. NPCHandler.npcs[i].getX(), NPCHandler.npcs[i].getY(), 1)) {
  276. c.doubleHit = true;
  277. }
  278. }
  279. if (PlayerHandler.players[i] != null && c.playerIndex > 0) {
  280. if (!c.goodDistance(c.getX(), c.getY(),
  281. PlayerHandler.players[i].getX(),
  282. PlayerHandler.players[i].getY(), 1)) {
  283. c.doubleHit = true;
  284. c.delayedDamage2 = Misc.random(c.getCombat()
  285. .calculateMeleeMaxHit());
  286. }
  287. }
  288. break;
  289.  
  290. case 4153: // maul
  291. c.startAnimation(1667);
  292. c.hitDelay = 0;
  293. c.hitDelay = c.getCombat().getHitDelay(
  294. i,
  295. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  296. .toLowerCase());
  297. /*
  298. * if (c.playerIndex > 0) gmaulPlayer(i); else gmaulNpc(i);
  299. */
  300. c.gfx100(340);
  301. break;
  302.  
  303. case 4587: // dscimmy
  304. c.gfx100(347);
  305. c.specEffect = 1;
  306. c.startAnimation(1872);
  307. c.hitDelay = c.getCombat().getHitDelay(
  308. i,
  309. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  310. .toLowerCase());
  311. break;
  312.  
  313. case 1434: // mace
  314. c.startAnimation(1060);
  315. c.gfx100(251);
  316. c.specMaxHitIncrease = 3;
  317. c.hitDelay = c.getCombat().getHitDelay(
  318. i,
  319. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  320. .toLowerCase()) + 1;
  321. c.specDamage = 1.35;
  322. c.specAccuracy = 1.15;
  323. break;
  324.  
  325. case 859: // magic long
  326. c.usingBow = true;
  327. c.bowSpecShot = 3;
  328. c.rangeItemUsed = c.playerEquipment[c.playerArrows];
  329. c.getItems().deleteArrow();
  330. c.lastWeaponUsed = weapon;
  331. c.startAnimation(426);
  332. c.gfx100(250);
  333. c.hitDelay = c.getCombat().getHitDelay(
  334. i,
  335. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  336. .toLowerCase());
  337. c.projectileStage = 1;
  338. if (c.fightMode == 2)
  339. c.attackTimer--;
  340. break;
  341.  
  342. case 861: // magic short
  343. c.usingBow = true;
  344. c.bowSpecShot = 1;
  345. c.rangeItemUsed = c.playerEquipment[c.playerArrows];
  346. c.getItems().deleteArrow();
  347. c.getItems().deleteArrow();
  348. c.lastWeaponUsed = weapon;
  349. c.startAnimation(1074);
  350. c.hitDelay = 3;
  351. c.projectileStage = 1;
  352. c.hitDelay = c.getCombat().getHitDelay(
  353. i,
  354. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  355. .toLowerCase());
  356. if (c.fightMode == 2)
  357. c.attackTimer--;
  358. if (c.playerIndex > 0)
  359. c.getCombat().fireProjectilePlayer();
  360. else if (c.npcIndex > 0)
  361. c.getCombat().fireProjectileNpc();
  362. break;
  363. case 12926:
  364. c.usingBow = true;
  365. c.bowSpecShot = 1;
  366. c.lastWeaponUsed = weapon;
  367. c.hitDelay = 0;
  368. if (c.fightMode == 2)
  369. c.attackTimer--;
  370. if (c.playerIndex > 0)
  371. c.getCombat().fireProjectilePlayer();
  372. else if (c.npcIndex > 0)
  373. c.getCombat().fireProjectileNpc();
  374. c.specAccuracy = 2.2;
  375. c.specDamage = 2.2;
  376. break;
  377. case 11235: // dark bow
  378. c.usingBow = true;
  379. c.dbowSpec = true;
  380. c.rangeItemUsed = c.playerEquipment[c.playerArrows];
  381. c.getItems().deleteArrow();
  382. c.getItems().deleteArrow();
  383. if (c.playerIndex > 0) {
  384. c.getItems().dropArrowPlayer();
  385. } else if (c.npcIndex > 0) {
  386. c.getItems().dropArrowNpc();
  387. }
  388. c.lastWeaponUsed = weapon;
  389. c.hitDelay = 3;
  390. c.startAnimation(426);
  391. c.projectileStage = 1;
  392. c.gfx100(c.getCombat().getRangeStartGFX());
  393. c.hitDelay = c.getCombat().getHitDelay(
  394. i,
  395. ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon])
  396. .toLowerCase());
  397. if (c.fightMode == 2)
  398. c.attackTimer--;
  399. if (c.playerIndex > 0)
  400. c.getCombat().fireProjectilePlayer();
  401. else if (c.npcIndex > 0)
  402. c.getCombat().fireProjectileNpc();
  403. c.specAccuracy = 1.85;
  404. c.specDamage = 1.65;
  405. break;
  406. }
  407. c.delayedDamage = Misc.random(c.getCombat().calculateMeleeMaxHit());
  408. c.delayedDamage2 = Misc.random(c.getCombat().calculateMeleeMaxHit());
  409. c.usingSpecial = false;
  410. c.getItems().updateSpecialBar();
  411. c.getItems().addSpecialBar(c.playerEquipment[c.playerWeapon]);
  412. }
  413. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement