Add DiseaseDef diseases with weather vectors and excused absence.

Vanilla ships several diseases whose stages drive lesson gain, stay-home
rolls, and illness attendance; cold/rain/snow raise onset via BehaviorDef scale.
This commit is contained in:
Leonid Pershin
2026-08-21 13:28:57 +03:00
parent 564776883a
commit 2d633411e4
27 changed files with 1188 additions and 38 deletions
+4
View File
@@ -119,6 +119,9 @@ public sealed class School : IDisposable
/// <summary>Last slot <see cref="AttendanceSystem"/> observed — detects leaving a lesson to finalize absents.</summary>
internal DaySlot? LastAttendanceSlot { get; set; }
/// <summary>Calendar day of the last DiseaseDef onset pass (one roll per person per day).</summary>
internal int LastDiseaseDay { get; set; } = int.MinValue;
internal Dictionary<string, DayPlan> Plans { get; } = new(StringComparer.Ordinal);
internal Queue<string> DecisionQueue { get; } = new();
@@ -219,6 +222,7 @@ public sealed class School : IDisposable
PlanDay = null;
LastDecisionSlot = null;
LastAttendanceSlot = null;
LastDiseaseDay = int.MinValue;
Plans.Clear();
DecisionQueue.Clear();
LoggedActivity.Clear();