Merge branch 'phase/51-warmth-lesson'
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -84,6 +84,12 @@ internal static class LessonLearningSystem
|
||||
}
|
||||
|
||||
var hunger = needs.Values.GetValueOrDefault("Hunger", 1f);
|
||||
var warmth = needs.Values.GetValueOrDefault("Warmth", 1f);
|
||||
if (warmth < rules.NeedThreshold)
|
||||
{
|
||||
school.TryLogLessonOnce(personId, PersonLogTypes.LessonCold, lesson.Subject);
|
||||
}
|
||||
|
||||
IReadOnlyDictionary<string, float> taught = teacherSkills.TryGetValue(lesson.TeacherId, out var found)
|
||||
? found
|
||||
: new Dictionary<string, float>(StringComparer.Ordinal);
|
||||
@@ -108,7 +114,8 @@ internal static class LessonLearningSystem
|
||||
hours,
|
||||
hunger,
|
||||
TraitOffset(catalog, traits, share.Skill),
|
||||
teacherSkill);
|
||||
teacherSkill,
|
||||
warmth);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ public static class PersonLogTypes
|
||||
public const string ApparelReplaced = "apparel-replaced";
|
||||
public const string ApparelChanged = "apparel-changed";
|
||||
public const string LessonNoTeacher = "lesson-no-teacher";
|
||||
public const string LessonCold = "lesson-cold";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -60,12 +61,16 @@ public sealed record PersonLogEvent(string PersonId, DateTime Time, string Type,
|
||||
return string.Format(CultureInfo.InvariantCulture, catalog.Text(locale, key), name);
|
||||
}
|
||||
|
||||
if (Type.Equals(PersonLogTypes.LessonNoTeacher, StringComparison.Ordinal))
|
||||
if (Type.Equals(PersonLogTypes.LessonNoTeacher, StringComparison.Ordinal)
|
||||
|| Type.Equals(PersonLogTypes.LessonCold, StringComparison.Ordinal))
|
||||
{
|
||||
var name = catalog.Subjects.TryGetValue(ThingDef, out var subject)
|
||||
? catalog.Label(locale, subject)
|
||||
: ThingDef;
|
||||
return string.Format(CultureInfo.InvariantCulture, catalog.Text(locale, "LessonNoTeacher"), name);
|
||||
var key = Type.Equals(PersonLogTypes.LessonCold, StringComparison.Ordinal)
|
||||
? "LessonCold"
|
||||
: "LessonNoTeacher";
|
||||
return string.Format(CultureInfo.InvariantCulture, catalog.Text(locale, key), name);
|
||||
}
|
||||
|
||||
if (Type.Equals(PersonLogTypes.TalkEnded, StringComparison.Ordinal))
|
||||
|
||||
Reference in New Issue
Block a user