Core/Creatures: Implemented CREATURE_STATIC_FLAG_5_NO_LEAVECOMBAT_STATE_RESTORE
Port From (https://github.com/TrinityCore/TrinityCore/commit/be3dc89c32e5b60df4c026d8b19505e529e199b6)
This commit is contained in:
@@ -290,7 +290,8 @@ namespace Game.AI
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
me.RemoveAurasOnEvade();
|
if (me.IsStateRestoredOnEvade())
|
||||||
|
me.RemoveAurasOnEvade();
|
||||||
|
|
||||||
// sometimes bosses stuck in combat?
|
// sometimes bosses stuck in combat?
|
||||||
me.CombatStop(true);
|
me.CombatStop(true);
|
||||||
|
|||||||
@@ -3404,6 +3404,9 @@ namespace Game.Entities
|
|||||||
public bool IsInEvadeMode() { return HasUnitState(UnitState.Evade); }
|
public bool IsInEvadeMode() { return HasUnitState(UnitState.Evade); }
|
||||||
public bool IsEvadingAttacks() { return IsInEvadeMode() || CanNotReachTarget(); }
|
public bool IsEvadingAttacks() { return IsInEvadeMode() || CanNotReachTarget(); }
|
||||||
|
|
||||||
|
public bool IsStateRestoredOnEvade() { return !HasFlag(CreatureStaticFlags5.NoLeavecombatStateRestore); }
|
||||||
|
public void SetRestoreStateOnEvade(bool restoreOnEvade) { _staticFlags.ApplyFlag(CreatureStaticFlags5.NoLeavecombatStateRestore, !restoreOnEvade); }
|
||||||
|
|
||||||
public override CreatureAI GetAI()
|
public override CreatureAI GetAI()
|
||||||
{
|
{
|
||||||
return (CreatureAI)i_AI;
|
return (CreatureAI)i_AI;
|
||||||
|
|||||||
@@ -63,11 +63,14 @@ namespace Game.AI
|
|||||||
if (!owner.HasCanSwimFlagOutOfCombat())
|
if (!owner.HasCanSwimFlagOutOfCombat())
|
||||||
owner.RemoveUnitFlag(UnitFlags.CanSwim);
|
owner.RemoveUnitFlag(UnitFlags.CanSwim);
|
||||||
|
|
||||||
owner.SetSpawnHealth();
|
if (owner.IsStateRestoredOnEvade())
|
||||||
owner.LoadCreaturesAddon();
|
{
|
||||||
owner.LoadCreaturesSparringHealth();
|
owner.SetSpawnHealth();
|
||||||
if (owner.IsVehicle())
|
owner.LoadCreaturesAddon();
|
||||||
owner.GetVehicleKit().Reset(true);
|
owner.LoadCreaturesSparringHealth();
|
||||||
|
if (owner.IsVehicle())
|
||||||
|
owner.GetVehicleKit().Reset(true);
|
||||||
|
}
|
||||||
|
|
||||||
CreatureAI ai = owner.GetAI();
|
CreatureAI ai = owner.GetAI();
|
||||||
if (ai != null)
|
if (ai != null)
|
||||||
|
|||||||
Reference in New Issue
Block a user