DIFF

HealthNotfr.c

class HealthNotfr: NotifierBase
{
	/*
	private const float	 	HEALTHY_BLOOD_TRESHOLD	= 5000;
	private const float	 	HEALTHY_TRESHOLD		= 5000;
	private const float	 	HEALING_ENERGY_TRESHOLD	= 4000;
	private const float	 	HEALING_WATER_TRESHOLD	= 2500;
	private const float	 	HEALING_BLOOD_TRESHOLD	= 5000;
	*/
	private const float 	DEC_TRESHOLD_LOW 			= 0;
	private const float 	DEC_TRESHOLD_MED 			= -0.7;
	private const float 	DEC_TRESHOLD_HIGH			= -1.3;
	private const float 	INC_TRESHOLD_LOW 			= 0;
	private const float 	INC_TRESHOLD_MED 			= 0.7;
	private const float 	INC_TRESHOLD_HIGH			= 1.3;
	
		
	void HealthNotfr(NotifiersManager manager)
	{
		m_TickInterval = 3000;
		m_TendencyBufferSize = 6;
	}

	override int GetNotifierType()
	{
		return eNotifiers.NTF_HEALTHY;
	}
	
	override void DisplayTendency(float delta)
	{
		int tendency = CalculateTendency(delta, INC_TRESHOLD_LOW, INC_TRESHOLD_MED, INC_TRESHOLD_HIGH, DEC_TRESHOLD_LOW, DEC_TRESHOLD_MED, DEC_TRESHOLD_HIGH);
		//PrintString("tendency:" + tendency);
		//GetVirtualHud().SetStatus(eDisplayElements.DELM_TDCY_HEALTH,tendency);
		
		//DSLevels level = DetermineLevel( GetObservedValue(), PlayerConstants.THRESHOLD_HEALTH_WARNING, PlayerConstants.THRESHOLD_HEALTH_CRITICAL, PlayerConstants.THRESHOLD_HEALTH_BLINKING, PlayerConstants.THRESHOLD_HEALTH_EXTRA);
		
		EStatLevels health_level = m_Player.GetStatLevelHealth();
		DisplayElementTendency dis_elm = DisplayElementTendency.Cast(GetVirtualHud().GetElement(eDisplayElements.DELM_TDCY_HEALTH));
		
		if( dis_elm )
		{
			dis_elm.SetSeriousnessLevel(health_level);
			dis_elm.SetTendency(tendency);
		}
	}

	override protected float GetObservedValue()
	{
		return m_Player.GetHealth("","Health");
	}
};