Пример #1
0
    static Capturardatos DatosUsar(string Atancante)
    {
        Capturardatos Datoscaptados = new Capturardatos();

        libreriaDeScrips LibreriaS = FindObjectOfType <libreriaDeScrips>();

        if (Atancante == "Player")
        {
            Datoscaptados.PuntosAtaque = LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.ActualSelNumPlayer].attack;
            Datoscaptados.nivel        = LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.ActualSelNumPlayer].Nivel;

            Datoscaptados.Puntosdefensa = LibreriaS.Batalla.EnemigosBatalla[LibreriaS.Batalla.ActualSeNumEnemy].defence;
        }

        else if (Atancante == "Enemy")
        {
            Datoscaptados.PuntosAtaque = LibreriaS.Batalla.EnemigosBatalla[LibreriaS.Batalla.ActualSeNumEnemy].attack;
            Datoscaptados.nivel        = LibreriaS.Batalla.EnemigosBatalla[LibreriaS.Batalla.ActualSeNumEnemy].Nivel;

            Datoscaptados.Puntosdefensa = LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.ActualSelNumPlayer].defence;
        }



        return(Datoscaptados);
    }
Пример #2
0
    //devuelve  el valor de cuanto daño recive el oponente
    public static float CalcularDañoEspecial(string Atacante, string NombreDelAtaque)
    {
        float Daño = 0;

        float Nivel = 0, Ataque = 0, PoderAtaque = 0, Defensa = 0, Bonificacion = 1, Efectividad = 1;

        int variante = (int)Random.Range(85, 100);

        Capturardatos DatosAUsar = DatosEspeciales(Atacante);

        Ataque       = DatosAUsar.PuntosAtaque;
        Defensa      = DatosAUsar.Puntosdefensa;
        Nivel        = DatosAUsar.nivel;
        PoderAtaque  = EncontrarMetodo.EncontrarAtaques(NombreDelAtaque).PoderAtaque;
        Bonificacion = Bonificaciones(EncontrarMetodo.EncontrarAtaques(NombreDelAtaque).TipoDeAtaque, Atacante);
        Efectividad  = EfectividadValor(EncontrarMetodo.EncontrarAtaques(NombreDelAtaque).TipoDeAtaque, Atacante);

        /* Daño=0.01×B×E×V×((0.2×N+1)×A×P/25×D+2)
         * N = Nivel del Pokémon que ataca.
         * A = Cantidad de ataque o ataque especial del Pokémon. Si el ataque que utiliza el Pokémon es físico se toma la cantidad de ataque y si es especial se toma la cantidad de ataque especial.
         * P = Poder del ataque, el potencial del ataque.
         * D = Cantidad de defensa del Pokémon rival. Si el ataque que hemos utilizado es físico cogeremos la cantidad de defensa del Pokémon rival, si el ataque que hemos utilizado es especial, se coge la cantidad de defensa especial del Pokémon rival.
         * B = Bonificación. Si el ataque es del mismo tipo que el Pokémon que lo lanza toma un valor de 1.5, si el ataque es de un tipo diferente al del Pokémon que lo lanza toma un valor de 1.
         * E = Efectividad. Puede tomar los valores de 0, 0.25, 0.5, 1, 2 y 4.
         * V = Variación. Es una variable que comprende todos los valores discretos entre 85 y 100 (ambos incluidos).
         */
        Daño = (0.01f * Bonificacion * Efectividad * variante) * ((((0.2f * (Nivel + 1)) * Ataque * PoderAtaque) / (25 * Defensa)) + 2);



        return(Daño);
    }