injuredlegnotfr.c 900 B

12345678910111213141516171819202122232425262728293031323334353637
  1. class InjuredLegNotfr: NotifierBase
  2. {
  3. void InjuredLegNotfr(NotifiersManager manager)
  4. {
  5. m_Active = true;
  6. }
  7. override int GetNotifierType()
  8. {
  9. return eNotifiers.NTF_LEGS;
  10. }
  11. override void DisplayBadge()
  12. {
  13. DisplayElementBadge dis_elm = DisplayElementBadge.Cast(GetVirtualHud().GetElement(eDisplayElements.DELM_BADGE_LEGS));
  14. if ( dis_elm )
  15. {
  16. float legHealthInverted = 1 - Math.Min(m_Player.GetHealth01("LeftLeg",""), m_Player.GetHealth01("RightLeg",""));
  17. int level = eBadgeLevel.NONE;
  18. if (m_Player.GetBrokenLegs() == eBrokenLegs.NO_BROKEN_LEGS)
  19. level = DetermineBadgeLevel(legHealthInverted, 0.05, 0.35, 0.65);
  20. dis_elm.SetLevel(level);
  21. }
  22. }
  23. override void HideBadge()
  24. {
  25. DisplayElementBadge dis_elm = DisplayElementBadge.Cast(GetVirtualHud().GetElement(eDisplayElements.DELM_BADGE_LEGS));
  26. if ( dis_elm )
  27. {
  28. dis_elm.SetLevel(eBadgeLevel.NONE);
  29. }
  30. }
  31. };