Files
h-school/src/HSchool.Content/TalkActions.cs
T
Leonid PershinandCursor f7d5e0c042 Add lesson whispers, teacher catch chance, and after-bell teacher talk.
Whispering cuts lesson skill gain from BehaviorDef; a teacher in the room may interrupt into a discipline circle, and pedagogy scales the pupil's opinion of the teacher.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 10:35:31 +03:00

47 lines
1.8 KiB
C#

namespace HSchool.Content;
/// <summary>Leisure actions that form talk circles. Names match ActionDef ids in core.</summary>
public static class TalkActions
{
public const string Chat = "Chat";
public const string StaffChat = "StaffChat";
public const string PhoneChat = "PhoneChat";
public const string Whisper = "Whisper";
public const string TeacherTalk = "TeacherTalk";
public static bool IsTalk(string? actionId) =>
actionId is not null
&& (actionId.Equals(Chat, StringComparison.Ordinal)
|| actionId.Equals(StaffChat, StringComparison.Ordinal)
|| actionId.Equals(PhoneChat, StringComparison.Ordinal)
|| actionId.Equals(Whisper, StringComparison.Ordinal)
|| actionId.Equals(TeacherTalk, StringComparison.Ordinal));
public static bool IsWhisper(string? actionId) =>
actionId is not null && actionId.Equals(Whisper, StringComparison.Ordinal);
public static bool IsTeacherTalk(string? actionId) =>
actionId is not null && actionId.Equals(TeacherTalk, StringComparison.Ordinal);
}
/// <summary>Vanilla topic tags from the social slice design doc.</summary>
public static class TopicTags
{
public const string Study = "study";
public const string Games = "games";
public const string Food = "food";
public const string Family = "family";
public const string Sport = "sport";
public const string Gossip = "gossip";
public const string Rude = "rude";
public const string Appearance = "appearance";
}
/// <summary>Teacher-after-lesson and reprimand topics in core. Names match TopicDef ids.</summary>
public static class TeacherTopics
{
public const string Question = "TopicQuestion";
public const string Praise = "TopicPraise";
public const string Discipline = "TopicDiscipline";
}