boneregen.c 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. class BoneRegenMdfr: ModifierBase
  2. {
  3. private const float MINIMAL_WATER_TO_REGENRATE = 2500;
  4. private const float MINIMAL_ENERGY_TO_REGENRATE = 4000;
  5. private const float MINIMAL_BLOOD_TO_REGENRATE = 5000;
  6. private const float MINIMAL_BLOOD_REQUIRED_TO_REGENERATE_HEALTH = 5000;
  7. private const float BONE_HEALTH_INCREMENT_PER_SEC = 0.25;
  8. override void Init()
  9. {
  10. m_TrackActivatedTime = false;
  11. m_ID = eModifiers.MDF_BONE_REGEN;
  12. m_TickIntervalInactive = DEFAULT_TICK_TIME_INACTIVE;
  13. m_TickIntervalActive = DEFAULT_TICK_TIME_ACTIVE;
  14. }
  15. override bool ActivateCondition(PlayerBase player)
  16. {
  17. if ( player.GetHealth("GlobalHealth", "Blood") >= MINIMAL_BLOOD_TO_REGENRATE && player.GetStatWater().Get() >= MINIMAL_WATER_TO_REGENRATE && player.GetStatEnergy().Get() >= MINIMAL_ENERGY_TO_REGENRATE )
  18. {
  19. return true;
  20. }
  21. else
  22. {
  23. return false;
  24. }
  25. }
  26. override void OnActivate(PlayerBase player)
  27. {
  28. }
  29. override bool DeactivateCondition(PlayerBase player)
  30. {
  31. if ( player.GetHealth("GlobalHealth", "Blood") < MINIMAL_BLOOD_TO_REGENRATE && player.GetStatWater().Get() < MINIMAL_WATER_TO_REGENRATE && player.GetStatEnergy().Get() < MINIMAL_ENERGY_TO_REGENRATE )
  32. {
  33. return true;
  34. }
  35. else
  36. {
  37. return false;
  38. }
  39. }
  40. override void OnTick(PlayerBase player, float deltaT)
  41. {
  42. /*
  43. player.AddHealth("RightArm","Health",BONE_HEALTH_INCREMENT_PER_SEC * deltaT);
  44. player.AddHealth("RightHand","Health",BONE_HEALTH_INCREMENT_PER_SEC * deltaT);
  45. player.AddHealth("LeftArm","Health",BONE_HEALTH_INCREMENT_PER_SEC * deltaT);
  46. player.AddHealth("LeftHand","Health",+BONE_HEALTH_INCREMENT_PER_SEC * deltaT);
  47. player.AddHealth("RightLeg","Health",+BONE_HEALTH_INCREMENT_PER_SEC * deltaT);
  48. player.AddHealth("RightFoot","Health",+BONE_HEALTH_INCREMENT_PER_SEC * deltaT);
  49. player.AddHealth("LeftLeg","Health",+BONE_HEALTH_INCREMENT_PER_SEC * deltaT);
  50. player.AddHealth("LeftFoot","Health",+BONE_HEALTH_INCREMENT_PER_SEC * deltaT);
  51. player.AddHealth("Torso","Health",+BONE_HEALTH_INCREMENT_PER_SEC * deltaT);
  52. */
  53. }
  54. };