Commit Graph
11 Commits
Author SHA1 Message Date
Leonid Pershin fdcaed0f74 Remember recent quarrels, fights and reprimands on the person.
Short offense list for the pupil card and save, capped by BehaviorDef — not a discipline score.
2026-08-21 09:37:12 +03:00
Leonid PershinandCursor 9972b30257 Keep defender-victim opinions as allies after a quarrel.
The clash penalty applied to every pair except defender looking at the victim, so the person being helped disliked the defender like a second enemy.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 18:15:55 +03:00
Leonid PershinandCursor a80c6f097a Refuse enemies joining an open talk circle.
RankInvitees already skipped enemies when a circle formed; a later Chat in the same node still joined without checking opinions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 17:25:36 +03:00
Leonid PershinandCursor 19554d4362 Review slice 9 C-D: persist clash opinions and the bully's victim.
FinishConflict never set RosterTalkDirty, so people.json skipped quarrel shifts until some other save — the same seam as the A-B talk-circle fix. First BullyVictimId write stayed in RAM only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 14:27:49 +03:00
Leonid Pershin 63cde56cc3 Merge branch 'phase/46-speech-home'
Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	docs/phases/09-social/README.md
#	src/HSchool.Server/Game/SchoolWorker.cs
#	tests/HSchool.Ai.Tests/TalkCirclesTests.cs
#	tests/HSchool.Simulation.Tests/MorningOpinionsTests.cs
#	tests/HSchool.Simulation.Tests/TalkCircleTests.cs
2026-08-20 14:06:29 +03:00
Leonid PershinandCursor 92c2143329 Add speech-topic policy from tomorrow and a morning family talk.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 13:53:12 +03:00
Leonid PershinandCursor cc9ea18480 Merge branch 'review/slice-9-ab'
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 13:40:20 +03:00
Leonid PershinandCursor b38d0bb628 Persist talk opinions and pick topics by weight.
A finished circle never set Tick's peopleChanged bit, so people.json kept pre-talk numbers until morning drift. PickTopic compared a 0..total roll to a 0..1 cursor, so gossip almost never changed the subject.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 13:34:34 +03:00
Leonid PershinandCursor 395107c959 Add recess quarrels, rare yard and gym fights, and apologies.
Bullies remember a victim by a trait field, a defender can join, staff break up a fight with a reprimand, and skip empty time clears leftover clashes so they cannot last forever.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 11:31:06 +03:00
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
Leonid Pershin 47fc10da02 Add talk circles with TopicDef, staff/phone chat, and opinion outcomes. 2026-08-20 08:55:55 +03:00