Merge branch 'phase/44-quarrel-fight'

Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	docs/phases/README.md
#	src/HSchool.Content/PeopleDefs.cs
#	src/HSchool.People/Roster.cs
#	src/HSchool.People/Seed.cs
This commit is contained in:
Leonid Pershin
2026-08-20 13:24:12 +03:00
21 changed files with 1505 additions and 24 deletions
@@ -86,6 +86,51 @@
"roles": ["student", "staff"],
"weight": 1,
},
{
"defName": "Quarrel",
"room": "Corridor",
"minutes": 6,
"need": "Social",
"needGain": 0.35,
"roles": ["student"],
"weight": 4,
},
{
"defName": "QuarrelYard",
"room": "SchoolYard",
"minutes": 6,
"need": "Social",
"needGain": 0.35,
"roles": ["student"],
"weight": 4,
},
{
"defName": "Fight",
"room": "SchoolYard",
"minutes": 3,
"need": "Social",
"needGain": 0.2,
"roles": ["student"],
"weight": 0,
},
{
"defName": "FightGym",
"room": "GymHall",
"minutes": 3,
"need": "Social",
"needGain": 0.2,
"roles": ["student"],
"weight": 0,
},
{
"defName": "Apologize",
"room": "Corridor",
"minutes": 4,
"need": "Social",
"needGain": 0.15,
"roles": ["student"],
"weight": 0,
},
{
"defName": "ChangeClothesMale",
"room": "MaleChangingRoom",
@@ -88,4 +88,11 @@
"teacherQuestionWeight": 2,
"teacherPraiseWeight": 2,
"teacherReprimandWeight": 1,
// Quarrel and fight (slice 9 phase 44). Fight stays rare even with hot-tempered.
"quarrelChance": 1,
"fightChance": 0.1,
"quarrelOpinionShift": -8,
"fightOpinionShift": -16,
"apologyRestoreFraction": 0.5,
"defendOpinionMin": 40,
}
@@ -24,6 +24,9 @@
"incompatible": ["Kind", "Quiet"],
"roles": ["student"],
"age": { "min": 7, "max": 18 },
"conflictChance": 1.6,
"remembersVictim": true,
"apologyChance": 0.35,
"skillModifiers": [
{ "skill": "Strength", "offset": 8 },
{ "skill": "Literature", "offset": -4 },
@@ -71,6 +74,7 @@
"weight": 5,
"incompatible": ["Quiet"],
"wageAsk": 6,
"conflictChance": 1.8,
},
{
"defName": "Kind",
@@ -10,6 +10,11 @@
"TeacherTalk": "Teacher talk",
"WalkCorridor": "Walk the corridor",
"WalkYard": "Walk the yard",
"Quarrel": "Quarrel",
"QuarrelYard": "Yard quarrel",
"Fight": "Fight",
"FightGym": "Gym fight",
"Apologize": "Apology",
"Behavior": "Behavior rules",
"Chair": "Chair",
"DirectorsChair": "Principal's chair",
@@ -198,6 +203,10 @@
"TalkEnded": "talked about {0}",
"Whispered": "whispered",
"TeacherInterrupted": "the teacher cut them off",
"Quarreled": "quarreled",
"Fought": "fought",
"Apologized": "apologized",
"Reprimanded": "reprimanded",
"TopicStudy": "schoolwork",
"TopicGames": "games",
"TopicFood": "food",
@@ -10,6 +10,11 @@
"TeacherTalk": "Разговор учителя",
"WalkCorridor": "Прогулка по коридору",
"WalkYard": "Прогулка во дворе",
"Quarrel": "Ссора",
"QuarrelYard": "Ссора во дворе",
"Fight": "Драка",
"FightGym": "Драка в зале",
"Apologize": "Извинение",
"Behavior": "Правила поведения",
"Chair": "Стул",
"DirectorsChair": "Кресло директора",
@@ -198,6 +203,10 @@
"TalkEnded": "говорил о {0}",
"Whispered": "шептались",
"TeacherInterrupted": "учитель оборвал",
"Quarreled": "ссорились",
"Fought": "дрались",
"Apologized": "извинился",
"Reprimanded": "выговор",
"TopicStudy": "учёбе",
"TopicGames": "играх",
"TopicFood": "еде",