aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAokromes <Aokromes@users.noreply.github.com>2015-04-03 21:00:26 +0200
committerAokromes <Aokromes@users.noreply.github.com>2015-04-03 21:00:26 +0200
commit22c0007b42e80fecd81eee53f856fd10decd5c05 (patch)
treedecfe873001e88c1d6f58963170c1ce91035d062 /src
parent20bc2c51f668db245d6e360486ea8743c1887fac (diff)
parent5098aba84036406e8c67cccd70e62a049184d1f6 (diff)
Merge pull request #14424 from Rushor/Rampart
Scripts/HellfireRamparts: Vazruden the Herald - Improve Reset-/ Aggrobehaviour
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp34
1 files changed, 30 insertions, 4 deletions
diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
index a6c00c05dce..9da979d1105 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
@@ -426,11 +426,37 @@ class boss_vazruden_the_herald : public CreatureScript
if ((Nazan && Nazan->IsAlive()) || (Vazruden && Vazruden->IsAlive()))
{
if ((Nazan && Nazan->GetVictim()) || (Vazruden && Vazruden->GetVictim()))
- return;
- else
{
- UnsummonAdds();
- EnterEvadeMode();
+ if (Nazan->IsInCombat())
+ return;
+ else
+ {
+ const Position Nazan_FlyAggro = { -1380.425f, 1721.026f, 90.40f, 2.426f };
+ if (Nazan)
+ Nazan->GetMotionMaster()->MoveTakeoff(0, Nazan_FlyAggro);
+ }
+ }
+ else
+ { //reset, if by chance the party wipes (1st boss)
+ if (Vazruden && Vazruden->IsAlive())
+ {
+ if (phase != 1)
+ phase = 1;
+ }
+ else
+ {
+ if (phase != 2) //reset just Nazan, Vazruden is dead
+ phase = 2;
+ }
+
+ me->GetMotionMaster()->Clear(); // reset and move back into pos...
+ me->GetMotionMaster()->MovePoint(0, VazrudenMiddle[0], VazrudenMiddle[1], VazrudenMiddle[2]);
+
+ if (phase > 2)
+ {
+ EnterEvadeMode();
+ Reset();
+ }
return;
}
}