diff options
| author | Shauren <shauren.trinity@gmail.com> | 2024-02-22 15:47:11 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2024-02-22 15:47:11 +0100 |
| commit | a748fddfa47216e1f516303e3bca9b5a86823748 (patch) | |
| tree | 9cfcc9550e4abba336edb699404bbfe6f15ed1f8 /src/server/game/AI/CreatureAI.cpp | |
| parent | 17e72ce0bc6a9adb84d987a56d3112ca8e326c1c (diff) | |
Core/Creatures: Implemented CREATURE_STATIC_FLAG_4_NO_MELEE_APPROACH and fixed CREATURE_STATIC_FLAG_NO_MELEE_FLEE implementation (should cause fleeing from melee range)
Diffstat (limited to 'src/server/game/AI/CreatureAI.cpp')
| -rw-r--r-- | src/server/game/AI/CreatureAI.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/server/game/AI/CreatureAI.cpp b/src/server/game/AI/CreatureAI.cpp index c63e3c21ee1..1c33aec2a69 100644 --- a/src/server/game/AI/CreatureAI.cpp +++ b/src/server/game/AI/CreatureAI.cpp @@ -324,6 +324,21 @@ bool CreatureAI::_EnterEvadeMode(EvadeReason /*why*/) return true; } +void CreatureAI::AttackStart(Unit* victim) +{ + if (victim && me->Attack(victim, true)) + { + // Clear distracted state on attacking + if (me->HasUnitState(UNIT_STATE_DISTRACTED)) + { + me->ClearUnitState(UNIT_STATE_DISTRACTED); + me->GetMotionMaster()->Clear(); + } + + me->StartDefaultCombatMovement(victim); + } +} + Optional<QuestGiverStatus> CreatureAI::GetDialogStatus(Player const* /*player*/) { return {}; |
