Example #1
0
 public Absorber(Monstruo source, Monstruo target)
 {
     src = source;
     targ = target;
     stg = Stage.atq2;
     ac = Efecto;
 }
Example #2
0
 public static void AddMonster(Monstruo m, bool nuevo)
 {
     if(nuevo){
         m.nombre = VerificarNombre(m);
     }
     NewMonster(m);
 }
Example #3
0
 public Sintesis(Monstruo source, Monstruo target)
 {
     src = source;
     targ = target;
     stg = Stage.atq2;
     ac = Efecto;
 }
Example #4
0
 public Placaje(Monstruo source, Monstruo target)
 {
     src = source;
     targ = target;
     stg = Stage.atq2;
     ac = Efecto;
 }
Example #5
0
 private void CreateEncounter(Monstruo m)
 {
     PlayerPrefs.SetString("Entrenador","Salvaje");
     PlayerPrefs.SetString("SalvajeMon",m.nombre);
     PlayerPrefs.SetInt("SalvajeMonLv",m.lv);
     PlayerPrefs.Save();
 }
Example #6
0
 public Llamarada(Monstruo source, Monstruo target)
 {
     src = source;
     targ = target;
     stg = Stage.atq3;
     ac = Efecto;
 }
Example #7
0
 public Item(Monstruo source, Monstruo target)
 {
     src = source;
     targ = target;
     stg = Stage.entrenador;
     ac = Atrapar;
 }
Example #8
0
 //public Monstruo targ,src;
 public GolpeBajo(Monstruo source, Monstruo target)
 {
     src = source;
     targ = target;
     stg = Stage.atq1;
     ac = Efecto;
 }
Example #9
0
 //public Monstruo targ,src;
 public Temblor(Monstruo source, Monstruo target)
 {
     src = source;
     targ = target;
     stg = Stage.atq3;
     ac = Efecto;
 }
Example #10
0
    public static Accion CreateAccion(string accion, Monstruo source, Monstruo target)
    {
        Type types = Type.GetType(accion);

        if (types == null)
            throw new InvalidOperationException("The given action does not have a Type associated with it.");

        return Activator.CreateInstance(types,source,target) as Accion;
    }
Example #11
0
 public void Shoot(direccion i, string img, Monstruo m)
 {
     GameObject p;
     if(((i == direccion.otro)&&(m==userMon))||((i == direccion.mismo)&&(m==opoMon)))
         p = Instantiate(projectile1);
     else
         p = Instantiate(projectile2);
     p.GetComponent<ProjectileScr>().imgName = img;
     p.transform.SetParent(GameObject.Find("Console").transform);
 }
Example #12
0
 private static string VerificarNombre(Monstruo m)
 {
     string[] nombres = GetMonsterList();
     bool esta;
     int posfijo = 0;
     string nombre = m.nombre;
     do{
         esta = false;
         for(int i = 0; i < nombres.Length; ++i){
             if(nombres[i] == nombre){
                 esta = true;
                 break;
             }
         }
         if(esta){
             nombre = m.nombre+posfijo++;
         }
     }while(esta);
     return nombre;
 }
Example #13
0
    private void InitPanels()
    {
        if(userMon != user.equipo[user.activo]){
            SaveMonster.AddMonster(userMon,false);
            userMon = user.equipo[user.activo];
            Log.AddLine(user.nombre+": 'Ve "+userMon.nombre+"!'");
            act1.stg = Stage.elegir;
        }
        if(opoMon != oponent.equipo[oponent.activo]){
            opoMon = oponent.equipo[oponent.activo];
            Log.AddLine(oponent.nombre+": 'Ve "+opoMon.nombre+"!'");
            act2.stg = Stage.elegir;
        }
        GameObject.Find("OponentIm").GetComponent<Image>().sprite = Resources.Load(opoMon.imgDir, typeof(Sprite)) as Sprite;
        GameObject.Find("UserIm").GetComponent<Image>().sprite = Resources.Load(userMon.imgDir, typeof(Sprite)) as Sprite;

        user.target = opoMon;
        user.source = userMon;
        oponent.target = userMon;
        oponent.source = opoMon;
        if(user.menuActivo == menus.capa1){
            actionPanel.SetActive(true);
        }else{
            actionPanel.SetActive(false);
        }
        if(user.menuActivo == menus.capaAtaque){
            atkPanel.SetActive(true);
        }else{
            atkPanel.SetActive(false);
        }
        if(user.menuActivo == menus.capaCambio){
            chgPanel.SetActive(true);
        }else{
            chgPanel.SetActive(false);
        }
    }
Example #14
0
    // Use this for initialization
    void Start()
    {
        Animator      animador       = GetComponent <Animator>();
        Vida          vida           = GetComponent <Vida>();
        DetectarRuta  detectorRuta   = GetComponent <DetectarRuta>();
        GeneradoOndas generadorOndas = GetComponentInChildren <GeneradoOndas>();

        este      = GetComponent <Monstruo>();
        este.Rb2D = GetComponent <Rigidbody2D>();
        Cabreo      cabreometro = GetComponentInChildren <Cabreo>();
        Rigidbody2D jugadorP    = GameObject.FindGameObjectWithTag("Player").GetComponent <Rigidbody2D>();

        cabreometro.Iniciar(cabreoMaximo, cabreoUmbral, tasaAumentoDeCabreo, tasaDescensoDeCabreo);
        este.Tipo(TipoMonstruo.Fantasma);

        este.CambiarEstadoMonstruo(estadoInicial);
        este.Comportamiento = () => {
            audioGrito.volume = cabreometro.Nivel();

            este.Rb2D.isKinematic = !(este.EstadoMonstruoActual() == EstadosMonstruo.SiguiendoJugador || este.EstadoMonstruoActual() == EstadosMonstruo.Proyectado);

            switch (este.EstadoMonstruoActual())
            {
            case EstadosMonstruo.Huyendo:
                vida.Invulnerable(true);
                este.Rb2D.velocity = (2 * este.Rb2D.position - cabreometro.JugadorRB().position).normalized * velocidadHuida;
                GiroInstantaneo(este.Rb2D.position - jugadorP.position);
                GameManager.instance.MontruoHuye(TipoMonstruo.Fantasma);
                audioGrito.Stop();
                Destroy(gameObject, 10f);
                break;

            case EstadosMonstruo.Proyectado:
                vida.Invulnerable(true);
                if (Time.time - este.Cronometro > tiempoAturdimiento)
                {
                    este.CambiarEstadoMonstruo(EstadosMonstruo.Quieto);
                }
                break;

            default:
                este.CambiarEstadoMonstruo(cabreometro.CambioCabreo());
                switch (este.EstadoMonstruoActual())
                {
                case EstadosMonstruo.Quieto:
                    Parar();
                    vida.Invulnerable(true);
                    generadorOndas.PararOndas();
                    break;

                case EstadosMonstruo.SiguiendoJugador:
                    vida.Invulnerable(false);
                    MoverseHacia(cabreometro.JugadorRB().position, velocidadPersecucion);
                    generadorOndas.GenerarOndas();
                    break;
                }
                break;
            }
        };

        audioGrito.Play();
        audioGrito.volume = 0f;
        este.Morir        = () =>
        {
            generadorOndas.enabled = false;
            animador.SetTrigger("muriendo");
            GameManager.instance.MonstruoMuerto(TipoMonstruo.Fantasma);
            este.enabled = false;
            este.Rb2D.Sleep();
            este.Rb2D.simulated = false;
            Destroy(generadorOndas.gameObject);
            audioGrito.Stop();
            Destroy(gameObject, 5f);
        };

        este.Atacar = () =>
        {
            animador.SetTrigger("atacando");
            vida.Invulnerable(false);
        };

        este.Atacado = (Jugador a) =>
        {
            if (este.EstadoMonstruoActual() == EstadosMonstruo.SiguiendoJugador)
            {
                este.Empujar(a.transform.position, a.fuerzaEmpujon);
                vida.Danyar(a.Danyo(), TipoMonstruo.Panzudo);
                este.CambiarEstadoMonstruo(EstadosMonstruo.Proyectado);
                cabreometro.Tranquilizar();
            }
        };

        este.FinalAtaque = () =>
        {
            vida.Invulnerable(true);
        };

        este.EntrandoLuz = () =>
        {
            generadorOndas.SumarLuz();
        };

        este.SaliendoLuz = () =>
        {
            generadorOndas.RestarLuz();
        };
    }
Example #15
0
    void Start()
    {
        user = (ClaseJugador)Entrenador.CreateTrainer("ClaseJugador","PEPE");
        opoN = PlayerPrefs.GetString("Entrenador");
        oponent = (Entrenador)Entrenador.CreateTrainer(opoN,opoN);
        PlayerPrefs.DeleteKey("Entrenador");
        battleStageOp = battleStage = (int)Stage.elegir;
        userMon = user.equipo[user.activo];
        opoMon = oponent.equipo[oponent.activo];
        act1 = user.accionEntrenador();
        act2 = Accion.CreateAccion("Elegir");

        GameObject.Find("OponentIm").GetComponent<Image>().sprite = Resources.Load(opoMon.imgDir, typeof(Sprite)) as Sprite;
        GameObject.Find("UserIm").GetComponent<Image>().sprite = Resources.Load(userMon.imgDir, typeof(Sprite)) as Sprite;
        actionPanel.SetActive(true);
        if(oponent.catchRate <= 0){
            GameObject.Find("ItemBtn").SetActive(false);
        }
    }
Example #16
0
 public static void SetProjectile(direccion dir, string imagen, Monstruo src)
 {
     b = GameObject.Find("Battle").GetComponent<Battle>();
     b.Shoot(dir,imagen,src);
 }
Example #17
0
 void Start()
 {
     monstruo   = GetComponentInParent <Monstruo> ();
     monstruoRB = monstruo.GetComponent <Rigidbody2D>();
 }
Example #18
0
    private void Start()
    {
        Rigidbody2D     jugadorRB;
        Animator        animador;
        float           giroInicial = 0;
        DetectarRuta    detectorRuta;
        CampoVision     campoVision;
        DetectorParedes detectorParedes;
        Vida            vida;
        Golpeable       detectorGolpes;

        jugadorRB       = GameObject.FindGameObjectWithTag("Player").GetComponent <Rigidbody2D>();
        animador        = GetComponent <Animator>();
        detectorRuta    = GetComponentInChildren <DetectarRuta>();
        campoVision     = GetComponentInChildren <CampoVision>();
        detectorParedes = GetComponentInChildren <DetectorParedes>();
        vida            = GetComponent <Vida>();
        detectorGolpes  = GetComponentInChildren <Golpeable>();

        este      = GetComponent <Monstruo>();
        este.Rb2D = GetComponent <Rigidbody2D>();
        este.Tipo(TipoMonstruo.Panzudo);

        este.CambiarEstadoMonstruo(estadoInicial);
        este.Comportamiento = () => {
            switch (este.EstadoMonstruoActual())
            {
            case EstadosMonstruo.EnRuta:
                if (!andando)
                {
                    pasos.Play();
                    andando = true;
                    respiracionBusqueda.Stop();
                }
                detectorParedes.EvitarColision(detectorRuta.PosicionPuntoRuta());
                MoverseHacia(detectorRuta.PosicionPuntoRuta(), velMovRuta);
                break;

            case EstadosMonstruo.SiguiendoJugador:
                if (!cargando)
                {
                    cargando = true;
                    gritoCarga.Play();
                }
                if ((campoVision.UltimaPosicionJugador() - este.Rb2D.position).sqrMagnitude < Monstruo.MARGEN)
                {
                    este.CambiarEstadoMonstruo(EstadosMonstruo.Desorientado);
                }
                detectorParedes.EvitarColision(campoVision.UltimaPosicionJugador());
                MoverseHacia(campoVision.UltimaPosicionJugador(), velMovPerseguir);
                break;

            case EstadosMonstruo.VolviendoARuta:
                if (!andando)
                {
                    pasos.Play();
                    andando = !andando;
                    respiracionBusqueda.Stop();
                }
                detectorParedes.EvitarColision(detectorRuta.PosicionPuntoRuta());
                MoverseHacia(detectorRuta.PosicionPuntoRuta(), velMovRuta);
                break;

            case EstadosMonstruo.Desorientado:
                Pararse();
                if (andando)
                {
                    pasos.Stop();
                    andando  = !andando;
                    cargando = false;
                    respiracionBusqueda.Play();
                }
                giroInicial     = este.Rb2D.rotation;
                este.Cronometro = Time.time;
                este.CambiarEstadoMonstruo(EstadosMonstruo.BuscandoJugador);
                break;

            case EstadosMonstruo.BuscandoJugador:
                if (andando)
                {
                    pasos.Stop();
                    andando  = !andando;
                    cargando = false;
                    respiracionBusqueda.Play();
                }
                Pararse();
                Vector2 aux = new Vector2(Mathf.Sin(((Time.time - este.Cronometro) / periodoGiro + giroInicial / 360f) * 2 * Mathf.PI), Mathf.Cos(((Time.time - este.Cronometro) / periodoGiro + giroInicial / 360f) * 2 * Mathf.PI));
                GiroInstantaneo(aux);
                if (Time.time - este.Cronometro > periodoGiro)
                {
                    este.CambiarEstadoMonstruo(EstadosMonstruo.PensandoRuta);
                }
                break;

            case EstadosMonstruo.Proyectado:
                if (Time.time - este.Cronometro > tiempoAturdimiento)
                {
                    este.CambiarEstadoMonstruo(EstadosMonstruo.Desorientado);
                    vida.Invulnerable(false);
                }
                break;

            case EstadosMonstruo.Huyendo:
                MoverseHacia((2 * este.Rb2D.position - jugadorRB.position), velMovHuida);
                GameManager.instance.MontruoHuye(TipoMonstruo.Panzudo);
                GetComponent <Collider2D>().enabled = false;
                Destroy(gameObject, 10f);
                break;

            case EstadosMonstruo.Atacando:
                MoverseHacia(jugadorRB.position, velMovPerseguir);
                break;
            }
        };

        este.Morir = () =>
        {
            animador.SetTrigger("muriendo");
            GameManager.instance.MonstruoMuerto(TipoMonstruo.Panzudo);
            Destroy(detectorGolpes.gameObject);
            este.enabled = false;
            este.Rb2D.Sleep();
            GetComponent <Collider2D>().enabled = false;
            Destroy(gameObject, 5f);
        };

        este.Atacar = () =>
        {
            animador.SetTrigger("atacando");
        };

        este.Atacado = (Jugador a) =>
        {
            este.Empujar(a.transform.position, a.fuerzaEmpujon);
            vida.Danyar(a.Danyo(), TipoMonstruo.Panzudo);
            este.CambiarEstadoMonstruo(EstadosMonstruo.Proyectado);
            vida.Invulnerable(true);
        };

        este.FinalAtaque = () =>
        {
            este.CambiarEstadoMonstruo(EstadosMonstruo.Desorientado);
        };
    }
Example #19
0
 public EstadoEnojado(Monstruo m)
 {
     Monstruo = m;
 }
Example #20
0
 private static void NewMonster(Monstruo m)
 {
     SaveMonster.NewMonster(m.nombre,m.especie,m.exp.ToString(),m.modStats.ToString(),m.estado.ToString());
 }
Example #21
0
        public async Task get_Movimientos_Personajes(ClienteTcp cliente, string paquete)
        {
            Cuenta cuenta = cliente.cuenta;

            string[] separador_jugadores = paquete.Substring(3).Split('|'), informaciones;
            string   _loc6, nombre_template, tipo;

            for (int i = 0; i < separador_jugadores.Length; ++i)
            {
                _loc6 = separador_jugadores[i];
                if (_loc6.Length != 0)
                {
                    informaciones = _loc6.Substring(1).Split(';');
                    if (_loc6[0].Equals('+'))
                    {
                        Celda celda = cuenta.juego.mapa.celdas[short.Parse(informaciones[0])];
                        int   id    = int.Parse(informaciones[3]);
                        nombre_template = informaciones[4];
                        tipo            = informaciones[5];
                        if (tipo.Contains(","))
                        {
                            tipo = tipo.Split(',')[0];
                        }

                        switch (int.Parse(tipo))
                        {
                        case -1:
                        case -2:
                            if (cuenta.Estado_Cuenta == EstadoCuenta.LUCHANDO)
                            {
                                int  vida   = int.Parse(informaciones[12]);
                                byte pa     = byte.Parse(informaciones[13]);
                                byte pm     = byte.Parse(informaciones[14]);
                                byte equipo = byte.Parse(informaciones[15]);

                                cuenta.pelea.get_Agregar_Luchador(new Luchadores(id, true, vida, pa, pm, celda.id, vida, equipo));
                            }
                            break;

                        case -3:    //monstruos
                            string[] templates = nombre_template.Split(',');
                            string[] niveles   = informaciones[7].Split(',');

                            Monstruo monstruo = new Monstruo(id, int.Parse(templates[0]), celda, int.Parse(niveles[0]));
                            monstruo.lider_grupo = monstruo;

                            for (int m = 1; m < templates.Length; ++m)
                            {
                                monstruo.moobs_dentro_grupo.Add(new Monstruo(id, int.Parse(templates[m]), celda, int.Parse(niveles[m])));
                            }

                            cuenta.juego.mapa.agregar_Entidad(monstruo);
                            break;

                        case -4:    //NPC
                            cuenta.juego.mapa.agregar_Entidad(new Npcs(id, int.Parse(nombre_template), celda));
                            break;

                        case -5:
                            break;

                        case -6:
                            break;

                        case -7:
                        case -8:
                            break;

                        case -9:
                            break;

                        case -10:
                            break;

                        default:    // jugador
                            if (cuenta.Estado_Cuenta != EstadoCuenta.LUCHANDO)
                            {
                                if (cuenta.juego.personaje.id != id)
                                {
                                    if (nombre_template.StartsWith("[") || Extensiones.lista_mods.Contains(nombre_template))
                                    {
                                        cuenta.conexion.get_Desconectar_Socket();
                                    }

                                    cuenta.juego.mapa.agregar_Entidad(new Personaje(id, nombre_template, byte.Parse(informaciones[7].ToString()), celda));
                                }
                                else
                                {
                                    cuenta.juego.personaje.celda = celda;
                                }
                            }
                            else
                            {
                                int  vida   = int.Parse(informaciones[14]);
                                byte pa     = byte.Parse(informaciones[15]);
                                byte pm     = byte.Parse(informaciones[16]);
                                byte equipo = byte.Parse(informaciones[24]);

                                cuenta.pelea.get_Agregar_Luchador(new Luchadores(id, true, vida, pa, pm, celda.id, vida, equipo));

                                if (cuenta.juego.personaje.id == id && cuenta.pelea_extension.configuracion.posicionamiento != PosicionamientoInicioPelea.INMOVIL)
                                {
                                    await Task.Delay(300);

                                    /** la posicion es aleatoria pero el paquete GP siempre aparecera primero el team donde esta el pj **/
                                    short celda_posicion = cuenta.pelea.get_Celda_Mas_Cercana_O_Lejana(cuenta.pelea_extension.configuracion.posicionamiento == PosicionamientoInicioPelea.CERCA_DE_ENEMIGOS, cuenta.pelea.celdas_preparacion, cuenta.juego.mapa);

                                    if (celda_posicion != celda.id)
                                    {
                                        cuenta.conexion.enviar_Paquete("Gp" + celda_posicion);
                                    }
                                    else
                                    {
                                        cuenta.conexion.enviar_Paquete("GR1");
                                    }
                                }
                                else if (cuenta.juego.personaje.id == id)
                                {
                                    await Task.Delay(300);

                                    cuenta.conexion.enviar_Paquete("GR1");    //boton listo
                                }
                            }
                            break;
                        }
                    }
                    else if (_loc6[0].Equals('-'))
                    {
                        if (cuenta.Estado_Cuenta != EstadoCuenta.LUCHANDO)
                        {
                            int id = int.Parse(_loc6.Substring(1));
                            cuenta.juego.mapa.eliminar_Entidad(id);
                        }
                    }
                }
            }
        }
Example #22
0
 public void CrearMonstruo(Casilla casilla, Monstruo monstruo)
 {
     casilla.Monstruo = monstruo;
     casilla.Ocupado  = true;
     casilla.Team     = monstruo.Team;
 }
Example #23
0
 public EstadoTranquilo(Monstruo m)
 {
     Monstruo = m;
 }
Example #24
0
 void Start()
 {
     este    = GetComponentInParent <Monstruo>();
     golpear = GetComponentInParent <Golpear> ();
 }