From f496535cc8346da29b0ebc4c5ff3c8c08769c54f Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Sat, 11 Feb 2023 16:06:17 +0100 Subject: [PATCH] fix(Core/AI): Fixed mobs attacking in defensive state. (#14947) --- src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp | 2 +- src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp | 2 +- src/server/game/AI/SmartScripts/SmartAI.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp index 584f5515c..fc8212b0c 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp @@ -141,7 +141,7 @@ void npc_escortAI::MoveInLineOfSight(Unit* who) if (HasEscortState(STATE_ESCORT_ESCORTING) && AssistPlayerInCombatAgainst(who)) return; - if (me->CanStartAttack(who)) + if (me->HasReactState(REACT_AGGRESSIVE) && me->CanStartAttack(who)) { if (me->HasUnitState(UNIT_STATE_DISTRACTED)) { diff --git a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp index 5930e0fb4..c53a0e6f1 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp @@ -99,7 +99,7 @@ void FollowerAI::MoveInLineOfSight(Unit* who) if (HasFollowState(STATE_FOLLOW_INPROGRESS) && AssistPlayerInCombatAgainst(who)) return; - if (me->CanStartAttack(who)) + if (me->HasReactState(REACT_AGGRESSIVE) && me->CanStartAttack(who)) { if (me->HasUnitState(UNIT_STATE_DISTRACTED)) { diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp index bbbc57b56..05d311de6 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.cpp +++ b/src/server/game/AI/SmartScripts/SmartAI.cpp @@ -704,7 +704,7 @@ void SmartAI::MoveInLineOfSight(Unit* who) if (me->HasReactState(REACT_PASSIVE) || AssistPlayerInCombatAgainst(who)) return; - if (me->CanStartAttack(who)) + if (me->HasReactState(REACT_AGGRESSIVE) && me->CanStartAttack(who)) { if (me->HasUnitState(UNIT_STATE_DISTRACTED)) {