diff options
| author | Shauren <shauren.trinity@gmail.com> | 2024-01-08 22:23:12 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2024-01-08 22:23:12 +0100 |
| commit | 605e5f94c0d71cad8e83fa5a07eaec4e6bed9cc3 (patch) | |
| tree | 5cad677458a22ef0dd187fa86d1cd574282384dd /src/server/scripts/EasternKingdoms/ScarletEnclave | |
| parent | eeb4407f077bf567361becdbe5083c2790f00313 (diff) | |
Core/Creatures: Moved autoattack handling from scripts to game
Diffstat (limited to 'src/server/scripts/EasternKingdoms/ScarletEnclave')
3 files changed, 8 insertions, 25 deletions
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index f93716612a9..fe9054503a9 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -282,8 +282,6 @@ public: break; } } - - DoMeleeAttackIfReady(); break; default: break; @@ -1069,31 +1067,22 @@ struct npc_scarlet_ghoul : public ScriptedAI Player* plrOwner = owner->ToPlayer(); if (plrOwner && plrOwner->IsInCombat()) { - if (plrOwner->getAttackerForHelper() && plrOwner->getAttackerForHelper()->GetEntry() == NPC_GHOSTS) - AttackStart(plrOwner->getAttackerForHelper()); + Unit* newTarget = plrOwner->getAttackerForHelper(); + if (newTarget && newTarget->GetEntry() == NPC_GHOSTS) + AttackStart(newTarget); else FindMinions(owner); } } } - if (!UpdateVictim() || !me->GetVictim()) + if (!UpdateVictim()) return; + } - //ScriptedAI::UpdateAI(diff); - //Check if we have a current target - if (me->EnsureVictim()->GetEntry() == NPC_GHOSTS) - { - if (me->isAttackReady()) - { - //If we are within range melee the target - if (me->IsWithinMeleeRange(me->GetVictim())) - { - me->AttackerStateUpdate(me->GetVictim()); - me->resetAttackTimer(); - } - } - } + bool CanAIAttack(Unit const* target) const override + { + return target->GetEntry() == NPC_GHOSTS; } }; @@ -1259,8 +1248,6 @@ struct npc_hearthglen_crusader : public ScriptedAI if (!me->IsWithinCombatRange(me->GetVictim(), _minimumRange)) DoSpellAttackIfReady(me->m_spells[0]); - else - DoMeleeAttackIfReady(); } void WaypointPathEnded(uint32 /*nodeId*/, uint32 pathId) override diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp index b93c1646e46..60afdb38ba9 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp @@ -416,8 +416,6 @@ public: if (!UpdateVictim()) return; - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp index 083dcf24eb8..f6a442910cd 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp @@ -1465,8 +1465,6 @@ public: SetHoldState(false); } else uiFight_duration -= diff; - - DoMeleeAttackIfReady(); } } |
