Complete phase 47 romance pack on generic orientation and affinity hooks.

Vanilla catalogs stay without crushes; a content pack ships the overlay so later mods can reuse it.
This commit is contained in:
Leonid Pershin
2026-08-20 10:42:42 +03:00
parent cb869e4977
commit d2911c3daf
43 changed files with 1840 additions and 29 deletions
+28
View File
@@ -0,0 +1,28 @@
# Romance pack
A content pack, not a sample folder. Tick it in create. Vanilla schools stay without
orientation, crushes, pairs, or these topics.
`example` is the layout sample; this pack is the living one. Do not copy content into
`example`.
## Layout
```
romance/
pack.jsonc # version + requires: ["core"]
localizations/{ru,en}.jsonc
defs/orientations/ # OrientationDef + generator weights
defs/affinity/rules.jsonc # AffinityRulesDef singleton — numbers, not pack ids in code
defs/traits/traits.jsonc # crush-prone / jealous via TraitDef fields
defs/topics/romance.jsonc # topics that exist only with this pack
patches/topic-appearance.jsonc
README.md
```
Core already picks every `TopicDef` in the catalog for `Chat`. New topics join that pool;
`Chat` itself is not rewritten. The appearance topic gets a `romance` tag so crush-prone
people lean toward it — that is a patch, not a copy of core.
Without this pack the catalog has no `OrientationDef` and no `AffinityRulesDef`. The
generator then writes no orientation field, and the affinity overlay does not run.