diff options
| author | ccrs <ccrs@users.noreply.github.com> | 2025-10-22 14:22:04 +0200 |
|---|---|---|
| committer | ccrs <ccrs@users.noreply.github.com> | 2025-10-22 15:14:12 +0200 |
| commit | f92e7416a5cc6a1afeb935f8e2319ae6163a672a (patch) | |
| tree | fde35cbb981d781f3134c28c3082daf0ae2173c2 /src | |
| parent | 428fb0197bd530906909b9ab326fab20aacc5276 (diff) | |
Scripts/EasternKingdoms: temporally adjust Eye of Acherus to allow quest completion
hackery all over the place till major core impl is done
updates #30532
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index de53991fef5..32f4d8a0890 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -438,12 +438,15 @@ struct npc_eye_of_acherus : public ScriptedAI { creature->SetDisplayId(creature->GetCreatureTemplate()->Modelid1); creature->SetReactState(REACT_PASSIVE); + creature->SetDisableGravity(true); + creature->SetCanFly(true); + creature->SetSpeed(MOVE_FLIGHT, 35.f); } - void InitializeAI() override + void Reset() override { - DoCastSelf(SPELL_ROOT_SELF); DoCastSelf(SPELL_EYE_OF_ACHERUS_VISUAL); + DoCastSelf(SPELL_ROOT_SELF); _events.ScheduleEvent(EVENT_ANNOUNCE_LAUNCH_TO_DESTINATION, 7s); } @@ -456,6 +459,11 @@ struct npc_eye_of_acherus : public ScriptedAI } } + void EnterEvadeMode(EvadeReason why) override + { + _EnterEvadeMode(why); + } + void UpdateAI(uint32 diff) override { _events.Update(diff); @@ -465,14 +473,14 @@ struct npc_eye_of_acherus : public ScriptedAI switch (eventId) { case EVENT_ANNOUNCE_LAUNCH_TO_DESTINATION: + //DoCastSelf(SPELL_EYE_OF_ACHERUS_FLIGHT_BOOST); if (Unit* owner = me->GetCharmerOrOwner()) Talk(SAY_LAUNCH_TOWARDS_DESTINATION, owner); _events.ScheduleEvent(EVENT_UNROOT, 1s + 200ms); break; case EVENT_UNROOT: me->RemoveAurasDueToSpell(SPELL_ROOT_SELF); - DoCastSelf(SPELL_EYE_OF_ACHERUS_FLIGHT_BOOST); - _events.ScheduleEvent(EVENT_LAUNCH_TOWARDS_DESTINATION, 1s + 200ms); + _events.ScheduleEvent(EVENT_LAUNCH_TOWARDS_DESTINATION, 1ms); break; case EVENT_LAUNCH_TOWARDS_DESTINATION: { @@ -481,17 +489,17 @@ struct npc_eye_of_acherus : public ScriptedAI Movement::PointsArray path(EyeOfAcherusPath, EyeOfAcherusPath + EyeOfAcherusPathSize); init.MovebyPath(path); init.SetFly(); - if (Unit* owner = me->GetCharmerOrOwner()) - init.SetVelocity(owner->GetSpeed(MOVE_RUN)); + init.SetSwim(); + init.SetVelocity(35.f); }; me->GetMotionMaster()->LaunchMoveSpline(std::move(initializer), POINT_NEW_AVALON, MOTION_PRIORITY_NORMAL, POINT_MOTION_TYPE); break; } case EVENT_GRANT_CONTROL: + //me->RemoveAurasDueToSpell(SPELL_EYE_OF_ACHERUS_FLIGHT_BOOST); + //DoCastSelf(SPELL_EYE_OF_ACHERUS_FLIGHT); me->RemoveAurasDueToSpell(SPELL_ROOT_SELF); - DoCastSelf(SPELL_EYE_OF_ACHERUS_FLIGHT); - me->RemoveAurasDueToSpell(SPELL_EYE_OF_ACHERUS_FLIGHT_BOOST); if (Unit* owner = me->GetCharmerOrOwner()) Talk(SAY_EYE_UNDER_CONTROL, owner); break; |
