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);
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
float m_TickIntervalActive
float m_TickIntervalInactive
const int DEFAULT_TICK_TIME_INACTIVE
enum eModifierSyncIDs DEFAULT_TICK_TIME_ACTIVE
static ref Param1< float > PARAM1_FLOAT
override bool DeactivateCondition(PlayerBase player)
override string GetDebugText()
override bool ActivateCondition(PlayerBase player)
override void OnTick(PlayerBase player, float deltaT)
static float RandomFloat01()
Returns a random float number between and min [inclusive] and max [inclusive].
static proto float Max(float x, float y)
Returns bigger of two given values.
static float RandomFloatInclusive(float min, float max)
Returns a random float number between and min [inclusive] and max [inclusive].
static proto int RandomInt(int min, int max)
Returns a random int number between and min [inclusive] and max [exclusive].