diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp index d5702980ff8..962af54de1e 100644 --- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp @@ -42,6 +42,15 @@ const Position PortalLocation[] = {1908.31, 809.657, 38.7037, 3.08701} // WP 6 }; +const Position BossStartMove1 = {1894.684448, 739.390503, 47.668003}; +const Position BossStartMove2 = {1875.173950, 860.832703, 43.333565}; +const Position BossStartMove21 = {1858.854614, 855.071411, 43.333565}; +const Position BossStartMove22 = {1891.926636, 863.388977, 43.333565}; +const Position BossStartMove3 = {1916.138062, 778.152222, 35.772308}; +const Position BossStartMove4 = {1853.618286, 758.557617, 38.657505}; +const Position BossStartMove5 = {1906.683960, 842.348022, 38.637459}; +const Position BossStartMove6 = {1928.207031, 852.864441, 47.200813}; + struct instance_violet_hold : public ScriptedInstance { instance_violet_hold(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; @@ -355,6 +364,8 @@ struct instance_violet_hold : public ScriptedInstance case BOSS_MORAGG: HandleGameObject(uiMoraggCell,bForceRespawn); pBoss = instance->GetCreature(uiMoragg); + if (pBoss) + pBoss->GetMotionMaster()->MovePoint(0, BossStartMove1); break; case BOSS_EREKEM: HandleGameObject(uiErekemCell, bForceRespawn); @@ -363,12 +374,16 @@ struct instance_violet_hold : public ScriptedInstance pBoss = instance->GetCreature(uiErekem); + if (pBoss) + pBoss->GetMotionMaster()->MovePoint(0, BossStartMove2); + if (Creature* pGuard1 = instance->GetCreature(uiErekemGuard[0])) { if (bForceRespawn) pGuard1->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_NON_ATTACKABLE); else pGuard1->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_NON_ATTACKABLE); + pGuard1->GetMotionMaster()->MovePoint(0, BossStartMove21); } if (Creature* pGuard2 = instance->GetCreature(uiErekemGuard[1])) @@ -377,23 +392,32 @@ struct instance_violet_hold : public ScriptedInstance pGuard2->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_NON_ATTACKABLE); else pGuard2->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_NON_ATTACKABLE); + pGuard2->GetMotionMaster()->MovePoint(0, BossStartMove22); } break; case BOSS_ICHORON: HandleGameObject(uiIchoronCell,bForceRespawn); pBoss = instance->GetCreature(uiIchoron); + if (pBoss) + pBoss->GetMotionMaster()->MovePoint(0, BossStartMove3); break; case BOSS_LAVANTHOR: HandleGameObject(uiLavanthorCell,bForceRespawn); pBoss = instance->GetCreature(uiLavanthor); + if (pBoss) + pBoss->GetMotionMaster()->MovePoint(0, BossStartMove4); break; case BOSS_XEVOZZ: HandleGameObject(uiXevozzCell,bForceRespawn); pBoss = instance->GetCreature(uiXevozz); + if (pBoss) + pBoss->GetMotionMaster()->MovePoint(0, BossStartMove5); break; case BOSS_ZURAMAT: HandleGameObject(uiZuramatCell,bForceRespawn); pBoss = instance->GetCreature(uiZuramat); + if (pBoss) + pBoss->GetMotionMaster()->MovePoint(0, BossStartMove6); break; } |