DIFF

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