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
@@ -0,0 +1,17 @@
{
"defName": "AffinityRules",
"sympathyThreshold": 50,
"pairThreshold": 70,
"pairBreakThreshold": 20,
"pairMinAge": 18,
"studentAgeDeltaYears": 2,
"studentAdjacentYear": true,
"excludeFamily": true,
"rebuffOpinionShift": -8,
"rolePairs": [
{ "from": "student", "to": "student", "sympathy": true, "pair": true },
{ "from": "student", "to": "staff", "sympathy": true, "pair": false },
{ "from": "staff", "to": "student", "sympathy": false, "pair": false },
{ "from": "staff", "to": "staff", "sympathy": true, "pair": true },
],
}
@@ -0,0 +1,18 @@
[
{
"defName": "Heterosexual",
"weight": 70,
"oppositeGender": true,
},
{
"defName": "Bisexual",
"weight": 20,
"sameGender": true,
"oppositeGender": true,
},
{
"defName": "Homosexual",
"weight": 10,
"sameGender": true,
},
]
@@ -0,0 +1,23 @@
[
{
"defName": "TopicCrush",
"tags": ["romance", "gossip"],
"roles": ["student"],
"age": { "min": 11, "max": 18 },
"opinionShift": 2,
},
{
"defName": "TopicCouple",
"tags": ["romance"],
"roles": ["student", "staff"],
"age": { "min": 18 },
"opinionShift": 3,
},
{
"defName": "TopicTease",
"tags": ["romance", "gossip"],
"roles": ["student"],
"age": { "min": 7, "max": 18 },
"opinionShift": 1,
},
]
@@ -0,0 +1,16 @@
[
{
"defName": "CrushProne",
"weight": 5,
"roles": ["student", "staff"],
"affinityThresholdOffset": -15,
"talkTagWeights": [{ "tag": "romance", "weight": 3 }],
},
{
"defName": "Jealous",
"weight": 4,
"roles": ["student", "staff"],
"age": { "min": 14 },
"affinityBreakOffset": 15,
},
]