Example #1
0
        public void TakeDamage(int damage)
        {
            if (!this.IsImmuneToDamage)
            {
                if (this.HasDivineShield)
                {
                    this.RemoveStatusEffects(MinionStatusEffects.DIVINE_SHIELD);
                    return;
                }

                this.CurrentHealth -= damage;

                // fire damage dealt event
                GameEventManager.DamageDealt(this, damage);

                // Check if we should enrage
                if (this is IEnragable && this.CurrentHealth < this.MaxHealth)
                {
                    ((IEnragable)this).Enrage();
                }

                if (this.CurrentHealth <= 0 && !this.IsImmuneToDeath)
                {
                    this.Die();
                }
            }
        }