3 static const int AGENT_THRESHOLD_ACTIVATE = 2000;
4 static const int AGENT_THRESHOLD_DEACTIVATE = 0;
5 const int SHAKE_INTERVAL_MIN = 1;
6 const int SHAKE_INTERVAL_MAX = 4;
20 override string GetDebugText()
32 player.IncreaseDiseaseCount();
33 player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_LAUGHTER);
38 player.DecreaseDiseaseCount();
43 return (player.GetSingleAgentCount(
eAgents.BRAIN) <= AGENT_THRESHOLD_DEACTIVATE);
49 float brainAgents = player.GetSingleAgentCountNormalized(
eAgents.BRAIN) / 8.0;
50 float chanceOfLaughter =
Math.RandomFloat01();
52 if (chanceOfLaughter < brainAgents)
53 player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_LAUGHTER);
58 m_ShakeTime =
m_Time +
Math.RandomFloat(SHAKE_INTERVAL_MIN, SHAKE_INTERVAL_MAX);
void OnTick(PlayerBase player, float deltaT)
void OnActivate(PlayerBase player)
bool DeactivateCondition(PlayerBase player)
bool ActivateCondition(PlayerBase player)
void OnDeactivate(PlayerBase player)
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