Esempio n. 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);
    }
Esempio n. 2
0
 // Update is called once per frame
 void Update()
 {
     if (EncontrarMetodo.DefineSiHaycriaturas() == true)
     {
         Collieder.enabled = false;
     }
 }
Esempio n. 3
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);
    }
Esempio n. 4
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;
    }
Esempio n. 5
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++;
        }
    }
Esempio n. 6
0
    private void ActicaSelector()
    {
        menuSiNo.SetActive(true);
        NumDesicionDesion = EncontrarMetodo.numDefinirNumSelector(NumDesicionDesion);
        EncontrarMetodo.definirMovimientoSelector_Yes_no(NumDesicionDesion);

        if (Input.GetKeyDown(KeyCode.Space))
        {
            Acciones(NumDesicionDesion);
        }
    }
Esempio n. 7
0
 private void Acciones(int Acciones)
 {
     // yes
     if (Acciones == 0)
     {
         EncontrarMetodo.AnadirABulleWild(crewildInicial);
         Invoke("SalirBaul", 0.2f);
         Invoke("destroidInvoke", 0.3f);
         //añadie criatura
         // salir del objeto y destruirlo
     }
     //no
     else if (Acciones == 1)
     {
         // salir de objeto
         Invoke("SalirBaul", 0.2f);
     }
 }
Esempio n. 8
0
    // Start is called before the first frame update
    void Start()
    {
        LibreriaS = GameObject.Find("Game Manager").GetComponent <libreriaDeScrips>();

        Canvastext = GameObject.Find("Canvas").GetComponent <Canvas>();

        TextoDialogo = GameObject.Find("Canvas/box Texto/mask/Text").GetComponent <Text>();

        puntero = new Puntero();

        menuSiNo = GameObject.Find("Canvas/box Election");

        crewildInicial = EncontrarMetodo.EncontrarCrewild(NombreCrewild, 3);

        ObjImahenCrewil = GameObject.Find("Canvas/cuadroCrewild");

        imagenCrewild = GameObject.Find("Canvas/cuadroCrewild/Crewild");

        Invoke("InvokeDesactivarObjetos", 1f);
    }
Esempio n. 9
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);
    }
Esempio n. 10
0
    void cargaDatosGlovales()
    {
        SaveDataInfoGloval data = SaveSystem.loadDataDatosGlovales();

        for (int i = 0; i < 8; i++)
        {
            LibreriaS.PanelJugador.carteleImgWanted[i].activadorCarteles = data.Recompensas[i];
        }
        LibreriaS.inventario.Dinero = data.Dinero;

        Vector2 Posvar = new Vector2(data.posicion[0], data.posicion[1]);

        FindObjectOfType <movimiento>().transform.position = Posvar;
        FindObjectOfType <movimiento>().pos = Posvar;

        if (data.itenEquipado != null)
        {
            LibreriaS.inventario.ItenEquipado = EncontrarMetodo.EncontrarItem(data.itenEquipado);
        }
        else
        {
            LibreriaS.inventario.ItenEquipado = null;
        }
    }
Esempio n. 11
0
    public override IEnumerator AnimationBrawler(bool TwovsTwo, string QuienAtaca, Animation animationBrawler, string NombreDelAtaque, MonoBehaviour BehaviourCall)
    {
        Vector2       PosicionRefec = Vector2.zero;
        RectTransform ObjetoInsta   = null;



        libreriaDeScrips libreriaS = GameObject.FindObjectOfType <libreriaDeScrips>();

        string NombrePLayAnimt = "";

        PosicionRefec = new Vector2(-144f, -74f);
        //  animationBrawler.AddClip(this.animaBattle[0], "Attack");
        ObjetoInsta = CrearObjetos.CrearObjeto("Prefac/Batalla/PinchosEnvenenar", "PinchosEnvenenar", PosicionRefec);

        UnityEngine.UI.Image ImagenPersonaje = null;
        if (TwovsTwo == false)
        {
            //ataca de espalda
            if (QuienAtaca == "Player")
            {
                ImagenPersonaje = animationBrawler.GetComponent <animationScritpBatle>().ImagenEnemigo;
                libreriaS.Batalla.imagenePlayer.sprite = libreriaS.informacionCrewild.CrewillInstancia[libreriaS.Batalla.ActualSelNumPlayer].animaCrewildEspalda[2];
                NombrePLayAnimt = "PinchosSecuencia1";
            }
            //ataca de frente
            else if (QuienAtaca == "Enemy")
            {
                //   animationBrawler.AddClip(this.animaBattle[1], "Attack");
                ImagenPersonaje = animationBrawler.GetComponent <animationScritpBatle>().imagenePlayer;
                libreriaS.Batalla.ImagenEnemigo.sprite = libreriaS.Batalla.EnemigosBatalla[libreriaS.Batalla.ActualSeNumEnemy].animaCrewildFrentre[2];
                NombrePLayAnimt = "PinchosSecuencia2";
            }
        }

        else if (TwovsTwo == true)
        {
            // sin implementaciontodavia
        }

        OpcionesAnimation lAnimacionesAux = ObjetoInsta.GetComponent <OpcionesAnimation>();

        AudioClip clip1 = (AudioClip)Resources.Load("Audios/batalla/Hit poison");

        animationBrawler.GetComponent <animationScritpBatle>().AudioVfx.PlayOneShot(clip1);

        ObjetoInsta.GetComponent <Animation>().Play(NombrePLayAnimt);

        yield return(new WaitWhile(() => lAnimacionesAux.Disparador == false));

        lAnimacionesAux.Disparador = false;


        SecuenciasAux.DevuelveSpriteBase(QuienAtaca);

        ObjetoInsta.GetComponent <PlayScritp>().animacion = new Sprite[1];

        ObjetoInsta.GetComponent <PlayScritp>().animacion[0] = EncontrarMetodo.DevuelveSprite("Sprites/vfx/disparo de energia/ataque 1", "impacto 1");

        //Parpadeo
        BehaviourCall.StartCoroutine(SecuenciasAux.SecunciaDaño(ImagenPersonaje));

        //audio hit
        clip1 = (AudioClip)Resources.Load("Audios/batalla/Hit_Hurt2");
        animationBrawler.GetComponent <animationScritpBatle>().AudioVfx.PlayOneShot(clip1);

        //define el daño y ejecuta el efecto
        float Daño = CalculoDaño.CalcularDaño(QuienAtaca, NombreDelAtaque);

        Daño = (int)Daño;
        Debug.Log("valor del daño :  " + Daño);

        BehaviourCall.StartCoroutine(CalculoDaño.EjecutarDaño(QuienAtaca, Daño));

        yield return(new WaitForSeconds(1.2f));

        MonoBehaviour.Destroy(ObjetoInsta.gameObject);

        bool Activaefecto = false;

        if (SecuenciasAux.RetornaSitieneEstadoAlterado(TwovsTwo, QuienAtaca) == true)
        {
            Activaefecto = CalculoDaño.ProbailidadEfecto(probabilidadEfecto);

            if (Activaefecto == true)
            {
                Debug.Log("Active envenenamiento ");
                //Efeto Evenenamiento
                CalculoDaño.PausaEjecucionEvento = true;
                BehaviourCall.StartCoroutine(SecuenciasAux.EnvenenamientoEfecto(ImagenPersonaje));
                yield return(new WaitWhile(() => CalculoDaño.PausaEjecucionEvento == true));

                SecuenciasAux.CambiaEstadoCrewild(QuienAtaca, EstadosEnum.poison);
            }
        }


        //salir de la seccuencia
        yield return(new WaitWhile(() => CalculoDaño.PausaEjecucionEvento == true));

        yield return(new WaitWhile(() => lAnimacionesAux.Disparador == true));

        lAnimacionesAux.Disparador = false;


        // animationBrawler.GetComponent<animationScritpBatle>().dialogue = true;
        animationBrawler.GetComponent <animationScritpBatle>().TextoDeBatalla[0] = "";
        animationBrawler.GetComponent <animationScritpBatle>().text.text         = "";
        animationBrawler.GetComponent <animationScritpBatle>().dialogue          = true;

        animationBrawler.GetComponent <animationScritpBatle>().pausaIenumerator = false;

        yield return(0);
    }
Esempio n. 12
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);
    }
Esempio n. 13
0
    public override IEnumerator AnimationBrawler(bool TwovsTwo, string QuienAtaca, Animation animationBrawler, string NombreDelAtaque, MonoBehaviour BehaviourCall)
    {
        cantidadDeusos--;
        Vector2       PosicionRefec = Vector2.zero;
        RectTransform ObjetoInsta   = null;

        UnityEngine.UI.Image ImagenPersonaje = null;

        libreriaDeScrips libreriaS = GameObject.FindObjectOfType <libreriaDeScrips>();

        string NombrePLayAnimt = "";

        PosicionRefec = new Vector2(-144f, -74f);
        //  animationBrawler.AddClip(this.animaBattle[0], "Attack");
        ObjetoInsta = CrearObjetos.CrearObjeto("Prefac/Batalla/Disparo", "Disparo", PosicionRefec);

        if (TwovsTwo == false)
        {
            //ataca de espalda
            if (QuienAtaca == "Player")
            {
                ImagenPersonaje = animationBrawler.GetComponent <animationScritpBatle>().ImagenEnemigo;
                libreriaS.Batalla.imagenePlayer.sprite = libreriaS.informacionCrewild.CrewillInstancia[libreriaS.Batalla.ActualSelNumPlayer].animaCrewildEspalda[2];
                NombrePLayAnimt = "DisparoSecuencia1";
            }
            //ataca de frente
            else if (QuienAtaca == "Enemy")
            {
                //   animationBrawler.AddClip(this.animaBattle[1], "Attack");
                ImagenPersonaje = animationBrawler.GetComponent <animationScritpBatle>().imagenePlayer;
                libreriaS.Batalla.ImagenEnemigo.sprite = libreriaS.Batalla.EnemigosBatalla[libreriaS.Batalla.ActualSeNumEnemy].animaCrewildFrentre[2];
                NombrePLayAnimt = "DisparoSecuencia2";
            }
        }

        else if (TwovsTwo == true)
        {
            // sin implementaciontodavia
        }


        ObjetoInsta.GetComponent <Animation>().Play(NombrePLayAnimt);
        // animationBrawler.Play("Attack");

        OpcionesAnimation lAnimacionesAux = ObjetoInsta.GetComponent <OpcionesAnimation>();

        yield return(new WaitWhile(() => lAnimacionesAux.Disparador == false));

        lAnimacionesAux.Disparador = false;

        SecuenciasAux.DevuelveSpriteBase(QuienAtaca);

        // energia disparada
        ObjetoInsta.GetComponent <PlayScritp>().animacion = new Sprite[3];
        for (int i = 0; i < 3; i++)
        {
            ObjetoInsta.GetComponent <PlayScritp>().animacion[i] = EncontrarMetodo.DevuelveSprite("Sprites/vfx/disparo de energia/ataque 1", "Disparo " + (i + 1));
        }

        yield return(new WaitWhile(() => lAnimacionesAux.Disparador == false));

        lAnimacionesAux.Disparador = false;

        //impacto
        ObjetoInsta.GetComponent <PlayScritp>().animacion = new Sprite[1];

        ObjetoInsta.GetComponent <PlayScritp>().animacion[0] = EncontrarMetodo.DevuelveSprite("Sprites/vfx/disparo de energia/ataque 1", "impacto 1");

        //parpadeo
        BehaviourCall.StartCoroutine(SecuenciasAux.SecunciaDaño(ImagenPersonaje));

        //define el daño y ejecuta el efecto
        float Daño = CalculoDaño.CalcularDaño(QuienAtaca, NombreDelAtaque);

        Daño = (int)Daño;
        Debug.Log("valor del daño :  " + Daño);

        BehaviourCall.StartCoroutine(CalculoDaño.EjecutarDaño(QuienAtaca, Daño));

        yield return(new WaitForSeconds(1.2f));

        MonoBehaviour.Destroy(ObjetoInsta.gameObject);

        //salir de la seccuencia
        yield return(new WaitWhile(() => CalculoDaño.PausaEjecucionEvento == true));

        yield return(new WaitWhile(() => lAnimacionesAux.Disparador == true));

        lAnimacionesAux.Disparador = false;

        // animationBrawler.GetComponent<animationScritpBatle>().dialogue = true;
        animationBrawler.GetComponent <animationScritpBatle>().TextoDeBatalla[0] = "";
        animationBrawler.GetComponent <animationScritpBatle>().text.text         = "";
        animationBrawler.GetComponent <animationScritpBatle>().dialogue          = true;

        animationBrawler.GetComponent <animationScritpBatle>().pausaIenumerator = false;
    }
Esempio n. 14
0
    // activa todos menus del jugador
    void ActivaMenus()
    {        /*
              * MenuCrewilds
              * MenuEstados
              * MenuObjetos
              * MenuJugador
              * MenuEquipo
              * MenuGuardado
              * MenuSalirA
              */
        switch (NumSquareBraquet)
        {
        // menu de criaturas
        case 0:

            Debug.Log("menu de criaturas");

            if (EncontrarMetodo.DefineSiHaycriaturas())
            {
                Invoke("invokeTimePause", 0.1f);
                LibreriaS.SeleccionDeCriaturas.SelectPos();
                LibreriaS.SeleccionDeCriaturas.actualizaDatos();
            }

            break;

        // Menu Estados
        case 1:

            Debug.Log("Menu Estados");

            if (EncontrarMetodo.DefineSiHaycriaturas())
            {
                MenuEstados.enabled = true;

                CreWildInfoScript.Active = true;
                LibreriaS.SeleccionDeCriaturas.actualizaDatos();
            }
            break;

        // Menu Objetos
        case 2:
            Debug.Log("Menu Objetos");


            Invoke("invokeIncentario", 0.1f);
            Invoke("invokeInventarioAux", 0.05f);
            break;

        //  Menu Jugador
        case 3:
            Debug.Log(" Menu Jugador");
            MenuJugador.enabled             = true;
            LibreriaS.JugadorInfo.activador = true;
            break;

        //  Menu Equipo
        case 4:
            Debug.Log("Menu Equipo");
            MenuEquipo.enabled = true;

            Invoke("invokeEquipo", 0.1f);

            break;

        //   Menu Guardado
        case 5:
            Debug.Log("  Menu Guardado");
            MenuGuardado.enabled = true;

            Invoke("InvokeGuardado", 0.1f);
            break;

        //  Menu Salir A
        case 6:
            Debug.Log("Menu Salir A");
            SceneManager.LoadScene("Intro");
            MenuSalirA.enabled = true;
            break;

        // Menu Salir del menu
        case 7:
            Debug.Log("Salir");
            SalirMenuSeleccion();
            break;
        }
    }
Esempio n. 15
0
 public DefinirCreaturasAllamar(string nombre, int niveles)
 {
     NombreCriatura = nombre;
     nivel          = niveles;
     criatura       = EncontrarMetodo.EncontrarCrewild(NombreCriatura, nivel);
 }