Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .../scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp | 49 ++++++++++++--------
- 1 files changed, 29 insertions(+), 20 deletions(-)
- diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
- index 5380cdc..ee954b8 100644
- --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
- +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
- @@ -119,7 +119,8 @@ enum XT002Creatures
- enum XT002Actions
- {
- ACTION_NONE = 0,
- - ACTION_ENTER_HARD_MODE = 1
- + ACTION_ENTER_HARD_MODE = 1,
- + ACTION_DISPOSE_HEART = 2
- };
- enum XT002AchievementCredits
- @@ -162,26 +163,34 @@ class boss_xt002 : public CreatureScript
- {
- DoScriptText(SAY_AGGRO, me);
- _EnterCombat();
- - events.ScheduleEvent(EVENT_SEARING_LIGHT, urand(10 * IN_MILLISECONDS, 12.5 * IN_MILLISECONDS));
- - events.ScheduleEvent(EVENT_GRAVITY_BOMB, urand(20 * IN_MILLISECONDS, 22.5 * IN_MILLISECONDS));
- - events.ScheduleEvent(EVENT_ENRAGE, 600 * IN_MILLISECONDS);
- - events.ScheduleEvent(EVENT_TYMPANIC_TANTRUM, 30 * IN_MILLISECONDS);
- +
- instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_MUST_DECONSTRUCT_FASTER);
- if (Unit* Heart = _vehicle->GetPassenger(0))
- Heart->ToCreature()->SetInCombatWithZone();
- +
- + events.ScheduleEvent(EVENT_SEARING_LIGHT, urand(10 * IN_MILLISECONDS, (uint32) 12.5 * IN_MILLISECONDS));
- + events.ScheduleEvent(EVENT_GRAVITY_BOMB, urand(20 * IN_MILLISECONDS, (uint32) 22.5 * IN_MILLISECONDS));
- + events.ScheduleEvent(EVENT_ENRAGE, 600 * IN_MILLISECONDS);
- + events.ScheduleEvent(EVENT_TYMPANIC_TANTRUM, 30 * IN_MILLISECONDS);
- }
- void DoAction(int32 const action)
- {
- - if (action == ACTION_ENTER_HARD_MODE)
- + switch (action)
- {
- - me->SetFullHealth();
- - DoCast(me, RAID_MODE(SPELL_HEARTBREAK_10, SPELL_HEARTBREAK_25), true);
- - me->AddLootMode(LOOT_MODE_HARD_MODE_1);
- - _hardMode = true;
- - SetPhaseOne();
- - return;
- + case ACTION_ENTER_HARD_MODE:
- + me->SetFullHealth();
- + DoCast(me, RAID_MODE(SPELL_HEARTBREAK_10, SPELL_HEARTBREAK_25), true);
- + me->AddLootMode(LOOT_MODE_HARD_MODE_1);
- + _hardMode = true;
- + SetPhaseOne();
- + // no break;
- + case ACTION_DISPOSE_HEART:
- + SetPhaseOne();
- + break;
- + default:
- + break;
- }
- }
- @@ -247,19 +256,19 @@ class boss_xt002 : public CreatureScript
- case EVENT_SEARING_LIGHT:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true, -RAID_MODE(SPELL_GRAVITY_BOMB_10, SPELL_GRAVITY_BOMB_25)))
- DoCast(target, RAID_MODE(SPELL_SEARING_LIGHT_10, SPELL_SEARING_LIGHT_25));
- - events.ScheduleEvent(EVENT_SEARING_LIGHT, urand(22.5 * IN_MILLISECONDS, 25 * IN_MILLISECONDS));
- + events.ScheduleEvent(EVENT_SEARING_LIGHT, urand((uint32) 22.5 * IN_MILLISECONDS, 25 * IN_MILLISECONDS));
- break;
- case EVENT_GRAVITY_BOMB:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true, -RAID_MODE(SPELL_SEARING_LIGHT_10, SPELL_SEARING_LIGHT_25)))
- DoCast(target, RAID_MODE(SPELL_GRAVITY_BOMB_10, SPELL_GRAVITY_BOMB_25));
- - events.ScheduleEvent(EVENT_GRAVITY_BOMB, urand(22.5 * IN_MILLISECONDS, 25 * IN_MILLISECONDS));
- + events.ScheduleEvent(EVENT_GRAVITY_BOMB, urand((uint32) 22.5 * IN_MILLISECONDS, 25 * IN_MILLISECONDS));
- break;
- case EVENT_TYMPANIC_TANTRUM:
- DoScriptText(SAY_TYMPANIC_TANTRUM, me);
- DoCastAOE(SPELL_TYMPANIC_TANTRUM);
- events.ScheduleEvent(EVENT_TYMPANIC_TANTRUM, 60000);
- - events.RescheduleEvent(EVENT_SEARING_LIGHT, urand(15 * IN_MILLISECONDS, 17.5 * IN_MILLISECONDS));
- - events.RescheduleEvent(EVENT_GRAVITY_BOMB, urand(25 * IN_MILLISECONDS, 27.5 * IN_MILLISECONDS));
- + events.RescheduleEvent(EVENT_SEARING_LIGHT, urand(15 * IN_MILLISECONDS, (uint32) 17.5 * IN_MILLISECONDS));
- + events.RescheduleEvent(EVENT_GRAVITY_BOMB, urand(25 * IN_MILLISECONDS, (uint32) 27.5 * IN_MILLISECONDS));
- break;
- case EVENT_ENRAGE:
- DoCast(me, SPELL_ENRAGE, true);
- @@ -267,7 +276,7 @@ class boss_xt002 : public CreatureScript
- events.CancelEvent(EVENT_ENRAGE);
- break;
- case EVENT_DISPOSE_HEART:
- - SetPhaseOne();
- + DoAction(ACTION_DISPOSE_HEART);
- events.CancelEvent(EVENT_DISPOSE_HEART);
- break;
- default:
- @@ -366,8 +375,8 @@ class boss_xt002 : public CreatureScript
- void SetPhaseOne()
- {
- - events.ScheduleEvent(EVENT_SEARING_LIGHT, urand(10 * IN_MILLISECONDS, 12.5 * IN_MILLISECONDS));
- - events.ScheduleEvent(EVENT_GRAVITY_BOMB, urand(20 * IN_MILLISECONDS, 22.5 * IN_MILLISECONDS));
- + events.ScheduleEvent(EVENT_SEARING_LIGHT, urand(10 * IN_MILLISECONDS, (uint32) 12.5 * IN_MILLISECONDS));
- + events.ScheduleEvent(EVENT_GRAVITY_BOMB, urand(20 * IN_MILLISECONDS, (uint32) 22.5 * IN_MILLISECONDS));
- events.ScheduleEvent(EVENT_TYMPANIC_TANTRUM, 30* IN_MILLISECONDS);
- Heart(false);
- @@ -1139,4 +1148,4 @@ void AddSC_boss_xt002()
- new achievement_nerf_engineering();
- new achievement_heartbreaker();
- new achievement_nerf_gravity_bombs();
- -}
- \ No newline at end of file
- +}
Add Comment
Please, Sign In to add comment