Add nurse care queue and person-card health tab.

Sick people seek MedicalOffice for tend by Medicine skill; symptoms cut talk weight; no heal API.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-21 16:17:51 +03:00
co-authored by Cursor
parent afab014572
commit 33f253c9e3
33 changed files with 1568 additions and 34 deletions
+23
View File
@@ -28,6 +28,15 @@ public sealed class DiseaseStage
/// <summary>Multiplies Warmth decay. 1 = unchanged.</summary>
public float WarmthDecayFactor { get; init; } = 1f;
/// <summary>
/// Multiplies Chat / talk leisure weight and talk-circle start pull. 1 = unchanged; lower when
/// symptoms make conversation harder.
/// </summary>
public float TalkWeightFactor { get; init; } = 1f;
/// <summary>Locale key for the person-card effect line. Empty — card shows severity only.</summary>
public string Effect { get; init; } = "";
}
/// <summary>
@@ -72,4 +81,18 @@ public sealed class DiseaseDef : Def
/// <summary>When true, the carrier can infect during incubation before stage effects apply.</summary>
public bool ContagiousDuringIncubation { get; init; }
/// <summary>
/// After incubation, severity at or above this sends the person toward the nurse's office.
/// </summary>
public float NurseSeekSeverity { get; init; } = 0.35f;
/// <summary>
/// Extra severity change per day while a nurse tends (usually negative). 0 — care only
/// advances progress.
/// </summary>
public float TendSeverityPerDay { get; init; }
/// <summary>Extra progress per day while a nurse tends (speeds recovery / immunity).</summary>
public float TendProgressPerDay { get; init; }
}