31 player.IncreaseDiseaseCount();
36 player.DecreaseDiseaseCount();
65 if (player.GetSingleAgentCount(
eAgents.HEAVYMETAL) <= SYMPTOMFALLOFF_THRESHOLD3)
67 float waterLoss = (deltaT * (WATER_LOSS_HEAVYMETAL_MAX *
Math.
Max(WATER_LOSS_HEAVYMETAL_MIN, player.GetSingleAgentCountNormalized(
eAgents.HEAVYMETAL))));
68 player.GetStatWater().Add(-waterLoss);
73 if (player.GetSingleAgentCount(
eAgents.HEAVYMETAL) <= SYMPTOMFALLOFF_THRESHOLD2)
75 player.m_AgentPool.AddAgent(
eAgents.HEAVYMETAL, -0.5);
78 if (player.GetSingleAgentCount(
eAgents.HEAVYMETAL) <= SYMPTOMFALLOFF_THRESHOLD3)
82 player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_HAND_SHIVER);
136 player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_PAIN_LIGHT);
143 float chanceOfDeafness = player.GetSingleAgentCountNormalized(
eAgents.HEAVYMETAL);
146 player.GetSymptomManager().QueueUpSecondarySymptom(SymptomIDs.SYMPTOM_DEAFNESS_COMPLETE);
156 player.GetSymptomManager().RemoveSecondarySymptom(SymptomIDs.SYMPTOM_DEAFNESS_COMPLETE);
163 player.GetStatWater().Add(-waterLoss);
168 player.m_AgentPool.AddAgent(
eAgents.HEAVYMETAL, -0.5);
207 player.GetSymptomManager().QueueUpSecondarySymptom(SymptomIDs.SYMPTOM_DEAFNESS_COMPLETE);
208 player.GetSymptomManager().QueueUpSecondarySymptom(SymptomIDs.SYMPTOM_HMP_SEVERE);
213 super.OnDeactivate(player);
215 player.GetSymptomManager().RemoveSecondarySymptom(SymptomIDs.SYMPTOM_DEAFNESS_COMPLETE);
216 player.GetSymptomManager().RemoveSecondarySymptom(SymptomIDs.SYMPTOM_HMP_SEVERE);
221 float healthLoss = (deltaT * (HEALTH_LOSS_HEAVYMETAL_MAX *
Math.
Max(HEALTH_LOSS_HEAVYMETAL_MIN, player.GetSingleAgentCountNormalized(
eAgents.HEAVYMETAL))));
222 player.AddHealth(-healthLoss);
228 SymptomBase symptom = player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_VOMIT);
static ref Param1< float > PARAM1_FLOAT
override bool DeactivateCondition(PlayerBase player)
override string GetDebugText()
override void OnTick(PlayerBase player, float deltaT)
override bool ActivateCondition(PlayerBase player)
int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it).
static proto float Max(float x, float y)
Returns bigger of two given values.
static proto int RandomInt(int min, int max)
Returns a random int number between and min [inclusive] and max [exclusive].
static float RandomFloatInclusive(float min, float max)
Returns a random float number between and min [inclusive] and max [inclusive].
static float RandomFloat01()
Returns a random float number between and min [inclusive] and max [inclusive].
bool m_TrackActivatedTime
overall time this modifier was active
bool m_AnalyticsStatsEnabled
float m_TickIntervalActive
float m_TickIntervalInactive
const int DEFAULT_TICK_TIME_INACTIVE
enum eModifierSyncIDs DEFAULT_TICK_TIME_ACTIVE