Пример #1
0
    // Update is called once per frame
    void Update()
    {
        if (!esta_reutilizacion)
        {
            if (esta_activada)
            {
                ManejadorCombate.sanacionFlotanteAlJugador(this.transform, jugadorEstadisticas.Vida_base [jugador.JugadorEstadisticas.Nivel_actual] * 0.1f, jugadorEstadisticas, 2f);                 //10%

                Instantiate(prefab_efecto, new Vector3(this.transform.position.x, this.transform.position.y, this.transform.position.z - 1f), this.transform.rotation);
                esta_activada      = false;
                esta_reutilizacion = true;
            }
        }
        else
        {
            tiempo_reutilizacion_contador -= Time.deltaTime;
            if (tiempo_reutilizacion_contador < 0)
            {
                esta_reutilizacion            = false;
                tiempo_reutilizacion_contador = tiempo_reutilizacion_base;
            }
        }

        /*if (Input.GetKeyUp (KeyCode.Alpha1)) {
         *      activar ();
         * }*/
    }
Пример #2
0
    void OnTriggerEnter2D(Collider2D collider)
    {
        if (collider.gameObject.tag == ControladorGlobal.STRING_TAG_ENEMIGO)
        {
            danio = jugadorEstadisticas.Fuerza_fisica_actual;

            bool es_critico = ManejadorCombate.esCritico(jugadorEstadisticas.Critico);
            if (es_critico)
            {
                danio *= 2;
                ControladorGlobal.manejadorSFX.reproducirSFX(ManejadorSFX.SFX_GOLPES[2]);
            }
            else
            {
                ControladorGlobal.manejadorSFX.reproducirSFX(ManejadorSFX.SFX_GOLPES[Random.Range(0, 2)]);
            }

            ManejadorCombate.danioFlotanteAlEnemigoPorTrigger(this.transform, jugadorEstadisticas, collider, danio, es_critico, ControladorGlobal.jugador.ManejadorHabilidadesPasivas.Tiene_vampirismo);

            //puede entrenar una destreza con sus manos
            if (ControladorGlobal.jugador.ManejadorDestrezas.Esta_entrenando && ControladorGlobal.jugador.ManejadorDestrezas.Tema_entrenamiento == "FF")
            {
                int aleatorio = Random.Range(1, 101);

                if (aleatorio == 2)                //2% prob de entrenar con puño
                {
                    ControladorGlobal.jugador.ManejadorDestrezas.entrenar();
                }
            }
        }
    }
Пример #3
0
    void OnTriggerEnter2D(Collider2D col)
    {
        if (col.gameObject.tag == ControladorGlobal.STRING_TAG_ENEMIGO && jugador.JugadorEstado.Esta_atacando)
        {
            float danio_final = danio;
            bool  es_critico  = ManejadorCombate.esCritico(ControladorGlobal.jugador.JugadorEstadisticas.Critico);
            if (es_critico)
            {
                danio_final *= 2;
                ControladorGlobal.manejadorSFX.reproducirSFX(ManejadorSFX.SFX_ESPADA_CON_COLISION[Random.Range(0, 3)]);
            }
            else
            {
                ControladorGlobal.manejadorSFX.reproducirSFX(ManejadorSFX.SFX_ESPADA_SIN_COLISION[Random.Range(0, 3)]);
            }


            if (encantamiento == ENCANTAMIENTO_FUEGO)
            {
                danio_final += 10;
            }
            else if (encantamiento == ENCANTAMIENTO_HIELO)
            {
                danio_final += 5;
            }
            else if (encantamiento == ENCANTAMIENTO_TRUENO)
            {
                danio_final += 15;
            }
            else if (encantamiento == ENCANTAMIENTO_NINGUNO)
            {
            }


            ManejadorCombate.danioFlotanteAlEnemigoPorTrigger(this.transform, jugador.JugadorEstadisticas, col, danio_final, es_critico, jugador.ManejadorHabilidadesPasivas.Tiene_vampirismo);
        }
    }
Пример #4
0
    void OnCollisionStay2D(Collision2D collision)
    {
        if (collision.gameObject.tag != ControladorGlobal.STRING_TAG_MAPA)
        {
            tiempo_danio_contador += Time.deltaTime;

            if (tiempo_danio_contador > tiempo_danio)
            {
                if (collision.gameObject.tag == ControladorGlobal.STRING_TAG_ENEMIGO)
                {
                    float danio = ControladorGlobal.jugador.JugadorEstadisticas.Fuerza_magica_destructora_actual;

                    bool es_critico = ManejadorCombate.esCritico(ControladorGlobal.jugador.JugadorEstadisticas.Critico);
                    if (es_critico)
                    {
                        danio *= 2;
                    }

                    ManejadorCombate.danioFlotanteAlEnemigoPorCollision(this.transform, ControladorGlobal.jugador.JugadorEstadisticas, collision, danio, es_critico, ControladorGlobal.jugador.ManejadorHabilidadesPasivas.Tiene_vampirismo);
                }
                tiempo_danio_contador = 0;
            }
        }
    }