class LaughterSymptom : SymptomBase { //this is just for the Symptom parameters set-up and is called even if the Symptom doesn't execute, don't put any gameplay code in here override void OnInit() { m_ID = SymptomIDs.SYMPTOM_LAUGHTER; m_SymptomType = SymptomTypes.PRIMARY; m_Priority = 0; m_SyncToClient = false; m_Duration = 4; m_DestroyOnAnimFinish = true; } //!gets called once on an Symptom which is being activated override void OnGetActivatedServer(PlayerBase player) { if (LogManager.IsSymptomLogEnable()) Debug.SymptomLog("n/a", this.ToString(), "n/a", "OnGetActivated", m_Player.ToString()); PlaySound(EPlayerSoundEventID.SYMPTOM_LAUGHTER); player.SpreadAgentsEx(3); } //!gets called once on a Symptom which is being activated override void OnGetActivatedClient(PlayerBase player) { if (LogManager.IsSymptomLogEnable()) Debug.SymptomLog("n/a", this.ToString(), "n/a", "OnGetActivated", m_Player.ToString()); } //!only gets called once on an active Symptom that is being deactivated override void OnGetDeactivatedServer(PlayerBase player) { if (LogManager.IsSymptomLogEnable()) Debug.SymptomLog("n/a", this.ToString(), "n/a", "OnGetDeactivated", m_Player.ToString()); } //!only gets called once on an active Symptom that is being deactivated override void OnGetDeactivatedClient(PlayerBase player) { if (LogManager.IsSymptomLogEnable()) Debug.SymptomLog("n/a", this.ToString(), "n/a", "OnGetDeactivated", m_Player.ToString()); } }