epinephrinemdfr.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. class EpinephrineMdfr: ModifierBase
  2. {
  3. const int LIFETIME = 60;
  4. const float STAMINA_DEPLETION_MULTIPLIER = 0;
  5. override void Init()
  6. {
  7. m_TrackActivatedTime = true;
  8. m_AnalyticsStatsEnabled = true;
  9. m_IsPersistent = true;
  10. m_ID = eModifiers.MDF_EPINEPHRINE;
  11. m_TickIntervalInactive = DEFAULT_TICK_TIME_INACTIVE;
  12. m_TickIntervalActive = 1;
  13. DisableActivateCheck();
  14. }
  15. override bool ActivateCondition(PlayerBase player)
  16. {
  17. return false;
  18. }
  19. override void OnReconnect(PlayerBase player)
  20. {
  21. OnActivate(player);
  22. }
  23. override string GetDebugText()
  24. {
  25. return (LIFETIME - GetAttachedTime()).ToString();
  26. }
  27. override void OnActivate(PlayerBase player)
  28. {
  29. player.IncreaseHealingsCount();
  30. player.GiveShock(100);
  31. player.GetStaminaHandler().SetStamina(100);
  32. player.GetStaminaHandler().ActivateDepletionModifier(EStaminaMultiplierTypes.EPINEPHRINE);
  33. }
  34. override void OnDeactivate(PlayerBase player)
  35. {
  36. player.DecreaseHealingsCount();
  37. player.GetStaminaHandler().DeactivateDepletionModifier(EStaminaMultiplierTypes.EPINEPHRINE);
  38. }
  39. override bool DeactivateCondition(PlayerBase player)
  40. {
  41. float attached_time = GetAttachedTime();
  42. if( attached_time >= LIFETIME )
  43. {
  44. return true;
  45. }
  46. else
  47. {
  48. return false;
  49. }
  50. }
  51. }