/// <summary> /// Deal direct damage , no calculations /// </summary> public virtual void DealDamages(Unit Target, uint Damages) { if (Target == null || Target.IsDead) { return; } CbtInterface.OnDealDamage(Target, Damages); Target.CbtInterface.OnTakeDamage(this, Damages); if (Target.IsInvinsible) { return; } if (IsCreature() && Target.IsCreature()) { return; } if (Target.Health <= Damages) { Target.SetDeath(this); CbtInterface.OnTargetDie(Target); } else { Target.Health -= Damages; } }
public virtual void DealDamage(Unit Target, int RealDamage, int Mitiged, byte Event) { if (Target == null || Target.IsDead) { return; } //Log.Success("DealDamage",Name + " Deal " + RealDamage + "/"+Target.Health + "/"+Target.PctHealth + "% To " + Target.Name); CbtInterface.OnDealDamage(Target, (UInt32)RealDamage); if (Target.Health <= RealDamage) { Target.SetDeath(this); CbtInterface.OnTargetDie(Target); } else { Target.Health -= (uint)RealDamage; Target.CbtInterface.OnTakeDamage(this, (UInt32)RealDamage); } }