• Tracker

    Spaces
    Browse
    Statistics
  • /
  • /Stable Feedback
  • /DZG-1706
Back
1

A short heat episode leaves the "sick" counter at −1, hiding the icon for the next real disease

Bug
1

State

Assigned
Issue key
DZG-1706
Access
Public
Space
DayZ
Project
Stable Feedback
Creator
zoro
Created
Oct 21, 2026
Views
23
Platform
PC Steam
What happened?

Phase 1 > 0, which happens on any warm day) calls player.DecreaseDiseaseCount() in OnDeactivate, but never

increases it.

- After every heat episode that doesn't reach phase 2, the counter is −1.

- A real disease afterwards (cholera, salmonella, flu…) only brings it back to 0. HasDisease() is false, and the

sick icon doesn't show although the player is ill.

Code 4_World/Classes/PlayerModifiers/Modifiers/Diseases/HeatStroke.c):

```c

class HeatStrokePhase1Mdfr : HeatStrokeMdfr

{

override protected bool ActivateCondition(PlayerBase player)

{

return player.GetThermalBiasHandler().Get() > THRESHOLD_ACTIVATE; // STAGE_THRESHOLDS[0] = 0.0

}

override protected void OnActivate(PlayerBase player)

{

// <- no IncreaseDiseaseCount() here

}

override protected void OnDeactivate(PlayerBase player)

{

player.DecreaseDiseaseCount(); // <- but it decreases

}

```

```c

class HeatStrokePhase2Mdfr : HeatStrokeMdfr

{

override protected void OnActivate(PlayerBase player)

{

...

player.IncreaseDiseaseCount(); // phase 2 increases

}

override protected void OnDeactivate(PlayerBase player)

{

... // <- no DecreaseDiseaseCount() here

}

```

The counter and the icon 4_World/Entities/ManBase/PlayerBase.c:1093-1122,

4_World/Classes/PlayerModifiers/Modifiers/ImmuneSystem.c:44-54):

```c

void IncreaseDiseaseCount() { m_DiseaseCount++; }

void DecreaseDiseaseCount() { m_DiseaseCount--; }

bool HasDisease()

{

return m_DiseaseCount >= 1;//0 for no disease, 1+ for disease, gets truncated to 1

}

// ImmuneSystem.c

if (player.HasDisease())

notifiersManager.ActivateByType(eNotifiers.NTF_SICK);

else

notifiersManager.DeactivateByType(eNotifiers.NTF_SICK);

```

How the counter moves:

- Heat episode that stays in phase 1: 0 → −1.

- Then cholera IncreaseDiseaseCount() on activate): −1 → 0, so HasDisease() is false and there's no sick

icon.

- Heat episode that reaches phase 2: +1 when phase 2 starts (correct, the icon shows), nothing when phase 2 ends

(the icon stays), and −1 when phase 1 ends. Back to 0, but only after the whole episode is over. Combined with HS-3

(phase 2 flickering, +1 each time) it ends up above 0, so the icon gets stuck.

Reproduction steps

1. Overheat briefly (no fever blur yet), then cool down fully.

2. Drink pond water until cholera starts.

Exact build version (optional)
—
Where did it happen?
Official
Is it modded?
No
Expected result

Expected result: the sick icon shows.

Actual result: no sick icon. After a relog (the counter resets to 0) it shows.

Suggested fix: increase and decrease in the same phase.

Reactions

Activity

    1 day ago
  • zoro
    created issue1 day ago
  • l909
    changed state to
    ASSIGNED
    about 24 hours ago

You are not signed in. Please sign in to see more details and to reply.

State

Assigned
Issue key
DZG-1706
Access
Public
Space
DayZ
Project
Stable Feedback
Creator
zoro
Created
Oct 21, 2026
Views
23