Example #1
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);
    }
Example #2
0
    /// <summary>
    /// retorna la criatura a utilizar
    /// </summary>
    /// <param name="DefinirCriaturas"></param>
    /// <returns></returns>
    public CrewildBase RetornaCriatura(DefinirCreaturasAllamar DefinirCriaturas)
    {
        CrewildBase CriaturaARetornar = null;



        //definir criatura
        DefinirCriaturas.criatura = EncontrarMetodo.EncontrarCrewild(DefinirCriaturas.NombreCriatura, DefinirCriaturas.nivel);


        // definir Ataques
        if (DefinirCriaturas.ataques.Length != 0)
        {
            //limpia Array de ataques
            for (int i = 0; i < 4; i++)
            {
                DefinirCriaturas.criatura.ataques[i] = null;
            }
            //encapsula nuevo ataque
            for (int i = 0; i < DefinirCriaturas.ataques.Length; i++)
            {
                DefinirCriaturas.criatura.ataques[i] = EncontrarMetodo.EncontrarAtaques(DefinirCriaturas.ataques[i]);
            }
        }
        CriaturaARetornar = DefinirCriaturas.criatura;

        return(CriaturaARetornar);
    }
Example #3
0
    /// <summary>
    /// Encapsula una criatura en el array de datos EnemigosBatalla de animationscriptbrauler
    /// </summary>
    /// <param name="DefinirCriaturas"></param>
    public void CriaturasParalabatalla(DefinirCreaturasAllamar DefinirCriaturas)
    {
        GameObject.FindObjectOfType <animationScritpBatle>().EnemigosBatalla = new CrewildBase[1];



        //definir criatura
        DefinirCriaturas.criatura = EncontrarMetodo.EncontrarCrewild(DefinirCriaturas.NombreCriatura, DefinirCriaturas.nivel);


        // definir Ataques
        if (DefinirCriaturas.ataques.Length != 0)
        {
            //limpia Array de ataques
            for (int i = 0; i < 4; i++)
            {
                DefinirCriaturas.criatura.ataques[i] = null;
            }
            //encapsula nuevo ataque
            for (int i = 0; i < DefinirCriaturas.ataques.Length; i++)
            {
                DefinirCriaturas.criatura.ataques[i] = EncontrarMetodo.EncontrarAtaques(DefinirCriaturas.ataques[i]);
            }
        }
        GameObject.FindObjectOfType <animationScritpBatle>().EnemigosBatalla[0] = DefinirCriaturas.criatura;
    }
Example #4
0
    // metodos para llamar   las criaturas para la batalla

    /// <summary>
    /// Encapsula las criaturas en el array de datos de animationscriptbrauler
    /// </summary>
    /// <param name="DefinirCriaturas"></param>
    public void CriaturasParalabatalla(DefinirCreaturasAllamar[] DefinirCriaturas)
    {
        FindObjectOfType <animationScritpBatle>().EnemigosBatalla = new CrewildBase[DefinirCriaturas.Length];

        int contadorAux = 0;

        foreach (DefinirCreaturasAllamar DFC in DefinirCriaturas)
        {
            //definir criatura
            DFC.criatura = EncontrarMetodo.EncontrarCrewild(DFC.NombreCriatura, DFC.nivel);


            // definir Ataques
            if (DFC.ataques.Length != 0)
            {
                //limpia Array de ataques
                for (int i = 0; i < 4; i++)
                {
                    DFC.criatura.ataques[i] = null;
                }
                //encapsula nuevo ataque
                for (int i = 0; i < DFC.ataques.Length; i++)
                {
                    DFC.criatura.ataques[i] = EncontrarMetodo.EncontrarAtaques(DFC.ataques[i]);
                }
            }
            GameObject.FindObjectOfType <animationScritpBatle>().EnemigosBatalla[contadorAux] = DFC.criatura;
            contadorAux++;
        }
    }
Example #5
0
    /// <summary>
    /// calcula el valor de un ataque si acierta o falla en un combate si es menor que 1 es  un ataque fallido
    /// </summary>
    /// <returns></returns>
    public static bool CalculoAcierto(string Atacante, string NombreDelAtaque)
    {
        //define si se ha  acerta o fallado el ataque
        bool             AciertoODesacierto;
        float            ProbabilidadDeAcierto = 0;
        libreriaDeScrips LibreriaS             = FindObjectOfType <libreriaDeScrips>();

        float ValorPresicion, ValorEvacion;

        PresicionEvacionValor Valores = RetornaPrecisionEvacion(Atacante);

        ValorPresicion = Valores.ValorPresicion;
        ValorEvacion   = Valores.ValorEvacion;

        AttacksBase AtaqueUsado = EncontrarMetodo.EncontrarAtaques(NombreDelAtaque);

        ProbabilidadDeAcierto = AtaqueUsado.PrecisionDelAtaque * (ValorPresicion / ValorEvacion);

        AciertoODesacierto = AciertoDesacierto(ProbabilidadDeAcierto);


        return(AciertoODesacierto);
    }
Example #6
0
    CrewildBase RetornarCrweild(SaveDataCrewild data)
    {
        CrewildBase CrewildARetornar = null;

        CrewildARetornar = EncontrarMetodo.EncontrarCrewild(data.nombreTaxonomico, 1);


        //metodo para llamar CrewillInstancia
        CrewildARetornar.Nombre = data.nombre;



        //devuelve el genero
        if (data.Genero.ToString() == GeneroEnum.Macho.ToString())
        {
            CrewildARetornar.genero = GeneroEnum.Macho;
        }

        else if (data.Genero.ToString() == GeneroEnum.Hembra.ToString())
        {
            CrewildARetornar.genero = GeneroEnum.Hembra;
        }


        //devuelve los ataques
        for (int a = 0; a < 4; a++)
        {
            CrewildARetornar.ataques[a] = null;

            if (data.Ataques[a] != null)
            {
                CrewildARetornar.ataques[a] = EncontrarMetodo.EncontrarAtaques(data.Ataques[a]);
            }
        }

        CrewildARetornar.Hp      = data.hp;
        CrewildARetornar.hpTotal = data.hpTotal;

        //estadisticias
        CrewildARetornar.attack          = data.ataque;
        CrewildARetornar.defence         = data.defensa;
        CrewildARetornar.speed           = data.velocida;
        CrewildARetornar.precision       = data.presicion;
        CrewildARetornar.Evacion         = data.evacion;
        CrewildARetornar.EspecialAttack  = data.ataqueEspecial;
        CrewildARetornar.EspecialDefensa = data.DefensaEspecial;
        CrewildARetornar.Resistence      = data.Resistencia;


        // Nivele de la criatura
        CrewildARetornar.Nivel = data.Nivel;

        //experiencia
        CrewildARetornar.experiencia      = data.experiencia;
        CrewildARetornar.experienciaTotal = data.experienciaTotal;

        //empatia
        CrewildARetornar.sueño   = data.sueño;
        CrewildARetornar.hambre  = data.hambre;
        CrewildARetornar.Cordura = data.Cordura;
        CrewildARetornar.empatia = data.empatia;

        CrewildARetornar.sueñoTotal   = data.sueñoTotal;
        CrewildARetornar.hambreTotal  = data.hambreTotal;
        CrewildARetornar.CorduraTotal = data.CorduraTotal;
        CrewildARetornar.empatiaTotal = data.empatiaTotal;


        print("cargada datos, hp = " + CrewildARetornar.NombreTaxonomico);
        //actualiza los sprites  en el menu de acciones.
        //    LibreriaS.SeleccionDeCriaturas.ajusteSprite(i);


        return(CrewildARetornar);
    }