3 static const int AGENT_THRESHOLD_ACTIVATE = 250;
4 static const int AGENT_THRESHOLD_DEACTIVATE = 0;
6 static const int PAIN_EVENT_INTERVAL_MIN = 6;
7 static const int PAIN_EVENT_INTERVAL_MAX = 12;
10 static const float DAMAGE_PER_SEC = 0.04;
44 player.IncreaseDiseaseCount();
45 m_NextEvent =
Math.RandomFloatInclusive( PAIN_EVENT_INTERVAL_MIN, PAIN_EVENT_INTERVAL_MAX );
47 SymptomBase shivers = player.GetSymptomManager().QueueUpSecondarySymptomEx(SymptomIDs.SYMPTOM_HAND_SHIVER);
58 player.DecreaseDiseaseCount();
59 player.GetSymptomManager().RemoveSecondarySymptom(SymptomIDs.SYMPTOM_HAND_SHIVER);
64 if(player.GetSingleAgentCount(
eAgents.WOUND_AGENT) <= AGENT_THRESHOLD_DEACTIVATE)
80 if( player.IsAntibioticsActive() )
82 player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_PAIN_LIGHT);
86 player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_PAIN_HEAVY);
87 float damage =
m_Time * (DAMAGE_PER_SEC + player.GetHealthRegenSpeed());
88 player.AddHealth(
"",
"", -damage);
92 m_NextEvent =
Math.RandomFloatInclusive( PAIN_EVENT_INTERVAL_MIN, PAIN_EVENT_INTERVAL_MAX );
void OnDeactivate(PlayerBase player)
void OnTick(PlayerBase player, float deltaT)
void OnActivate(PlayerBase player)
bool DeactivateCondition(PlayerBase player)
bool ActivateCondition(PlayerBase player)
override string GetDebugText()
int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it)
bool m_TrackActivatedTime
overall time this modifier was active
bool m_AnalyticsStatsEnabled
eModifierSyncIDs m_SyncID
float m_TickIntervalActive
float m_TickIntervalInactive
const int DEFAULT_TICK_TIME_INACTIVE
enum eModifierSyncIDs DEFAULT_TICK_TIME_ACTIVE