Move goal weights into BehaviorDef so a pack can rebalance decisions without a fork.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-20 00:27:52 +03:00
co-authored by Cursor
parent fcbc5bb22c
commit e1a0f06017
10 changed files with 293 additions and 50 deletions
@@ -1,6 +1,6 @@
{
"defName": "Behavior",
// A need at or below this is urgent. Phase 21 turns that into a goal weight.
// A need at or below this is urgent. The planner turns that into a goal weight.
"needThreshold": 0.35,
// Skill points a lesson adds per game hour, before traits and need state.
"lessonSkillPerHour": 0.05,
@@ -9,4 +9,16 @@
"commuteSlackMin": 0,
"commuteSlackMax": 6,
"switchMargin": 0.15,
// Lesson or posted work. Beats leisure (3) and a need that only just crossed
// the threshold; a toilet at zero (20) still leaves class.
"dutyLessonWeight": 10,
// Walk to the next room on a break. Beats chatting in the corridor you are
// standing in; below lunch so a sitting still pulls people to the canteen.
"dutyTravelWeight": 5,
// Need at zero. Beats a lesson so a desperate toilet trip leaves class.
"needWeightAtZero": 20,
// A sitting during this parallel's own lunch break. Above travel so lunch
// beats walking on to the next room, below the lesson so it never pulls
// anybody out of class. Raise it past dutyLessonWeight and they will.
"lunchWeight": 6,
}