// 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 (); * }*/ }
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(); } } } }
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); } }
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; } } }