Example #1
0
        /// <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;
            }
        }
Example #2
0
        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);
            }
        }