コード例 #1
0
        /**
         * Se le resta el valor de descuento al ataque
         */
        public float descontar(iAttack <float> descuento)
        {
            float recibido = 0f;
            var   cp       = atq.copy();

            atq.remAttack(descuento);

            foreach (var item in getTypes())
            {
                recibido += cp.getAttack(item) - atq.getAttack(item);
            }
            return(recibido);
        }
コード例 #2
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);
        }
コード例 #3
0
ファイル: Evation.cs プロジェクト: OttoOctavius/RPG_API
        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);
        }