public void showDeathScreen(DamageAgent agent)
    {
        base.turnOn();
        switch (agent)
        {
        case DamageAgent.BULLET:
            Menu_Death_Bullet.enabled = true;
            break;

        case DamageAgent.FREEZE:
            Menu_Death_Freeze.enabled = true;
            break;

        case DamageAgent.ICE:
            Menu_Death_Ice.enabled = true;
            break;

        case DamageAgent.RAIN:
            Menu_Death_Rain.enabled = true;
            break;

        case DamageAgent.CARCRUSH:
            Menu_Death_CarCrush.enabled = true;
            break;

        case DamageAgent.WIND:
            Menu_Death_Wind.enabled = true;
            break;
        }
    }
Beispiel #2
0
    /// <summary>
    /// Reduce health and inflicts side effects, if any.
    /// </summary>
    /// <param name="damageAmount">The amound of damage inflicted</param>
    /// <param name="agent">The type of damage inflicted</param>
    public virtual void damage(float damageAmount, DamageAgent agent)
    {
        float dmg = damageAmount;

        //Side effects
        switch (agent)
        {
        case DamageAgent.WIND:
            sf_adjust_temperature(dmg, Weather.WIND_INFLUENCE_OFFSET);
            dmg = 0;
            break;

        case DamageAgent.ICE:
            sf_concuss(dmg);
            break;

        case DamageAgent.CARCRUSH:
            sf_concuss(dmg);
            break;
        }
        health -= dmg;
        if (health <= 0)
        {
            Decease(agent);
        }
    }
Beispiel #3
0
 /// <summary>
 /// Decease
 /// </summary>
 /// <param name="agent"></param>
 protected virtual void Decease(DamageAgent agent)
 {
     if (Deceased)
     {
         return;
     }
     Deceased = true;
 }
 /// <summary>
 /// Display GUI elements on death
 /// </summary>
 /// <param name="agent">The type of damage that killed the player</param>
 protected override void Decease(DamageAgent agent)
 {
     if (Deceased)
     {
         return;
     }
     base.Decease(agent);
     playerHandler._triggerDeath(agent);
 }
Beispiel #5
0
    /// <summary>
    /// Reduce health and take actions in response to damage
    /// </summary>
    /// <param name="damageAmount">The amound of damage inflicted</param>
    /// <param name="agent">The type of damage inflicted</param>
    override public void damage(float damageAmount, DamageAgent agent)
    {
        float damage = damageAmount;

        if (agent == DamageAgent.BULLET && hasArmor())
        {
            damage *= 0.5f;
        }
        base.damage(damage, agent);
    }
    /// <summary>
    /// Reduce health and take actions in response to damage
    /// </summary>
    /// <param name="damageAmount">The amound of damage inflicted</param>
    /// <param name="agent">The type of damage inflicted</param>
    override public void damage(float damageAmount, DamageAgent agent)
    {
        float damage = damageAmount;

        switch (agent)
        {
        case DamageAgent.BULLET:
            if (playerEquip.hasArmor())
            {
                damage *= 0.5f;
            }
            break;

        case DamageAgent.FREEZE:
            if (playerEquip.hasJacket())
            {
                damage *= JACKET_PROTECTION_RATIO;
            }
            break;

        case DamageAgent.WIND:
            if (playerEquip.hasJacket())
            {
                damage *= JACKET_PROTECTION_RATIO;
            }
            break;

        case DamageAgent.RAIN:
            if (playerEquip.hasUmbrella())
            {
                damage *= 0.9f;
            }
            break;

        case DamageAgent.ICE:
            if (playerEquip.hasUmbrella())
            {
                damage *= 0.5f;
            }
            break;

        case DamageAgent.CARCRUSH:
            if (playerEquip.hasArmor())
            {
                damage *= 0.5f;
            }
            break;
        }
        base.damage(damage, agent);
    }
Beispiel #7
0
 /// <summary>
 /// Call back when player dies
 /// </summary>
 /// <param name="agent">The cause the player died of</param>
 internal void _triggerDeath(DamageAgent agent)
 {
     Menu_Death.showDeathScreen(agent);
 }
 /// <summary>
 /// Call back when player dies
 /// </summary>
 /// <param name="agent">The cause the player died of</param>
 public void _triggerDeath(DamageAgent agent)
 {
     Deceased = true;
     playerHUD._triggerDeath(agent);
 }