Core/AI: added a function to allow 0 damage attacks (sparring) depending on target

Port From (https://github.com/TrinityCore/TrinityCore/commit/bb3f2a11cfa909a0b40450050f33a3893f6bb061)
This commit is contained in:
hondacrx
2020-05-19 13:59:04 -04:00
parent 46d9b510b7
commit de44d88f7e
+12 -2
View File
@@ -75,13 +75,21 @@ namespace Game.AI
//Make sure our attack is ready and we aren't currently casting before checking distance
if (me.IsAttackReady())
{
me.AttackerStateUpdate(victim);
if (ShouldSparWith(victim))
me.FakeAttackerStateUpdate(victim);
else
me.AttackerStateUpdate(victim);
me.ResetAttackTimer();
}
if (me.HaveOffhandWeapon() && me.IsAttackReady(WeaponAttackType.OffAttack))
{
me.AttackerStateUpdate(victim, WeaponAttackType.OffAttack);
if (ShouldSparWith(victim))
me.FakeAttackerStateUpdate(victim, WeaponAttackType.OffAttack);
else
me.AttackerStateUpdate(victim, WeaponAttackType.OffAttack);
me.ResetAttackTimer(WeaponAttackType.OffAttack);
}
}
@@ -356,6 +364,8 @@ namespace Game.AI
public virtual void OnCharmed(bool apply) { }
public virtual bool ShouldSparWith(Unit target) { return false; }
public virtual void DoAction(int action) { }
public virtual uint GetData(uint id = 0) { return 0; }
public virtual void SetData(uint id, uint value) { }