예제 #1
0
    protected void checkBuffs()
    {
        List <StatusEffect> removeLater = new List <StatusEffect>();

        foreach (StatusEffect effect in statusList)
        {
            if (effect.buff != Buff.None) // check the buffs
            {
                switch (effect.buff)
                {
                case Buff.Attack:
                    BeingBuffDebuffMethods.buffAttack(this, effect.endTime, effect.factor);
                    break;

                case Buff.Speed:
                    BeingBuffDebuffMethods.buffSpeed(this, effect.endTime, effect.factor);
                    break;
                }
            }
            else // check the debuffs
            {
                switch (effect.debuff)
                {
                case Debuff.Stun:
                    BeingBuffDebuffMethods.debuffStun(this, effect.endTime);
                    break;

                case Debuff.Slow:
                    BeingBuffDebuffMethods.debuffSlow(this, effect.endTime, effect.factor);
                    break;

                case Debuff.Attack:
                    BeingBuffDebuffMethods.debuffAttack(this, effect.endTime, effect.factor);
                    break;
                }
            }
            if (effect.endTime <= Time.time)
            {
                removeLater.Add(effect);
            }
        }

        foreach (StatusEffect effect in removeLater)
        {
            statusList.Remove(effect);
        }
    }
예제 #2
0
 protected override void effectOnTarget(Transform t)
 {
     BeingBuffDebuffMethods.bonusHolyDamage(t, damage);
 }