Guest User

Untitled

a guest
Apr 19th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 33.04 KB | None | 0 0
  1. /*Zant Curses*/
  2. public void applynpcSoulSplit(int index, int damage) {
  3. if (!c.curseActive[18])
  4. return;
  5. if (c.oldNpcIndex > 0) {
  6. if (NPCHandler.npcs[c.oldNpcIndex] != null) {
  7. if (damage == 0) {
  8. c.sendMessage("test");
  9. return;
  10. }
  11. if (c.curseActive[18] && !c.prayerActive[23] && (c.playerLevel[3] <= 99)) {
  12. int heal = 2;
  13. if (c.playerLevel[3] + heal >= c.getPA().getLevelForXP(c.playerXP[3])) {
  14. c.playerLevel[3] = c.getPA().getLevelForXP(c.playerXP[3]);
  15. } else {
  16. c.playerLevel[3] += heal;
  17. }
  18. c.getPA().refreshSkill(3);
  19. }
  20. final int pX = c.getX();
  21. final int pY = c.getY();
  22. final int nX = NPCHandler.npcs[c.oldNpcIndex].getX();
  23. final int nY = NPCHandler.npcs[c.oldNpcIndex].getY();
  24. final int offX = (pY - nY) * -1;
  25. final int offY = (pX - nX) * -1;
  26. c.getPA().createPlayersProjectile2(pX, pY, offX, offY, 50, 50, 2263, 9, 9, c.oldNpcIndex + 1, 24, 0);
  27. c.soulSplitDelay = 4;
  28. EventManager.getSingleton().addEvent(new Event() {
  29. public void execute(EventContainer s) {
  30. if (c.soulSplitDelay > 0) {
  31. c.soulSplitDelay--;
  32. }
  33. if (c.soulSplitDelay == 3) {
  34. NPCHandler.npcs[c.oldNpcIndex].gfx0(2264); // 1738
  35. }
  36. if (c.soulSplitDelay == 2) {
  37. int offX2 = (nY - pY)* -1;
  38. int offY2 = (nX - pX)* -1;
  39. c.getPA().createPlayersProjectile(nX, nY, offX2, offY2, 50, 45, 2263, 31, 31, - c.playerId - 1, 0);
  40. }
  41. if (c.soulSplitDelay == 0) {
  42. s.stop();
  43. }
  44. }
  45. }, 500);
  46. }
  47. }
  48. }
  49. public void applySoulSplit(int index, int damage) {
  50. if (!c.curseActive[18])
  51. return;
  52. if (Server.playerHandler.players[index] != null) {
  53. final Client c2 = (Client)Server.playerHandler.players[index];
  54. final int pX = c.getX();
  55. final int pY = c.getY();
  56. final int oX = c2.getX();
  57. final int oY = c2.getY();
  58. int offX = (pY - oY)* -1;
  59. int offY = (pX - oX)* -1;
  60. if (c.curseActive[18] && !c.prayerActive[23] && (c.playerLevel[3] <= 99)) {
  61. int heal = 2;
  62. if (c2.playerLevel[5] <= 0) {
  63. c2.playerLevel[5] = 0;
  64. c2.getCombat().resetPrayers();
  65. }
  66. if (c.playerLevel[3] + heal >= c.getPA().getLevelForXP(c.playerXP[3])) {
  67. c.playerLevel[3] = c.getPA().getLevelForXP(c.playerXP[3]);
  68. } else {
  69. c.playerLevel[3] += heal;
  70. c2.playerLevel[5] -= 1;
  71. }
  72. c.getPA().refreshSkill(3);
  73. c2.getPA().refreshSkill(5);
  74. }
  75. c.getPA().createPlayersProjectile(pX, pY, offX, offY, 50, 45, 2263, 31, 31, - c.oldPlayerIndex - 1, 0);
  76. c.soulSplitDelay = 4;
  77. EventManager.getSingleton().addEvent(new Event() {
  78. public void execute(EventContainer s) {
  79. if (c.soulSplitDelay > 0) {
  80. c.soulSplitDelay--;
  81. }
  82. if (c.soulSplitDelay == 3) {
  83. c2.gfx0(2264);
  84. }
  85. if (c.soulSplitDelay == 2) {
  86. int offX2 = (oY - pY)* -1;
  87. int offY2 = (oX - pX)* -1;
  88. c.getPA().createPlayersProjectile(oX, oY, offX2, offY2, 50, 45, 2263, 31, 31, - c.playerId - 1, 0);
  89. }
  90. if (c.soulSplitDelay == 0) {
  91. s.stop();
  92. }
  93. }
  94. }, 500);
  95. }
  96. }
  97. public void deflectDamage(int damage) {
  98. int damage2 = 0;
  99. if (damage < 10)
  100. damage2 = 0;
  101. else
  102. damage2 = damage/10;
  103. c.dealDamage(damage2);
  104. }
  105.  
  106.  
  107.  
  108. public void applyLeeches(int index) {
  109. if (Misc.random(20) == 0) {
  110. leechAttack(index);
  111. }
  112. if (Misc.random(20) == 0) {
  113. leechDefence(index);
  114. }
  115. if (Misc.random(20) == 0) {
  116. leechStrength(index);
  117. }
  118. if (Misc.random(20) == 0) {
  119. leechSpecial(index);
  120. }
  121. if (Misc.random(20) == 0) {
  122. leechRanged(index);
  123. }
  124. if (Misc.random(20) == 0) {
  125. leechMagic(index);
  126. }
  127. if (Misc.random(20) == 0) {
  128. leechEnergy(index);
  129. }
  130. }
  131.  
  132. public void applynpcLeeches(int index) {
  133. if (Misc.random(20) == 0) {
  134. npcleechAttack(index);
  135. }
  136. if (Misc.random(20) == 0) {
  137. npcleechDefence(index);
  138. }
  139. if (Misc.random(20) == 0) {
  140. npcleechStrength(index);
  141. }
  142. if (Misc.random(20) == 0) {
  143. npcleechSpecial(index);
  144. }
  145. if (Misc.random(20) == 0) {
  146. npcleechRanged(index);
  147. }
  148. if (Misc.random(20) == 0) {
  149. npcleechMagic(index);
  150. }
  151. if (Misc.random(20) == 0) {
  152. npcleechEnergy(index);
  153. }
  154. }
  155.  
  156. public void leechAttack(int index) {
  157. if (!c.curseActive[10])
  158. return;
  159. if (Server.playerHandler.players[index] != null) {
  160. final Client c2 = (Client)Server.playerHandler.players[index];
  161. final int pX = c.getX();
  162. final int pY = c.getY();
  163. final int oX = c2.getX();
  164. final int oY = c2.getY();
  165. int offX = (pY - oY)* -1;
  166. int offY = (pX - oX)* -1;
  167. c.sendMessage("You leech your opponent's attack.");
  168. c.startAnimation(12575);
  169. c.getPA().createPlayersProjectile(pX, pY, offX, offY, 50, 45, 2231, 43, 31, - c.oldPlayerIndex - 1, 1);
  170. c.leechAttackDelay = 2;
  171. EventManager.getSingleton().addEvent(new Event() {
  172. public void execute(EventContainer s) {
  173. if (c.leechAttackDelay > 0) {
  174. c.leechAttackDelay--;
  175. }
  176. if (c.leechAttackDelay == 1) {
  177. c2.gfx0(2232);
  178. if (c.attackMultiplier < 1.10) {
  179. c.attackMultiplier += 0.01;
  180. }
  181. if (c2.attackMultiplier > 0.80) {
  182. c2.attackMultiplier -= 0.01;
  183. }
  184. }
  185. if (c.leechAttackDelay == 0) {
  186. s.stop();
  187. }
  188. }
  189. }, 500);
  190. }
  191. }
  192.  
  193. public void leechRanged(int index) {
  194. if (!c.curseActive[11])
  195. return;
  196. if (Server.playerHandler.players[index] != null) {
  197. final Client c2 = (Client)Server.playerHandler.players[index];
  198. final int pX = c.getX();
  199. final int pY = c.getY();
  200. final int oX = c2.getX();
  201. final int oY = c2.getY();
  202. int offX = (pY - oY)* -1;
  203. int offY = (pX - oX)* -1;
  204. c.sendMessage("You leech your opponent's range.");
  205. c.startAnimation(12575);
  206. c.getPA().createPlayersProjectile(pX, pY, offX, offY, 50, 45, 2236, 43, 31, - c.oldPlayerIndex - 1, 0);
  207. c.leechRangedDelay = 2;
  208. EventManager.getSingleton().addEvent(new Event() {
  209. public void execute(EventContainer s) {
  210. if (c.leechRangedDelay > 0) {
  211. c.leechRangedDelay--;
  212. }
  213. if (c.leechRangedDelay == 1) {
  214. c2.gfx0(2238);
  215. if (c.rangedMultiplier < 1.10) {
  216. c.rangedMultiplier += 0.01;
  217. }
  218. if (c2.rangedMultiplier > 0.80) {
  219. c2.rangedMultiplier -= 0.01;
  220. }
  221. }
  222. if (c.leechRangedDelay == 0) {
  223. s.stop();
  224. }
  225. }
  226. }, 500);
  227. }
  228. }
  229.  
  230. public void leechMagic(int index) {
  231. if (!c.curseActive[12])
  232. return;
  233. if (Server.playerHandler.players[index] != null) {
  234. final Client c2 = (Client)Server.playerHandler.players[index];
  235. final int pX = c.getX();
  236. final int pY = c.getY();
  237. final int oX = c2.getX();
  238. final int oY = c2.getY();
  239. int offX = (pY - oY)* -1;
  240. int offY = (pX - oX)* -1;
  241. c.sendMessage("You leech your opponent's magic.");
  242. c.startAnimation(12575);
  243. c.getPA().createPlayersProjectile(pX, pY, offX, offY, 50, 45, 2240, 43, 31, - c.oldPlayerIndex - 1, 2);
  244. c.leechMagicDelay = 2;
  245. EventManager.getSingleton().addEvent(new Event() {
  246. public void execute(EventContainer s) {
  247. if (c.leechMagicDelay > 0) {
  248. c.leechMagicDelay--;
  249. }
  250. if (c.leechMagicDelay == 1) {
  251. c2.gfx0(2242);
  252. if (c.magicMultiplier < 1.10) {
  253. c.magicMultiplier += 0.01;
  254. }
  255. if (c2.magicMultiplier > 0.80) {
  256. c2.magicMultiplier -= 0.01;
  257. }
  258. }
  259. if (c.leechMagicDelay == 0) {
  260. s.stop();
  261. }
  262. }
  263. }, 500);
  264. }
  265. }
  266.  
  267. public void leechDefence(int index) {
  268. if (!c.curseActive[13])
  269. return;
  270. if (Server.playerHandler.players[index] != null) {
  271. final Client c2 = (Client)Server.playerHandler.players[index];
  272. final int pX = c.getX();
  273. final int pY = c.getY();
  274. final int oX = c2.getX();
  275. final int oY = c2.getY();
  276. int offX = (pY - oY)* -1;
  277. int offY = (pX - oX)* -1;
  278. c.sendMessage("You leech your opponent's defence.");
  279. c.startAnimation(12575);
  280. c.getPA().createPlayersProjectile(pX, pY, offX, offY, 50, 45, 2244, 43, 31, - c.oldPlayerIndex - 1, 3);
  281. c.leechDefenceDelay = 2;
  282. EventManager.getSingleton().addEvent(new Event() {
  283. public void execute(EventContainer s) {
  284. if (c.leechDefenceDelay > 0) {
  285. c.leechDefenceDelay--;
  286. }
  287. if (c.leechDefenceDelay == 1) {
  288. c2.gfx0(2246);
  289. if (c.defenceMultiplier < 1.10) {
  290. c.defenceMultiplier += 0.01;
  291. }
  292. if (c2.defenceMultiplier > 0.80) {
  293. c2.defenceMultiplier -= 0.01;
  294. }
  295. }
  296. if (c.leechDefenceDelay == 0) {
  297. s.stop();
  298. }
  299. }
  300. }, 500);
  301. }
  302. }
  303.  
  304. public void leechStrength(int index) {
  305. if (!c.curseActive[14])
  306. return;
  307. if (Server.playerHandler.players[index] != null) {
  308. final Client c2 = (Client)Server.playerHandler.players[index];
  309. final int pX = c.getX();
  310. final int pY = c.getY();
  311. final int oX = c2.getX();
  312. final int oY = c2.getY();
  313. int offX = (pY - oY)* -1;
  314. int offY = (pX - oX)* -1;
  315. c.sendMessage("You leech your opponent's strength.");
  316. c.startAnimation(12575);
  317. c.getPA().createPlayersProjectile(pX, pY, offX, offY, 50, 45, 2248, 43, 31, - c.oldPlayerIndex - 1, 4);
  318. c.leechStrengthDelay = 2;
  319. EventManager.getSingleton().addEvent(new Event() {
  320. public void execute(EventContainer s) {
  321. if (c.leechStrengthDelay > 0) {
  322. c.leechStrengthDelay--;
  323. }
  324. if (c.leechStrengthDelay == 1) {
  325. c2.gfx0(2250);
  326. if (c.strengthMultiplier < 1.10) {
  327. c.strengthMultiplier += 0.01;
  328. }
  329. if (c2.strengthMultiplier > 0.80) {
  330. c2.strengthMultiplier -= 0.01;
  331. }
  332. }
  333. if (c.leechStrengthDelay == 0) {
  334. s.stop();
  335. }
  336. }
  337. }, 500);
  338. }
  339. }
  340.  
  341. public void leechEnergy(int index) {
  342. if (!c.curseActive[15])
  343. return;
  344. if (Server.playerHandler.players[index] != null) {
  345. final Client c2 = (Client)Server.playerHandler.players[index];
  346. final int pX = c.getX();
  347. final int pY = c.getY();
  348. final int oX = c2.getX();
  349. final int oY = c2.getY();
  350. int offX = (pY - oY)* -1;
  351. int offY = (pX - oX)* -1;
  352. c.sendMessage("You leech your opponent's run energy.");
  353. c.startAnimation(12575);
  354. c.getPA().createPlayersProjectile(pX, pY, offX, offY, 50, 45, 2252, 43, 31, - c.oldPlayerIndex - 1, 5);
  355. c.leechEnergyDelay = 2;
  356. EventManager.getSingleton().addEvent(new Event() {
  357. public void execute(EventContainer s) {
  358. if (c.leechEnergyDelay > 0) {
  359. c.leechEnergyDelay--;
  360. }
  361. if (c.leechEnergyDelay == 1) {
  362. c2.gfx0(2254);
  363. }
  364. if (c.leechEnergyDelay == 0) {
  365. s.stop();
  366. }
  367. }
  368. }, 500);
  369. }
  370. }
  371.  
  372. public void leechSpecial(int index) {
  373. if (!c.curseActive[16])
  374. return;
  375. if (Server.playerHandler.players[index] != null) {
  376. final Client c2 = (Client)Server.playerHandler.players[index];
  377. final int pX = c.getX();
  378. final int pY = c.getY();
  379. final int oX = c2.getX();
  380. final int oY = c2.getY();
  381. int offX = (pY - oY)* -1;
  382. int offY = (pX - oX)* -1;
  383. c.sendMessage("You leech your opponent's special attack.");
  384. c.startAnimation(12575);
  385. c.getPA().createPlayersProjectile(pX, pY, offX, offY, 50, 45, 2256, 43, 31, - c.oldPlayerIndex - 1, 6);
  386. c.leechSpecialDelay = 2;
  387. EventManager.getSingleton().addEvent(new Event() {
  388. public void execute(EventContainer s) {
  389. if (c.leechSpecialDelay > 0) {
  390. c.leechSpecialDelay--;
  391. }
  392. if (c.leechSpecialDelay == 1) {
  393. c2.gfx0(2258);
  394. if (c.specAmount >= 10)
  395. return;
  396. if (c2.specAmount <= 0)
  397. return;
  398. c.specAmount += 1;
  399. c2.specAmount -= 1;
  400. c2.sendMessage("Your special attack has been drained.");
  401. }
  402. if (c.leechSpecialDelay == 0) {
  403. s.stop();
  404. }
  405. }
  406. }, 500);
  407. }
  408. }
  409.  
  410. public void npcleechAttack(int index) {
  411. if (!c.curseActive[10])
  412. return;
  413. if (c.oldNpcIndex > 0) {
  414. if (NPCHandler.npcs[c.oldNpcIndex] != null) {
  415. final int pX = c.getX();
  416. final int pY = c.getY();
  417. final int nX = NPCHandler.npcs[c.oldNpcIndex].getX();
  418. final int nY = NPCHandler.npcs[c.oldNpcIndex].getY();
  419. final int offX = (pY - nY) * -1;
  420. final int offY = (pX - nX) * -1;
  421. c.sendMessage("You leech your opponent's attack.");
  422. c.startAnimation(12575);
  423. c.getPA().createPlayersProjectile(pX, pY, offX, offY, 50, 45, 2231, 43, 31, - c.oldNpcIndex - 1, 1);
  424. c.leechAttackDelay = 2;
  425. EventManager.getSingleton().addEvent(new Event() {
  426. public void execute(EventContainer s) {
  427. if (c.leechAttackDelay > 0) {
  428. c.leechAttackDelay--;
  429. }
  430. if (c.leechAttackDelay == 1) {
  431. NPCHandler.npcs[c.oldNpcIndex].gfx0(2232);
  432. if (c.attackMultiplier < 1.10) {
  433. c.attackMultiplier += 0.01;
  434. }
  435. }
  436. if (c.leechAttackDelay == 0) {
  437. s.stop();
  438. }
  439. }
  440. }, 500);
  441. }
  442. }
  443. }
  444.  
  445. public void npcleechRanged(int index) {
  446. if (!c.curseActive[11])
  447. return;
  448. if (c.oldNpcIndex > 0) {
  449. if (NPCHandler.npcs[c.oldNpcIndex] != null) {
  450. final int pX = c.getX();
  451. final int pY = c.getY();
  452. final int nX = NPCHandler.npcs[c.oldNpcIndex].getX();
  453. final int nY = NPCHandler.npcs[c.oldNpcIndex].getY();
  454. final int offX = (pY - nY) * -1;
  455. final int offY = (pX - nX) * -1;
  456. c.sendMessage("You leech your opponent's range.");
  457. c.startAnimation(12575);
  458. c.getPA().createPlayersProjectile(pX, pY, offX, offY, 50, 45, 2236, 43, 31, - c.oldNpcIndex - 1, 0);
  459. c.leechRangedDelay = 2;
  460. EventManager.getSingleton().addEvent(new Event() {
  461. public void execute(EventContainer s) {
  462. if (c.leechRangedDelay > 0) {
  463. c.leechRangedDelay--;
  464. }
  465. if (c.leechRangedDelay == 1) {
  466. NPCHandler.npcs[c.oldNpcIndex].gfx0(2238);
  467. if (c.rangedMultiplier < 1.10) {
  468. c.rangedMultiplier += 0.01;
  469. }
  470. }
  471. if (c.leechRangedDelay == 0) {
  472. s.stop();
  473. }
  474. }
  475. }, 500);
  476. }
  477. }
  478. }
  479.  
  480. public void npcleechMagic(int index) {
  481. if (!c.curseActive[12])
  482. return;
  483. if (c.oldNpcIndex > 0) {
  484. if (NPCHandler.npcs[c.oldNpcIndex] != null) {
  485. final int pX = c.getX();
  486. final int pY = c.getY();
  487. final int nX = NPCHandler.npcs[c.oldNpcIndex].getX();
  488. final int nY = NPCHandler.npcs[c.oldNpcIndex].getY();
  489. final int offX = (pY - nY) * -1;
  490. final int offY = (pX - nX) * -1;
  491. c.sendMessage("You leech your opponent's magic.");
  492. c.startAnimation(12575);
  493. c.getPA().createPlayersProjectile(pX, pY, offX, offY, 50, 45, 2240, 43, 31, - c.oldNpcIndex - 1, 2);
  494. c.leechMagicDelay = 2;
  495. EventManager.getSingleton().addEvent(new Event() {
  496. public void execute(EventContainer s) {
  497. if (c.leechMagicDelay > 0) {
  498. c.leechMagicDelay--;
  499. }
  500. if (c.leechMagicDelay == 1) {
  501. NPCHandler.npcs[c.oldNpcIndex].gfx0(2242);
  502. if (c.magicMultiplier < 1.10) {
  503. c.magicMultiplier += 0.01;
  504. }
  505. }
  506. if (c.leechMagicDelay == 0) {
  507. s.stop();
  508. }
  509. }
  510. }, 500);
  511. }
  512. }
  513. }
  514.  
  515. public void npcleechDefence(int index) {
  516. if (!c.curseActive[13])
  517. return;
  518. if (c.oldNpcIndex > 0) {
  519. if (NPCHandler.npcs[c.oldNpcIndex] != null) {
  520. final int pX = c.getX();
  521. final int pY = c.getY();
  522. final int nX = NPCHandler.npcs[c.oldNpcIndex].getX();
  523. final int nY = NPCHandler.npcs[c.oldNpcIndex].getY();
  524. final int offX = (pY - nY) * -1;
  525. final int offY = (pX - nX) * -1;
  526. c.sendMessage("You leech your opponent's defence.");
  527. c.startAnimation(12575);
  528. c.getPA().createPlayersProjectile(pX, pY, offX, offY, 50, 45, 2244, 43, 31, - c.oldNpcIndex - 1, 3);
  529. c.leechDefenceDelay = 2;
  530. EventManager.getSingleton().addEvent(new Event() {
  531. public void execute(EventContainer s) {
  532. if (c.leechDefenceDelay > 0) {
  533. c.leechDefenceDelay--;
  534. }
  535. if (c.leechDefenceDelay == 1) {
  536. NPCHandler.npcs[c.oldNpcIndex].gfx0(2246);
  537. if (c.defenceMultiplier < 1.10) {
  538. c.defenceMultiplier += 0.01;
  539. }
  540. }
  541. if (c.leechDefenceDelay == 0) {
  542. s.stop();
  543. }
  544. }
  545. }, 500);
  546. }
  547. }
  548. }
  549.  
  550. public void npcleechStrength(int index) {
  551. if (!c.curseActive[14])
  552. return;
  553. if (c.oldNpcIndex > 0) {
  554. if (NPCHandler.npcs[c.oldNpcIndex] != null) {
  555. final int pX = c.getX();
  556. final int pY = c.getY();
  557. final int nX = NPCHandler.npcs[c.oldNpcIndex].getX();
  558. final int nY = NPCHandler.npcs[c.oldNpcIndex].getY();
  559. final int offX = (pY - nY) * -1;
  560. final int offY = (pX - nX) * -1;
  561. c.sendMessage("You leech your opponent's strength.");
  562. c.startAnimation(12575);
  563. c.getPA().createPlayersProjectile(pX, pY, offX, offY, 50, 45, 2248, 43, 31, - c.oldNpcIndex - 1, 4);
  564. c.leechStrengthDelay = 2;
  565. EventManager.getSingleton().addEvent(new Event() {
  566. public void execute(EventContainer s) {
  567. if (c.leechStrengthDelay > 0) {
  568. c.leechStrengthDelay--;
  569. }
  570. if (c.leechStrengthDelay == 1) {
  571. NPCHandler.npcs[c.oldNpcIndex].gfx0(2250);
  572. if (c.strengthMultiplier < 1.10) {
  573. c.strengthMultiplier += 0.01;
  574. }
  575. }
  576. if (c.leechStrengthDelay == 0) {
  577. s.stop();
  578. }
  579. }
  580. }, 500);
  581. }
  582. }
  583. }
  584.  
  585. public void npcleechEnergy(int index) {
  586. if (!c.curseActive[15])
  587. return;
  588. if (c.oldNpcIndex > 0) {
  589. if (NPCHandler.npcs[c.oldNpcIndex] != null) {
  590. final int pX = c.getX();
  591. final int pY = c.getY();
  592. final int nX = NPCHandler.npcs[c.oldNpcIndex].getX();
  593. final int nY = NPCHandler.npcs[c.oldNpcIndex].getY();
  594. final int offX = (pY - nY) * -1;
  595. final int offY = (pX - nX) * -1;
  596. c.sendMessage("You leech your opponent's run energy.");
  597. c.startAnimation(12575);
  598. c.getPA().createPlayersProjectile(pX, pY, offX, offY, 50, 45, 2252, 43, 31, - c.oldNpcIndex - 1, 5);
  599. c.leechEnergyDelay = 2;
  600. EventManager.getSingleton().addEvent(new Event() {
  601. public void execute(EventContainer s) {
  602. if (c.leechEnergyDelay > 0) {
  603. c.leechEnergyDelay--;
  604. }
  605. if (c.leechEnergyDelay == 1) {
  606. NPCHandler.npcs[c.oldNpcIndex].gfx0(2254);
  607. }
  608. if (c.leechEnergyDelay == 0) {
  609. s.stop();
  610. }
  611. }
  612. }, 500);
  613. }
  614. }
  615. }
  616.  
  617. public void npcleechSpecial(int index) {
  618. if (!c.curseActive[16])
  619. return;
  620. if (c.oldNpcIndex > 0) {
  621. if (NPCHandler.npcs[c.oldNpcIndex] != null) {
  622. final int pX = c.getX();
  623. final int pY = c.getY();
  624. final int nX = NPCHandler.npcs[c.oldNpcIndex].getX();
  625. final int nY = NPCHandler.npcs[c.oldNpcIndex].getY();
  626. final int offX = (pY - nY) * -1;
  627. final int offY = (pX - nX) * -1;
  628. c.sendMessage("You leech your opponent's special attack.");
  629. c.startAnimation(12575);
  630. c.getPA().createPlayersProjectile(pX, pY, offX, offY, 50, 45, 2256, 43, 31, - c.oldNpcIndex - 1, 6);
  631. c.leechSpecialDelay = 2;
  632. EventManager.getSingleton().addEvent(new Event() {
  633. public void execute(EventContainer s) {
  634. if (c.leechSpecialDelay > 0) {
  635. c.leechSpecialDelay--;
  636. }
  637. if (c.leechSpecialDelay == 1) {
  638. NPCHandler.npcs[c.oldNpcIndex].gfx0(2258);
  639. if (c.specAmount >= 10)
  640. return;
  641. c.specAmount += 1;
  642. }
  643. if (c.leechSpecialDelay == 0) {
  644. s.stop();
  645. }
  646. }
  647. }, 500);
  648. }
  649. }
  650. }
Add Comment
Please, Sign In to add comment