Exemple #1
0
    //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;
        }
    }
Exemple #2
0
    //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);
    }