aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/EasternKingdoms/ScarletEnclave
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-01-08 22:23:12 +0100
committerShauren <shauren.trinity@gmail.com>2024-01-08 22:23:12 +0100
commit605e5f94c0d71cad8e83fa5a07eaec4e6bed9cc3 (patch)
tree5cad677458a22ef0dd187fa86d1cd574282384dd /src/server/scripts/EasternKingdoms/ScarletEnclave
parenteeb4407f077bf567361becdbe5083c2790f00313 (diff)
Core/Creatures: Moved autoattack handling from scripts to game
Diffstat (limited to 'src/server/scripts/EasternKingdoms/ScarletEnclave')
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp29
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp2
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();
}
}