aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/Ulduar/ulduar/boss_freya.cpp22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/server/scripts/Northrend/Ulduar/ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/ulduar/boss_freya.cpp
index 86ea898e6ee..f5a87431550 100644
--- a/src/server/scripts/Northrend/Ulduar/ulduar/boss_freya.cpp
+++ b/src/server/scripts/Northrend/Ulduar/ulduar/boss_freya.cpp
@@ -24,11 +24,6 @@
#include "GridNotifiersImpl.h"
#include "ulduar.h"
-/*
- * **** TODO ****
- * Achievements *
- */
-
enum FreyaYells
{
// Freya
@@ -188,6 +183,7 @@ enum FreyaNpcs
enum FreyaActions
{
ACTION_ELDER_DEATH = 1,
+ ACTION_ELDER_FREYA_KILLED = 2,
};
enum FreyaEvents
@@ -331,7 +327,7 @@ class boss_freya : public CreatureScript
void DamageTaken(Unit* /*who*/, uint32& damage)
{
- if (damage >= me->GetHealth() && instance)
+ if (damage >= me->GetHealth())
{
damage = 0;
DoScriptText(SAY_DEATH, me);
@@ -351,11 +347,11 @@ class boss_freya : public CreatureScript
Elder[n] = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_BRIGHTLEAF + n));
if (Elder[n] && Elder[n]->isAlive())
{
- Elder[n]->setFaction(35);
Elder[n]->RemoveAllAuras();
Elder[n]->AttackStop();
Elder[n]->CombatStop(true);
Elder[n]->DeleteThreatList();
+ Elder[n]->GetAI()->DoAction(ACTION_ELDER_FREYA_KILLED);
}
}
}
@@ -811,6 +807,10 @@ class boss_elder_brightleaf : public CreatureScript
++elderCount;
lumberjack = true;
break;
+ case ACTION_ELDER_FREYA_KILLED:
+ me->DespawnOrUnsummon(10000);
+ _JustDied();
+ break;
}
}
@@ -933,6 +933,10 @@ class boss_elder_stonebark : public CreatureScript
++elderCount;
lumberjack = true;
break;
+ case ACTION_ELDER_FREYA_KILLED:
+ me->DespawnOrUnsummon(10000);
+ _JustDied();
+ break;
}
}
@@ -1042,6 +1046,10 @@ class boss_elder_ironbranch : public CreatureScript
++elderCount;
lumberjack = true;
break;
+ case ACTION_ELDER_FREYA_KILLED:
+ me->DespawnOrUnsummon(10000);
+ _JustDied();
+ break;
}
}