EnemyBase.DirectDamage C# (CSharp) Method

DirectDamage() public method

Doesn't take armor into acount.
public DirectDamage ( int damage ) : void
damage int Damage to inclict.
return void
    public void DirectDamage(int damage)
    {
        if (damage == 0)
            damage = 1;

        this.Health -= damage;
    }

Usage Example

Example #1
0
    public bool Apply(float curTime)
    {
        if (curTime > duration + startTime)
        {
            EndEffect();
            return(true);
        }

        switch (enemyState)
        {
        case EnemyState.Burn:
            if (nextEvent <= curTime)
            {
                owner.DirectDamage((int)magnitude, 1);
                nextEvent = curTime + interval;
            }
            break;

        case EnemyState.Poison:
            if (nextEvent <= curTime)
            {
                owner.DirectDamage((int)magnitude, 3);
                nextEvent = curTime + interval;
            }
            break;

        case EnemyState.MindControl:
            if (!appliedEffect)
            {
                owner.StopMindControlling = false;
                owner.mindControlled++;
                if (owner.mindControlled == 1)
                {
                    MoveOwner(owner._ObjectManager.Map.enemySpawnNode);
                }
                appliedEffect = true;
            }
            break;

        case EnemyState.ReducedArmor:
            if (!appliedEffect)
            {
                if (owner.armor < magnitude)
                {
                    magnitude = owner.armor;
                }
                owner.armor  -= (int)magnitude;
                appliedEffect = true;
            }
            break;

        case EnemyState.Slow:
            if (!appliedEffect)
            {
                if (owner.speed < magnitude)
                {
                    magnitude = owner.speed;                     // This makes reverting the speed to normal easier.
                }
                owner.speed  -= magnitude;
                appliedEffect = true;
            }
            break;
        }

        return(false);
    }