Burning.c
class BurningMdfr: ModifierBase
{
private const float BURNING_TRESHOLD = 199;
private const float HEALTH_DECREMENT_PER_SEC = -5;
override void Init()
{
m_TrackActivatedTime = false;
m_ID = eModifiers.MDF_BURNING;
m_TickIntervalInactive = DEFAULT_TICK_TIME_INACTIVE;
m_TickIntervalActive = DEFAULT_TICK_TIME_ACTIVE;
}
override bool ActivateCondition(PlayerBase player)
{
float hc = player.GetStatHeatComfort().Get();
if ( hc > BURNING_TRESHOLD )
{
return true;
}
else
{
return false;
}
}
override void OnActivate(PlayerBase player)
{
//Print("My face is melting!");
}
override bool DeactivateCondition(PlayerBase player)
{
if ( player.GetStatHeatComfort().Get() <= BURNING_TRESHOLD )
{
return true;
}
else
{
return false;
}
}
override void OnTick(PlayerBase player, float deltaT)
{
float currenthealth = player.GetHealth("GlobalHealth", "Health");
player.SetHealth("GlobalHealth", "Health" , ( currenthealth + (HEALTH_DECREMENT_PER_SEC*deltaT) ) );
//player.GetStatTemperature().Set( player.GetStatTemperature().GetMax() );
}
};