health.c 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. class HealthMdfr: ModifierBase
  2. {
  3. private float m_LastHealthLevel;
  4. private float m_LastBloodLevel;
  5. override void Init()
  6. {
  7. m_TrackActivatedTime = false;
  8. m_ID = eModifiers.MDF_HEALTH;
  9. m_TickIntervalInactive = DEFAULT_TICK_TIME_INACTIVE;
  10. m_TickIntervalActive = DEFAULT_TICK_TIME_ACTIVE;
  11. DisableDeactivateCheck();
  12. }
  13. override bool ActivateCondition(PlayerBase player)
  14. {
  15. return true;
  16. }
  17. override bool DeactivateCondition(PlayerBase player)
  18. {
  19. return false;
  20. }
  21. override void OnTick(PlayerBase player, float deltaT)
  22. {
  23. float blood = player.GetHealth("GlobalHealth", "Blood");
  24. float health = player.GetHealth("GlobalHealth", "Health");
  25. float healthdelta = Math.AbsInt(health - m_LastHealthLevel);
  26. if (health < m_LastHealthLevel) healthdelta = -healthdelta;
  27. //if( player.m_NotifiersManager ) player.m_NotifiersManager.FindNotifier(eNotifiers.NTF_LIVES).DisplayTendency(healthdelta);
  28. m_LastHealthLevel = health;
  29. float blooddelta = Math.AbsInt(blood - m_LastBloodLevel);
  30. if (blood < m_LastBloodLevel) blooddelta = -blooddelta;
  31. //if( player.m_NotifiersManager ) player.m_NotifiersManager.FindNotifier(eNotifiers.NTF_BLOOD).DisplayTendency(blooddelta);
  32. m_LastBloodLevel = blood;
  33. }
  34. };