Halve lesson gain when the bag has no textbook for the subject.
Locker and home do not count. A pack without the field keeps vanilla 0.5. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -506,6 +506,11 @@ internal static class PeopleDefValidator
|
||||
throw new ContentLoadException($"BehaviorDef '{behavior.DefName}' lessonSkillPerHour cannot be negative.");
|
||||
}
|
||||
|
||||
if (behavior.LessonNoTextbookFactor is < 0f or > 1f)
|
||||
{
|
||||
throw new ContentLoadException($"BehaviorDef '{behavior.DefName}' lessonNoTextbookFactor must be 0–1.");
|
||||
}
|
||||
|
||||
if (behavior.SwitchMargin < 0f)
|
||||
{
|
||||
throw new ContentLoadException($"BehaviorDef '{behavior.DefName}' switchMargin cannot be negative.");
|
||||
|
||||
@@ -274,6 +274,12 @@ public sealed class BehaviorDef : Def
|
||||
/// <summary>Skill points a lesson adds per game hour, before traits and need state.</summary>
|
||||
public float LessonSkillPerHour { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Multiplier when the bag has no textbook for this lesson. Locker and home do not count.
|
||||
/// A pack without the field keeps vanilla half-gain so the catalog still loads.
|
||||
/// </summary>
|
||||
public float LessonNoTextbookFactor { get; init; } = 0.5f;
|
||||
|
||||
/// <summary>Inclusive range of extra commute minutes rolled per person per day.</summary>
|
||||
public int CommuteSlackMin { get; init; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user