Core/Pit of Saron: Fixed crash in spell_exploding_orb_hasty_grow spell script, fixed player name in Mark of Rimefang announcement
This commit is contained in:
@@ -599,12 +599,14 @@ class spell_exploding_orb_hasty_grow : public SpellScriptLoader
|
|||||||
{
|
{
|
||||||
if (GetStackAmount() == 15)
|
if (GetStackAmount() == 15)
|
||||||
{
|
{
|
||||||
GetTarget()->CastSpell(GetTarget(), SPELL_EXPLOSIVE_BARRAGE_DAMAGE, false);
|
Unit* target = GetTarget(); // store target because aura gets removed
|
||||||
GetTarget()->RemoveAurasDueToSpell(SPELL_HASTY_GROW);
|
PreventDefaultAction();
|
||||||
GetTarget()->RemoveAurasDueToSpell(SPELL_AUTO_GROW);
|
target->CastSpell(target, SPELL_EXPLOSIVE_BARRAGE_DAMAGE, false);
|
||||||
GetTarget()->RemoveAurasDueToSpell(SPELL_EXPLODING_ORB);
|
target->RemoveAurasDueToSpell(SPELL_HASTY_GROW);
|
||||||
if (Creature* creature = GetTarget()->ToCreature())
|
target->RemoveAurasDueToSpell(SPELL_AUTO_GROW);
|
||||||
creature->DespawnOrUnsummon(1000);
|
target->RemoveAurasDueToSpell(SPELL_EXPLODING_ORB);
|
||||||
|
if (Creature* creature = target->ToCreature())
|
||||||
|
creature->DespawnOrUnsummon();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -204,7 +204,7 @@ class boss_tyrannus : public CreatureScript
|
|||||||
|
|
||||||
while (uint32 eventId = events.ExecuteEvent())
|
while (uint32 eventId = events.ExecuteEvent())
|
||||||
{
|
{
|
||||||
switch(eventId)
|
switch (eventId)
|
||||||
{
|
{
|
||||||
case EVENT_INTRO_1:
|
case EVENT_INTRO_1:
|
||||||
//DoScriptText(SAY_GORKUN_INTRO_2, pGorkunOrVictus);
|
//DoScriptText(SAY_GORKUN_INTRO_2, pGorkunOrVictus);
|
||||||
@@ -219,12 +219,11 @@ class boss_tyrannus : public CreatureScript
|
|||||||
case EVENT_COMBAT_START:
|
case EVENT_COMBAT_START:
|
||||||
if (Creature* rimefang = me->GetCreature(*me, instance->GetData64(DATA_RIMEFANG)))
|
if (Creature* rimefang = me->GetCreature(*me, instance->GetData64(DATA_RIMEFANG)))
|
||||||
rimefang->AI()->DoAction(ACTION_START_RIMEFANG); //set rimefang also infight
|
rimefang->AI()->DoAction(ACTION_START_RIMEFANG); //set rimefang also infight
|
||||||
|
|
||||||
events.SetPhase(PHASE_COMBAT);
|
events.SetPhase(PHASE_COMBAT);
|
||||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||||
me->SetReactState(REACT_AGGRESSIVE);
|
me->SetReactState(REACT_AGGRESSIVE);
|
||||||
DoCast(me, SPELL_FULL_HEAL);
|
DoCast(me, SPELL_FULL_HEAL);
|
||||||
me->SetInCombatWithZone();
|
DoZoneInCombat();
|
||||||
events.ScheduleEvent(EVENT_OVERLORD_BRAND, urand(5000, 7000));
|
events.ScheduleEvent(EVENT_OVERLORD_BRAND, urand(5000, 7000));
|
||||||
events.ScheduleEvent(EVENT_FORCEFUL_SMASH, urand(14000, 16000));
|
events.ScheduleEvent(EVENT_FORCEFUL_SMASH, urand(14000, 16000));
|
||||||
events.ScheduleEvent(EVENT_MARK_OF_RIMEFANG, urand(25000, 27000));
|
events.ScheduleEvent(EVENT_MARK_OF_RIMEFANG, urand(25000, 27000));
|
||||||
@@ -246,9 +245,11 @@ class boss_tyrannus : public CreatureScript
|
|||||||
break;
|
break;
|
||||||
case EVENT_MARK_OF_RIMEFANG:
|
case EVENT_MARK_OF_RIMEFANG:
|
||||||
DoScriptText(SAY_MARK_RIMEFANG_1, me);
|
DoScriptText(SAY_MARK_RIMEFANG_1, me);
|
||||||
DoScriptText(SAY_MARK_RIMEFANG_2, me);
|
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true))
|
||||||
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
{
|
||||||
|
DoScriptText(SAY_MARK_RIMEFANG_2, me, target);
|
||||||
DoCast(target, SPELL_MARK_OF_RIMEFANG);
|
DoCast(target, SPELL_MARK_OF_RIMEFANG);
|
||||||
|
}
|
||||||
events.ScheduleEvent(EVENT_MARK_OF_RIMEFANG, urand(24000, 26000));
|
events.ScheduleEvent(EVENT_MARK_OF_RIMEFANG, urand(24000, 26000));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -297,7 +298,7 @@ class boss_rimefang : public CreatureScript
|
|||||||
if (actionId == ACTION_START_RIMEFANG)
|
if (actionId == ACTION_START_RIMEFANG)
|
||||||
{
|
{
|
||||||
_events.SetPhase(PHASE_COMBAT);
|
_events.SetPhase(PHASE_COMBAT);
|
||||||
me->SetInCombatWithZone();
|
DoZoneInCombat();
|
||||||
_events.ScheduleEvent(EVENT_MOVE_NEXT, 500, 0, PHASE_COMBAT);
|
_events.ScheduleEvent(EVENT_MOVE_NEXT, 500, 0, PHASE_COMBAT);
|
||||||
_events.ScheduleEvent(EVENT_ICY_BLAST, 15000, 0, PHASE_COMBAT);
|
_events.ScheduleEvent(EVENT_ICY_BLAST, 15000, 0, PHASE_COMBAT);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user