healthnotfr.c 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. class HealthNotfr: NotifierBase
  2. {
  3. /*
  4. private const float HEALTHY_BLOOD_TRESHOLD = 5000;
  5. private const float HEALTHY_TRESHOLD = 5000;
  6. private const float HEALING_ENERGY_TRESHOLD = 4000;
  7. private const float HEALING_WATER_TRESHOLD = 2500;
  8. private const float HEALING_BLOOD_TRESHOLD = 5000;
  9. */
  10. private const float DEC_TRESHOLD_LOW = 0;
  11. private const float DEC_TRESHOLD_MED = -0.7;
  12. private const float DEC_TRESHOLD_HIGH = -1.3;
  13. private const float INC_TRESHOLD_LOW = 0;
  14. private const float INC_TRESHOLD_MED = 0.7;
  15. private const float INC_TRESHOLD_HIGH = 1.3;
  16. void HealthNotfr(NotifiersManager manager)
  17. {
  18. m_TickInterval = 3000;
  19. m_TendencyBufferSize = 6;
  20. }
  21. override int GetNotifierType()
  22. {
  23. return eNotifiers.NTF_HEALTHY;
  24. }
  25. override void DisplayBadge()
  26. {
  27. }
  28. override void DisplayTendency(float delta)
  29. {
  30. int tendency = CalculateTendency(delta, INC_TRESHOLD_LOW, INC_TRESHOLD_MED, INC_TRESHOLD_HIGH, DEC_TRESHOLD_LOW, DEC_TRESHOLD_MED, DEC_TRESHOLD_HIGH);
  31. //PrintString("tendency:" + tendency);
  32. //GetVirtualHud().SetStatus(eDisplayElements.DELM_TDCY_HEALTH,tendency);
  33. //DSLevels level = DetermineLevel( GetObservedValue(), PlayerConstants.THRESHOLD_HEALTH_WARNING, PlayerConstants.THRESHOLD_HEALTH_CRITICAL, PlayerConstants.THRESHOLD_HEALTH_BLINKING, PlayerConstants.THRESHOLD_HEALTH_EXTRA);
  34. EStatLevels health_level = m_Player.GetStatLevelHealth();
  35. DisplayElementTendency dis_elm = DisplayElementTendency.Cast(GetVirtualHud().GetElement(eDisplayElements.DELM_TDCY_HEALTH));
  36. if( dis_elm )
  37. {
  38. dis_elm.SetSeriousnessLevel(health_level);
  39. dis_elm.SetTendency(tendency);
  40. }
  41. }
  42. override void HideBadge()
  43. {
  44. ////GetVirtualHud().SetStatus(eDisplayElements.DELM_NTFR_HEALTHY,DELM_LVL_0);
  45. }
  46. override protected float GetObservedValue()
  47. {
  48. float health = m_Player.GetHealth("","Health");
  49. //PrintString("health:" + health);
  50. return health;
  51. }
  52. };