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)

Port From (https://github.com/TrinityCore/TrinityCore/commit/a748fddfa47216e1f516303e3bca9b5a86823748)
This commit is contained in:
hondacrx
2024-02-24 15:18:07 -05:00
parent dab3a891a7
commit 9d1589afd4
10 changed files with 93 additions and 34 deletions
+5 -2
View File
@@ -1391,14 +1391,17 @@ namespace Game.Entities
if (caster == null)
caster = GetAttackerForHelper();
GetMotionMaster().MoveFleeing(caster, TimeSpan.FromMilliseconds(fearAuras.Empty() ? WorldConfig.GetIntValue(WorldCfg.CreatureFamilyFleeDelay) : 0)); // caster == NULL processed in MoveFleeing
SetUnitFlag(UnitFlags.Fleeing);
}
else
{
RemoveUnitFlag(UnitFlags.Fleeing);
if (IsAlive())
{
GetMotionMaster().Remove(MovementGeneratorType.Fleeing);
if (GetVictim() != null)
SetTarget(GetVictim().GetGUID());
Unit victim = GetVictim();
if (victim != null)
SetTarget(victim.GetGUID());
if (!IsPlayer() && !IsInCombat())
GetMotionMaster().MoveTargetedHome();
}