aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorccrs <ccrs@users.noreply.github.com>2025-10-22 14:22:04 +0200
committerccrs <ccrs@users.noreply.github.com>2025-10-22 15:14:12 +0200
commitf92e7416a5cc6a1afeb935f8e2319ae6163a672a (patch)
treefde35cbb981d781f3134c28c3082daf0ae2173c2 /src
parent428fb0197bd530906909b9ab326fab20aacc5276 (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.cpp24
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;