Enhance school day structure and decision-making for lunch breaks
- Updated `ai.md` to clarify the mechanics of hunger restoration and the importance of lunch breaks in the school schedule. - Revised `schedule.md` to detail the new lunch break structure, allowing for separate sittings for different grade levels. - Enhanced `Decision.cs` and `DecisionPlanner.cs` to incorporate logic for lunch breaks, ensuring that students only leave lessons during their designated lunch windows. - Updated `DayFrameDef` and related classes to support multiple lunch breaks and validate their configurations. - Adjusted tests to validate the new decision-making logic regarding lunch breaks and hunger management, ensuring robust functionality. - Improved localization strings to reflect changes in the school day structure and lunch functionalities.
This commit is contained in:
@@ -54,6 +54,13 @@ public sealed class ActionDef : Def
|
||||
|
||||
/// <summary>Leisure weight. Zero means phase 21 will not pick this for fun — only for a need.</summary>
|
||||
public float Weight { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// A sitting rather than something done whenever the need bites: only offered during the
|
||||
/// eater's own lunch break (<see cref="DayFrameDef.LunchBreaks"/>). Without it a hungry class
|
||||
/// would walk out of a lesson to the canteen, and the whole school would arrive at once.
|
||||
/// </summary>
|
||||
public bool Lunch { get; init; }
|
||||
}
|
||||
|
||||
public sealed class ThingDef : Def
|
||||
|
||||
Reference in New Issue
Block a user