contamination.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. class ContaminationStage1Mdfr: ModifierBase
  2. {
  3. static const int AGENT_THRESHOLD_ACTIVATE = 1;
  4. static const int AGENT_THRESHOLD_DEACTIVATE = 100;
  5. static const int EVENT_1_INTERVAL_MIN = 20;
  6. static const int EVENT_1_INTERVAL_MAX = 40;
  7. protected float m_NextEvent;
  8. protected float m_Time;
  9. override void Init()
  10. {
  11. m_AnalyticsStatsEnabled = true;
  12. m_ID = eModifiers.MDF_CONTAMINATION1;
  13. m_TickIntervalInactive = DEFAULT_TICK_TIME_INACTIVE;
  14. m_TickIntervalActive = DEFAULT_TICK_TIME_ACTIVE;
  15. m_SyncID = eModifierSyncIDs.MODIFIER_SYNC_CONTAMINATION;
  16. }
  17. override string GetDebugText()
  18. {
  19. return ("Activate threshold: "+AGENT_THRESHOLD_ACTIVATE + "| " +"Deativate threshold: "+AGENT_THRESHOLD_DEACTIVATE);
  20. }
  21. override protected bool ActivateCondition(PlayerBase player)
  22. {
  23. return ( player.GetSingleAgentCount(eAgents.CHEMICAL_POISON) >= AGENT_THRESHOLD_ACTIVATE && player.GetSingleAgentCount(eAgents.CHEMICAL_POISON) < AGENT_THRESHOLD_DEACTIVATE );
  24. }
  25. override protected void OnActivate(PlayerBase player)
  26. {
  27. player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_COUGH);
  28. }
  29. override protected bool DeactivateCondition(PlayerBase player)
  30. {
  31. return !ActivateCondition(player);
  32. }
  33. }