//Función de recibir daño, funciona igual que las otras funciones de recibir daño public override void TakeDamage(Bofias.SpellElement element) { AudioSource.PlayClipAtPoint(damage, transform.position); switch (element) { case Bofias.SpellElement.FIRE: health -= 5; break; case Bofias.SpellElement.ICE: health -= 25; if (!slowed) { slowed = true; ApplyIceDebuff(); Invoke("DisableSlow", slowDuration); } else { CancelInvoke("DisableSlow"); Invoke("DisableSlow", slowDuration); } break; default: break; } }
//Función que se llama por otros objetos para inflingir daño al boss, es virtual porque hay una fase del boss que recibe daño diferente de las demás. public virtual void TakeDamage(Bofias.SpellElement element) { AudioSource.PlayClipAtPoint(boss.damage, boss.transform.position); //Sonido del efecto de recibir daño de los enemigos switch (element) { case Bofias.SpellElement.FIRE: boss.Health -= 25; break; case Bofias.SpellElement.ICE: boss.Health -= 10; boss.Froze(); break; default: break; } //Actualiza la barra de vida del boss en el hud boss.healBar.localScale = new Vector3(boss.Health / boss.maxHealth, 1, 1); }
//Se modifica la función de recibir daño del boss en esta fase public override void TakeDamage(Bofias.SpellElement element) { AudioSource.PlayClipAtPoint(boss.damage, boss.transform.position); //Suena el audio cuando recibe daño switch (element) { case Bofias.SpellElement.FIRE: boss.Health -= 5; break; case Bofias.SpellElement.ICE: boss.Health -= 35; boss.Froze(); break; default: break; } //Se actualiza la barra de vida del boss en el hud boss.healBar.localScale = new Vector3(boss.Health / boss.maxHealth, 1, 1); }