Guest User

Untitled

a guest
May 25th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.54 KB | None | 0 0
  1. .../scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp | 49 ++++++++++++--------
  2. 1 files changed, 29 insertions(+), 20 deletions(-)
  3.  
  4. diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
  5. index 5380cdc..ee954b8 100644
  6. --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
  7. +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
  8. @@ -119,7 +119,8 @@ enum XT002Creatures
  9. enum XT002Actions
  10. {
  11. ACTION_NONE = 0,
  12. - ACTION_ENTER_HARD_MODE = 1
  13. + ACTION_ENTER_HARD_MODE = 1,
  14. + ACTION_DISPOSE_HEART = 2
  15. };
  16.  
  17. enum XT002AchievementCredits
  18. @@ -162,26 +163,34 @@ class boss_xt002 : public CreatureScript
  19. {
  20. DoScriptText(SAY_AGGRO, me);
  21. _EnterCombat();
  22. - events.ScheduleEvent(EVENT_SEARING_LIGHT, urand(10 * IN_MILLISECONDS, 12.5 * IN_MILLISECONDS));
  23. - events.ScheduleEvent(EVENT_GRAVITY_BOMB, urand(20 * IN_MILLISECONDS, 22.5 * IN_MILLISECONDS));
  24. - events.ScheduleEvent(EVENT_ENRAGE, 600 * IN_MILLISECONDS);
  25. - events.ScheduleEvent(EVENT_TYMPANIC_TANTRUM, 30 * IN_MILLISECONDS);
  26. +
  27. instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_MUST_DECONSTRUCT_FASTER);
  28.  
  29. if (Unit* Heart = _vehicle->GetPassenger(0))
  30. Heart->ToCreature()->SetInCombatWithZone();
  31. +
  32. + events.ScheduleEvent(EVENT_SEARING_LIGHT, urand(10 * IN_MILLISECONDS, (uint32) 12.5 * IN_MILLISECONDS));
  33. + events.ScheduleEvent(EVENT_GRAVITY_BOMB, urand(20 * IN_MILLISECONDS, (uint32) 22.5 * IN_MILLISECONDS));
  34. + events.ScheduleEvent(EVENT_ENRAGE, 600 * IN_MILLISECONDS);
  35. + events.ScheduleEvent(EVENT_TYMPANIC_TANTRUM, 30 * IN_MILLISECONDS);
  36. }
  37.  
  38. void DoAction(int32 const action)
  39. {
  40. - if (action == ACTION_ENTER_HARD_MODE)
  41. + switch (action)
  42. {
  43. - me->SetFullHealth();
  44. - DoCast(me, RAID_MODE(SPELL_HEARTBREAK_10, SPELL_HEARTBREAK_25), true);
  45. - me->AddLootMode(LOOT_MODE_HARD_MODE_1);
  46. - _hardMode = true;
  47. - SetPhaseOne();
  48. - return;
  49. + case ACTION_ENTER_HARD_MODE:
  50. + me->SetFullHealth();
  51. + DoCast(me, RAID_MODE(SPELL_HEARTBREAK_10, SPELL_HEARTBREAK_25), true);
  52. + me->AddLootMode(LOOT_MODE_HARD_MODE_1);
  53. + _hardMode = true;
  54. + SetPhaseOne();
  55. + // no break;
  56. + case ACTION_DISPOSE_HEART:
  57. + SetPhaseOne();
  58. + break;
  59. + default:
  60. + break;
  61. }
  62. }
  63.  
  64. @@ -247,19 +256,19 @@ class boss_xt002 : public CreatureScript
  65. case EVENT_SEARING_LIGHT:
  66. if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true, -RAID_MODE(SPELL_GRAVITY_BOMB_10, SPELL_GRAVITY_BOMB_25)))
  67. DoCast(target, RAID_MODE(SPELL_SEARING_LIGHT_10, SPELL_SEARING_LIGHT_25));
  68. - events.ScheduleEvent(EVENT_SEARING_LIGHT, urand(22.5 * IN_MILLISECONDS, 25 * IN_MILLISECONDS));
  69. + events.ScheduleEvent(EVENT_SEARING_LIGHT, urand((uint32) 22.5 * IN_MILLISECONDS, 25 * IN_MILLISECONDS));
  70. break;
  71. case EVENT_GRAVITY_BOMB:
  72. if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true, -RAID_MODE(SPELL_SEARING_LIGHT_10, SPELL_SEARING_LIGHT_25)))
  73. DoCast(target, RAID_MODE(SPELL_GRAVITY_BOMB_10, SPELL_GRAVITY_BOMB_25));
  74. - events.ScheduleEvent(EVENT_GRAVITY_BOMB, urand(22.5 * IN_MILLISECONDS, 25 * IN_MILLISECONDS));
  75. + events.ScheduleEvent(EVENT_GRAVITY_BOMB, urand((uint32) 22.5 * IN_MILLISECONDS, 25 * IN_MILLISECONDS));
  76. break;
  77. case EVENT_TYMPANIC_TANTRUM:
  78. DoScriptText(SAY_TYMPANIC_TANTRUM, me);
  79. DoCastAOE(SPELL_TYMPANIC_TANTRUM);
  80. events.ScheduleEvent(EVENT_TYMPANIC_TANTRUM, 60000);
  81. - events.RescheduleEvent(EVENT_SEARING_LIGHT, urand(15 * IN_MILLISECONDS, 17.5 * IN_MILLISECONDS));
  82. - events.RescheduleEvent(EVENT_GRAVITY_BOMB, urand(25 * IN_MILLISECONDS, 27.5 * IN_MILLISECONDS));
  83. + events.RescheduleEvent(EVENT_SEARING_LIGHT, urand(15 * IN_MILLISECONDS, (uint32) 17.5 * IN_MILLISECONDS));
  84. + events.RescheduleEvent(EVENT_GRAVITY_BOMB, urand(25 * IN_MILLISECONDS, (uint32) 27.5 * IN_MILLISECONDS));
  85. break;
  86. case EVENT_ENRAGE:
  87. DoCast(me, SPELL_ENRAGE, true);
  88. @@ -267,7 +276,7 @@ class boss_xt002 : public CreatureScript
  89. events.CancelEvent(EVENT_ENRAGE);
  90. break;
  91. case EVENT_DISPOSE_HEART:
  92. - SetPhaseOne();
  93. + DoAction(ACTION_DISPOSE_HEART);
  94. events.CancelEvent(EVENT_DISPOSE_HEART);
  95. break;
  96. default:
  97. @@ -366,8 +375,8 @@ class boss_xt002 : public CreatureScript
  98.  
  99. void SetPhaseOne()
  100. {
  101. - events.ScheduleEvent(EVENT_SEARING_LIGHT, urand(10 * IN_MILLISECONDS, 12.5 * IN_MILLISECONDS));
  102. - events.ScheduleEvent(EVENT_GRAVITY_BOMB, urand(20 * IN_MILLISECONDS, 22.5 * IN_MILLISECONDS));
  103. + events.ScheduleEvent(EVENT_SEARING_LIGHT, urand(10 * IN_MILLISECONDS, (uint32) 12.5 * IN_MILLISECONDS));
  104. + events.ScheduleEvent(EVENT_GRAVITY_BOMB, urand(20 * IN_MILLISECONDS, (uint32) 22.5 * IN_MILLISECONDS));
  105. events.ScheduleEvent(EVENT_TYMPANIC_TANTRUM, 30* IN_MILLISECONDS);
  106.  
  107. Heart(false);
  108. @@ -1139,4 +1148,4 @@ void AddSC_boss_xt002()
  109. new achievement_nerf_engineering();
  110. new achievement_heartbreaker();
  111. new achievement_nerf_gravity_bombs();
  112. -}
  113. \ No newline at end of file
  114. +}
Add Comment
Please, Sign In to add comment