diff options
| author | Shauren <shauren.dev@gmail.com> | 2011-01-03 21:17:49 +0100 |
|---|---|---|
| committer | Shauren <shauren.dev@gmail.com> | 2011-01-03 22:52:22 +0100 |
| commit | 77af7ba851b86026d5677fe76d0d0f846446abdc (patch) | |
| tree | 20963ec0e96785dc21287a9ae83089b02ea72972 /src/server/scripts | |
| parent | 64ea69a66d652cb6c9d8d6656071ce4585e75a29 (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.cpp | 14 | ||||
| -rw-r--r-- | src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp | 13 |
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); } |
