aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
authorShauren <shauren.dev@gmail.com>2011-01-03 21:17:49 +0100
committerShauren <shauren.dev@gmail.com>2011-01-03 22:52:22 +0100
commit77af7ba851b86026d5677fe76d0d0f846446abdc (patch)
tree20963ec0e96785dc21287a9ae83089b02ea72972 /src/server/scripts
parent64ea69a66d652cb6c9d8d6656071ce4585e75a29 (diff)
Core/Pit of Saron: Fixed crash in spell_exploding_orb_hasty_grow spell script, fixed player name in Mark of Rimefang announcement
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp14
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp13
2 files changed, 15 insertions, 12 deletions
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
index 9dc88776858..cea01f84080 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
@@ -599,12 +599,14 @@ class spell_exploding_orb_hasty_grow : public SpellScriptLoader
{
if (GetStackAmount() == 15)
{
- GetTarget()->CastSpell(GetTarget(), SPELL_EXPLOSIVE_BARRAGE_DAMAGE, false);
- GetTarget()->RemoveAurasDueToSpell(SPELL_HASTY_GROW);
- GetTarget()->RemoveAurasDueToSpell(SPELL_AUTO_GROW);
- GetTarget()->RemoveAurasDueToSpell(SPELL_EXPLODING_ORB);
- if (Creature* creature = GetTarget()->ToCreature())
- creature->DespawnOrUnsummon(1000);
+ Unit* target = GetTarget(); // store target because aura gets removed
+ PreventDefaultAction();
+ target->CastSpell(target, SPELL_EXPLOSIVE_BARRAGE_DAMAGE, false);
+ target->RemoveAurasDueToSpell(SPELL_HASTY_GROW);
+ target->RemoveAurasDueToSpell(SPELL_AUTO_GROW);
+ target->RemoveAurasDueToSpell(SPELL_EXPLODING_ORB);
+ if (Creature* creature = target->ToCreature())
+ creature->DespawnOrUnsummon();
}
}
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
index d9e24d43d91..0af8b7e6c81 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
@@ -204,7 +204,7 @@ class boss_tyrannus : public CreatureScript
while (uint32 eventId = events.ExecuteEvent())
{
- switch(eventId)
+ switch (eventId)
{
case EVENT_INTRO_1:
//DoScriptText(SAY_GORKUN_INTRO_2, pGorkunOrVictus);
@@ -219,12 +219,11 @@ class boss_tyrannus : public CreatureScript
case EVENT_COMBAT_START:
if (Creature* rimefang = me->GetCreature(*me, instance->GetData64(DATA_RIMEFANG)))
rimefang->AI()->DoAction(ACTION_START_RIMEFANG); //set rimefang also infight
-
events.SetPhase(PHASE_COMBAT);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetReactState(REACT_AGGRESSIVE);
DoCast(me, SPELL_FULL_HEAL);
- me->SetInCombatWithZone();
+ DoZoneInCombat();
events.ScheduleEvent(EVENT_OVERLORD_BRAND, urand(5000, 7000));
events.ScheduleEvent(EVENT_FORCEFUL_SMASH, urand(14000, 16000));
events.ScheduleEvent(EVENT_MARK_OF_RIMEFANG, urand(25000, 27000));
@@ -246,9 +245,11 @@ class boss_tyrannus : public CreatureScript
break;
case EVENT_MARK_OF_RIMEFANG:
DoScriptText(SAY_MARK_RIMEFANG_1, me);
- DoScriptText(SAY_MARK_RIMEFANG_2, me);
- if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0))
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true))
+ {
+ DoScriptText(SAY_MARK_RIMEFANG_2, me, target);
DoCast(target, SPELL_MARK_OF_RIMEFANG);
+ }
events.ScheduleEvent(EVENT_MARK_OF_RIMEFANG, urand(24000, 26000));
break;
}
@@ -297,7 +298,7 @@ class boss_rimefang : public CreatureScript
if (actionId == ACTION_START_RIMEFANG)
{
_events.SetPhase(PHASE_COMBAT);
- me->SetInCombatWithZone();
+ DoZoneInCombat();
_events.ScheduleEvent(EVENT_MOVE_NEXT, 500, 0, PHASE_COMBAT);
_events.ScheduleEvent(EVENT_ICY_BLAST, 15000, 0, PHASE_COMBAT);
}