74 player.DecreaseDiseaseCount();
80 waterStat.Add(-WATER_DRAIN_FROM_FEVER_ST1 * deltaT);
112 player.GetSymptomManager().QueueUpSecondarySymptom(SymptomIDs.SYMPTOM_FEVERBLUR);
115 player.IncreaseDiseaseCount();
120 player.GetSymptomManager().RemoveSecondarySymptom(SymptomIDs.SYMPTOM_FEVERBLUR);
127 float thermalBias = player.GetThermalBiasHandler().Get();
129 float chance =
Math.
Lerp(2, 10, thermalBias);
130 chance = (chance / 500) * deltaT;
132 player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_HOT);
190 waterStat.Add(-WATER_DRAIN_FROM_FEVER_ST3 * deltaT);
192 float thermalBias = player.GetThermalBiasHandler().Get();
195 float chance =
Math.
Lerp(VOMIT_OCCURRENCES_MIN, VOMIT_OCCURRENCES_MAX, thermalBiasRemapped);
196 chance = (chance / 900) * deltaT;
200 SymptomBase symptom = player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_VOMIT);
206 if (waterStat.Get() > WATER_DRAIN_FROM_VOMIT)
207 waterStat.Add(-1 * WATER_DRAIN_FROM_VOMIT);
208 if (energyStat.Get() > ENERGY_DRAIN_FROM_VOMIT)
209 energyStat.Add(-1 * ENERGY_DRAIN_FROM_VOMIT);
275 m_FaintSymptom = player.GetSymptomManager().QueueUpSecondarySymptomEx(SymptomIDs.SYMPTOM_FAINT);
281 params.param1 = SymptomIDs.SYMPTOM_FAINT;
286 params.param2 = faintData;
294 player.GetSymptomManager().RemoveSecondarySymptom(SymptomIDs.SYMPTOM_FAINT);
299 float thermalBias = player.GetThermalBiasHandler().Get();
303 if (!player.IsUnconscious())
309 player.AddHealth(
"",
"", -health * deltaT);
318 params.param1 = SymptomIDs.SYMPTOM_FAINT;
323 params.param2 = faintData;
334 params.param1 = SymptomIDs.SYMPTOM_FAINT;
339 params.param2 = faintData;
354 params.param1 = SymptomIDs.SYMPTOM_FAINT;
359 params.param2 = faintData;
370 if ((thermalBias > 0.75 && canTriggerUnconsciousness) || player.IsUnconscious())
375 player.RequestUnconsciousness(
true);
376 player.SetHealth(
"",
"Shock", 25.0);
383 player.RequestUnconsciousness(
false);
HeatStrokeMdfr THRESHOLD_ACTIVATE
phase3 stays active together with phase4
bool m_TrackActivatedTime
overall time this modifier was active
bool m_AnalyticsStatsEnabled
eModifierSyncIDs m_SyncID
float m_TickIntervalActive
float m_TickIntervalInactive
const int DEFAULT_TICK_TIME_INACTIVE
enum eModifierSyncIDs DEFAULT_TICK_TIME_ACTIVE
void PlayerStat(T min, T max, T init, string label, int flags)
static ref Param1< float > PARAM1_FLOAT
static const float HEALTH_DAMAGE_MIN
Health damage.
const int NUMBER_OF_STAGES
static const float UNCONSCIOUSNESS_EVENT_INTERVAL_MIN
static const float SHOCK_ACTIVATION_THRESHOLD_MIN
static const int VOMIT_OCCURRENCES_MIN
per tick
static const int WATER_DRAIN_FROM_FEVER_ST3
per tick
static const float UNCONSCIOUSNESS_EVENT_INTERVAL_MAX
static const float UNCONSCIOUSNESS_LENGTH_MIN
one time
static const float HEALTH_DAMAGE_MAX
static const int ENERGY_DRAIN_FROM_VOMIT
one time
static const int ENERGY_DRAIN_FROM_FEVER
per tick
static const int WATER_DRAIN_FROM_FEVER_ST2
per tick
static const float UNCONSCIOUSNESS_LENGTH_MAX
static const int VOMIT_OCCURRENCES_MAX
static const int WATER_DRAIN_FROM_FEVER_ST1
Fever setup.
static const int WATER_DRAIN_FROM_VOMIT
const float STAGE_THRESHOLDS[NUMBER_OF_STAGES]
void OnDeactivate(PlayerBase player)
bool DeactivateCondition(PlayerBase player)
static const float THRESHOLD_ACTIVATE
void OnTick(PlayerBase player, float deltaT)
void OnActivate(PlayerBase player)
bool ActivateCondition(PlayerBase player)
override string GetDebugText()
void OnTick(PlayerBase player, float deltaT)
float m_UnconciousnessActiveTimer
ref SymptomBase m_FaintSymptom
bool ActivateCondition(PlayerBase player)
float m_NextUnconsciousnessEvent
bool m_CanFaintEffectFadeIn
float m_UnconciousnessInactiveTimer
bool m_CanFaintEffectFadeOut
override void OnDeactivate(PlayerBase player)
void OnActivate(PlayerBase player)
override string GetDebugText()
static const float THRESHOLD_ACTIVATE
bool DeactivateCondition(PlayerBase player)
override void OnReconnect(PlayerBase player)
override bool DeactivateCondition(PlayerBase player)
override string GetDebugText()
override bool ActivateCondition(PlayerBase player)
override void OnTick(PlayerBase player, float deltaT)
ref TFloatArray m_FloatArray
static float RandomFloat01()
Returns a random float number between and min [inclusive] and max [inclusive].
static proto float Lerp(float a, float b, float time)
Linearly interpolates between 'a' and 'b' given 'time'.
static float RandomFloatInclusive(float min, float max)
Returns a random float number between and min [inclusive] and max [inclusive].
static float Remap(float inputMin, float inputMax, float outputMin, float outputMax, float inputValue, bool clampedOutput=true)
Returns given value remaped from input range into output range.