Example #1
0
        /**
         * Se espera que el que lo invoco sea del tipo fraccionario
         */
        public float remanente(iAttack <float> atenuado)
        {
            float recibido = 0f;                //Se podria usar un lindo fold, no?
            var   atkMax   = atenuado.copy().add(atenuado.AttackMax());

            foreach (var item in getTypes())
            {
                recibido += atq.getAttack(item) * atenuado.getAttack(item);
            }

            atq.mulAttack(atkMax.remAttack(atenuado));
            return(recibido);
        }
Example #2
0
        public void procesarDgm(Damage dmg, float evadio)
        {
            var max         = evasion.AttackMax();
            var atkEfectivo = evasion.copy().rem(max);

            foreach (string tipo in dmg.getTypes())                 //Para cada tipo de ataque del daƱo
            {
                if (evasion.getAttack(tipo) > evadio)               //Si las chances de evasion se cumplen
                {
                    atkEfectivo.addAttack(new AttackSimple <float>(tipo, new Float(max)));
                }
            }

            dmg.remanente(atkEfectivo);
        }