MUDServer.CombatEntity.Hurt C# (CSharp) Method

Hurt() public method

public Hurt ( int damage ) : void
damage int
return void
        public void Hurt(int damage)
        {
            if (_CurrentHealth <= 0)
                return;

            _CurrentHealth -= damage;
            if (_CurrentHealth <= 0) {
                Event.Send(new { Type = EventType.Death, Sender = this });
                _CurrentHealth = 0;
                _CombatTarget.EndCombat();
                EndCombat();
            }
        }

Usage Example

Example #1
0
        public virtual IEnumerator <object> CombatTask()
        {
            while (true)
            {
                yield return(new Sleep(CombatPeriod));

                // Hitrate = 2/3
                // Damage = 2d6
                int damage = Program.RNG.Next(1, 6 - 1) + Program.RNG.Next(1, 6 - 1);
                if (Program.RNG.Next(0, 3) <= 1)
                {
                    Event.Send(new { Type = EventType.CombatHit, Sender = this, Target = _CombatTarget, WeaponName = "Longsword", Damage = damage });
                    _CombatTarget.Hurt(damage);
                }
                else
                {
                    Event.Send(new { Type = EventType.CombatMiss, Sender = this, Target = _CombatTarget, WeaponName = "Longsword" });
                }
            }
        }