diff options
author | Aokromes <Aokromes@users.noreply.github.com> | 2015-04-03 21:00:26 +0200 |
---|---|---|
committer | Aokromes <Aokromes@users.noreply.github.com> | 2015-04-03 21:00:26 +0200 |
commit | 22c0007b42e80fecd81eee53f856fd10decd5c05 (patch) | |
tree | decfe873001e88c1d6f58963170c1ce91035d062 /src | |
parent | 20bc2c51f668db245d6e360486ea8743c1887fac (diff) | |
parent | 5098aba84036406e8c67cccd70e62a049184d1f6 (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.cpp | 34 |
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; } } |