From 1195e2cf1a8521f5ad2e2fa8f51ee98b3da8bb88 Mon Sep 17 00:00:00 2001 From: DanVS <33371360+DanVS@users.noreply.github.com> Date: Wed, 22 Aug 2018 14:25:36 +0000 Subject: Scripts/Scarlet Enclave: Death Comes From On High (cherry picked from commit afc25d22ef2c08d55e28e41778c6867dd2b2577d) --- .../EasternKingdoms/ScarletEnclave/chapter1.cpp | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'src/server/scripts/EasternKingdoms') diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index d94bf9c3ce5..95543c71159 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -381,17 +381,19 @@ class npc_eye_of_acherus : public CreatureScript { me->SetDisplayFromModel(0); if (Player* owner = me->GetCharmerOrOwner()->ToPlayer()) - { me->GetCharmInfo()->InitPossessCreateSpells(); - owner->SendAutoRepeatCancel(me); - } + DoCastSelf(SPELL_EYE_VISUAL); me->SetReactState(REACT_PASSIVE); + me->SetDisableGravity(true); + me->SetControlled(true, UNIT_STATE_ROOT); Movement::MoveSplineInit init(me); init.MoveTo(EyeOFAcherusFallPoint.GetPositionX(), EyeOFAcherusFallPoint.GetPositionY(), EyeOFAcherusFallPoint.GetPositionZ(), false); init.SetFall(); me->GetMotionMaster()->LaunchMoveSpline(std::move(init), POINT_EYE_FALL, MOTION_PRIORITY_NORMAL, POINT_MOTION_TYPE); + + _events.ScheduleEvent(EVENT_MOVE_START, 7s); } void OnCharmed(bool /*apply*/) override { } @@ -406,9 +408,9 @@ class npc_eye_of_acherus : public CreatureScript { case EVENT_MOVE_START: { - DoCast(me, SPELL_EYE_FLIGHT_BOOST); - + DoCastSelf(SPELL_EYE_FLIGHT_BOOST); me->SetControlled(false, UNIT_STATE_ROOT); + if (Player* owner = me->GetCharmerOrOwner()->ToPlayer()) { for (uint8 i = 0; i < MAX_MOVE_TYPE; ++i) @@ -428,7 +430,6 @@ class npc_eye_of_acherus : public CreatureScript { if (movementType == WAYPOINT_MOTION_TYPE && pointId == POINT_EYE_MOVE_END - 1) { - me->SetSheath(SHEATH_STATE_MELEE); me->RemoveAllAuras(); if (Player* owner = me->GetCharmerOrOwner()->ToPlayer()) @@ -440,14 +441,7 @@ class npc_eye_of_acherus : public CreatureScript Talk(TALK_CONTROL, owner); } me->SetDisableGravity(false); - DoCast(me, SPELL_EYE_FLIGHT); - } - - if (movementType == POINT_MOTION_TYPE && pointId == POINT_EYE_FALL) - { - me->SetDisableGravity(true); - me->SetControlled(true, UNIT_STATE_ROOT); - _events.ScheduleEvent(EVENT_MOVE_START, 5000); + DoCastSelf(SPELL_EYE_FLIGHT); } } -- cgit v1.2.3