4 private float m_NextEvent;
6 static const float EVENT_INTERVAL_MIN = 12;
7 static const float EVENT_INTERVAL_MAX = 18;
18 override bool ActivateCondition(
PlayerBase player)
20 return (player.GetModifiersManager().IsModifierActive(
eModifiers.MDF_CHOLERA) || player.GetModifiersManager().IsModifierActive(
eModifiers.MDF_INFLUENZA) || player.GetModifiersManager().IsModifierActive(
eModifiers.MDF_WOUND_INFECTION2));
25 if( player.m_NotifiersManager )
26 player.m_NotifiersManager.ActivateByType(
eNotifiers.NTF_FEVERISH);
28 player.GetSymptomManager().QueueUpSecondarySymptom(SymptomIDs.SYMPTOM_FEVERBLUR);
33 this.OnActivate(player);
39 if( player.m_NotifiersManager )
40 player.m_NotifiersManager.DeactivateByType(
eNotifiers.NTF_FEVERISH);
41 player.GetSymptomManager().RemoveSecondarySymptom(SymptomIDs.SYMPTOM_FEVERBLUR);
45 override bool DeactivateCondition(
PlayerBase player)
47 return !ActivateCondition(player);
50 override void OnTick(
PlayerBase player,
float deltaT)
53 player.GetStatWater().Add(-water_loss);
57 if (
m_Time >= m_NextEvent )
60 m_NextEvent =
Math.RandomFloatInclusive( EVENT_INTERVAL_MIN, EVENT_INTERVAL_MAX );
62 player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_HOT);