diff options
author | Treeston <treeston.mmoc@gmail.com> | 2018-08-28 16:16:37 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-10-23 14:45:40 +0200 |
commit | 00b9c23e28dc19a3a9f45d1d5b86d203f55b2a7e (patch) | |
tree | c1c73d740b29ef3e621640b9868da3bfd412ec83 /src/server | |
parent | 34f9666f209ab3f281bf81de92c4bc1a164b0059 (diff) |
Core/Entities: Fixed an issue where creatures would not properly assist formation members in certain scenarios. Tagging #21967.
(cherry picked from commit a001bc63b1182babddbb188f7c762c6168a98b5c)
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/game/Combat/ThreatManager.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 5 |
2 files changed, 3 insertions, 5 deletions
diff --git a/src/server/game/Combat/ThreatManager.cpp b/src/server/game/Combat/ThreatManager.cpp index 685a972599a..867a34c4c44 100644 --- a/src/server/game/Combat/ThreatManager.cpp +++ b/src/server/game/Combat/ThreatManager.cpp @@ -19,6 +19,7 @@ #include "Creature.h" #include "CombatPackets.h" #include "CreatureAI.h" +#include "CreatureGroups.h" #include "MotionMaster.h" #include "ObjectAccessor.h" #include "Player.h" @@ -391,6 +392,8 @@ void ThreatManager::AddThreat(Unit* target, float amount, SpellInfo const* spell SaveCreatureHomePositionIfNeed(cOwner); if (CreatureAI* ownerAI = cOwner->AI()) ownerAI->JustEngagedWith(target); + if (CreatureGroup* formation = cOwner->GetFormation()) + formation->MemberEngagingTarget(cOwner, target); } } diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index c507376f0be..e7548f76cf8 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -35,7 +35,6 @@ #include "CreatureAI.h" #include "CreatureAIImpl.h" #include "CreatureAIFactory.h" -#include "CreatureGroups.h" #include "DB2Stores.h" #include "Formulas.h" #include "GameTime.h" @@ -7682,10 +7681,6 @@ void Unit::EngageWithTarget(Unit* enemy) m_threatManager.AddThreat(enemy, 0.0f, nullptr, true, true); else SetInCombatWith(enemy); - - if (Creature* creature = ToCreature()) - if (CreatureGroup* formation = creature->GetFormation()) - formation->MemberEngagingTarget(creature, enemy); } void Unit::AttackedTarget(Unit* target, bool canInitialAggro) |