Scripts/Ulduar/Freya: Fix chest spawning when completing the encounter properly (in addition to spawn support when abusing .die for testing purposes)
This commit is contained in:
@@ -321,35 +321,12 @@ class boss_freya : public CreatureScript
|
|||||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
|
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DamageTaken(Unit* /*who*/, uint32& damage)
|
void DamageTaken(Unit* who, uint32& damage)
|
||||||
{
|
{
|
||||||
if (damage >= me->GetHealth())
|
if (damage >= me->GetHealth())
|
||||||
{
|
{
|
||||||
damage = 0;
|
damage = 0;
|
||||||
DoScriptText(SAY_DEATH, me);
|
JustDied(who);
|
||||||
me->SetReactState(REACT_PASSIVE);
|
|
||||||
_JustDied();
|
|
||||||
me->RemoveAllAuras();
|
|
||||||
me->AttackStop();
|
|
||||||
me->setFaction(35);
|
|
||||||
me->DeleteThreatList();
|
|
||||||
me->CombatStop(true);
|
|
||||||
me->DespawnOrUnsummon(7500);
|
|
||||||
me->CastSpell(me, SPELL_KNOCK_ON_WOOD_CREDIT, true);
|
|
||||||
|
|
||||||
Creature* Elder[3];
|
|
||||||
for (uint8 n = 0; n < 3; ++n)
|
|
||||||
{
|
|
||||||
Elder[n] = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_BRIGHTLEAF + n));
|
|
||||||
if (Elder[n] && Elder[n]->isAlive())
|
|
||||||
{
|
|
||||||
Elder[n]->RemoveAllAuras();
|
|
||||||
Elder[n]->AttackStop();
|
|
||||||
Elder[n]->CombatStop(true);
|
|
||||||
Elder[n]->DeleteThreatList();
|
|
||||||
Elder[n]->GetAI()->DoAction(ACTION_ELDER_FREYA_KILLED);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -625,7 +602,30 @@ class boss_freya : public CreatureScript
|
|||||||
|
|
||||||
me->CastSpell((Unit*)NULL, summonSpell[me->GetMap()->GetDifficulty()][elderCount], true);
|
me->CastSpell((Unit*)NULL, summonSpell[me->GetMap()->GetDifficulty()][elderCount], true);
|
||||||
|
|
||||||
|
DoScriptText(SAY_DEATH, me);
|
||||||
|
me->SetReactState(REACT_PASSIVE);
|
||||||
_JustDied();
|
_JustDied();
|
||||||
|
me->RemoveAllAuras();
|
||||||
|
me->AttackStop();
|
||||||
|
me->setFaction(35);
|
||||||
|
me->DeleteThreatList();
|
||||||
|
me->CombatStop(true);
|
||||||
|
me->DespawnOrUnsummon(7500);
|
||||||
|
me->CastSpell(me, SPELL_KNOCK_ON_WOOD_CREDIT, true);
|
||||||
|
|
||||||
|
Creature* Elder[3];
|
||||||
|
for (uint8 n = 0; n < 3; ++n)
|
||||||
|
{
|
||||||
|
Elder[n] = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_BRIGHTLEAF + n));
|
||||||
|
if (Elder[n] && Elder[n]->isAlive())
|
||||||
|
{
|
||||||
|
Elder[n]->RemoveAllAuras();
|
||||||
|
Elder[n]->AttackStop();
|
||||||
|
Elder[n]->CombatStop(true);
|
||||||
|
Elder[n]->DeleteThreatList();
|
||||||
|
Elder[n]->GetAI()->DoAction(ACTION_ELDER_FREYA_KILLED);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustSummoned(Creature* summoned)
|
void JustSummoned(Creature* summoned)
|
||||||
|
|||||||
Reference in New Issue
Block a user