From 3b4b6a2d9ab8c3b689e9189466cf2b1d7f864775 Mon Sep 17 00:00:00 2001 From: Lopin Date: Sun, 9 Oct 2011 14:04:21 +0200 Subject: [PATCH] Scripts/Ulduar: Changed behaving of Elders when Freya is killed --- .../Northrend/Ulduar/ulduar/boss_freya.cpp | 22 +++++++++++++------ 1 file 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 86ea898e6e..f5a8743155 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; } }