Core/Entities: Kick engagement logic upstairs to Unit (from ThreatManager), since all Units with AI need it (not just those with threat list).

Port From (https://github.com/TrinityCore/TrinityCore/commit/35e55f10899712435102764671241b94a2026599)
This commit is contained in:
hondacrx
2021-12-23 20:00:45 -05:00
parent ff48f2cab9
commit 8694a2ae24
6 changed files with 49 additions and 42 deletions
+4
View File
@@ -277,11 +277,15 @@ namespace Game.Combat
{
_owner.AddUnitFlag(UnitFlags.InCombat);
_owner.AtEnterCombat();
if (!_owner.CanHaveThreatList() && !_owner.IsEngaged())
_owner.AtEngage(GetAnyTarget());
}
else
{
_owner.RemoveUnitFlag(UnitFlags.InCombat);
_owner.AtExitCombat();
if (_owner.IsEngaged() && !(_owner.IsCreature() && _owner.ToCreature().IsAIEnabled()))
_owner.AtDisengage();
}
Unit master = _owner.GetCharmerOrOwner();