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
+2 -2
View File
@@ -137,8 +137,8 @@
делает **сам**: нужды и досуг.
Числа поведения — отдельный деф правил, как `StaffingDef` у штата: пороги нужд, скорость
обучения на уроке, разброс запаса на дорогу, порог переключения решения. Это игровой баланс, а
не настройка движка, и место ему в контенте.
обучения на уроке, разброс запаса на дорогу, порог переключения решения и веса целей.
Это игровой баланс, а не настройка движка, и место ему в контенте.
## Как выбирается действие
+9 -9
View File
@@ -12,19 +12,19 @@
## Задачи
- [ ] Веса целей переезжают в `BehaviorDef`: обязанность-урок, обязанность-переход, нужда на нуле,
- [x] Веса целей переезжают в `BehaviorDef`: обязанность-урок, обязанность-переход, нужда на нуле,
обед
- [ ] Значения по умолчанию — сегодняшние; поведение не должно измениться ни на минуту
- [ ] Каталог без `BehaviorDef` работает на константах кода, а не падает
- [ ] Валидатор ловит отрицательные веса и порядок, который делает обед сильнее урока
- [ ] Комментарий у каждого числа объясняет, что оно перевешивает — иначе мод-автор крутит вслепую
- [x] Значения по умолчанию — сегодняшние; поведение не должно измениться ни на минуту
- [x] Каталог без `BehaviorDef` работает на константах кода, а не падает
- [x] Валидатор ловит отрицательные веса и порядок, который делает обед сильнее урока
- [x] Комментарий у каждого числа объясняет, что оно перевешивает — иначе мод-автор крутит вслепую
## Тесты, без которых фаза не закрыта
- [ ] Ванильные числа дают ровно те же решения, что и до переезда (таблица входов и выходов)
- [ ] Пак, поднявший вес обеда выше урока, уводит класс с урока в столовую
- [ ] Каталог без `BehaviorDef` принимает решения на значениях по умолчанию
- [ ] Отрицательный вес роняет загрузку каталога
- [x] Ванильные числа дают ровно те же решения, что и до переезда (таблица входов и выходов)
- [x] Пак, поднявший вес обеда выше урока, уводит класс с урока в столовую
- [x] Каталог без `BehaviorDef` принимает решения на значениях по умолчанию
- [x] Отрицательный вес роняет загрузку каталога
## Критерий готовности