armark1ng

Untitled

Jun 25th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.87 KB | None | 0 0
  1. public void sendBringHimDown() {
  2. getTemporaryAttributtes().put("BringHimDownClick", Boolean.TRUE);
  3. setCantDoDefenceEmote(true);
  4. setNextAnimation(new Animation(20382));
  5. damageTime = Utils.currentTimeMillis() + 180000;// 3mins
  6. for (Player player : instance.getPlayersOnBattle()) {
  7. if (player == null || player.isDead())
  8. continue;
  9. player.stopAll();
  10. player.faceEntity(this);
  11. player.getTemporaryAttributtes().put("BRINGHIM", Boolean.TRUE);
  12. player.setNextAnimation(getBringHimDownAnimation());
  13. }
  14. }
  15.  
  16. public void processBringHimDown() {
  17. if (getBringHimPoints() >= 200 && getTemporaryAttributtes().get("BringHimDownClick") == Boolean.TRUE) {
  18. getTemporaryAttributtes().put("BringHimDownClick", Boolean.FALSE);
  19. setNextAnimation(new Animation(20383));
  20. WorldTasksManager.schedule(new WorldTask() {
  21. @Override
  22. public void run() {
  23. getTemporaryAttributtes().put("VoragoType", 2);
  24. transform();
  25. finishBringHimDown();
  26. }
  27. }, (AnimationDefinitions.getAnimationDefinitions(20383).getEmoteClientCycles() / 30));
  28. for (Player player : getVoragoInstance().getPlayersOnBattle()) {
  29. if (player == null)
  30. continue;
  31. Vorago thisNPC = this;
  32. player.getTemporaryAttributtes().remove("BRINGHIM");
  33. player.lock();
  34. player.setNextAnimation(new Animation(20400));
  35. WorldTasksManager.schedule(new WorldTask() {
  36. @Override
  37. public void run() {
  38. if (damageTime >= Utils.currentTimeMillis())
  39. player.applyHit(new Hit(thisNPC, 200, HitLook.REGULAR_DAMAGE));
  40. player.unlock();
  41. }
  42. }, (AnimationDefinitions.getAnimationDefinitions(20400).getEmoteClientCycles() / 30) + 1);
  43. }
  44. }
  45. }
  46.  
  47. public void finishBringHimDown() {
  48. for (Player player : instance.getPlayersOnBattle()) {
  49. if (player == null || player.isDead())
  50. continue;
  51. VoragoInstance.sendMessage(player, 1,
  52. "<col=00ff00>Vorago stumbles! Deal as much damage as possible to loosen the next weapon piece!");
  53. }
  54. int damageRequired = 2000 * getPlayerOnBattleCount();
  55. WorldTasksManager.schedule(new WorldTask() {
  56. @Override
  57. public void run() {
  58. setBringHimPoints(0);
  59. setNextAnimation(new Animation(20362));
  60. WorldTasksManager.schedule(new WorldTask() {
  61. @Override
  62. public void run() {
  63. getTemporaryAttributtes().remove("BringHimDownClick");
  64. getTemporaryAttributtes().put("VoragoType", 1);
  65. transform();
  66. setCantSetTargetAutoRelatio(false);
  67. setCantDoDefenceEmote(false);
  68. }
  69. }, (AnimationDefinitions.getAnimationDefinitions(20362).getEmoteClientCycles() / 30));
  70. int finishType = (losenWeaponPieceStage >= 2 || damageWhileDown >= damageRequired) ? 2
  71. : (damageWhileDown < (damageRequired / 2)) ? 1 : 0;
  72. for (Player player : instance.getPlayersOnBattle()) {
  73. if (player == null || player.isDead())
  74. continue;
  75. VoragoInstance.sendMessage(player, 1, finishType == 2
  76. ? "<col=00ff00>The weapon piece falls from Vorago's body!"
  77. : finishType == 1
  78. ? "<col=ff0000>You didn't do enough damage in time. The weapon piece still looks secure."
  79. : "<col=FF6600>Your strong attacks helps loosen the weapon piece a little more.");
  80. }
  81. phaseProgress = finishType == 2 ? 5 : 1;
  82. if (finishType == 2) {
  83. WorldTile tile = instance.randomSpawnTile(null, instance.getVoragoSpawnLocation(phase), 5);
  84. weaponPieces[1] = World.addWeaponPiece(new Item(28602), tile);
  85. } else if (finishType == 0) {
  86. losenWeaponPieceStage++;
  87. }
  88. damageWhileDown = 0;
  89. stop();
  90. }
  91. }, 30);
  92. }
  93.  
  94. public Animation getBringHimDownAnimation() {
  95. int points = getBringHimPoints();
  96. int index = 0;
  97. if (points >= 167 && points < 200)
  98. index = 5;
  99. else if (points >= 134 && points < 167)
  100. index = 4;
  101. else if (points >= 101 && points < 134)
  102. index = 3;
  103. else if (points >= 68 && points < 101)
  104. index = 2;
  105. else if (points >= 35 && points < 68)
  106. index = 1;
  107. return new Animation(20394 + index);
  108. }
Advertisement
Add Comment
Please, Sign In to add comment