diff --git a/resources/credits_text.json b/resources/credits_text.json
index 938d76b3bc..b6c464f13b 100644
--- a/resources/credits_text.json
+++ b/resources/credits_text.json
@@ -89,7 +89,7 @@
"redhairdl": "Numerous writing contributions",
"Risen": "Pronoun Update, Writing, Minor Coding Fixes, Updating SC Lineart",
"Ronfaure": "Various Hunting/Meddy patrols, Leadership Ceremony, and Misc events",
- "Rusty": "Bugfixes and enhancements",
+ "Rusty": "Bugfixes, enhancements, minor patrol art fixes",
"saema": "Writing patrols, thoughts, pronoun tagging and minor bug fixes",
"Salix": "Art",
"sami(RAYTRAC3R)": "First implementation of biomes, gender system, and profile tabs, helped Ryos with tortie recode bugs",
diff --git a/resources/dicts/clan_symbols.json b/resources/dicts/clan_symbols.json
index d72a676d7b..ef2af21475 100644
--- a/resources/dicts/clan_symbols.json
+++ b/resources/dicts/clan_symbols.json
@@ -124,7 +124,7 @@
"tags0": ["descriptor"]
},
"Bittern": {
- "variants": 0,
+ "variants": 1,
"tags0": ["animal", "bird"]
},
"Blaze": {
@@ -180,7 +180,7 @@
"tags0": ["plant", "tree"]
},
"Boulder": {
- "variants": 0,
+ "variants": 1,
"tags0": ["element", "earth"]
},
"Bounce": {
@@ -204,7 +204,7 @@
"tags0": ["miscellaneous"]
},
"Breeze": {
- "variants": 0,
+ "variants": 1,
"tags0": ["element", "air"]
},
"Briar": {
@@ -300,7 +300,7 @@
"tags0": ["animal", "fish"]
},
"Caterpillar": {
- "variants": 0,
+ "variants": 1,
"tags0": ["animal", "bug" ]
},
"Cave": {
@@ -312,7 +312,7 @@
"tags0": ["plant", "leaf"]
},
"Chaffinch": {
- "variants": 0,
+ "variants": 1,
"tags0": ["animal", "bird"]
},
"Chasing": {
@@ -332,8 +332,8 @@
"tags0": ["plant", "other plant"]
},
"Chirp": {
- "variants": 0,
- "tags0": ["miscellaneous"]
+ "variants": 1,
+ "tags0": ["animal", "bird"]
},
"Chive": {
"variants": 1,
@@ -352,8 +352,8 @@
"tags0": ["miscellaneous"]
},
"Clay": {
- "variants": 0,
- "tags0": ["element", "earth"]
+ "variants": 1,
+ "tags0": ["miscellaneous"]
},
"Clear": {
"variants": 1,
@@ -372,7 +372,7 @@
"tags0": ["element", "air", "water"]
},
"Clover": {
- "variants": 0,
+ "variants": 1,
"tags0": ["plant", "other plant"]
},
"Comfrey": {
@@ -380,7 +380,7 @@
"tags0": ["plant", "flower"]
},
"Condor": {
- "variants": 0,
+ "variants": 1,
"tags0": ["animal", "bird"]
},
"Cone": {
@@ -420,8 +420,8 @@
"tags0": ["animal", "bird"]
},
"Creek": {
- "variants": 0,
- "tags0": ["location"]
+ "variants": 1,
+ "tags0": ["location", "element", "water"]
},
"Cress": {
"variants": 1,
@@ -468,7 +468,7 @@
"tags0": ["descriptor"]
},
"Current": {
- "variants": 0,
+ "variants": 1,
"tags0": ["element", "water"]
},
"Cypress": {
@@ -610,8 +610,8 @@
"tags2": ["animal", "mammal"]
},
"Faith": {
- "variants": 0,
- "tags0": ["miscellaneous"]
+ "variants": 1,
+ "tags0": ["animal", "cat"]
},
"Falcon": {
"variants": 1,
@@ -697,8 +697,10 @@
"tags0": ["element", "fire"]
},
"Flare": {
- "variants": 0,
- "tags0": []
+ "variants": 2,
+ "tags0": ["element", "light"],
+ "tags1": ["element", "light"]
+
},
"Flash": {
"variants": 1,
@@ -753,24 +755,24 @@
"tags0": ["cat", "animal"]
},
"Flurry": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["element", "water"]
},
"Flutter": {
"variants": 1,
"tags0": ["animal", "bug"]
},
"Fly": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["animal", "bug"]
},
"Fog": {
"variants": 0,
"tags0": []
},
"Foggy": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["element", "air"]
},
"Foxglove": {
"variants": 0,
@@ -785,9 +787,10 @@
"tags0": []
},
"Fringe": {
- "variants": 0,
- "tags0": []
- },
+ "variants": 2,
+ "tags0": ["descriptor", "miscellaneous"],
+ "tags1": ["plant", "flower"]
+ },
"Frog": {
"variants": 1,
"tags0": ["animal", "other animal"]
@@ -813,8 +816,8 @@
"tags0": []
},
"Furled": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["descriptor", "miscellaneous"]
},
"Furze": {
"variants": 0,
@@ -841,8 +844,8 @@
"tags0": []
},
"Garlic": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["plant", "other plant"]
},
"Gentle": {
"variants": 1,
@@ -881,8 +884,8 @@
"tags0": []
},
"Grass": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["plant", "other plant"]
},
"Grackle": {
"variants": 0,
@@ -897,8 +900,8 @@
"tags0": []
},
"Gull": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["animal", "bird"]
},
"Guppy": {
"variants": 1,
@@ -1109,24 +1112,24 @@
"tags0": []
},
"Lark": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["animal", "bird"]
},
"Laurel": {
"variants": 1,
"tags0": ["plant", "leaf"]
},
"Lavender": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["plant", "flower"]
},
"Leaf": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["plant", "leaf"]
},
"Leap": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["animal", "cat"]
},
"Leopard": {
"variants": 0,
@@ -1169,8 +1172,8 @@
"tags0": ["animal", "bug"]
},
"Log": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["plant", "tree"]
},
"Long": {
"variants": 1,
@@ -1209,8 +1212,8 @@
"tags0": []
},
"Mallow": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["plant", "flower"]
},
"Mantis": {
"variants": 1,
@@ -1233,8 +1236,8 @@
"tags0": []
},
"Midge": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["animal", "bug"]
},
"Midnight": {
"variants": 1,
@@ -1274,8 +1277,8 @@
"tags1": ["animal", "mammal"]
},
"Moon": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["miscellaneous", "element", "light"]
},
"Moor": {
"variants": 0,
@@ -1348,8 +1351,8 @@
"tags0": []
},
"Night": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["element", "light", "miscellaneous"]
},
"Nightingale": {
"variants": 1,
@@ -1449,12 +1452,12 @@
"tags0": ["element", "earth"]
},
"Perch": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["animal", "bird"]
},
"Petal": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["plant", "flower"]
},
"Petunia": {
"variants": 0,
@@ -1553,8 +1556,8 @@
"tags0": []
},
"Pumpkin": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["plant", "fruit"]
},
"Python": {
"variants": 0,
@@ -1621,8 +1624,8 @@
"tags0": []
},
"Rift": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["miscellaneous", "descriptor"]
},
"Rime": {
"variants": 0,
@@ -1633,8 +1636,8 @@
"tags0": []
},
"Ripple": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["element", "water"]
},
"River": {
"variants": 1,
@@ -1661,12 +1664,12 @@
"tags0": ["plant", "other plant"]
},
"Rose": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["plant", "flower"]
},
"Rosy": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["plant", "flower"]
},
"Rowan": {
"variants": 1,
@@ -1975,8 +1978,8 @@
"tags0": ["plant", "other plant"]
},
"Stoat": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["animal", "mammal"]
},
"Stone": {
"variants": 1,
@@ -2003,8 +2006,8 @@
"tags0": ["cat", "animal"]
},
"Stumpy": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["plant", "tree"]
},
"Sun": {
"variants": 1,
@@ -2111,8 +2114,8 @@
"tags0": []
},
"Tiny": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["animal", "cat"]
},
"Toad": {
"variants": 1,
@@ -2153,8 +2156,8 @@
"tags1": ["cat", "animal"]
},
"Turtle": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["animal", "other animal"]
},
"Twig": {
"variants": 1,
@@ -2213,8 +2216,8 @@
"tags0": []
},
"Weevil": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["bug", "animal"]
},
"Wet": {
"variants": 1,
@@ -2233,8 +2236,8 @@
"tags0": []
},
"Whisker": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["animal", "cat"]
},
"Whisper": {
"variants": 1,
@@ -2301,12 +2304,12 @@
"tags0": []
},
"Yarrow": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["plant", "flower"]
},
"Yew": {
- "variants": 0,
- "tags0": []
+ "variants": 1,
+ "tags0": ["plant", "fruit"]
},
"Zinnia": {
"variants": 0,
diff --git a/resources/dicts/conditions/healed_and_death_strings/illness_death_strings.json b/resources/dicts/conditions/healed_and_death_strings/illness_death_strings.json
index f46db972a3..700284c0df 100644
--- a/resources/dicts/conditions/healed_and_death_strings/illness_death_strings.json
+++ b/resources/dicts/conditions/healed_and_death_strings/illness_death_strings.json
@@ -1,68 +1,67 @@
{
"seizure": [
"m_c died from a seizure.",
- "m_c died during a seizure"
+ "m_c died during a seizure."
],
"diarrhea": [
- "m_c died to the dehydration caused by diarrhea.",
+ "m_c died of dehydration caused by diarrhea.",
"m_c's body could not keep up with the demands of {PRONOUN/m_c/poss} illness and {PRONOUN/m_c/subject} died.",
- "Diarrhea is no joke, the extreme dehydration it caused has killed m_c."
+ "Diarrhea is no joke, and the extreme dehydration it caused has killed m_c."
],
"greencough": [
- "m_c died to greencough.",
+ "m_c died of greencough.",
"m_c was killed by greencough.",
"Greencough killed m_c.",
"Greencough has taken m_c's life."
],
"kittencough": [
- "m_c died to kittencough.",
+ "m_c died of kittencough.",
"m_c was killed by kittencough.",
"Kittencough has killed m_c.",
"Kittencough has taken m_c's life."
],
"an infected wound": [
- "m_c died to an infection.",
+ "m_c died from an infection.",
"m_c succumbed to an infection.",
"m_c was killed by {PRONOUN/m_c/poss} infected wound.",
"m_c's infection progressed too far and left {PRONOUN/m_c/object} cold in {PRONOUN/m_c/poss} nest."
],
"carrionplace disease": [
- "m_c died to carrionplace disease.",
+ "m_c died of carrionplace disease.",
"Carrionplace disease has killed m_c."
],
"redcough": [
- "m_c died to redcough.",
+ "m_c died of redcough.",
"Redcough has finally taken m_c.",
"Redcough has killed m_c."
],
"whitecough": [
- "m_c died to whitecough.",
- "Whitecough killed m_c.",
+ "m_c died of whitecough.",
+ "Whitecough has killed m_c.",
"m_c was killed by whitecough.",
"The whitecough didn't have a chance to progress further: it was already strong enough to kill m_c."
],
"yellowcough": [
- "m_c died to yellowcough.",
+ "m_c died of yellowcough.",
"Yellowcough has killed m_c.",
"m_c was killed by yellowcough.",
"Yellowcough has taken m_c's life."
],
"a festering wound": [
- "m_c has died to a festering wound.",
+ "m_c has died from a festering wound.",
"A festering wound has killed m_c.",
"m_c's festering wound has finally killed {PRONOUN/m_c/object}."
],
"heat stroke": [
- "m_c died to heat stroke.",
+ "m_c died of heat stroke.",
"m_c's case of heat stroke has killed {PRONOUN/m_c/object}."
],
"starving": [
- "m_c died to starvation.",
+ "m_c died of starvation.",
"m_c couldn't go on any longer and collapsed from starvation.",
"Starvation has killed m_c.",
- "m_c's body couldn't continue on without nourishment, {PRONOUN/m_c/subject} never woke up from {PRONOUN/m_c/poss} sleep.",
- "Starvation finally caught up to m_c.",
- "Skinny and exhausted, m_c could no longer continue without food.",
- "The lack of food has finally killed m_c."
+ "m_c's body couldn't continue on without nourishment, and {PRONOUN/m_c/subject} never woke up from {PRONOUN/m_c/poss} sleep.",
+ "m_c finally succumbed to starvation.",
+ "Frail and exhausted from the lack of food, m_c died of starvation."
]
-}
\ No newline at end of file
+}
diff --git a/resources/dicts/conditions/pregnancy.json b/resources/dicts/conditions/pregnancy.json
index 5452e78fc8..6f663674d6 100644
--- a/resources/dicts/conditions/pregnancy.json
+++ b/resources/dicts/conditions/pregnancy.json
@@ -105,9 +105,11 @@
"r_c goes to visit m_c in the nursery with {PRONOUN/m_c/poss} new {insert}, on a completely innocent mission to deliver food to the new parent.",
"The newly arrived {insert} that m_c has just given birth to looks suspiciously like r_c. ",
"No one wants to ruin such a happy occasion, but... it doesn't take a genius to notice how m_c's {insert} looks suspiciously like r_c...",
- "m_c can see it, m_c's mate can see it, r_c can see it, everyone in c_n can see how the new {insert} looks a bit too much like r_c for it to be coincidence...",
- "Ever since the birth, rumor's gone around that m_c's {insert} belongs to r_c and, while no one wants to confirm anything, no one really has to when the evidence is mewling right there...",
- "m_c's mate is such a wonderful cat, deserving of being a parent... so why does m_c's {insert} look more like r_c instead?"
+ "Ever since the birth, rumor's gone around that m_c's {insert} belongs to r_c and, while no one wants to confirm anything, no one really has to when the evidence is mewling right there..."
+ ],
+ "affair_mated": [
+ "m_c's mate is such a wonderful cat, deserving of being a parent... so why does m_c's {insert} look more like r_c instead?",
+ "m_c can see it, m_c's mate can see it, r_c can see it, everyone in c_n can see how the new {insert} looks a bit too much like r_c for it to be coincidence..."
],
"death": [
"Later, as the medicine cat wails with m_c's blood streaked through their pelt and a warrior comes to move the body for the vigil, no one knows what to do with the {insert}.",
diff --git a/resources/dicts/events/ceremonies/ceremony-master.json b/resources/dicts/events/ceremonies/ceremony-master.json
index 8edddba31d..9ef5f070b1 100644
--- a/resources/dicts/events/ceremonies/ceremony-master.json
+++ b/resources/dicts/events/ceremonies/ceremony-master.json
@@ -1455,14 +1455,26 @@
],
"Having finally reached the end of {PRONOUN/m_c/poss} apprenticeship, newly named medicine cat m_c feels there's still so much to learn and frets about whether or not {PRONOUN/m_c/subject} {VERB/m_c/are/is} ready. With twitching whiskers, (previous_mentor) assures {PRONOUN/m_c/object} that StarClan will always be there to guide {PRONOUN/m_c/object}."
],
- "med_7": [
+ "med_7_clan": [
[
"medicine cat",
"prepared",
"alive_mentor",
"general_parents",
"general_leader",
- "general_backstory",
+ "clanborn",
+ "all_traits"
+ ],
+ "(previous_mentor) still remembers when (old_name) was just a kit batting around in the medicine cat den, asking endless questions about everything under the sun. (previous_mentor) chuckles with fondness as m_c asks why {PRONOUN/m_c/poss} new name was chosen with shining eyes and twitching whiskers."
+ ],
+ "med_7_abandoned": [
+ [
+ "medicine cat",
+ "prepared",
+ "alive_mentor",
+ "general_parents",
+ "general_leader",
+ "abandoned",
"all_traits"
],
"(previous_mentor) still remembers when (old_name) was just a kit batting around in the medicine cat den, asking endless questions about everything under the sun. (previous_mentor) chuckles with fondness as m_c asks why {PRONOUN/m_c/poss} new name was chosen with shining eyes and twitching whiskers."
diff --git a/resources/dicts/events/leader_den/fail/outsider.json b/resources/dicts/events/leader_den/fail/outsider.json
index 682aaa29d2..5cd727c900 100644
--- a/resources/dicts/events/leader_den/fail/outsider.json
+++ b/resources/dicts/events/leader_den/fail/outsider.json
@@ -166,7 +166,7 @@
"reputation": ["any"],
"rep_change": 1,
"m_c": {
- "status": ["former clancat"],
+ "status": ["former Clancat"],
"new_thought": "Wonders why c_n would be looking for {PRONOUN/m_c/object}",
"relationships": [
{
@@ -192,7 +192,7 @@
"reputation": ["any"],
"rep_change": -1,
"m_c": {
- "status": ["former clancat"],
+ "status": ["former Clancat"],
"new_thought": "Wonders why c_n would be looking for {PRONOUN/m_c/object}",
"relationships": [
{
@@ -218,7 +218,7 @@
"reputation": ["any"],
"rep_change": -1,
"m_c": {
- "status": ["former clancat"],
+ "status": ["former Clancat"],
"new_thought": "Wonders why c_n would be looking for {PRONOUN/m_c/object}",
"relationships": [
{
diff --git a/resources/dicts/events/leader_den/success/outsider.json b/resources/dicts/events/leader_den/success/outsider.json
index e768a9c88a..f7d7eedf42 100644
--- a/resources/dicts/events/leader_den/success/outsider.json
+++ b/resources/dicts/events/leader_den/success/outsider.json
@@ -505,7 +505,7 @@
"reputation": ["any"],
"rep_change": 1,
"m_c": {
- "status": [ "former clancat" ],
+ "status": ["former Clancat"],
"new_thought": "Readjusts to Clan life",
"kit_thought": "Is learning the truth behind all the stories"
}
@@ -516,7 +516,7 @@
"reputation": ["any"],
"rep_change": -2,
"m_c": {
- "status": [ "former clancat" ],
+ "status": ["former Clancat"],
"kit_thought": "Wonders where m_c has gone"
}
},
@@ -526,7 +526,7 @@
"reputation": ["any"],
"rep_change": -3,
"m_c": {
- "status": [ "former clancat" ],
+ "status": ["former Clancat"],
"new_thought": "Thinks bitterly of {PRONOUN/m_c/poss} old Clan, wishing it had protected {PRONOUN/m_c/object}",
"kit_thought": "Wonders where m_c has gone"
}
diff --git a/resources/dicts/events/misc/forest.json b/resources/dicts/events/misc/forest.json
index e9c8897ff8..4ad01d34b5 100644
--- a/resources/dicts/events/misc/forest.json
+++ b/resources/dicts/events/misc/forest.json
@@ -71,7 +71,7 @@
"season": ["newleaf","greenleaf"],
"subtype": ["accessory"],
"weight": 20,
- "event_text": "A small flock of sparrows has decided to start frequenting the branches high above camp and, much to the annoyance of most, have dropped pleanty of feathers everwhere as they preen. m_c thinks they're pretty though and decides to keep some.",
+ "event_text": "A small flock of sparrows has decided to start frequenting the branches high above camp and, much to the annoyance of most, have dropped plenty of feathers everwhere as they preen. m_c thinks they're pretty though and decides to keep some.",
"new_accessory": ["SPARROW FEATHERS"]
}
-]
\ No newline at end of file
+]
diff --git a/resources/dicts/events/new_cat/beach.json b/resources/dicts/events/new_cat/beach.json
index 4057dfcbc5..ee93a71533 100644
--- a/resources/dicts/events/new_cat/beach.json
+++ b/resources/dicts/events/new_cat/beach.json
@@ -50,5 +50,99 @@
],
"changed": 1
}
+ },
+ {
+ "event_id": "bch_new_cat_saviour_drowning2",
+ "location": [
+ "beach"
+ ],
+ "season": [
+ "any"
+ ],
+ "weight": 5,
+ "event_text": "m_c comes back to camp with a sodden kit in {PRONOUN/m_c/poss} jaws, explaining that {PRONOUN/m_c/subject} spotted {PRONOUN/n_c:0/object} floundering in the water - no parents in sight - and couldn't just leave the little scrap to die.",
+ "m_c": {
+ "age": [
+ "young adult",
+ "adult",
+ "senior adult",
+ "senior"
+ ],
+ "status": [
+ "any"
+ ]
+ },
+ "new_cat": [
+ [
+ "loner",
+ "backstory:orphaned6",
+ "status:kitten"
+ ]
+ ],
+ "relationships": [
+ {
+ "cats_from": ["m_c"],
+ "cats_to": ["n_c:0"],
+ "mutual": true,
+ "values": ["comfort", "platonic"],
+ "amount": 10
+ }
+ ],
+ "outsider": {
+ "current_rep": [
+ "neutral", "welcoming"
+ ],
+ "changed": 1
+ }
+ },
+ {
+ "event_id": "bch_new_cat_abandoned_kit1",
+ "location": [
+ "beach"
+ ],
+ "season": [
+ "any"
+ ],
+ "weight": 5,
+ "event_text": "After going for a walk, m_c returns to camp with a small kitten, explaining that {PRONOUN/m_c/subject} found {PRONOUN/n_c:0/object} abandoned, tucked away under a rocky ledge.",
+ "m_c": {
+ "age": [
+ "young adult",
+ "adult",
+ "senior adult",
+ "senior"
+ ],
+ "status": [
+ "any"
+ ]
+ },
+ "new_cat": [
+ [
+ "backstory:abandoned1",
+ "status:kitten"
+ ]
+ ],
+ "relationships": [
+ {
+ "cats_from": ["m_c"],
+ "cats_to": ["n_c:0"],
+ "mutual": true,
+ "values": ["comfort"],
+ "amount": 10
+ },
+ {
+ "cats_from": ["n_c:0"],
+ "cats_to": ["m_c"],
+ "mutual": true,
+ "values": ["platonic", "trust"],
+ "amount": 10
+ }
+ ],
+ "outsider": {
+ "current_rep": [
+ "neutral", "welcoming"
+ ],
+ "changed": 1
+ }
}
-]
\ No newline at end of file
+]
diff --git a/resources/dicts/events/new_cat/forest.json b/resources/dicts/events/new_cat/forest.json
index c44dc44f37..5ce4c8d0df 100644
--- a/resources/dicts/events/new_cat/forest.json
+++ b/resources/dicts/events/new_cat/forest.json
@@ -1,3 +1,99 @@
[
+ {
+ "event_id": "fst_new_cat_lost_kitten1",
+ "location": [
+ "forest"
+ ],
+ "season": [
+ "any"
+ ],
+ "weight": 5,
+ "event_text": "m_c returned to camp with a kitten tottering behind {PRONOUN/m_c/object}, and explains that {PRONOUN/m_c/subject} found {PRONOUN/n_c:0/object} wandering - lost - around the forest, no parent in sight.",
+ "m_c": {
+ "age": [
+ "young adult",
+ "adult",
+ "senior adult",
+ "senior"
+ ],
+ "status": [
+ "any"
+ ]
+ },
+ "new_cat": [
+ [
+ "backstory:abandoned1, abandoned4",
+ "age:kitten"
+ ]
+ ],
+ "relationships": [
+ {
+ "cats_from": ["m_c"],
+ "cats_to": ["n_c:0"],
+ "mutual": true,
+ "values": ["comfort", "platonic"],
+ "amount": 10
+ }
+ ],
+ "outsider": {
+ "current_rep": [
+ "welcoming"
+ ],
+ "changed": 1
+ }
+ },
+ {
+ "event_id": "fst_new_cat_lost_kitten2",
+ "location": [
+ "forest"
+ ],
+ "season": [
+ "any"
+ ],
+ "weight": 5,
+ "event_text": "m_c found an abandoned kitten wandering around the forest and takes {PRONOUN/n_c:0/object} back to camp. Though c_n isn't happy about it, m_c persuades them to let n_c:0 stay in the Clan.",
+ "m_c": {
+ "age": [
+ "young adult",
+ "adult",
+ "senior adult",
+ "senior"
+ ],
+ "status": [
+ "any"
+ ],
+ "trait": ["compassionate", "loving", "responsible", "thoughtful"]
+ },
+ "new_cat": [
+ [
+ "backstory:abandoned1, abandoned4",
+ "age:kitten"
+ ]
+ ],
+ "relationships": [
+ {
+ "cats_from": ["m_c"],
+ "cats_to": ["n_c:0"],
+ "mutual": true,
+ "values": ["comfort", "platonic"],
+ "amount": 10
+ },
+ {
+ "cats_from": ["clan"],
+ "cats_to": ["m_c", "n_c:0"],
+ "values": ["dislike"],
+ "amount": 5
+ }
-]
\ No newline at end of file
+
+ ],
+ "outsider": {
+ "current_rep": [
+ "hostile"
+ ],
+ "changed": 1
+ }
+ }
+
+
+]
diff --git a/resources/dicts/events/new_cat/mountainous.json b/resources/dicts/events/new_cat/mountainous.json
index c44dc44f37..7205dec816 100644
--- a/resources/dicts/events/new_cat/mountainous.json
+++ b/resources/dicts/events/new_cat/mountainous.json
@@ -1,3 +1,123 @@
[
+ {
+ "event_id": "mtn_new_cat_eagle",
+ "location": [
+ "mountainous"
+ ],
+ "season": [
+ "any"
+ ],
+ "weight": 5,
+ "event_text": "m_c found an injured loner while out on a walk - clearly, {PRONOUN/n_c:0/subject}'d been attacked by an eagle. {PRONOUN/m_c/subject/CAP} rushes {PRONOUN/n_c:0/object} back to camp to be treated.",
+ "m_c": {
+ "age": [
+ "young adult",
+ "adult",
+ "senior adult",
+ "senior"
+ ],
+ "status": [
+ "any"
+ ]
+ },
+ "new_cat": [
+ [
+ "exists",
+ "loner"
+ ]
+ ],
+ "injury": [
+ {
+ "cats": ["n_c:0"],
+ "injuries": ["blunt_force_injury"],
+ "scars": ["THREE", "FACE"]
+ }
+ ],
+ "history:": [
+ {
+ "cats": ["n_c:0"],
+ "scar": "m_c was scarred after {PRONOUN/m_c/subject} {VERB/m_c/were/was} dropped by an eagle.",
+ "reg_death": "m_c died after {PRONOUN/m_c/subject} {VERB/m_c/were/was} dropped by an eagle.",
+ "lead_death": "died after {PRONOUN/m_c/subject} {VERB/m_c/were/was} dropped by an eagle"
+ }
+ ],
+ "relationships": [
+ {
+ "cats_from": ["m_c"],
+ "cats_to": ["n_c:0"],
+ "mutual": true,
+ "values": ["comfort", "platonic"],
+ "amount": 5
+ },
+ {
+ "cats_from": ["n_c:0"],
+ "cats_to": ["m_c"],
+ "values": ["trust"],
+ "amount": 10
+ },
+ {
+ "cats_from": ["n_c:0"],
+ "cats_to": ["m_c"],
+ "mutual": true,
+ "values": ["dislike"],
+ "amount": -10
+ }
-]
\ No newline at end of file
+
+ ],
+ "outsider": {
+ "current_rep": [
+ "welcoming"
+ ],
+ "changed": 1
+ }
+ },
+ {
+ "event_id": "mtn_new_cat_litter1",
+ "location": [
+ "mountainous"
+ ],
+ "season": [
+ "any"
+ ],
+ "weight": 5,
+ "event_text": "m_c finds a dead loner at the bottom of a cliff, near a litter of kittens. {PRONOUN/m_c/subject/CAP} {VERB/m_c/take/takes} the poor kittens back to camp, where they're offered a place in the Clan.",
+ "m_c": {
+ "age": [
+ "young adult",
+ "adult",
+ "senior adult",
+ "senior"
+ ],
+ "status": [
+ "any"
+ ]
+ },
+ "new_cat": [
+ ["age:has_kits", "meeting", "loner", "dead"],
+ [
+ "new_name",
+ "parent:0",
+ "backstory:orphaned1, orphaned2",
+ "litter"
+ ]
+ ],
+ "relationships": [
+ {
+ "cats_from": ["m_c"],
+ "cats_to": ["n_c:1"],
+ "mutual": true,
+ "values": ["comfort", "platonic"],
+ "amount": 5
+ }
+ ],
+ "outsider": {
+ "current_rep": [
+ "welcoming", "neutral"
+ ],
+ "changed": 1
+ }
+ }
+
+
+]
diff --git a/resources/dicts/events/new_cat/plains.json b/resources/dicts/events/new_cat/plains.json
index c44dc44f37..31d239f401 100644
--- a/resources/dicts/events/new_cat/plains.json
+++ b/resources/dicts/events/new_cat/plains.json
@@ -1,3 +1,102 @@
[
+ {
+ "event_id": "pln_new_cat_litter_deadparent1",
+ "location": [
+ "plains"
+ ],
+ "season": [
+ "any"
+ ],
+ "weight": 5,
+ "event_text": "m_c returned to camp carrying a litter of kittens, explaining that {PRONOUN/m_c/subject} found them mewling in a patch of grass, near the cooling body of a loner.",
+ "m_c": {
+ "age": [
+ "young adult",
+ "adult",
+ "senior adult",
+ "senior"
+ ],
+ "status": [
+ "any"
+ ]
+ },
+ "new_cat": [
+ ["age:has_kits", "meeting", "loner", "dead"],
+ [
+ "new_name",
+ "parent:0",
+ "backstory:orphaned1, orphaned2",
+ "litter"
+ ]
+ ],
+ "relationships": [
+ {
+ "cats_from": ["m_c"],
+ "cats_to": ["n_c:1"],
+ "mutual": true,
+ "values": ["comfort", "platonic"],
+ "amount": 5
+ }
+ ],
+ "outsider": {
+ "current_rep": [
+ "welcoming"
+ ],
+ "changed": 1
+ }
+ },
+ {
+ "event_id": "pln_new_cat_lost_kittypet1",
+ "location": [
+ "plains"
+ ],
+ "season": [
+ "any"
+ ],
+ "weight": 5,
+ "event_text": "m_c rescued a kittypet hopelessly lost in some tunnels, who is so impressed, {PRONOUN/n_c:0/subject} {VERB/n_c:0/ask/asks} to join the Clan!",
+ "m_c": {
+ "age": [
+ "young adult",
+ "adult",
+ "senior adult",
+ "senior"
+ ],
+ "status": [
+ "any"
+ ]
+ },
+ "new_cat": [
+ [
+ "kittypet",
+ "exists"
+ ]
+ ],
+ "relationships": [
+ {
+ "cats_from": ["m_c"],
+ "cats_to": ["n_c:0"],
+ "mutual": true,
+ "values": ["comfort", "platonic"],
+ "amount": 10
+ },
+ {
+ "cats_from": ["n_c:0"],
+ "cats_to": ["m_c"],
+ "mutual": true,
+ "values": ["dislike"],
+ "amount": -5
+ }
-]
\ No newline at end of file
+
+ ],
+ "outsider": {
+ "current_rep": [
+ "welcoming"
+ ],
+ "changed": 1
+ }
+ }
+
+
+]
diff --git a/resources/dicts/names/names.json b/resources/dicts/names/names.json
index 1c02ff7262..68ab7f66ec 100644
--- a/resources/dicts/names/names.json
+++ b/resources/dicts/names/names.json
@@ -22,7 +22,7 @@
"daze", "dazzle", "dew", "dream", "drift", "drizzle", "drop", "dusk", "dust", "eagle", "ear", "ears", "echo", "egg", "ember",
"eye", "eyes", "face", "falcon", "fall", "fang", "feather", "fern", "fin", "fire", "fish", "flake", "flame", "flare", "flash",
"fleck", "flick", "flicker", "flight", "flip", "flit", "flood", "flow", "flower", "fluff", "fog", "fox", "freeze", "frost", "fruit",
- "fuzz", "gale", "gaze", "ghost", "glare", "gleam", "glide", "glint", "goose", "gorse", "grass", "growl", "hail", "hare",
+ "fuzz", "gale", "gaze", "ghost", "glare", "gleam", "glide", "glint", "glow", "goose", "gorse", "grass", "growl", "hail", "hare",
"haven", "hawk", "haze", "heather", "hiss", "hollow", "holly", "honey", "hope", "howl", "husk", "ice", "iris", "ivy", "jaw",
"jay", "joy", "jumble", "jump", "kestrel", "kick", "kite", "knoll", "lake", "larch", "laurel", "leaf", "leap", "leg", "leopard",
"light", "lightning", "lilac", "lily", "lion", "lotus", "mallow", "mane", "mark", "mask", "meadow", "mimic", "minnow", "mist",
@@ -83,10 +83,10 @@
"Cicada", "Claw", "Clay", "Clear", "Cliff", "Clover", "Comfrey", "Condor", "Cone", "Conifer", "Conker", "Copse", "Cougar",
"Coyote", "Crag", "Crane", "Creek", "Cress", "Crest", "Crested", "Cricket", "Crooked", "Crouch", "Curl", "Curlew", "Curly",
"Current", "Cypress", "Dahlia", "Daisy", "Dancing", "Dapple", "Dappled", "Dart", "Dash", "Dawn", "Dazzle", "Dew", "Dog", "Down",
- "Downy", "Dream", "Drift", "Drizzle", "Droplet", "Dry", "Duck", "Dusk", "Eagle", "Echo", "Edelweiss", "Egret", "Elder", "Elm",
+ "Downy", "Dream", "Drift", "Drizzle", "Droplet", "Dry", "Duck", "Dusk", "Eagle", "Echo", "Edelweiss", "Eel", "Egret", "Elder", "Elm",
"Ermine", "Faith", "Falcon", "Fallen", "Falling", "Fallow", "Fawn", "Feather", "Fennel", "Fern", "Ferret", "Fickle", "Fidget",
"Fierce", "Fin", "Finch", "Fir", "Fish", "Flail", "Flash", "Flax", "Fleck", "Fleet", "Flicker", "Flight", "Flint", "Flip",
- "Flit", "Flood", "Flower", "Fluff", "Fluffy", "Flutter", "Fly", "Fog", "Foggy", "Freckle", "Fringe", "Frog", "Frond", "Fruit",
+ "Flit", "Float", "Flood", "Flower", "Fluff", "Fluffy", "Flutter", "Fly", "Fog", "Foggy", "Freckle", "Fringe", "Frog", "Frond", "Fruit",
"Fumble", "Furled", "Furze", "Fuzz", "Fuzzy", "Gale", "Gander", "Gardenia", "Garlic", "Gentle", "Gill", "Glade", "Goose", "Gorge",
"Gorse", "Grass", "Gravel", "Grouse", "Gull", "Guppy", "Gust", "Hail", "Half", "Hare", "Hatch", "Haven", "Hawk", "Hay", "Hazel",
"Hazy", "Heart", "Heath", "Heavy", "Hemlock", "Heron", "Hill", "Hollow", "Holly", "Honey", "Hoot", "Hop", "Hope", "Hornet",
@@ -100,12 +100,12 @@
"Piper", "Plover", "Plum", "Pod", "Pond", "Pool", "Pop", "Poppy", "Posy", "Pounce", "Prance", "Prickle", "Prim", "Primrose",
"Puddle", "Python", "Quail", "Quick", "Quiet", "Quill", "Quiver", "Rabbit", "Raccoon", "Ragged", "Rain", "Rainbow", "Rat",
"Rattle", "Raven", "Reed", "Ridge", "Rift", "Rindle", "Ripple", "River", "Roach", "Roar", "Rook", "Root", "Rose", "Rosy",
- "Rowan", "Rubble", "Runnel", "Running", "Rush", "Rye", "Sable", "Sapling", "Scorch", "Scratch", "Seed", "Serpent", "Shard",
- "Sharp", "Shell", "Shimmer", "Shine", "Shining", "Shivering", "Short", "Shrew", "Shrub", "Shy", "Silent", "Silk", "Silt", "Skip",
+ "Rowan", "Rubble", "Runnel", "Running", "Rush", "Rustle", "Rye", "Sable", "Sapling", "Scorch", "Scratch", "Seed", "Serpent", "Shard",
+ "Sharp", "Shell", "Shimmer", "Shine", "Shining", "Shivering", "Short", "Shrew", "Shrub", "Shy", "Silent", "Silk", "Silky", "Silt", "Skip",
"Sky", "Slate", "Sleek", "Sleepy", "Sleet", "Slight", "Slip", "Sloe", "Slope", "Slumber", "Small", "Snail", "Snake", "Snap",
"Sneeze", "Snip", "Snowy", "Soft", "Song", "Sorrel", "Spark", "Sparrow", "Speckle", "Spider", "Spike", "Splash", "Splinter",
- "Spore", "Spot", "Spotted", "Spring", "Sprout", "Spruce", "Squirrel", "Starling", "Stem", "Stoat", "Stork", "Streak", "Stream",
- "Strike", "Stumpy", "Sunny", "Swallow", "Swamp", "Swarm", "Sweet", "Swift", "Sycamore", "Tadpole", "Tall", "Talon", "Tangle",
+ "Spore", "Spot", "Spotted", "Spring", "Sprout", "Spruce", "Squirrel", "Starling", "Stem", "Stoat", "Stork", "Streak", "Stream", "Stretch",
+ "Strike", "Stripe", "Stumpy", "Sunny", "Swallow", "Swamp", "Swarm", "Sweet", "Swift", "Sycamore", "Tadpole", "Tall", "Talon", "Tangle",
"Tansy", "Tawny", "Tempest", "Thistle", "Thorn", "Thrift", "Thrush", "Thunder", "Thyme", "Tiger", "Timber", "Tiny", "Toad",
"Torn", "Tremble", "Trickle", "Trout", "Tuft", "Tulip", "Tumble", "Turtle", "Valley", "Vine", "Vixen", "Wasp", "Weasel", "Web",
"Weed", "Weevil", "Wet", "Wheat", "Whimsy", "Whirl", "Whisker", "Whisper", "Whispering", "Whistle", "Whorl", "Wild", "Willow",
@@ -224,7 +224,7 @@
],
"Beach": [
"Albatross", "Algae", "Anchovy", "Anemone", "Avocet", "Bass", "Barnacle", "Barracuda", "Beluga", "Brine", "Clam", "Coast",
- "Coconut", "Cod", "Conch", "Coral", "Cove", "Crab", "Current", "Delta", "Dolphin", "Dolphin", "Drip", "Drop", "Fin", "Flounder",
+ "Coconut", "Cod", "Conch", "Coral", "Cove", "Crab", "Current", "Delta", "Dolphin", "Dolphin", "Drip", "Drop", "Eel", "Fin", "Flounder",
"Foam", "Gannet", "Gull", "Gull", "Hermit", "Jellyfish", "Lagoon", "Lake", "Marlin", "Nacre", "Ocean", "Octopus", "Palm", "Pearl", "Pearl",
"Pearly", "Pelican", "Pool", "Pool", "Ripple", "Reef", "Ripple", "Sago", "Salmon", "Salt", "Sand", "Sand", "Sardine", "Scale", "Scale", "Sea",
"Seabass", "Seagull", "Shark", "Shell", "Shimmer", "Shimmer", "Shore", "Slug", "Snail", "Splash", "Squid",
@@ -247,7 +247,7 @@
"Swamp", "Murk", "Algae", "Mud", "Mire", "Splash", "Mosquito", "Mallard", "Goose", "Peat", "Bog", "Skink", "Tamarack",
"Spruce", "Beaver", "Wade", "Cypress", "Magnolia", "Skunk", "Mosquito", "Lily", "Bayou", "Clay", "Grebe", "Egret",
"Creek", "Skip", "Reed", "Bullrush", "Beetle", "Bug", "Vine", "Creeper", "Buffalo", "Rush", "Swam", "Cygnet", "Gosling",
- "Cormorant", "Stork", "Moorhen", "Spoonbill", "Kingfisher", "Plover", "Alligator", "Crocodile", "Newt",
+ "Cormorant", "Stork", "Moorhen", "Spoonbill", "Kingfisher", "Plover", "Alligator", "Crocodile", "Newt", "Eel",
"Axolotl", "Salamander", "Gar", "Coati"
],
"Desert": [
@@ -348,7 +348,7 @@
"Famine", "Fang", "Fauna", "Fawn", "Fax Machine", "Feather", "Feldspar", "Felicette", "Felicity", "Felix", "Feliz", "Fennekin", "Fern", "Fernanda", "Ferret", "Ferry", "Feta", "Fig", "Figaro",
"Filou", "Finch", "Finnian", "Fireball", "Firecracker", "Firefly", "First Generation iPod", "Fisher", "Fishleg", "Fishtail", "Five Pebbles", "Fiver", "Flabby", "Flamenco", "Flopper", "Flower",
"Fluffy", "Flurry", "Flutie", "Foghettaboutit", "Fork", "Formal", "Formality", "Formal Charge", "Four Needles", "Foxtrot", "Fran Bow", "Fran", "Frank", "Frankie", "Frannie", "Franny", "Fred", "Freddy", "Free", "French Fry", "French",
- "Freya", "Friend", "Frisk", "Frita", "Frito", "Froggy", "Fruity Pebble", "Frumpkin", "Fry", "Frye", "Fudge", "Fuecoco", "Fuli", "Furby", "Fuzz Lightyear", "Fuzzbo", "Fuzziwig", "Gabriel", "Gala",
+ "Freya", "Fridge", "Friend", "Frisk", "Frita", "Frito", "Froggy", "Fruity Pebble", "Frumpkin", "Fry", "Frye", "Fudge", "Fuecoco", "Fuli", "Furby", "Fuzz Lightyear", "Fuzzbo", "Fuzziwig", "Gabriel", "Gala",
"Galahad", "Gamble", "Ganiru", "Ganymede", "Garfield", "Gargoyle", "Garnet", "Gato", "Gayle", "Gemelli", "Gemini", "General Erasmus Dickinson", "Genji", "Geode", "George", "Ghost", "Gibby", "Gible",
"Gigabyte", "Gilded Lily", "Gimli", "Gingersnap", "Gir", "Girly Pop", "Gizmo", "Glameow", "Glass", "Glory", "Gluttony", "Gnocchi", "Gobi", "Godzilla", "Gofrette", "Goldfish", "Gold Foil Experiment", "Good Sir", "Goomy",
"Goose", "Goryo", "Gouda", "Gourmand", "Grace", "Grain", "Grandpa", "Grasshopper", "Grave", "Gravy", "Greed", "Gremlin", "Gretchen", "Grizabella", "Grizzly", "Growlithe", "Grunkle Stan", "Guacamole",
@@ -376,7 +376,7 @@
"Manda", "Mange", "Mango", "Mangosteen", "Mani", "Maomao", "Marathon", "Marble", "Marcel", "Marceline", "Marcy", "Mare", "Mareep", "Maria", "Marie", "Marina", "Mario", "Mariposa", "Mark",
"Marlow", "Marny", "Mars", "Marshal", "Marshmallow", "Martha", "Martini", "Marula", "Mason", "Matador", "Matcha", "Mathias", "Matilda", "Mauga", "Maverick", "Mawuli", "Max", "Maxie", "May", "Maya",
"Mazu", "McChicken", "McFlurry", "McLovin", "Meadow of Two Worlds", "Meatloaf", "Meatlug", "Medusa", "Meeka", "Megabyte", "Megan", "Meilin", "Meimei", "Melanie", "Melba", "Melody", "Melon", "Melona",
- "Memories Lost", "Meow-Meow", "Meowth", "Meowyman", "Meowzart", "Mera", "Mercedes", "Mercury", "Mercy", "Merengue", "Merlot", "Merry", "Metal", "Metalloid", "Mew", "Mia", "Miau", "Michelle", "Michi", "Mick", "Midnight Goddess",
+ "Memories Lost", "Meow-Meow", "Meowth", "Meowyman", "Meowzart", "Mera", "Mercedes", "Mercury", "Mercy", "Merengue", "Merlot", "Merry", "Metal", "Metalloid", "Mew", "Mia", "Miau", "Michelle", "Michi", "Mick", "Microwave", "Midnight Goddess",
"Mieke", "Mikhail", "Mikumi", "Miles", "Milhouse", "Milkshake", "Milky Way", "Millie", "Milo", "Milque", "Mimas", "Mimi", "Mimikyu", "Mimzy", "Minette", "Minha", "Mini", "Minna", "Minnie",
"Mint", "Minty", "Mira", "Miranda", "Miriam", "Miso", "Miss Marple", "Missile Launcher", "Misty", "Mitaine", "Mitochondria", "Mitski", "Mitsubishi", "Mittens", "Mitzi", "Mitzy Moo Moo", "Miyun",
"Mizan", "Mizar", "Mizu", "Mocha", "Mochi", "Moira", "Mojito", "Mojo", "Mollie", "Molly Murder Mittens", "Molly", "Momo", "Monika", "Monster", "Monte", "Monzi", "Moo", "Moomin", "Moon", "Mooncake",
@@ -398,7 +398,7 @@
"Potato", "Pouncival", "President Blanket", "President", "Prickle", "Pride", "Princess", "Pringle", "Private Eye", "Procyon", "Proton", "Pudding", "Puddles", "Pumba", "Pumpernickel", "Pumpkin",
"Punchy", "Punk", "Purdy", "Purri", "Purry", "Pushee", "Puzzle", "Qilian", "Quagmire", "Quake", "Quantum Mechanics", "Quarter Pounder", "Quartermaster", "Quartz", "Quasar", "Qubo", "Queen", "Queenie", "Queeny",
"Querida", "Quesadilla", "Queso Ruby", "Queso", "Quest", "Quickie", "Quimby", "Quince", "Quincy", "Quinn", "Quino", "Quinzee", "Rabiah", "Radar", "Rafael", "Rafiki", "Raja", "Ramattra", "Ramble",
- "Ramen", "Ramon", "Randy", "Rani", "Raptor", "Rapunzel", "Rarity", "Rat", "Ratau", "Ratoo", "Rattle", "Raven", "Ravioli", "Ray", "Raymond", "Razzle", "Reaper", "Rebel", "Reese", "Reeses Puff",
+ "Ramen", "Ramon", "Randy", "Rani", "Raptor", "Rapunzel", "Rarity", "Rat", "Ratau", "Ratoo", "Rattle", "Raven", "Ravioli", "Ray", "Raymond", "Razzle", "Reaper", "Rebel", "Reese", "Reeses Puff", "Refridgerator",
"Regina", "Ren", "Renata", "Rhea", "Rhianna", "Rhubarb", "Ribosome", "Ricardo", "Rice", "Rick Astley", "Rico", "Ricotta", "Rigatoni", "Rigel", "Righteous Bread Pudding", "Riley", "Ringo Starr",
"Ringo", "Rio", "Riolu", "Riot", "Risa", "River", "Rivulet", "Riya", "Rizz", "Roald", "Robbie", "Robert", "Rocket", "Rodeo", "Rolo", "Roman", "Romeo", "Roomba", "Rooster", "Rori", "Rorschach",
"Rory", "Rosanna", "Rose", "Roselie", "Rosewood", "Rowan", "Rubber Duck", "Ruby", "Rudolph", "Rudy", "Rue", "Ruffnut", "Rufus", "Rukiya", "Rum Tum Tugger", "Rum", "Rumpleteazer", "Runt", "Russel",
diff --git a/resources/dicts/patrols/forest/med/any.json b/resources/dicts/patrols/forest/med/any.json
index 78e22a4e42..852e81b71d 100644
--- a/resources/dicts/patrols/forest/med/any.json
+++ b/resources/dicts/patrols/forest/med/any.json
@@ -2052,5 +2052,555 @@
]
}
]
+ },
+ {
+ "patrol_id": "fst_med_stumble1",
+ "biome": ["forest"],
+ "season": ["any"],
+ "types": ["herb_gathering"],
+ "tags": ["romantic"],
+ "patrol_art": "fst_med_stumble1",
+ "min_cats": 2,
+ "max_cats": 2,
+ "min_max_status": {
+ "apprentice": [-1, -1],
+ "medicine cat apprentice": [-1, -1],
+ "medicine cat": [1, 1],
+ "normal adult": [1, 1]
+ },
+ "weight": 20,
+ "intro_text": "r_c trips over a tree root while helping p_l to collect herbs.",
+ "decline_text": "{PRONOUN/r_c/subject/CAP} quickly {VERB/r_c/pick/picks} {PRONOUN/r_c/self} up and {VERB/r_c/continue/continues} on.",
+ "chance_of_success": 60,
+ "success_outcomes": [
+ {
+ "text": "Though p_l checks {PRONOUN/r_c/object} over and doesn't find any injuries, r_c insists that {PRONOUN/r_c/subject} {VERB/r_c/need/needs} to lean on p_l's shoulder all the way back to camp. p_l complies, and r_c purrs the entire way home.",
+ "exp": 20,
+ "weight": 20,
+ "herbs": ["random_herbs"],
+ "relationships": [
+ {
+ "cats_to": ["patrol"],
+ "cats_from": ["patrol"],
+ "mutual": false,
+ "values": ["romantic", "platonic"],
+ "amount": 10
+ },
+ {
+ "cats_to": ["p_l"],
+ "cats_from": ["r_c"],
+ "mutual": false,
+ "values": ["comfort", "trust"],
+ "amount": 10
+ }
+ ]
+ },
+ {
+ "text": "It's alright, s_c didn't trip! {PRONOUN/s_c/subject/CAP} {VERB/s_c/were/was} just saying hello to the ground. With {PRONOUN/s_c/poss} face.",
+ "exp": 20,
+ "weight": 40,
+ "stat_trait": [
+ "playful",
+ "bold",
+ "charismatic",
+ "confident"
+ ],
+ "can_have_stat": ["r_c"],
+ "herbs": ["random_herbs"],
+ "relationships": [
+ {
+ "cats_to": ["patrol"],
+ "cats_from": ["patrol"],
+ "mutual": false,
+ "values": ["romantic", "platonic"],
+ "amount": 10
+ }
+ ]
+ }
+ ],
+ "fail_outcomes": [
+ {
+ "text": "Thankfully, r_c is able to pick {PRONOUN/r_c/self} up, {PRONOUN/r_c/poss} only injuries being the ones to {PRONOUN/r_c/poss} pride. StarClan, did that really have to happen in front of p_l?",
+ "exp": 0,
+ "weight": 20,
+ "relationships": [
+ {
+ "cats_to": ["r_c"],
+ "cats_from": ["p_l"],
+ "mutual": false,
+ "values": ["respect"],
+ "amount": -10
+ }
+ ]
+ },
+ {
+ "text": "s_c checks r_c over and, upon confirming that there are no injuries, tells {PRONOUN/r_c/object} that {PRONOUN/r_c/object}{VERB/r_c/'re/'s} fine and to walk it off.",
+ "exp": 0,
+ "weight": 40,
+ "stat_trait": [
+ "cold",
+ "grumpy",
+ "strict"
+ ],
+ "can_have_stat": ["p_l"],
+ "relationships": [
+ {
+ "cats_to": ["s_c"],
+ "cats_from": ["r_c"],
+ "mutual": false,
+ "values": ["romantic", "platonic", "comfort"],
+ "amount": -10
+ },
+ {
+ "cats_to": ["r_c"],
+ "cats_from": ["s_c"],
+ "mutual": false,
+ "values": ["respect"],
+ "amount": -10
+ }
+ ]
+ },
+ {
+ "text": "p_l checks r_c over and, while the other cat is not seriously injured, {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} definitely a little more battered than {PRONOUN/r_c/subject} {VERB/r_c/were/was} when they set out.",
+ "exp": 0,
+ "weight": 15,
+ "injury": [
+ {
+ "cats": ["r_c"],
+ "injuries": ["minor_injury"]
+ }
+ ]
+ },
+ {
+ "text": "s_c sees r_c falling and rushes to help. However, before s_c can reach {PRONOUN/s_c/poss} Clanmate, {PRONOUN/s_c/subject} {VERB/s_c/trip/trips} over the same tree root and {VERB/s_c/end/ends} up joining r_c on the ground. Thankfully, neither cat is seriously injured and, after sharing a laugh over their shared misfortune, they decide to call it a day and head back to camp, leaning on each other the whole way home.",
+ "exp": 0,
+ "weight": 20,
+ "stat_trait": [
+ "oblivious"
+ ],
+ "can_have_stat": ["p_l"],
+ "injury": [
+ {
+ "cats": ["patrol"],
+ "injuries": ["minor_injury"]
+ }
+ ],
+ "relationships": [
+ {
+ "cats_to": ["patrol"],
+ "cats_from": ["patrol"],
+ "mutual": false,
+ "values": ["romantic", "platonic", "comfort"],
+ "amount": 5
+ }
+ ]
+ },
+ {
+ "text": "s_c can't help the mrrps of laughter that escape {PRONOUN/s_c/object} at the sight. Sweet StarClan, if only r_c could see {PRONOUN/r_c/poss} own face! However, karma quickly comes for s_c, who is so busy laughing at r_c's misfortune that {PRONOUN/s_c/subject} completely {VERB/s_c/miss/misses} and trips over the other tree root that just so happens to be directly in {PRONOUN/s_c/poss} path. Meowch!",
+ "exp": 0,
+ "weight": 20,
+ "stat_trait": [
+ "childish"
+ ],
+ "can_have_stat": ["p_l"],
+ "injury": [
+ {
+ "cats": ["patrol"],
+ "injuries": ["minor_injury"]
+ }
+ ],
+ "relationships": [
+ {
+ "cats_to": ["s_c"],
+ "cats_from": ["r_c"],
+ "mutual": false,
+ "values": ["romantic", "platonic", "comfort"],
+ "amount": -10
+ }
+ ]
+ },
+ {
+ "text": "r_c yowls out in pain, alerting p_l and causing {PRONOUN/p_l/object} to drop everything and rush over. The medicine cat tries to help {PRONOUN/p_l/poss} companion to stand, but it quickly becomes clear that that won't be happening. r_c will need to be carried back to camp.",
+ "exp": 0,
+ "weight": 10,
+ "injury": [
+ {
+ "cats": ["r_c"],
+ "injuries": ["blunt_force_injury"]
+ }
+ ],
+ "history_text": {
+ "scar": "m_c was scarred after {PRONOUN/m_c/subject} tripped over a tree root.",
+ "reg_death": "m_c died from injuries sustained after tripping over a tree root.",
+ "lead_death": "died from injuries sustained after tripping over a tree root"
+ }
+ }
+ ]
+ },
+ {
+ "patrol_id": "fst_med_stumble2",
+ "biome": ["forest"],
+ "season": ["any"],
+ "types": ["herb_gathering"],
+ "tags": ["romantic"],
+ "patrol_art": "fst_med_stumble2",
+ "min_cats": 2,
+ "max_cats": 2,
+ "min_max_status": {
+ "apprentice": [-1, -1],
+ "medicine cat apprentice": [-1, -1],
+ "medicine cat": [2, 2]
+ },
+ "weight": 20,
+ "intro_text": "r_c trips over a tree root while out collecting herbs with p_l.",
+ "decline_text": "{PRONOUN/r_c/subject/CAP} quickly {VERB/r_c/pick/picks} {PRONOUN/r_c/self} up and {VERB/r_c/continue/continues} on.",
+ "chance_of_success": 60,
+ "success_outcomes": [
+ {
+ "text": "Though p_l checks {PRONOUN/r_c/object} over and doesn't find any injuries, r_c insists that {PRONOUN/r_c/subject} {VERB/r_c/need/needs} to lean on p_l's shoulder all the way back to camp. p_l complies, and r_c purrs the entire way home.",
+ "exp": 20,
+ "weight": 20,
+ "herbs": ["random_herbs"],
+ "relationships": [
+ {
+ "cats_to": ["patrol"],
+ "cats_from": ["patrol"],
+ "mutual": false,
+ "values": ["romantic", "platonic"],
+ "amount": 10
+ },
+ {
+ "cats_to": ["p_l"],
+ "cats_from": ["r_c"],
+ "mutual": false,
+ "values": ["comfort", "trust"],
+ "amount": 10
+ }
+ ]
+ },
+ {
+ "text": "It's alright, s_c didn't trip! {PRONOUN/s_c/subject/CAP} {VERB/s_c/were/was} just saying hello to the ground. With {PRONOUN/s_c/poss} face.",
+ "exp": 20,
+ "weight": 40,
+ "stat_trait": [
+ "playful",
+ "bold",
+ "charismatic",
+ "confident"
+ ],
+ "can_have_stat": ["r_c"],
+ "herbs": ["random_herbs"],
+ "relationships": [
+ {
+ "cats_to": ["patrol"],
+ "cats_from": ["patrol"],
+ "mutual": false,
+ "values": ["romantic", "platonic"],
+ "amount": 10
+ }
+ ]
+ }
+ ],
+ "fail_outcomes": [
+ {
+ "text": "Thankfully, r_c is able to pick {PRONOUN/r_c/self} up, {PRONOUN/r_c/poss} only injuries being the ones to {PRONOUN/r_c/poss} pride. StarClan, did that really have to happen in front of p_l?",
+ "exp": 0,
+ "weight": 20,
+ "relationships": [
+ {
+ "cats_to": ["r_c"],
+ "cats_from": ["p_l"],
+ "mutual": false,
+ "values": ["respect"],
+ "amount": -5
+ }
+ ]
+ },
+ {
+ "text": "s_c checks r_c over and, upon confirming that there are no injuries, tells {PRONOUN/r_c/object} that {PRONOUN/r_c/object}{VERB/r_c/'re/'s} fine and to walk it off.",
+ "exp": 0,
+ "weight": 40,
+ "stat_trait": [
+ "cold",
+ "grumpy",
+ "strict"
+ ],
+ "can_have_stat": ["p_l"],
+ "relationships": [
+ {
+ "cats_to": ["s_c"],
+ "cats_from": ["r_c"],
+ "mutual": false,
+ "values": ["romantic", "platonic", "comfort"],
+ "amount": -10
+ },
+ {
+ "cats_to": ["r_c"],
+ "cats_from": ["s_c"],
+ "mutual": false,
+ "values": ["respect"],
+ "amount": -10
+ }
+ ]
+ },
+ {
+ "text": "p_l checks r_c over and, while the other medicine cat is not seriously injured, {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} definitely a little more battered than {PRONOUN/r_c/subject} {VERB/r_c/were/was} when they set out.",
+ "exp": 0,
+ "weight": 15,
+ "injury": [
+ {
+ "cats": ["r_c"],
+ "injuries": ["minor_injury"]
+ }
+ ]
+ },
+ {
+ "text": "s_c sees r_c falling and rushes to help. However, before s_c can reach {PRONOUN/s_c/poss} Clanmate, {PRONOUN/s_c/subject} {VERB/s_c/trip/trips} over the same tree root and {VERB/s_c/end/ends} up joining r_c on the ground. Thankfully, neither cat is seriously injured and, after sharing a laugh over their joint misfortune, they decide to call it a day and head back to camp, leaning on each other the whole way home.",
+ "exp": 0,
+ "weight": 20,
+ "stat_trait": [
+ "oblivious"
+ ],
+ "can_have_stat": ["p_l"],
+ "injury": [
+ {
+ "cats": ["patrol"],
+ "injuries": ["minor_injury"]
+ }
+ ],
+ "relationships": [
+ {
+ "cats_to": ["patrol"],
+ "cats_from": ["patrol"],
+ "mutual": false,
+ "values": ["romantic", "platonic", "comfort"],
+ "amount": 5
+ }
+ ]
+ },
+ {
+ "text": "s_c can't help the mrrps of laughter that escape {PRONOUN/s_c/object} at the sight. Sweet StarClan, if only r_c could see {PRONOUN/r_c/poss} own face! However, karma quickly comes for s_c, who is so busy laughing at r_c's misfortune that {PRONOUN/s_c/subject} completely {VERB/s_c/miss/misses} and trips over the other tree root that just so happens to be directly in {PRONOUN/s_c/poss} path. Meowch!",
+ "exp": 0,
+ "weight": 20,
+ "stat_trait": [
+ "childish"
+ ],
+ "can_have_stat": ["p_l"],
+ "injury": [
+ {
+ "cats": ["patrol"],
+ "injuries": ["minor_injury"]
+ }
+ ],
+ "relationships": [
+ {
+ "cats_to": ["s_c"],
+ "cats_from": ["r_c"],
+ "mutual": false,
+ "values": ["romantic", "platonic", "comfort"],
+ "amount": -10
+ }
+ ]
+ },
+ {
+ "text": "r_c yowls out in pain, alerting p_l and causing {PRONOUN/p_l/object} to drop everything and rush over. p_l tries to help {PRONOUN/p_l/poss} fellow medicine cat to stand, but it quickly becomes clear that that won't be happening. r_c will need to be carried back to camp.",
+ "exp": 0,
+ "weight": 10,
+ "injury": [
+ {
+ "cats": ["r_c"],
+ "injuries": ["blunt_force_injury"]
+ }
+ ],
+ "history_text": {
+ "scar": "m_c was scarred after {PRONOUN/m_c/subject} tripped over a tree root.",
+ "reg_death": "m_c died from injuries sustained after tripping over a tree root."
+ }
+ }
+ ]
+ },
+ {
+ "patrol_id": "fst_med_stumble3",
+ "biome": ["forest"],
+ "season": ["any"],
+ "types": ["herb_gathering"],
+ "tags": ["romantic"],
+ "patrol_art": "fst_med_stumble3",
+ "min_cats": 2,
+ "max_cats": 2,
+ "min_max_status": {
+ "apprentice": [-1, -1],
+ "medicine cat apprentice": [-1, -1],
+ "medicine cat": [1, 1],
+ "normal adult": [1, 1]
+ },
+ "weight": 20,
+ "intro_text": "p_l trips over a tree root while out collecting herbs with r_c.",
+ "decline_text": "{PRONOUN/p_l/subject/CAP} quickly {VERB/p_l/pick/picks} {PRONOUN/p_l/self} up and {VERB/p_l/continue/continues} on.",
+ "chance_of_success": 60,
+ "success_outcomes": [
+ {
+ "text": "Though p_l has no visible injuries, {PRONOUN/p_l/subject} {VERB/p_l/insist/insists} that {PRONOUN/p_l/subject} {VERB/p_l/need/needs} to lean on r_c's shoulder all the way back to camp. r_c complies, and p_l purrs the entire way home.",
+ "exp": 20,
+ "weight": 20,
+ "herbs": ["random_herbs"],
+ "relationships": [
+ {
+ "cats_to": ["patrol"],
+ "cats_from": ["patrol"],
+ "mutual": false,
+ "values": ["romantic", "platonic"],
+ "amount": 10
+ },
+ {
+ "cats_to": ["r_c"],
+ "cats_from": ["p_l"],
+ "mutual": false,
+ "values": ["comfort", "trust"],
+ "amount": 10
+ }
+ ]
+ },
+ {
+ "text": "It's alright, s_c didn't trip! {PRONOUN/s_c/subject/CAP} {VERB/s_c/were/was} just saying hello to the ground. With {PRONOUN/s_c/poss} face.",
+ "exp": 20,
+ "weight": 40,
+ "stat_trait": [
+ "playful",
+ "bold",
+ "charismatic",
+ "confident"
+ ],
+ "can_have_stat": ["p_l"],
+ "herbs": ["random_herbs"],
+ "relationships": [
+ {
+ "cats_to": ["patrol"],
+ "cats_from": ["patrol"],
+ "mutual": false,
+ "values": ["romantic", "platonic"],
+ "amount": 10
+ }
+ ]
+ }
+ ],
+ "fail_outcomes": [
+ {
+ "text": "Thankfully, p_l doesn't fall far and is able to pick {PRONOUN/p_l/self} up, {PRONOUN/p_l/poss} only injuries being the ones to {PRONOUN/p_l/poss} pride. StarClan, did that really have to happen in front of r_c?",
+ "exp": 0,
+ "weight": 20,
+ "relationships": [
+ {
+ "cats_to": ["p_l"],
+ "cats_from": ["r_c"],
+ "mutual": false,
+ "values": ["respect"],
+ "amount": -5
+ }
+ ]
+ },
+ {
+ "text": "s_c may not be a medicine cat, but even {PRONOUN/s_c/subject} can tell that p_l is fine. Already annoyed at having been woken up so early in the stars-damned morning just to go pick herbs, s_c rather callously tells the medicine cat to get up and walk it off.",
+ "exp": 0,
+ "weight": 40,
+ "stat_trait": [
+ "cold",
+ "grumpy",
+ "strict"
+ ],
+ "can_have_stat": ["r_c"],
+ "relationships": [
+ {
+ "cats_to": ["s_c"],
+ "cats_from": ["p_l"],
+ "mutual": false,
+ "values": ["romantic", "platonic", "comfort"],
+ "amount": -10
+ },
+ {
+ "cats_to": ["p_l"],
+ "cats_from": ["s_c"],
+ "mutual": false,
+ "values": ["respect"],
+ "amount": -10
+ }
+ ]
+ },
+ {
+ "text": "r_c hurries over to help p_l and, while the medicine cat is not seriously injured, {PRONOUN/p_l/subject}{VERB/p_l/'re/'s} definitely a little more battered than {PRONOUN/p_l/subject} {VERB/p_l/were/was} when they set out.",
+ "exp": 0,
+ "weight": 15,
+ "injury": [
+ {
+ "cats": ["p_l"],
+ "injuries": ["minor_injury"]
+ }
+ ]
+ },
+ {
+ "text": "s_c sees p_l falling and rushes to help. However, before s_c can reach {PRONOUN/s_c/poss} Clanmate, {PRONOUN/s_c/subject} {VERB/s_c/trip/trips} over the same tree root and {VERB/s_c/end/ends} up joining p_l on the ground. Thankfully, neither cat is seriously injured and, after sharing a laugh over their shared misfortune, they decide to call it a day and head back to camp, leaning on each other the whole way home.",
+ "exp": 0,
+ "weight": 20,
+ "stat_trait": [
+ "oblivious"
+ ],
+ "can_have_stat": ["r_c"],
+ "injury": [
+ {
+ "cats": ["patrol"],
+ "injuries": ["minor_injury"]
+ }
+ ],
+ "relationships": [
+ {
+ "cats_to": ["patrol"],
+ "cats_from": ["patrol"],
+ "mutual": false,
+ "values": ["romantic", "platonic", "comfort"],
+ "amount": 5
+ }
+ ]
+ },
+ {
+ "text": "s_c can't help the mrrps of laughter that escape {PRONOUN/s_c/object} at the sight. Sweet StarClan, if only p_l could see {PRONOUN/p_l/poss} own face! However, karma quickly comes for s_c, who is so busy laughing at p_l's misfortune that {PRONOUN/s_c/subject} completely {VERB/s_c/miss/misses} and trips over the other tree root that just so happens to be directly in {PRONOUN/s_c/poss} path. Meowch!",
+ "exp": 0,
+ "weight": 20,
+ "stat_trait": [
+ "childish"
+ ],
+ "can_have_stat": ["r_c"],
+ "injury": [
+ {
+ "cats": ["patrol"],
+ "injuries": ["minor_injury"]
+ }
+ ],
+ "relationships": [
+ {
+ "cats_to": ["s_c"],
+ "cats_from": ["p_l"],
+ "mutual": false,
+ "values": ["romantic", "platonic", "comfort"],
+ "amount": -10
+ }
+ ]
+ },
+ {
+ "text": "p_l yowls out in pain, alerting r_c and causing {PRONOUN/r_c/object} to drop everything and rush over. r_c tries to help the medicine cat to stand, but it quickly becomes clear that that won't be happening. p_l will need to be carried back to camp.",
+ "exp": 0,
+ "weight": 10,
+ "injury": [
+ {
+ "cats": ["p_l"],
+ "injuries": ["blunt_force_injury"]
+ }
+ ],
+ "history_text": {
+ "scar": "m_c was scarred after {PRONOUN/m_c/subject} tripped over a tree root.",
+ "reg_death": "m_c died from injuries sustained after tripping over a tree root.",
+ "lead_death": "died from injuries sustained after tripping over a tree root"
+ }
+ }
+ ]
}
]
diff --git a/resources/dicts/patrols/forest/training/greenleaf.json b/resources/dicts/patrols/forest/training/greenleaf.json
index 3b2ae2c912..8db216392d 100644
--- a/resources/dicts/patrols/forest/training/greenleaf.json
+++ b/resources/dicts/patrols/forest/training/greenleaf.json
@@ -5,7 +5,7 @@
"season": ["greenleaf"],
"types": ["training"],
"tags": ["romantic"],
- "patrol_art": "train_general_intro",
+ "patrol_art": "gen_flower_date_warrior_warrior",
"min_cats": 2,
"max_cats": 2,
"min_max_status": {
diff --git a/resources/dicts/patrols/forest/training/leaf-bare.json b/resources/dicts/patrols/forest/training/leaf-bare.json
index 9f6f88332b..216e4d8db2 100644
--- a/resources/dicts/patrols/forest/training/leaf-bare.json
+++ b/resources/dicts/patrols/forest/training/leaf-bare.json
@@ -5,7 +5,7 @@
"season": ["leaf-bare"],
"types": ["training"],
"tags": ["romantic"],
- "patrol_art": "train_general_intro",
+ "patrol_art": "gen_flower_date_warrior_warrior",
"min_cats": 2,
"max_cats": 2,
"min_max_status": {
diff --git a/resources/dicts/patrols/forest/training/leaf-fall.json b/resources/dicts/patrols/forest/training/leaf-fall.json
index 1dee1ddc50..87245626fc 100644
--- a/resources/dicts/patrols/forest/training/leaf-fall.json
+++ b/resources/dicts/patrols/forest/training/leaf-fall.json
@@ -5,7 +5,7 @@
"season": ["leaf-fall"],
"types": ["training"],
"tags": ["romantic"],
- "patrol_art": "train_general_intro",
+ "patrol_art": "gen_flower_date_warrior_warrior",
"min_cats": 2,
"max_cats": 2,
"min_max_status": {
diff --git a/resources/dicts/patrols/forest/training/newleaf.json b/resources/dicts/patrols/forest/training/newleaf.json
index 5a9dba8f89..c1f26485f9 100644
--- a/resources/dicts/patrols/forest/training/newleaf.json
+++ b/resources/dicts/patrols/forest/training/newleaf.json
@@ -5,7 +5,7 @@
"season": ["newleaf"],
"types": ["training"],
"tags": ["romantic"],
- "patrol_art": "gen_flower_date",
+ "patrol_art": "gen_flower_date_warrior_warrior",
"min_cats": 2,
"max_cats": 2,
"min_max_status": {
diff --git a/resources/dicts/patrols/general/training.json b/resources/dicts/patrols/general/training.json
index cdd0af6da5..ccddc01fad 100644
--- a/resources/dicts/patrols/general/training.json
+++ b/resources/dicts/patrols/general/training.json
@@ -24,7 +24,8 @@
"cats_from": ["patrol"],
"mutual": false,
"values": ["comfort", "trust"],
- "amount": 5
+ "amount": 5,
+ "log": "r_c warned the patrol {PRONOUN/r_c/subject} {VERB/r_c/were/was} with about some potentially dangerous red berries"
}
]
},
diff --git a/resources/dicts/patrols/plains/training/greenleaf.json b/resources/dicts/patrols/plains/training/greenleaf.json
index c374a0a309..f83df80f59 100644
--- a/resources/dicts/patrols/plains/training/greenleaf.json
+++ b/resources/dicts/patrols/plains/training/greenleaf.json
@@ -59,7 +59,7 @@
"season": ["greenleaf"],
"types": ["training"],
"tags": ["romantic"],
- "patrol_art": "train_general_intro",
+ "patrol_art": "pln_train_newleaf_3mates_cloverfield1",
"min_cats": 3,
"max_cats": 3,
"min_max_status": {
diff --git a/resources/dicts/patrols/plains/training/leaf-fall.json b/resources/dicts/patrols/plains/training/leaf-fall.json
index e7cdc5deec..579e119fa9 100644
--- a/resources/dicts/patrols/plains/training/leaf-fall.json
+++ b/resources/dicts/patrols/plains/training/leaf-fall.json
@@ -59,7 +59,7 @@
"season": ["leaf-fall"],
"types": ["training"],
"tags": ["romantic"],
- "patrol_art": "train_general_intro",
+ "patrol_art": "pln_train_newleaf_3mates_cloverfield1",
"min_cats": 3,
"max_cats": 3,
"min_max_status": {
diff --git a/resources/dicts/patrols/plains/training/newleaf.json b/resources/dicts/patrols/plains/training/newleaf.json
index 9cf38518ff..c02a9bf1ce 100644
--- a/resources/dicts/patrols/plains/training/newleaf.json
+++ b/resources/dicts/patrols/plains/training/newleaf.json
@@ -59,7 +59,7 @@
"season": ["newleaf"],
"types": ["training"],
"tags": ["romantic"],
- "patrol_art": "train_general_intro",
+ "patrol_art": "pln_train_newleaf_3mates_cloverfield1",
"min_cats": 3,
"max_cats": 3,
"min_max_status": {
diff --git a/resources/dicts/patrols/wetlands/training/any.json b/resources/dicts/patrols/wetlands/training/any.json
index 279d2ca04e..17a0055a68 100644
--- a/resources/dicts/patrols/wetlands/training/any.json
+++ b/resources/dicts/patrols/wetlands/training/any.json
@@ -963,7 +963,7 @@
"season": ["any"],
"types": ["training"],
"tags": [],
- "patrol_art": "train_general_intro",
+ "patrol_art": "wtlnd_train_moosemyth_storylocked1",
"min_cats": 2,
"max_cats": 6,
"min_max_status": {
diff --git a/resources/dicts/relationship_events/normal_interactions/admiration/decrease.json b/resources/dicts/relationship_events/normal_interactions/admiration/decrease.json
index 9ac5f31d87..e4379213a8 100644
--- a/resources/dicts/relationship_events/normal_interactions/admiration/decrease.json
+++ b/resources/dicts/relationship_events/normal_interactions/admiration/decrease.json
@@ -1,152 +1,228 @@
-[
- {
- "id": "admire_de_low1",
- "intensity": "low",
- "interactions": [
- "m_c saw r_c being rude.",
- "m_c heard r_c say something mean.",
- "m_c is annoyed by r_c's negative comments."
- ]
- },
- {
- "id": "admire_de_low2",
- "intensity": "low",
- "interactions": [
- "m_c complains about something r_c did.",
- "m_c notices that r_c doesn't want to help out.",
- "m_c doesn't understand why r_c is being so rude.",
- "r_c saw m_c taking extra fresh kill before others had a chance to eat.",
- "m_c walks away when r_c asks for help.",
- "r_c saw m_c do something kind of selfish."
- ],
- "reaction_random_cat": {
- "admiration": "decrease"
- }
- },
- {
- "id": "admire_de_medium1",
- "interactions": [
- "m_c saw r_c take the last piece of prey from the fresh-kill pile.",
- "m_c thinks r_c has a strange sense of humor.",
- "m_c is frustrated that r_c won't take {PRONOUN/r_c/poss} actions more seriously.",
- "m_c feels like r_c isn't taking {PRONOUN/r_c/poss} own personal health seriously."
- ]
- },
- {
- "id": "admire_de_medium2",
- "interactions": [
- "m_c tried to bring r_c's behavior up to {PRONOUN/r_c/object}, but it turned into a fight that someone else had to break up.",
- "m_c confronted r_c about {PRONOUN/r_c/poss} bad attitude but it only made r_c act out more.",
- "m_c is disappointed when r_c doesn't uphold a promise.",
- "r_c saw m_c do something really selfish and, while it didn't affect anyone else, m_c's view of {PRONOUN/r_c/object} is definitely warped."
- ],
- "reaction_random_cat": {
- "admiration": "decrease"
- }
- },
- {
- "id": "admire_de_medium3",
- "interactions": [
- "m_c and r_c had to fix something around camp and argued about how to fix it. It ended up being fixed by some other cat in the end.",
- "m_c notices that r_c has been avoiding {PRONOUN/r_c/poss} responsibilities lately.",
- "m_c and r_c were supposed to be working together today, but can never agree long enough to accomplish anything.",
- "m_c is frustrated after finishing a task that r_c was supposed to do."
- ],
- "reaction_random_cat": {
- "admiration": "decrease"
- },
- "main_status_constraint": [
- "elder",
- "apprentice",
- "warrior",
- "mediator apprentice",
- "mediator",
- "medicine cat apprentice",
- "medicine cat",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "elder",
- "apprentice",
- "warrior",
- "mediator apprentice",
- "mediator",
- "medicine cat apprentice",
- "medicine cat",
- "deputy",
- "leader"
- ]
- },
- {
- "id": "admire_adult_de_med1",
- "interactions": [
- "m_c saw r_c miss an easy catch today.",
- "m_c is disappointed in r_c's subpar work lately.",
- "m_c is let down by r_c's sloppy performance during a sparring session.",
- "r_c was supposed to be showing m_c a cool battle move but messed up so badly it made m_c cringe."
- ],
- "main_status_constraint": [
- "apprentice",
- "warrior",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "apprentice",
- "warrior",
- "deputy",
- "leader"
- ]
- },
- {
- "id": "admire_adult_de_med2",
- "interactions": [
- "m_c has noticed r_c isn't doing a lot of work lately.",
- "m_c is disappointed in r_c's lack of initiative.",
- "m_c notices that r_c seems to disappear whenever difficult tasks are being discussed.",
- "m_c has noticed r_c's been a lot lazier lately."
- ],
- "main_status_constraint": [
- "elder",
- "apprentice",
- "warrior",
- "deputy",
- "leader",
- "medicine cat",
- "mediator"
- ],
- "random_status_constraint": [
- "apprentice",
- "warrior",
- "mediator apprentice",
- "mediator",
- "medicine cat apprentice",
- "medicine cat",
- "deputy",
- "leader"
- ]
- },
- {
- "id": "admire_de_high1",
- "intensity": "high",
- "interactions": [
- "m_c heard an ugly rumor about r_c.",
- "m_c overheard r_c spreading a hurtful rumor."
- ]
- },
- {
- "id": "admire_de_high2",
- "intensity": "high",
- "interactions": [
- "m_c had a difficult conversation with r_c, and they both ended up resentful of each other.",
- "m_c was noticeably distracted while r_c was trying to tell a story.",
- "m_c and r_c have a long discussion about goals and aspirations, and find that they don't agree on many things.",
- "m_c spent a long time talking with r_c and was disappointed by r_c's lack of interest.",
- "m_c asks r_c about something complicated and regrets it almost immediately when r_c misses the point."
- ],
- "reaction_random_cat": {
- "admiration": "decrease"
- }
- }
-]
+[
+ {
+ "id": "admire_de_low1",
+ "intensity": "low",
+ "interactions": [
+ "m_c saw r_c being rude.",
+ "m_c heard r_c say something mean.",
+ "m_c is annoyed by r_c's negative comments.",
+ "m_c notices r_c failed to complete a simple task.",
+ "m_c hopes {PRONOUN/m_c/subject} just misheard r_c's rude remark.",
+ "r_c keeps asking m_c silly questions.",
+ "m_c wonders why r_c is so pouty today.",
+ "r_c sneezed on m_c.",
+ "m_c was woken up early by r_c.",
+ "m_c notices that r_c overslept.",
+ "r_c tells m_c to smile more.",
+ "m_c had a funny dream about r_c and can't take {PRONOUN/r_c/object} seriously now.",
+ "r_c is talking to m_c, but {PRONOUN/m_c/subject} can't stop noticing the mud on r_c's pelt."
+
+ ]
+ },
+ {
+ "id": "admire_de_low2",
+ "intensity": "low",
+ "interactions": [
+ "m_c complains about something r_c did.",
+ "m_c notices that r_c doesn't want to help out.",
+ "m_c doesn't understand why r_c is being so rude.",
+ "r_c makes a snide remark about one of m_c's friends.",
+ "r_c confuses m_c in a conversation.",
+ "m_c saw r_c cough up a hairball.",
+ "r_c snickered when m_c tripped.",
+ "m_c is taken aback by one of r_c's comments.",
+ "r_c tries to convince m_c that an obvious lie is real.",
+ "r_c did an embarrassing prank on m_c's friend."
+ ],
+ "reaction_random_cat": {
+ "admiration": "decrease"
+ }
+ },
+ {
+ "id": "admire_de_low3",
+ "interactions": [
+ "m_c and r_c disagree on something that should have an obvious answer.",
+ "r_c tells m_c to be happier. m_c explains it's not that simple."
+ ],
+ "main_trait_constraint": [
+ "gloomy",
+ "grumpy"
+ ],
+ "random_trait_constraint": [
+ "childish",
+ "oblivious",
+ "bold",
+ "confident"
+ ]
+ },
+ {
+ "id": "admire_de_medium1",
+ "interactions": [
+ "m_c saw r_c take the last piece of prey from the fresh-kill pile.",
+ "m_c thinks r_c has a strange sense of humor.",
+ "m_c is frustrated that r_c won't take {PRONOUN/r_c/poss} actions more seriously.",
+ "m_c feels like r_c isn't taking {PRONOUN/r_c/poss} own personal health seriously.",
+ "m_c has started to see flaws in r_c's philosophies.",
+ "m_c worries about how capable r_c is.",
+ "m_c feels like r_c lied about something trivial.",
+ "r_c told m_c a joke that {PRONOUN/m_c/subject} didn't find funny.",
+ "m_c saw r_c ignore someone.",
+ "m_c wishes r_c would act more maturely.",
+ "r_c said something about a Clanmate that concerned m_c.",
+ "r_c kept getting distracted while helping m_c and nearly got {PRONOUN/m_c/object} hurt."
+ ]
+ },
+ {
+ "id": "admire_de_medium2",
+ "interactions": [
+ "m_c tried to bring r_c's behavior up to them, but it turned into a fight that someone else had to break up.",
+ "m_c confronted r_c about {PRONOUN/r_c/poss} bad attitude but that only makes r_c act out more.",
+ "m_c is disappointed when r_c doesn't uphold a promise.",
+ "m_c doesn't tell r_c that {PRONOUN/r_c/subject} forgot to groom a part of {PRONOUN/r_c/poss} fur.",
+ "r_c ignored m_c's question.",
+ "In the middle of a conversation, m_c and r_c realize they have less perspectives in common than they thought.",
+ "m_c and r_c talk about a Clanmate and realize they have very different opinions on them.",
+ "r_c tripped m_c. m_c doubts it was an accident.",
+ "m_c scolds r_c for something trivial.",
+ "m_c and r_c argue over a piece of fresh-kill.",
+ "r_c panics over something that m_c finds trivial."
+ ],
+ "reaction_random_cat": {
+ "admiration": "decrease"
+ }
+ },
+ {
+ "id": "admire_de_medium3",
+ "interactions": [
+ "m_c and r_c had to fix something around camp and argued about how to fix it. It ended up being fixed by some other cat in the end.",
+ "m_c notices that r_c has been avoiding {PRONOUN/r_c/poss} responsibilities lately.",
+ "m_c and r_c were supposed to be working together today, but they can never agree long enough to accomplish anything."
+ ],
+ "reaction_random_cat": {
+ "admiration": "decrease"
+ },
+ "main_status_constraint": [
+ "elder",
+ "apprentice",
+ "warrior",
+ "mediator apprentice",
+ "mediator",
+ "medicine cat apprentice",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "elder",
+ "apprentice",
+ "warrior",
+ "mediator apprentice",
+ "mediator",
+ "medicine cat apprentice",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ]
+ },
+ {
+ "id": "admire_adult_de_med1",
+ "interactions": [
+ "m_c saw r_c miss an easy catch today.",
+ "m_c is disappointed in r_c's subpar work lately.",
+ "m_c is let down by r_c's sloppy performance during a sparring session.",
+ "r_c was supposed to be showing m_c a cool battle move but messed up so badly it made m_c cringe.",
+ "m_c noticed that r_c ignored an easy hunting opportunity on a recent patrol.",
+ "r_c froze up during a hunting patrol with m_c.",
+ "r_c is visibly upset to be on a patrol with m_c.",
+ "When m_c's border patrol encountered another Clan, r_c acted like a fool.",
+ "m_c is frustrated after finishing a task that r_c was supposed to do.",
+ "m_c pranked r_c during a patrol.",
+ "m_c doubts r_c would be able to protect {PRONOUN/m_c/object} if something went wrong.",
+ "m_c calls out r_c for sleeping through a meeting.",
+ "m_c is upset that r_c slept through patrol assignments.",
+ "m_c thinks that r_c acted disrespectfully during a patrol.",
+ "m_c notices that r_c seems to disappear whenever difficult tasks are being discussed.",
+ "r_c was meant to take a piece of prey to a Clanmate, but m_c saw {PRONOUN/r_c/object} eat it.",
+ "r_c didn't finish a chore that m_c assigned {PRONOUN/m_c/object}.",
+ "The Clan notices that m_c and r_c won't talk to each other after coming back from a patrol.",
+ "m_c and r_c have very different approaches to hunting and argue about which is better."
+ ],
+ "main_status_constraint": [
+ "apprentice",
+ "warrior",
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "apprentice",
+ "warrior",
+ "deputy",
+ "leader"
+ ]
+ },
+ {
+ "id": "admire_adult_de_med2",
+ "interactions": [
+ "m_c has noticed r_c isn't doing a lot of work lately.",
+ "m_c is disappointed in r_c's lack of initiative."
+ ],
+ "main_status_constraint": [
+ "elder",
+ "apprentice",
+ "warrior",
+ "deputy",
+ "leader",
+ "medicine cat",
+ "mediator"
+ ],
+ "random_status_constraint": [
+ "apprentice",
+ "warrior",
+ "mediator apprentice",
+ "mediator",
+ "medicine cat apprentice",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ]
+ },
+ {
+ "id": "admire_de_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c heard an ugly rumor about r_c.",
+ "m_c overheard r_c spreading a hurtful rumor.",
+ "r_c won't stop complaining to m_c!",
+ "m_c thinks r_c did something incompetent.",
+ "r_c greatly embarrassed {PRONOUN/r_c/self} in front of m_c.",
+ "m_c learns about a terrible mistake r_c did.",
+ "m_c swears that r_c stole something from {PRONOUN/m_c/poss} nest.",
+ "m_c overhears r_c say something awful about a dead Clanmate.",
+ "m_c thinks r_c keeps getting in the way instead of helping others.",
+ "m_c knows that r_c fake-laughed at {PRONOUN/m_c/poss} joke."
+ ]
+ },
+ {
+ "id": "admire_de_high2",
+ "intensity": "high",
+ "interactions": [
+ "m_c had a difficult conversation with r_c, and they both ended up resentful of one another.",
+ "m_c was noticeably distracted while r_c was trying to tell a story.",
+ "m_c and r_c have a long discussion about goals and aspirations, and find that they don't agree on many things.",
+ "m_c asks r_c about something complicated and regrets it almost immediately when r_c misses the point.",
+ "m_c spent a long time talking with r_c, and was disappointed by r_c's lack of interest.",
+ "m_c scolds r_c about something {PRONOUN/r_c/object} did, but r_c doesn't take {PRONOUN/m_c/object} seriously.",
+ "r_c laughs at m_c's embarrassing mistake.",
+ "r_c told m_c something awful and m_c may never look at {PRONOUN/r_c/object} quite the same.",
+ "m_c got lost and r_c didn't look for {PRONOUN/m_c/object}.",
+ "m_c and r_c argue about religion in the middle of camp.",
+ "m_c realizes how hard it is to hold a conversation with r_c.",
+ "m_c lied to r_c's face.",
+ "m_c called r_c lazy, and r_c has retaliated by nitpicking everything that m_c does.",
+ "m_c had a bad day and lashed out at r_c."
+ ],
+ "reaction_random_cat": {
+ "admiration": "decrease"
+ }
+ }
+]
diff --git a/resources/dicts/relationship_events/normal_interactions/admiration/increase.json b/resources/dicts/relationship_events/normal_interactions/admiration/increase.json
index 993ab0ac9e..85c5947730 100644
--- a/resources/dicts/relationship_events/normal_interactions/admiration/increase.json
+++ b/resources/dicts/relationship_events/normal_interactions/admiration/increase.json
@@ -1,311 +1,394 @@
-[
- {
- "id": "admire_inc_low1",
- "intensity": "low",
- "interactions": [
- "m_c saw r_c being considerate.",
- "m_c noticed r_c doing {PRONOUN/r_c/poss} best today.",
- "m_c appreciates r_c's helpful attitude."
- ]
- },
- {
- "id": "admire_inc_low2",
- "intensity": "low",
- "interactions": [
- "m_c mews congratulations to r_c for a job well done.",
- "m_c thinks r_c is being thoughtful of others.",
- "m_c approves of r_c's recent efforts.",
- "m_c spreads a positive rumor about r_c."
- ],
- "reaction_random_cat": {
- "admiration": "increase"
- }
- },
- {
- "id": "admire_inc_low3",
- "intensity": "low",
- "interactions": [
- "m_c wants to be just like r_c someday.",
- "m_c really looks up to r_c!",
- "m_c is awed by how much r_c has done for the Clan.",
- "m_c is really impressed by all of r_c's accomplishments.",
- "m_c wants to hold an important position like r_c.",
- "m_c wonders how r_c became the cat {PRONOUN/r_c/subject} {VERB/r_c/are/is} today."
- ],
- "main_status_constraint": [
- "kitten",
- "apprentice",
- "mediator apprentice",
- "medicine cat apprentice"
- ],
- "random_status_constraint": [
- "elder",
- "leader",
- "mediator",
- "deputy",
- "medicine cat"
- ]
- },
- {
- "id": "admire_inc_medium1",
- "interactions": [
- "m_c admires how brave r_c is.",
- "m_c admires r_c's dedication.",
- "m_c is impressed with r_c's willingness to help.",
- "m_c notices that r_c is always one of the first to volunteer for a difficult task.",
- "m_c watches and tries to follow what r_c does each day to be more like {PRONOUN/r_c/object}."
- ]
- },
- {
- "id": "admire_inc_medium2",
- "interactions": [
- "m_c is sparring with r_c.",
- "m_c has a mock battle with r_c.",
- "m_c learns a helpful skill from r_c."
- ],
- "reaction_random_cat": {
- "admiration": "increase"
- }
- },
- {
- "id": "admire_med_inc_medium1",
- "interactions": [
- "m_c watched r_c show kindness and compassion towards {PRONOUN/r_c/poss} patients.",
- "m_c caught a glimpse of r_c caring for a wounded warrior with confidence and grace.",
- "m_c spent some time hanging out with r_c in the medicine cat den.",
- "m_c hopes r_c knows how grateful {PRONOUN/m_c/subject} {VERB/m_c/are/is} to have {PRONOUN/r_c/object} as a medicine cat.",
- "m_c went to r_c for advice about a dream {PRONOUN/m_c/subject} had."
- ],
- "random_status_constraint": [
- "medicine cat",
- "medicine cat apprentice"
- ],
- "also_influences": {
- "comfortable": "increase",
- "platonic": "increase",
- "trust": "increase"
- }
- },
- {
- "id": "admire_med_inc_med2",
- "interactions": [
- "m_c escorted r_c so {PRONOUN/r_c/subject} could gather herbs.",
- "m_c thought of r_c on the last patrol and brought a herb back with {PRONOUN/m_c/object}.",
- "m_c notices that r_c is trying really hard to be a great medicine cat.",
- "m_c is suddenly struck by the thought of how much r_c does to keep the Clan healthy.",
- "m_c thanks r_c for keeping the Clan healthy.",
- "m_c watches r_c sort herbs as {PRONOUN/m_c/subject} {VERB/m_c/chat/chats} about how {PRONOUN/r_c/poss} day has gone.",
- "m_c lets r_c know that {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} about to go out and asks if {PRONOUN/m_c/subject} {VERB/m_c/need/needs} to watch for any herbs.",
- "m_c asks r_c if there's any herbs {PRONOUN/m_c/subject} should look out for while {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} out on patrol later."
- ],
- "main_status_constraint": [
- "apprentice",
- "warrior",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "medicine cat apprentice",
- "medicine cat"
- ],
- "reaction_random_cat": {
- "platonic": "increase",
- "trust": "increase"
- }
- },
- {
- "id": "admiration_kit_inc_med1",
- "interactions": [
- "m_c wants to become just like r_c someday!",
- "m_c is pretending to be r_c.",
- "m_c always wants to play as r_c in {PRONOUN/m_c/poss} games of pretend.",
- "m_c keeps asking when {PRONOUN/m_c/subject} can be made r_c's apprentice."
- ],
- "main_status_constraint": [
- "kitten"
- ],
- "random_status_constraint": [
- "elder",
- "apprentice",
- "warrior",
- "mediator apprentice",
- "mediator",
- "medicine cat apprentice",
- "medicine cat",
- "deputy",
- "leader"
- ]
- },
- {
- "id": "admeration_kit_inc_med2",
- "interactions": [
- "m_c tells r_c how {PRONOUN/m_c/subject} want to be just like {PRONOUN/r_c/object} when {PRONOUN/m_c/subject} {VERB/m_c/grows/grow} up."
- ],
- "main_status_constraint": [
- "kitten"
- ],
- "relationship_constraint": [
- "admiration_20"
- ],
- "random_status_constraint": [
- "elder",
- "apprentice",
- "warrior",
- "mediator apprentice",
- "mediator",
- "medicine cat apprentice",
- "medicine cat",
- "deputy",
- "leader"
- ],
- "reaction_random_cat": {
- "platonic": "increase"
- }
- },
- {
- "id": "admire_adult_inc_med1",
- "interactions": [
- "m_c is feeling proud of r_c.",
- "m_c is watching r_c perform an almost-decent hunting crouch.",
- "m_c is wowed by how well r_c did today!",
- "m_c is impressed with r_c's progress.",
- "m_c thinks that r_c will grow up to be an excellent member of the Clan.",
- "m_c thinks r_c has a bright future ahead of {PRONOUN/r_c/object}."
- ],
- "relationship_constraint": [
- "admiration_30"
- ],
- "main_status_constraint": [
- "elder",
- "warrior",
- "mediator",
- "medicine cat",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "kitten",
- "apprentice",
- "mediator apprentice",
- "medicine cat apprentice"
- ]
- },
- {
- "id": "admire_adult_odd_med1",
- "interactions": [
- "m_c feels like {PRONOUN/m_c/subject}'ll never accomplish as much as r_c.",
- "m_c wonders if {PRONOUN/m_c/subject} can ever be as good as r_c.",
- "m_c strives to catch up to r_c's success."
- ],
- "relationship_constraint": [
- "admiration_30"
- ],
- "main_status_constraint": [
- "warrior",
- "mediator",
- "medicine cat",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "elder"
- ],
- "also_influences": {
- "jealousy": "increase"
- }
- },
- {
- "id": "admire_adult_odd_med1",
- "interactions": [
- "m_c thinks r_c is so much braver than {PRONOUN/m_c/object}.",
- "m_c feels like r_c is more accomplished than {PRONOUN/m_c/object}."
- ],
- "relationship_constraint": [
- "admiration_60"
- ],
- "main_status_constraint": [
- "warrior",
- "mediator",
- "medicine cat",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "elder",
- "warrior",
- "mediator",
- "medicine cat",
- "deputy",
- "leader"
- ],
- "also_influences": {
- "jealousy": "increase"
- }
- },
- {
- "id": "admire_inc_high1",
- "intensity": "high",
- "interactions": [
- "m_c saw r_c show off a skill {PRONOUN/m_c/subject} never knew {PRONOUN/r_c/subject} had.",
- "m_c is wowed by how bravely r_c fought the other day.",
- "m_c is impressed by r_c's competence in any situation.",
- "m_c is amazed at how skilled r_c really is.",
- "m_c can't believe how talented r_c is!"
- ],
- "random_status_constraint": [
- "warrior",
- "apprentice",
- "mediator apprentice",
- "medicine cat apprentice",
- "medicine cat",
- "deputy",
- "leader"
- ]
- },
- {
- "id": "admire_inc_high2",
- "intensity": "high",
- "interactions": [
- "m_c had a difficult conversation with r_c and now, they have a deeper understanding of each other.",
- "m_c and r_c have a long discussion about goals and aspirations, and find that they both have a lot in common.",
- "m_c spent a long time talking with r_c and was impressed by {PRONOUN/r_c/poss} insight.",
- "m_c asks r_c about something complicated and is amazed at how quickly r_c understands."
- ],
- "reaction_random_cat": {
- "admiration": "increase"
- }
- },
- {
- "id": "admire_inc_high3",
- "intensity": "high",
- "interactions": [
- "m_c defends r_c from a Clanmate's rude remarks.",
- "r_c's name comes up in a heated conversation, and m_c is the first to stand up for {PRONOUN/r_c/object}."
- ],
- "relationship_constraint": [
- "admiration_30"
- ],
- "reaction_random_cat": {
- "admiration": "increase",
- "trust": "increase"
- }
- },
- {
- "id": "admire_kit_inc_high1",
- "intensity": "high",
- "interactions": [
- "m_c asks r_c if {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} really going to be the leader someday.",
- "m_c asks if {PRONOUN/m_c/subject} could be r_c's deputy when {PRONOUN/r_c/subject} {VERB/r_c/become/becomes} leader.",
- "r_c plays as m_c's deputy."
- ],
- "main_status_constraint": [
- "kitten"
- ],
- "random_status_constraint": [
- "deputy"
- ],
- "reaction_random_cat": {
- "platonic": "increase"
- }
- }
-]
+[
+ {
+ "id": "admire_inc_low1",
+ "intensity": "low",
+ "interactions": [
+ "m_c saw r_c being considerate.",
+ "m_c noticed r_c is doing {PRONOUN/r_c/poss} best today.",
+ "m_c appreciates r_c's helpful attitude.",
+ "m_c was flattered by r_c's politeness this morning.",
+ "m_c is impressed by r_c helping others today.",
+ "m_c sees r_c help a Clanmate get unstuck from some brambles.",
+ "m_c notices that r_c is fixing a damaged part of the camp without being asked.",
+ "m_c sees a glimmer of determination in r_c's eyes.",
+ "m_c is motivated by r_c's big smile.",
+ "r_c's good morning to m_c meant a lot to {PRONOUN/m_c/object}.",
+ "When tucking in for the night, m_c saw that r_c fixed {PRONOUN/m_c/poss} nest.",
+ "After the Gathering, m_c notices that r_c is making sure everyone got home.",
+ "m_c can tell how brave r_c is being about something important.",
+ "m_c thinks r_c is a good singer."
+ ]
+ },
+ {
+ "id": "admire_inc_low2",
+ "intensity": "low",
+ "interactions": [
+ "m_c mews congratulations to r_c for a job well done.",
+ "m_c thinks r_c is being thoughtful of others.",
+ "m_c approves of r_c's recent efforts.",
+ "r_c motivated m_c to get out of {PRONOUN/m_c/poss} nest this morning.",
+ "m_c and r_c spend the morning telling interesting stories.",
+ "r_c draws a pretty symbol in the sand that m_c makes sure not to mess up.",
+ "r_c helps m_c get a thorn out of {PRONOUN/m_c/poss} paw.",
+ "m_c and r_c find out they have the same favorite prey!",
+ "m_c and r_c come up with a catchy song together.",
+ "m_c listens to r_c's big plans for the day.",
+ "r_c points out to m_c that a spider is in {PRONOUN/m_c/poss} nest before {PRONOUN/m_c/subject} {VERB/m_c/sit/sits} in it.",
+ "m_c and r_c work together to lead a scary bug out of the camp."
+ ],
+ "reaction_random_cat": {
+ "admiration": "increase"
+ }
+ },
+ {
+ "id": "admire_inc_low3",
+ "intensity": "low",
+ "interactions": [
+ "m_c wants to be just like r_c someday.",
+ "m_c really looks up to r_c!",
+ "m_c is awed by how much r_c has done for the Clan.",
+ "m_c is really impressed by all of r_c's accomplishments.",
+ "m_c wants to hold an important position like r_c.",
+ "m_c dreams about being like m_c in the future.",
+ "m_c works extra hard after seeing how skilled r_c is.",
+ "m_c tells {PRONOUN/m_c/poss} friend that r_c is {PRONOUN/m_c/poss} hero.",
+ "m_c daydreams about sharing a suffix with r_c."
+ ],
+ "main_status_constraint": [
+ "apprentice",
+ "mediator apprentice",
+ "medicine cat apprentice"
+ ],
+ "random_status_constraint": [
+ "elder",
+ "leader",
+ "mediator",
+ "deputy",
+ "medicine cat"
+ ]
+ },
+ {
+ "id": "admire_inc_medium1",
+ "interactions": [
+ "m_c admires how brave r_c is.",
+ "m_c admires r_c's dedication.",
+ "m_c is impressed with r_c's willingness to help.",
+ "m_c notices that r_c is always one of the first to volunteer for a difficult task.",
+ "m_c notices how closely r_c sticks to {PRONOUN/r_c/poss} beliefs.",
+ "Some things have been rough for r_c lately, but m_c admires {PRONOUN/r_c/poss} willingness to go on.",
+ "During rough weather, r_c helps m_c get safely to {PRONOUN/m_c/poss} den.",
+ "m_c wasn't going to help a Clanmate, but realized that r_c would do it in a heartbeat.",
+ "m_c is inspired by r_c's passion.",
+ "m_c didn't know that r_c was so talented.",
+ "m_c thinks that r_c is very creative.",
+ "m_c is told about r_c's bravery during a recent time of struggle."
+ ]
+ },
+ {
+ "id": "admire_inc_medium2",
+ "interactions": [
+ "m_c is sparring with r_c.",
+ "m_c has a mock battle with r_c.",
+ "m_c learns a helpful skill from r_c.",
+ "m_c asks r_c to teach {PRONOUN/m_c/object} how to sing so well.",
+ "m_c and r_c have a race. m_c wins.",
+ "m_c and r_c have a race. r_c wins.",
+ "m_c and r_c debate about something interesting. They end up agreeing.",
+ "m_c and r_c debate about something interesting. Though they disagree, they stay amicable.",
+ "m_c and r_c repair some nests together.",
+ "m_c compliments r_c on {PRONOUN/r_c/poss} bravery today."
+ ],
+ "reaction_random_cat": {
+ "admiration": "increase"
+ }
+ },
+ {
+ "id": "admire_med_inc_medium1",
+ "interactions": [
+ "m_c watched r_c show kindness and compassion towards {PRONOUN/r_c/poss} patients.",
+ "m_c caught a glimpse of r_c caring for a wounded warrior with confidence and grace.",
+ "m_c spent some time hanging out with r_c in the medicine den.",
+ "m_c hopes r_c knows how grateful {PRONOUN/m_c/subject} {VERB/m_c/are/is} to have {PRONOUN/r_c/object} as a medicine cat.",
+ "m_c listens to r_c talk about herbs and healing methods with awe.",
+ "m_c sees the skill with which r_c heals a Clanmate.",
+ "m_c is surprised by how quickly r_c can heal a Clanmate.",
+ "m_c asks r_c about prophecies and they have a long chat.",
+ "m_c finds comfort in the quiet of r_c's medicine den.",
+ "m_c is thankful for r_c's patience.",
+ "r_c soothes m_c about a bad dream {PRONOUN/m_c/subject} had.",
+ "Despite m_c being a bit dramatic about the thorn in {PRONOUN/m_c/poss} paw, r_c treats {PRONOUN/m_c/object} gently.",
+ "m_c went to r_c for advice about a dream {PRONOUN/m_c/subject} had."
+ ],
+ "random_status_constraint": [
+ "medicine cat",
+ "medicine cat apprentice"
+ ],
+ "also_influences": {
+ "comfortable": "increase",
+ "platonic": "increase",
+ "trust": "increase"
+ }
+ },
+ {
+ "id": "admire_med_inc_med2",
+ "interactions": [
+ "m_c escorted r_c so {PRONOUN/r_c/subject} could gather herbs.",
+ "m_c thought of r_c on the last patrol and brought a herb back with {PRONOUN/m_c/object}.",
+ "m_c notices that r_c is trying really hard to be a great medicine cat.",
+ "m_c is suddenly struck by the thought of how much r_c does to keep the Clan healthy.",
+ "m_c thanks r_c for keeping the Clan healthy.",
+ "m_c watches r_c sort herbs as {PRONOUN/m_c/subject} {VERB/m_c/chat/chats} about how {PRONOUN/r_c/poss} day has gone.",
+ "m_c lets r_c know that {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} about to go out and asks if {PRONOUN/m_c/subject} {VERB/m_c/need/needs} to watch for any herbs.",
+ "m_c asks r_c if there's any herbs {PRONOUN/m_c/subject} should look out for while {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} out on patrol later."
+ ],
+ "main_status_constraint": [
+ "apprentice",
+ "warrior",
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "medicine cat apprentice",
+ "medicine cat"
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase",
+ "trust": "increase"
+ }
+ },
+ {
+ "id": "admiration_kit_inc_med1",
+ "interactions": [
+ "m_c wants to become just like r_c someday!",
+ "m_c is pretending to be r_c.",
+ "m_c always wants to play as r_c in {PRONOUN/m_c/poss} games of pretend.",
+ "r_c soothes m_c during a scary storm.",
+ "r_c brings m_c the biggest moss-ball ever!",
+ "m_c can't believe all the stories about r_c are real.",
+ "m_c has a big smile whenever r_c comes around.",
+ "m_c believes everything r_c says.",
+ "m_c tries to tell jokes as funny as r_c's, but they make little sense.",
+ "r_c lets m_c make a wish on a shooting star, even though {PRONOUN/r_c/subject} saw it first.",
+ "r_c shows m_c that bugs aren't that scary.",
+ "m_c always looks at r_c with wonder."
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ],
+ "random_status_constraint": [
+ "elder",
+ "apprentice",
+ "warrior",
+ "mediator apprentice",
+ "mediator",
+ "medicine cat apprentice",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ]
+ },
+ {
+ "id": "admiration_kit_inc_med2",
+
+ "interactions": [
+ "m_c tells r_c that {PRONOUN/m_c/subject} would like to be like {PRONOUN/r_c/object} when {PRONOUN/m_c/subject} grows up.",
+ "m_c can't believe r_c is real and that cool.",
+ "When r_c compliments m_c, m_c doesn't stop talking about it for days.",
+ "m_c does anything {PRONOUN/m_c/subject} can to make r_c proud."
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ],
+ "relationship_constraint": [
+ "admiration_20"
+ ],
+ "random_status_constraint": [
+ "elder",
+ "apprentice",
+ "warrior",
+ "mediator apprentice",
+ "mediator",
+ "medicine cat apprentice",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "admire_adult_inc_med1",
+ "interactions": [
+ "m_c is feeling proud of r_c.",
+ "m_c is watching r_c perform an almost-decent hunting crouch.",
+ "m_c is wowed by how well r_c did today!",
+ "m_c is impressed with r_c's progress.",
+ "m_c can see great potential in r_c and is excited to see {PRONOUN/r_c/object} become an adult.",
+ "m_c remembers being like r_c and is impressed by {PRONOUN/r_c/poss} talent.",
+ "m_c thinks that r_c is so young, but so brave.",
+ "When talking with r_c about {PRONOUN/r_c/poss} future, m_c sees {PRONOUN/r_c/poss} passion.",
+ "m_c thinks that r_c will grow up to be an excellent member of the Clan.",
+ "m_c thinks r_c has a bright future ahead of {PRONOUN/r_c/object}."
+ ],
+ "relationship_constraint": [
+ "admiration_30"
+ ],
+ "main_status_constraint": [
+ "elder",
+ "warrior",
+ "mediator",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "kitten",
+ "apprentice",
+ "mediator apprentice",
+ "medicine cat apprentice"
+ ]
+ },
+ {
+ "id": "admire_adult_odd_med1",
+ "interactions": [
+ "m_c feels like {PRONOUN/m_c/subject}'ll never accomplish as much as r_c.",
+ "m_c wonders if {PRONOUN/m_c/subject} can ever be as good as r_c.",
+ "m_c strives to catch up to r_c's success.",
+ "m_c can't imagine being as talented as r_c was in {PRONOUN/r_c/poss} youth.",
+ "m_c wants to tell stories as well as r_c.",
+ "m_c listens to r_c's fascinating life stories with envy and intrigue.",
+ "m_c hopes to leave behind a legacy like r_c."
+ ],
+ "relationship_constraint": [
+ "admiration_30"
+ ],
+ "main_status_constraint": [
+ "warrior",
+ "mediator",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "elder"
+ ],
+ "random_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "also_influences": {
+ "jealousy": "increase"
+ }
+ },
+ {
+ "id": "admire_adult_odd_med1",
+ "interactions": [
+ "m_c thinks r_c is so much braver than {PRONOUN/m_c/object}.",
+ "If it were a life-or-death situation, m_c thinks that r_c should be saved first.",
+ "m_c thinks about how to be more like r_c.",
+ "m_c tries to groom {PRONOUN/m_c/poss} pelt the same way r_c does.",
+ "m_c can barely keep up with r_c.",
+ "m_c feels like r_c is more accomplished than {PRONOUN/m_c/object}."
+ ],
+ "relationship_constraint": [
+ "admiration_60"
+ ],
+ "main_status_constraint": [
+ "warrior",
+ "mediator",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "elder",
+ "warrior",
+ "mediator",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ],
+ "also_influences": {
+ "jealousy": "increase"
+ }
+ },
+ {
+ "id": "admire_inc_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c saw r_c show off a skill {PRONOUN/m_c/subject} never knew {PRONOUN/r_c/subject} had.",
+ "m_c is wowed by how bravely r_c fought the other day.",
+ "m_c is impressed by r_c's competence in any situation.",
+ "m_c is amazed at how skilled r_c really is.",
+ "m_c overhears r_c educating Clanmates about their fallen ancestors.",
+ "m_c thinks the Clan's ancestors smile upon r_c.",
+ "m_c is proud to be in the same Clan as r_c.",
+ "m_c can't believe how talented r_c is!"
+ ],
+ "random_status_constraint": [
+ "warrior",
+ "apprentice",
+ "mediator apprentice",
+ "medicine cat apprentice",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ]
+ },
+ {
+ "id": "admire_inc_high2",
+ "intensity": "high",
+ "interactions": [
+ "m_c had a difficult conversation with r_c and they now have a deeper understanding of each other.",
+ "m_c and r_c have a long discussion about goals and aspirations, and find that they both have a lot in common.",
+ "m_c spent a long time talking with r_c and was impressed by r_c's insight.",
+ "m_c and r_c debated something interesting for hours yesterday.",
+ "m_c asks r_c about something complicated and is amazed at how quickly r_c understands.",
+ "m_c and r_c strive to be like one another.",
+ "m_c and r_c learn a lot about each other when they're stuck in a den during a storm.",
+ "A cloud parts over m_c and r_c, shining a light on them. They interpret this as a sign that they are meant for great things soon.",
+ "When discussing the future, m_c and r_c discuss the policies they'd implement in a Clan of their own.",
+ "m_c and r_c always challenge one another.",
+ "m_c and r_c always learn something new when they're together.",
+ "An injured butterfly lands in front of m_c and r_c. They take turns nurturing it for a few days until it can fly again."
+ ],
+ "reaction_random_cat": {
+ "admiration": "increase"
+ }
+ },
+ {
+ "id": "admire_inc_high3",
+ "intensity": "high",
+ "interactions": [
+ "m_c defends r_c from a Clanmate's rude remarks.",
+ "r_c's name comes up in a heated conversation, and m_c is the first to stand up for {PRONOUN/r_c/object}.",
+ "In the middle of an argument, m_c tells r_c that they'll still always be friends.",
+ "m_c calls out a Clanmate for spreading a rumor about r_c.",
+ "m_c and r_c agree with each other when no one else does."
+ ],
+ "relationship_constraint": [
+ "admiration_30"
+ ],
+ "reaction_random_cat": {
+ "admiration": "increase",
+ "trust": "increase"
+ }
+ },
+ {
+ "id": "admire_kit_inc_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c asks r_c if {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} really going to be the leader someday."
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ],
+ "random_status_constraint": [
+ "deputy"
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ }
+ }
+]
diff --git a/resources/dicts/relationship_events/normal_interactions/comfortable/decrease.json b/resources/dicts/relationship_events/normal_interactions/comfortable/decrease.json
index 49623e94f2..6a6c1cbf5e 100644
--- a/resources/dicts/relationship_events/normal_interactions/comfortable/decrease.json
+++ b/resources/dicts/relationship_events/normal_interactions/comfortable/decrease.json
@@ -1,192 +1,254 @@
-[
- {
- "id": "comfort_de_low1",
- "intensity": "low",
- "interactions": [
- "m_c overheard a joke from r_c {PRONOUN/m_c/subject} didn't get.",
- "m_c tries to have a conversation with r_c but it ends up awkward when neither of them speak up.",
- "m_c caught r_c rolling {PRONOUN/r_c/poss} eyes after m_c asked for help."
- ]
- },
- {
- "id": "comfort_de_low2",
- "intensity": "low",
- "interactions": [
- "m_c said something that rubbed r_c the wrong way.",
- "m_c was being condescending towards r_c all day long.",
- "r_c is upset after spending the day with m_c's bad attitude.",
- "r_c encountered m_c at the dirtplace and made awkward eye contact."
- ],
- "reaction_random_cat": {
- "comfortable": "decrease"
- }
- },
- {
- "id": "comfort_de_med1",
- "interactions": [
- "m_c finds the way r_c acts increasingly uncomfortable.",
- "m_c thinks r_c has been acting stuck up and rude."
- ]
- },
- {
- "id": "comfort_kit_de_med1",
- "interactions": [
- "m_c feels like r_c was too rough while playing.",
- "m_c doesn't think r_c was playing fair.",
- "m_c accuses r_c of cheating during a game of hide and seek!",
- "m_c told r_c {PRONOUN/m_c/subject} didn't want to play but r_c whined until {PRONOUN/m_c/subject} relented.",
- "m_c doesn't want to play with r_c."
- ],
- "main_status_constraint": [
- "kitten"
- ],
- "random_status_constraint": [
- "kitten"
- ]
- },
- {
- "id": "comfort_de_med2",
- "interactions": [
- "m_c called r_c the wrong name."
- ],
- "reaction_random_cat": {
- "comfortable": "decrease"
- }
- },
- {
- "id": "comfort_de_med3",
- "interactions": [
- "r_c is following m_c around a little too closely.",
- "r_c tells m_c that {PRONOUN/m_c/poss} pelt looks like a different color today.",
- "m_c woke up to find r_c staring at {PRONOUN/m_c/object}.",
- "m_c caught r_c taking some bedding from {PRONOUN/m_c/poss} nest!"
- ],
- "random_trait_constraint": [
- "strange"
- ]
- },
- {
- "id": "comfort_de_med4",
- "interactions": [
- "r_c talks to m_c a bit too enthusiastically about how best to kill prey.",
- "r_c started a fight with m_c.",
- "m_c was startled after r_c snarled viciously during a trivial disagreement."
- ],
- "random_trait_constraint": [
- "bloodthirsty"
- ]
- },
- {
- "id": "comfort_de_med5",
- "interactions": [
- "r_c hissed at m_c.",
- "r_c tells m_c to leave {PRONOUN/r_c/object} alone.",
- "r_c is glaring at m_c from across the camp."
- ],
- "random_trait_constraint": [
- "cold"
- ]
- },
- {
- "id": "comfort_de_med6",
- "interactions": [
- "r_c crashes into m_c while eager for the new day.",
- "r_c rejects m_c's advice without letting {PRONOUN/m_c/object} finish.",
- "r_c interrupts m_c during a conversation.",
- "r_c asked m_c an uncomfortably invasive question."
- ],
- "random_trait_constraint": [
- "impulsive"
- ]
- },
- {
- "id": "comfort_de_med7",
- "interactions": [
- "m_c made a poorly timed joke while r_c was telling {PRONOUN/m_c/object} some bad news."
- ],
- "main_trait_constraint": [
- "charismatic",
- "playful",
- "troublesome",
- "impulsive",
- "childish",
- "shameless"
- ]
- },
- {
- "id": "comfort_de_high1",
- "intensity": "high",
- "interactions": [
- "m_c bristles after being scolded by r_c.",
- "m_c shied away from r_c when {PRONOUN/r_c/subject} tried touching noses in greeting."
- ]
- },
- {
- "id": "comfort_de_high2",
- "intensity": "high",
- "interactions": [
- "m_c is telling jokes about r_c.",
- "m_c hisses at r_c over something small."
- ],
- "reaction_random_cat": {
- "comfortable": "decrease"
- }
- },
- {
- "id": "comfort_de_high3",
- "intensity": "high",
- "interactions": [
- "m_c shivers after noticing r_c following {PRONOUN/m_c/object} around like a shadow.",
- "m_c feels a chill after noticing r_c is nearby.",
- "Watching r_c stalk silently around camp makes m_c feel uneasy.",
- "m_c doesn't like the way r_c seems to overwhelm the camp with {PRONOUN/r_c/poss} presence.",
- "Even though r_c is a respectable Clanmate, m_c can't help but think {PRONOUN/r_c/subject} might be up to no good..."
- ],
- "random_trait_constraint": [
- "bloodthirsty",
- "cold",
- "vengeful"
- ]
- },
- {
- "id": "comfort_de_high4",
- "intensity": "high",
- "interactions": [
- "m_c doesn't like the way that r_c seems to enjoy {PRONOUN/r_c/poss} influence over the Clan.",
- "Much to m_c's dismay, r_c has asked {PRONOUN/m_c/object} to do another difficult task.",
- "m_c thinks that r_c is casting a dark shadow over the whole Clan's reputation.",
- "m_c is worried that r_c might be sending the Clan down a dark path.",
- "m_c has been wondering if StarClan has actually been guiding r_c or if it's really the Dark Forest's influence."
- ],
- "random_trait_constraint": [
- "bloodthirsty",
- "cold",
- "vengeful"
- ],
- "random_status_constraint": [
- "leader",
- "deputy"
- ]
- },
- {
- "id": "comfort_de_high5",
- "intensity": "high",
- "interactions": [
- "m_c notices that r_c doesn't seem to care if {PRONOUN/r_c/poss} treatments hurt.",
- "m_c overhears r_c complaining about giving herbs to cats that don't 'deserve' them.",
- "m_c is startled at r_c's views on sharing herbs with other Clans.",
- "m_c bristles after seeing r_c add more deathberries to {PRONOUN/r_c/poss} herb storage.",
- "m_c stopped r_c before {PRONOUN/r_c/subject} gave the wrong herbs to another cat. The look in r_c's eyes as {PRONOUN/r_c/subject} did so scared m_c...",
- "m_c has been wondering if StarClan has actually been guiding r_c or if it's really the Dark Forest's influence."
- ],
- "random_trait_constraint": [
- "bloodthirsty",
- "cold",
- "vengeful"
- ],
- "random_status_constraint": [
- "medicine cat",
- "medicine cat apprentice"
- ]
- }
-]
+[
+ {
+ "id": "comfort_de_low1",
+ "intensity": "low",
+ "interactions": [
+ "m_c overheard a joke from r_c {PRONOUN/m_c/subject} didn't get.",
+ "m_c tries to have a conversation with r_c but it ends up awkward when neither of them speak up.",
+ "m_c caught r_c rolling {PRONOUN/r_c/poss} eyes after m_c asked for help.",
+ "When m_c asked r_c for help, r_c ignored {PRONOUN/m_c/object}.",
+ "m_c notices a strange glint in r_c's eyes.",
+ "m_c struggles to make sense of something trivial r_c said.",
+ "m_c can't help but feel uneased at r_c's words lately.",
+ "m_c noticed that r_c had a sour expression while looking at a Clanmate in the distance.",
+ "m_c felt eyes on {PRONOUN/m_c/poss} back, and when {PRONOUN/m_c/subject} looked, r_c was quickly turning away.",
+ "m_c thinks that r_c's tone sounds off today.",
+ "r_c laughs a little too long at one of m_c's jokes.",
+ "m_c sees r_c staring off into the distance. It's kind of creepy.",
+ "r_c doesn't say sorry when bumping into m_c.",
+ "m_c sees the blood of fresh-kill on r_c's paws and feels a prickle of discomfort."
+ ]
+ },
+ {
+ "id": "comfort_de_low2",
+ "intensity": "low",
+ "interactions": [
+ "m_c said something that rubbed r_c the wrong way.",
+ "m_c was being condescending towards r_c all day long.",
+ "r_c is upset after spending the day with m_c's bad attitude.",
+ "m_c and r_c say goodbye, but end up walking in the same direction.",
+ "m_c wonders what {PRONOUN/m_c/subject} did to make r_c so rude towards {PRONOUN/m_c/object} today.",
+ "m_c and r_c reach for the same piece of prey and bicker over it. m_c gets it.",
+ "m_c and r_c reach for the same piece of prey and bicker over it. r_c gets it.",
+ "m_c bickers with r_c over who gets what nest material.",
+ "Late at night, m_c finds r_c sitting alone at the edge of camp. They go back to their dens without speaking.",
+ "The silence between m_c and r_c feels more uncomfortable than usual.",
+ "Both m_c and r_c avoid one another's eye contact.",
+ "After the Clan finds a strange object, m_c notes that r_c has been a little too fascinated with it.",
+ "It seems like there's an unspoken apology between m_c and r_c."
+ ],
+ "reaction_random_cat": {
+ "comfortable": "decrease"
+ }
+ },
+ {
+ "id": "comfort_de_med1",
+ "interactions": [
+ "m_c finds the way r_c acts increasingly uncomfortable.",
+ "m_c thinks r_c has been acting stuck up and rude.",
+ "m_c swears that r_c's fangs are longer than usual.",
+ "m_c's hackles raise when r_c passes by.",
+ "m_c had a terrible dream about r_c.",
+ "m_c worries about r_c's mental stability.",
+ "m_c can't stop thinking about the strange joke r_c told the other day.",
+ "r_c said something the other day that made m_c nervous.",
+ "m_c realizes that a strange smell in camp is coming from r_c.",
+ "m_c tells {PRONOUN/m_c/poss} Clanmates that something's off about r_c.",
+ "The moon casts a shadow on r_c's face in a way that makes m_c uneasy.",
+ "For a moment, m_c thought r_c sounded like someone else.",
+ "After r_c finished {PRONOUN/r_c/poss} food, m_c noticed {PRONOUN/r_c/subject} made a mess."
+ ]
+ },
+ {
+ "id": "comfort_kit_de_med1",
+ "interactions": [
+ "m_c feels like r_c was too rough while playing.",
+ "m_c doesn't think r_c was playing fair.",
+ "m_c accuses r_c of cheating during a game of hide-n-seek!",
+ "m_c cries after r_c wins one of their games."
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ],
+ "random_status_constraint": [
+ "kitten"
+ ]
+ },
+ {
+ "id": "comfort_de_med2",
+ "interactions": [
+ "m_c called r_c the wrong name.",
+ "r_c squashes a bug that m_c was watching.",
+ "m_c won't take r_c seriously.",
+ "m_c accuses r_c of stealing something.",
+ "r_c interrupted m_c to say something frivolous.",
+ "m_c was rudely awoken by r_c.",
+ "r_c says that m_c smells weird.",
+ "m_c keeps looking behind r_c during their conversation.",
+ "r_c won't tell m_c what {PRONOUN/r_c/subject} finds so funny.",
+ "m_c doesn't think r_c's weird joke was just a joke."
+ ],
+ "reaction_random_cat": {
+ "comfortable": "decrease"
+ }
+ },
+ {
+ "id": "comfort_de_med3",
+ "interactions": [
+ "r_c is following m_c around.",
+ "r_c tells m_c that {PRONOUN/m_c/poss} pelt looks like a different color today.",
+ "r_c keeps tilting {PRONOUN/r_c/poss} head while looking at m_c.",
+ "r_c giggles beneath {PRONOUN/r_c/poss} breath every time m_c walks by.",
+ "m_c is put off by r_c's big, toothy grin.",
+ "m_c swears that r_c hasn't blinked today.",
+ "m_c notices that r_c looks a little too entertained by a Clanmate's unsettling story."
+ ],
+ "random_trait_constraint": [
+ "strange"
+ ]
+ },
+ {
+ "id": "comfort_de_med4",
+ "interactions": [
+ "r_c talks to m_c a bit too enthusiastically about how best to kill prey.",
+ "r_c started a fight with m_c.",
+ "m_c notices that r_c hasn't groomed fresh-kill blood off {PRONOUN/r_c/poss} paw.",
+ "m_c notices that r_c is playing with {PRONOUN/r_c/poss} fresh-kill.",
+ "m_c notices that r_c looks a little too entertained by a Clanmate's unsettling story."
+ ],
+ "random_trait_constraint": [
+ "bloodthirsty"
+ ]
+ },
+ {
+ "id": "comfort_de_med5",
+ "interactions": [
+ "r_c hissed at m_c.",
+ "r_c tells m_c to leave {PRONOUN/r_c/object} alone.",
+ "r_c is glaring at m_c from across the camp.",
+ "m_c asks about r_c's day and gets no response.",
+ "r_c growls when m_c gets too close.",
+ "r_c seems amused when m_c trips.",
+ "r_c says something bitter to m_c."
+ ],
+ "random_trait_constraint": [
+ "cold"
+ ]
+ },
+ {
+ "id": "comfort_inc_med6",
+ "interactions": [
+ "r_c crashes into m_c while eager for the new day.",
+ "r_c rejects m_c's advice without letting {PRONOUN/m_c/object} finish.",
+ "r_c interrupts m_c during a conversation.",
+ "r_c blurts out something. m_c wishes that r_c held {PRONOUN/r_c/poss} tongue.",
+ "r_c says something bad about m_c that's been on everyone's mind."
+ ],
+ "random_trait_constraint": [
+ "impulsive"
+ ]
+ },
+ {
+ "id": "comfort_de_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c bristles after being scolded by r_c.",
+ "r_c laughs at something m_c said that shouldn't have been laughed at.",
+ "m_c sees r_c neglect a Clanmate.",
+ "m_c doesn't think that r_c's smile is genuine.",
+ "Every muscle in m_c's body tenses when r_c walks by.",
+ "m_c keeps having bad dreams about r_c.",
+ "m_c always notices r_c lurking nearby.",
+ "m_c badly misinterprets r_c's words.",
+ "r_c keeps pacing around the clearing late at night and m_c is the only one who notices.",
+ "m_c is discomforted by r_c's muttering.",
+ "m_c feels extremely unsettled when r_c looks at {PRONOUN/m_c/object}.",
+ "m_c can't stop thinking about the way r_c glared at {PRONOUN/r_c/object} Clanmate."
+ ]
+ },
+ {
+ "id": "comfort_de_high2",
+ "intensity": "high",
+ "interactions": [
+ "m_c is telling jokes about r_c.",
+ "r_c won't tell m_c what {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} doing.",
+ "The Clan feels uneasy whenever m_c and r_c speak to each other.",
+ "m_c and r_c are joking around together, but the jokes are becoming targeted.",
+ "m_c told r_c to shut up.",
+ "During a conversation with r_c, m_c says something too bluntly.",
+ "m_c scolds r_c for not telling anyone about a piece of crowfood in the pile.",
+ "r_c thinks m_c is lying when {PRONOUN/m_c/subject} {VERB/m_c/apologize/apologizes} for something.",
+ "m_c tells r_c that {PRONOUN/r_c/subject} {VERB/r_c/look/looks} terrible today.",
+ "m_c was sarcastic to r_c at an inappropriate time.",
+ "m_c hisses at r_c over something small."
+ ],
+ "reaction_random_cat": {
+ "comfortable": "decrease"
+ }
+ },
+ {
+ "id": "comfort_de_high3",
+ "intensity": "high",
+ "interactions": [
+ "m_c shivers after noticing r_c following {PRONOUN/m_c/object} around like a shadow.",
+ "m_c feels a chill after noticing r_c is nearby.",
+ "Watching r_c stalk silently around camp makes m_c feel uneasy.",
+ "m_c doesn't like the way r_c seems to overwhelm the camp with {PRONOUN/r_c/poss} presence.",
+ "Even though r_c is a respectable Clanmate, m_c can't help but think {PRONOUN/r_c/subject} might be up to no good...",
+ "m_c swore {PRONOUN/m_c/subject} saw r_c burying something.",
+ "m_c can smell blood on r_c, but there's nothing there.",
+ "m_c sees a darkness in r_c's eyes.",
+ "A heavy feeling of guilt weighs on m_c whenever {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} kind to r_c.",
+ "The bad dreams that m_c has about r_c are progressively getting worse and worse.",
+ "m_c wonders why they always see r_c out of {PRONOUN/r_c/poss} den at night."
+ ],
+ "random_trait_constraint": [
+ "bloodthirsty",
+ "cold",
+ "vengeful"
+ ]
+ },
+ {
+ "id": "comfort_de_high4",
+ "intensity": "high",
+ "interactions": [
+ "m_c doesn't like the way that r_c seems to enjoy {PRONOUN/r_c/poss} influence over the Clan.",
+ "Much to m_c's dismay, r_c has asked {PRONOUN/m_c/object} to do another difficult task.",
+ "m_c thinks that r_c is casting a dark shadow over the whole Clan's reputation.",
+ "m_c noticed that things have gotten more tense since r_c earned {PRONOUN/r_c/poss} rank.",
+ "When r_c addresses the Clan, m_c notices a frightening edge to {PRONOUN/r_c/poss} tone.",
+ "m_c is worried that r_c might be sending the Clan down a dark path."
+ ],
+ "random_trait_constraint": [
+ "bloodthirsty",
+ "cold",
+ "vengeful"
+ ],
+ "random_status_constraint": [
+ "leader",
+ "deputy"
+ ]
+ },
+ {
+ "id": "comfort_de_high5",
+ "intensity": "high",
+ "interactions": [
+ "m_c notices that r_c doesn't seem to care if {PRONOUN/r_c/poss} treatments hurt.",
+ "m_c overhears r_c complaining about giving herbs to cats that don't 'deserve' them.",
+ "m_c is startled at r_c's views on sharing herbs with other Clans.",
+ "m_c noticed that there are less deathberries than usual in r_c's herb storage.",
+ "m_c feels more nauseous after being treated r_c for a stomach ache.",
+ "m_c catches r_c doing experimental treatments on a piece of fresh-kill.",
+ "m_c bristles after seeing r_c add more deathberries to {PRONOUN/r_c/poss} herb storage."
+ ],
+ "random_trait_constraint": [
+ "bloodthirsty",
+ "cold",
+ "vengeful"
+ ],
+ "random_status_constraint": [
+ "medicine cat",
+ "medicine cat apprentice"
+ ]
+ }
+]
diff --git a/resources/dicts/relationship_events/normal_interactions/comfortable/increase.json b/resources/dicts/relationship_events/normal_interactions/comfortable/increase.json
index fb1cee1e79..7b74a20103 100644
--- a/resources/dicts/relationship_events/normal_interactions/comfortable/increase.json
+++ b/resources/dicts/relationship_events/normal_interactions/comfortable/increase.json
@@ -1,284 +1,343 @@
-[
- {
- "id": "comfort_inc_low1",
- "intensity": "low",
- "interactions": [
- "m_c finds a bit of fluff that smells like r_c and adds it to {PRONOUN/m_c/poss} nest.",
- "m_c has a friendly chat with r_c that leaves them both feeling happy.",
- "r_c offered to help m_c.",
- "m_c sunbathes with r_c."
- ]
- },
- {
- "id": "comfort_inc_low2",
- "intensity": "low",
- "interactions": [
- "m_c quickly apologizes after bumping into r_c. They have a small laugh about it.",
- "m_c has been spending time with r_c lately.",
- "m_c shares a joke about a neighboring Clan with r_c.",
- "m_c reassures r_c about something that was bothering {PRONOUN/r_c/object}."
- ],
- "reaction_random_cat": {
- "comfortable": "increase"
- }
- },
- {
- "id": "comfort_inc_low3",
- "intensity": "low",
- "interactions": [
- "m_c is asking r_c to check {PRONOUN/m_c/object} for ticks.",
- "m_c is happy to see r_c is the cat who is helping {PRONOUN/m_c/object} today.",
- "m_c didn't even have to ask r_c to check {PRONOUN/m_c/object} for ticks, r_c was on it the moment m_c started to scratch."
- ],
- "main_status_constraint": [
- "elder"
- ],
- "random_status_constraint": [
- "apprentice",
- "medicine apprentice",
- "mediator apprentice"
- ]
- },
- {
- "id": "comfort_inc_med1",
- "interactions": [
- "m_c helps r_c pick burrs out of {PRONOUN/r_c/poss} fur.",
- "m_c came across r_c napping and left {PRONOUN/r_c/object} be, making sure no one else woke {PRONOUN/r_c/object} either.",
- "m_c takes {PRONOUN/m_c/poss} time grooming r_c's pelt and making it shine.",
- "m_c is sharing tongues with r_c."
- ]
- },
- {
- "id": "comfort_inc_med2",
- "interactions": [
- "m_c has snuggled up against r_c.",
- "m_c chats with r_c about {PRONOUN/r_c/poss} day.",
- "m_c basks in the sun with r_c.",
- "m_c just told r_c a hilarious joke.",
- "m_c settles near r_c to eat {PRONOUN/m_c/poss} fresh-kill.",
- "m_c bumps heads with r_c reassuringly.",
- "m_c watches the stars with r_c."
- ],
- "reaction_random_cat": {
- "comfortable": "increase"
- }
- },
- {
- "id": "comfort_inc_med3",
- "interactions": [
- "m_c is sharing the latest gossip {PRONOUN/m_c/subject} heard over the border with r_c.",
- "m_c tells r_c {PRONOUN/m_c/subject}'ll save {PRONOUN/r_c/object} a piece of fresh-kill.",
- "m_c playfully teases r_c for missing a catch.",
- "m_c gives r_c some feathers from the bird {PRONOUN/m_c/subject} caught to line {PRONOUN/r_c/poss} nest.",
- "m_c is delighted to be working with r_c today.",
- "m_c asked r_c to wake {PRONOUN/m_c/object} from {PRONOUN/m_c/poss} nap when the noon patrol starts gathering."
- ],
- "main_status_constraint": [
- "apprentice",
- "warrior",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "apprentice",
- "warrior",
- "deputy",
- "leader"
- ]
- },
- {
- "id": "comfort_inc_med4",
- "interactions": [
- "r_c is listening to m_c's woes.",
- "r_c is listening to m_c's troubles.",
- "r_c noticed m_c was struggling, and offered to help {PRONOUN/m_c/object}.",
- "r_c offered help to m_c during a hard time.",
- "r_c offers to help with one of m_c's more tedious tasks.",
- "r_c helps m_c with a tedious task and it makes the whole day a lot easier.",
- "m_c had a nightmare and r_c offered to share {PRONOUN/r_c/poss} nest to comfort m_c."
- ],
- "random_trait_constraint": [
- "empathetic"
- ]
- },
- {
- "id": "comfort_inc_med5",
- "interactions": [
- "r_c gave m_c {PRONOUN/m_c/poss} favorite piece of prey.",
- "r_c is being quite considerate with m_c.",
- "r_c took the time to help m_c work through a technique {PRONOUN/m_c/subject} {VERB/m_c/are/is} struggling with.",
- "r_c offers {PRONOUN/r_c/poss} fresh kill when m_c realizes all {PRONOUN/m_c/poss} favorites were taken already."
- ],
- "random_trait_constraint": [
- "thoughtful"
- ]
- },
- {
- "id": "comfort_inc_med6",
- "interactions": [
- "r_c curled around m_c to share warmth.",
- "r_c lets m_c have the last piece of fresh-kill.",
- "r_c is listening to m_c's problems.",
- "r_c gives m_c an item {PRONOUN/m_c/subject} may like."
- ],
- "random_trait_constraint": [
- "compassionate"
- ]
- },
- {
- "id": "comfort_inc_med7",
- "interactions": [
- "m_c is watching the shooting stars with r_c.",
- "m_c calmly explains hunting techniques to r_c again for the fourth time today.",
- "m_c helps r_c with a tedious task and it makes the whole day a lot easier."
- ],
- "random_trait_constraint": [
- "patient"
- ]
- },
- {
- "id": "comfortable_kit_inc_med1",
- "interactions": [
- "m_c wants to snuggle with r_c."
- ],
- "main_status_constraint": [
- "kitten"
- ]
- },
- {
- "id": "comfortable_kit_inc_med2",
- "interactions": [
- "m_c wants to snuggle with r_c.",
- "m_c is hiding under a bush from r_c, but {PRONOUN/m_c/subject} can't stop giggling.",
- "m_c plops down near r_c, sneaking glances at {PRONOUN/r_c/object} expectantly. r_c doesn't understand until m_c muses aloud to {PRONOUN/m_c/self} about whether or not r_c would play with {PRONOUN/m_c/object} if {PRONOUN/m_c/subject} asked.",
- "r_c woke up from a nap in the clearing to find m_c stuffing bedding scraps under {PRONOUN/r_c/object} to make {PRONOUN/r_c/object} a cozy nest."
- ],
- "main_status_constraint": [
- "kitten"
- ],
- "reaction_random_cat": {
- "platonic": "increase"
- }
- },
- {
- "id": "comfortable_kit_inc_med3",
- "interactions": [
- "m_c spent the whole day playing {PRONOUN/m_c/poss} favorite games with r_c.",
- "m_c had a friendly argument with r_c about which prey tastes the best.",
- "m_c takes a nap with r_c after a long day of playing moss ball.",
- "m_c and r_c had a friendly argument about which beetle would win in a fight."
- ],
- "main_status_constraint": [
- "kitten"
- ],
- "random_status_constraint": [
- "kitten"
- ],
- "reaction_random_cat": {
- "platonic": "increase",
- "comfortable": "increase"
- },
- "also_influences": {
- "platonic": "increase"
- }
- },
- {
- "id": "comfortable_kit_odd1",
- "interactions": [
- "m_c chomps on r_c's ear.",
- "m_c won't stop copying everything r_c does.",
- "m_c is demanding r_c's attention."
- ],
- "main_status_constraint": [
- "kitten"
- ],
- "reaction_random_cat": {
- "dislike": "increase:",
- "comfortable": "decrease"
- }
- },
- {
- "id": "comfort_med_inc_medium1",
- "interactions": [
- "m_c thanks r_c for checking when {PRONOUN/r_c/subject} {VERB/r_c/ask/asks} if {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} feeling alright.",
- "m_c drops into the medicine cat den to ask r_c if {PRONOUN/r_c/subject}{VERB/r_c/'ve/'s} eaten yet."
- ],
- "random_status_constraint": [
- "medicine cat",
- "medicine cat apprentice"
- ],
- "reaction_random_cat": {
- "comfortable": "increase",
- "trust": "increase"
- }
- },
- {
- "id": "comfort_inc_high1",
- "intensity": "high",
- "interactions": [
- "m_c appreciates how r_c always seems to ask how {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} doing.",
- "m_c slow blinked at r_c."
- ]
- },
- {
- "id": "comfort_inc_high2",
- "intensity": "high",
- "interactions": [
- "m_c is sharing tongues with r_c.",
- "m_c offers to groom a hard-to-reach place for r_c, who thanks {PRONOUN/m_c/object} earnestly."
- ],
- "reaction_random_cat": {
- "comfortable": "increase"
- }
- },
- {
- "id": "comfort_inc_high3",
- "intensity": "high",
- "interactions": [
- "m_c feels most like {PRONOUN/m_c/self} when {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} around r_c.",
- "m_c could recognize r_c just by the sound of {PRONOUN/r_c/poss} paw steps."
- ],
- "relationship_constraint": [
- "comfortable_30"
- ]
- },
- {
- "id": "comfort_inc_high4",
- "intensity": "high",
- "interactions": [
- "m_c helps r_c work through something difficult that happened to {PRONOUN/r_c/object}.",
- "m_c comforts r_c after a nightmare."
- ],
- "relationship_constraint": [
- "comfortable_30"
- ],
- "reaction_random_cat": {
- "comfortable": "increase",
- "trust": "increase"
- }
- },
- {
- "id": "comfort_inc_storm",
- "interactions": [
- "m_c comforted r_c through a particularly rough thunderstorm."
- ],
- "reaction_random_cat": {
- "comfortable": "increase",
- "platonic": "increase",
- "trust": "increase",
- "admiration": "increase",
- "dislike": "decrease"
- },
- "reaction_main_cat": {
- "comfortable": "increase",
- "trust": "increase",
- "platonic": "increase",
- "dislike": "decrease"
- },
- "season": [
- "Newleaf",
- "Greenleaf",
- "Leaf-fall"
- ]
- }
-]
+[
+ {
+ "id": "comfort_inc_low1",
+ "intensity": "low",
+ "interactions": [
+ "m_c finds a bit of fluff that smells like r_c and adds it to {PRONOUN/m_c/poss} nest.",
+ "m_c has a friendly chat with r_c that leaves them both feeling happy.",
+ "r_c's laugh reminds m_c of someone {PRONOUN/m_c/subject} {VERB/m_c/miss/misses}.",
+ "m_c overhears r_c humming a comforting tune.",
+ "r_c brought m_c some dry bedding.",
+ "r_c lets m_c grab a piece of fresh-kill first.",
+ "m_c had a good dream about r_c.",
+ "m_c remembers something nice that r_c did.",
+ "m_c sees a pretty flower in r_c's nest.",
+ "m_c heard a story about something kind r_c did."
+ ]
+ },
+ {
+ "id": "comfort_inc_low2",
+ "intensity": "low",
+ "interactions": [
+ "m_c quickly apologizes after bumping into r_c. They have a small laugh about it.",
+ "m_c has been spending time with r_c lately.",
+ "m_c shares a joke about a neighboring Clan with r_c.",
+ "m_c reassures r_c about something that was bothering {PRONOUN/r_c/object}.",
+ "m_c likes to sit near r_c during conversations.",
+ "m_c and r_c often look at each other and smile knowingly about something.",
+ "m_c and r_c enjoy the rain together.",
+ "r_c gives advice to m_c. It's not good advice, but m_c appreciates the effort.",
+ "r_c gives m_c something that {PRONOUN/m_c/subject} dropped.",
+ "m_c learns that r_c is scared of thunder, too.",
+ "m_c and r_c drink from the same puddle.",
+ "m_c and r_c make each other laugh."
+ ],
+ "reaction_random_cat": {
+ "comfortable": "increase"
+ }
+ },
+ {
+ "id": "comfort_inc_low3",
+ "intensity": "low",
+ "interactions": [
+ "m_c is asking r_c to check {PRONOUN/m_c/object} for ticks.",
+ "m_c tells r_c stories about former Clanmates while being checked for ticks.",
+ "m_c appreciates r_c's diligence when checking {PRONOUN/m_c/object} for ticks.",
+ "r_c knows just the right herb to soothe m_c's aching bones.",
+ "r_c is always so patient when m_c approaches {PRONOUN/r_c/object} with pain.",
+ "m_c is happy to see r_c is the cat who is helping {PRONOUN/m_c/object} today."
+ ],
+ "main_status_constraint": [
+ "elder"
+ ],
+ "random_status_constraint": [
+ "apprentice",
+ "medicine apprentice",
+ "mediator apprentice"
+ ]
+ },
+ {
+ "id": "comfort_inc_med1",
+ "interactions": [
+ "r_c helps m_c pick burrs out of {PRONOUN/m_c/poss} fur.",
+ "m_c notices that r_c brought {PRONOUN/m_c/object} a big piece of prey.",
+ "r_c is the only one who gets m_c's joke.",
+ "m_c overhears something about r_c that {PRONOUN/m_c/subject} can relate to.",
+ "m_c calms down when realizing r_c is nearby.",
+ "r_c's advice is more helpful than m_c expected.",
+ "r_c motivates m_c to do something difficult.",
+ "r_c doesn't laugh when m_c does something embarrassing.",
+ "r_c doesn't judge m_c for being anxious about a bad dream.",
+ "When m_c gets hurt, r_c is the first to ask if {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} okay.",
+ "An issue becomes benign when m_c remembers r_c's advice."
+ ]
+ },
+ {
+ "id": "comfort_inc_med2",
+ "interactions": [
+ "m_c has snuggled up against r_c.",
+ "m_c chats with r_c about {PRONOUN/r_c/poss} day.",
+ "m_c basks in the sun with r_c.",
+ "m_c just told r_c a hilarious joke.",
+ "m_c settles near r_c to eat {PRONOUN/m_c/poss} fresh-kill.",
+ "m_c bumps heads with r_c reassuringly.",
+ "r_c gently woke up m_c this morning.",
+ "m_c does something brave with r_c's support.",
+ "m_c and r_c cuddle during a storm.",
+ "r_c saves the funniest jokes for m_c.",
+ "m_c and r_c perk up happily when they see each other.",
+ "The Clan hears m_c and r_c laughing together across the camp.",
+ "m_c and r_c share little secrets about themselves."
+ ],
+ "reaction_random_cat": {
+ "comfortable": "increase"
+ }
+ },
+ {
+ "id": "comfort_inc_med3",
+ "interactions": [
+ "m_c is sharing the latest gossip {PRONOUN/m_c/subject} heard over the border with r_c.",
+ "m_c tells r_c {PRONOUN/m_c/subject}'ll save {PRONOUN/r_c/object} a piece of fresh-kill.",
+ "m_c playfully teases r_c for missing a catch.",
+ "m_c gives r_c some feathers from the bird {PRONOUN/m_c/subject} caught to line {PRONOUN/r_c/poss} nest.",
+ "m_c runs to greet r_c when {PRONOUN/r_c/subject} {VERB/r_c/return/returns} from a patrol.",
+ "m_c asks to be on a patrol with r_c.",
+ "m_c and r_c saw something hilarious during a patrol and can't stop giggling about it.",
+ "The Clan notices m_c and r_c share patrols more often.",
+ "During a hunting patrol, m_c and r_c share a piece of prey that is too small to bring back to camp.",
+ "m_c and r_c mark the same spot of the border as a sign of friendship. Gross.",
+ "m_c and r_c get a little giggly off of some mysterious herbs they found on a patrol.",
+ "m_c is delighted to be working with r_c today."
+ ],
+ "main_status_constraint": [
+ "apprentice",
+ "warrior",
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "apprentice",
+ "warrior",
+ "deputy",
+ "leader"
+ ],
+ "reaction_random_cat": {
+ "comfortable": "increase"
+ }
+ },
+ {
+ "id": "comfort_inc_med4",
+ "interactions": [
+ "r_c is listening to m_c's woes.",
+ "r_c is listening to m_c's troubles.",
+ "r_c always knows what to say to comfort m_c.",
+ "m_c is surprised that r_c is so quick to comfort {PRONOUN/m_c/object}.",
+ "m_c is comforted by how intently r_c listens to {PRONOUN/m_c/object} complaints.",
+ "r_c noticed m_c was struggling, and offered to help {PRONOUN/m_c/object}."
+ ],
+ "random_trait_constraint": [
+ "empathetic"
+ ]
+ },
+ {
+ "id": "comfort_inc_med5",
+ "interactions": [
+ "r_c gave m_c {PRONOUN/m_c/poss} favorite piece of prey.",
+ "r_c is being quite considerate with m_c.",
+ "r_c took time out of {PRONOUN/r_c/poss} day to help m_c with a difficult task.",
+ "r_c saved extra nest bedding for m_c.",
+ "r_c brought m_c and other Clanmates warm bedding for a cold night.",
+ "r_c complimented m_c on something nobody else did.",
+ "r_c took the time to help m_c work through a technique {PRONOUN/m_c/subject} {VERB/m_c/are/is} struggling with."
+ ],
+ "random_trait_constraint": [
+ "thoughtful"
+ ]
+ },
+ {
+ "id": "comfort_inc_med6",
+ "interactions": [
+ "r_c curled around m_c to share warmth.",
+ "r_c lets m_c have the last piece of fresh-kill.",
+ "r_c is listening to m_c's problems.",
+ "r_c complimented m_c on something nobody else did.",
+ "r_c gives m_c the coziest piece of nest material {PRONOUN/r_c/subject} {VERB/r_c/have/has}.",
+ "m_c likes something r_c has, so r_c tells {PRONOUN/m_c/object} to keep it.",
+ "r_c gives m_c an item {PRONOUN/m_c/subject} may like."
+ ],
+ "random_trait_constraint": [
+ "compassionate"
+ ]
+ },
+ {
+ "id": "comfort_inc_med7",
+ "interactions": [
+ "m_c is watching the shooting stars with r_c.",
+ "r_c calmly explains hunting techniques to m_c again for the fourth time today.",
+ "r_c lets m_c cry on {PRONOUN/r_c/subject} for a while.",
+ "r_c stays with m_c until {PRONOUN/m_c/subject} fall asleep.",
+ "As m_c tells r_c a long story, {PRONOUN/r_c/subject} {VERB/r_c/ask/asks} interesting, engaged questions.",
+ "r_c helps m_c with a tedious task and it makes the whole day a lot easier."
+ ],
+ "random_trait_constraint": [
+ "patient"
+ ]
+ },
+ {
+ "id": "comfortable_kit_inc_med1",
+ "interactions": [
+ "m_c wants to snuggle with r_c.",
+ "m_c lets r_c groom {PRONOUN/m_c/object} messy fur.",
+ "r_c teaches m_c how to eat politely."
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ]
+ },
+ {
+ "id": "comfortable_kit_inc_med2",
+ "interactions": [
+ "m_c wants to snuggle with r_c.",
+ "m_c hides somewhere with r_c, giggling together about something.",
+ "r_c lets m_c stalk {PRONOUN/r_c/poss} tail, pretending not to see {PRONOUN/m_c/object}.",
+ "m_c mimics some of the training techniques r_c is doing.",
+ "m_c is hiding under a bush from r_c, but {PRONOUN/m_c/subject} can't stop giggling."
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "comfortable_kit_inc_med3",
+ "interactions": [
+ "m_c spent the whole day playing {PRONOUN/m_c/poss} favorite games with r_c.",
+ "m_c had a friendly argument with r_c about which prey tastes the best.",
+ "m_c makes r_c {PRONOUN/m_c/poss} deputy in a game of KittenClan.",
+ "m_c and r_c play a prank on an older cat together.",
+ "The Clan looks all over for m_c and r_c and find out they have a secret hiding place.",
+ "m_c and r_c are playing KittenClan. r_c's dying of a hundred diseases, but m_c is the best medicine cat ever.",
+ "m_c and r_c spend the whole day playing hide-n-seek.",
+ "m_c takes a nap with r_c after a long day playing moss-ball."
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ],
+ "random_status_constraint": [
+ "kitten"
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase",
+ "comfortable": "increase"
+ },
+ "also_influences": {
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "comfortable_kit_odd1",
+ "interactions": [
+ "m_c chomps on r_c's ear.",
+ "m_c won't stop copying everything r_c does.",
+ "m_c asks r_c where kits come from.",
+ "m_c asks r_c innocent but invasive questions.",
+ "m_c is demanding r_c's attention."
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ],
+ "reaction_random_cat": {
+ "dislike": "increase:",
+ "comfortable": "decrease"
+ }
+ },
+ {
+ "id": "comfort_med_inc_medium1",
+ "interactions": [
+ "m_c thanks r_c for checking when {PRONOUN/r_c/subject} {VERB/r_c/ask/asks} if {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} feeling alright.",
+ "m_c drops into the medicine den to ask r_c if {PRONOUN/r_c/subject}{VERB/r_c/'ve/'s} eaten yet.",
+ "m_c brings r_c a piece of fresh-kill after a long day of healing work.",
+ "m_c helps r_c fix nests in the medicine den.",
+ "m_c lets r_c vent to {PRONOUN/m_c/object} about the difficulties as a healer.",
+ "After a rough storm gets into the medicine den, m_c helps r_c pick up herbs."
+ ],
+ "random_status_constraint": [
+ "medicine cat",
+ "medicine cat apprentice"
+ ],
+ "reaction_random_cat": {
+ "comfortable": "increase",
+ "trust": "increase"
+ }
+ },
+ {
+ "id": "comfort_inc_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c appreciates how r_c always seems to ask how {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} doing.",
+ "r_c's words of comfort mean more to m_c than {PRONOUN/r_c/subject} {VERB/r_c/know/knows}.",
+ "m_c gets excellent advice from r_c about something {PRONOUN/m_c/subject} had been worrying about.",
+ "r_c says something very sincere and comforting to m_c.",
+ "m_c can tell r_c worries about {PRONOUN/m_c/object} health and safety.",
+ "m_c overhears r_c saying something nice about {PRONOUN/m_c/object}.",
+ "m_c has had a lot of good dreams about r_c lately.",
+ "Whenever r_c's name is mentioned, m_c relaxes.",
+ "m_c's Clanmates notice that {PRONOUN/m_c/subject} {VERB/m_c/talk/talks} a lot about r_c.",
+ "r_c compliments m_c on something {PRONOUN/m_c/subject} {VERB/m_c/were/was} self-conscious about.",
+ "m_c associates {PRONOUN/m_c/poss} favorite smell with r_c."
+ ]
+ },
+ {
+ "id": "comfort_inc_high2",
+ "intensity": "high",
+ "interactions": [
+ "m_c is sharing tongues with r_c.",
+ "m_c offers to groom a hard-to-reach place for r_c, who thanks {PRONOUN/m_c/object} earnestly.",
+ "m_c and r_c spend a few minutes complimenting one another.",
+ "m_c spends the day helping around the camp with r_c.",
+ "m_c and r_c gossip about drama nobody else knows.",
+ "m_c talks to r_c about a mutual friend they have both been worrying about.",
+ "m_c asks r_c to look at a little cut on {PRONOUN/m_c/poss} leg.",
+ "After something happens, m_c and r_c find comfort in one another's company."
+ ],
+ "reaction_random_cat": {
+ "comfortable": "increase"
+ }
+ },
+ {
+ "id": "comfort_inc_high3",
+ "intensity": "high",
+ "interactions": [
+ "m_c feels most like {PRONOUN/m_c/self} when {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} around r_c.",
+ "m_c could recognize r_c just by the sound of {PRONOUN/r_c/poss} paw steps.",
+ "m_c finds peace in r_c's company where it can't be found anywhere else.",
+ "When m_c panics about something, {PRONOUN/m_c/subject} {VERB/m_c/think/thinks} of r_c to feel better.",
+ "m_c wakes up r_c every morning so they're up together.",
+ "m_c and r_c share their prey with one another every day.",
+ "m_c and r_c have multiple inside jokes with one another."
+ ],
+ "relationship_constraint": [
+ "comfortable_30"
+ ]
+ },
+ {
+ "id": "comfort_inc_high4",
+ "intensity": "high",
+ "interactions": [
+ "m_c helps r_c work through something difficult that happened to {PRONOUN/r_c/object}.",
+ "m_c comforts r_c after a terrible nightmare.",
+ "When r_c gets sick for a few days, m_c brings {PRONOUN/r_c/object} yummy prey and nest bedding.",
+ "r_c knows secrets about m_c that {PRONOUN/m_c/subject} {VERB/m_c/haven't/hasn't} told anyone else.",
+ "m_c always goes to r_c first when {PRONOUN/m_c/subject} needs advice."
+ ],
+ "relationship_constraint": [
+ "comfortable_30"
+ ],
+ "reaction_random_cat": {
+ "comfortable": "increase",
+ "trust": "increase"
+ }
+ }
+]
diff --git a/resources/dicts/relationship_events/normal_interactions/dislike/decrease.json b/resources/dicts/relationship_events/normal_interactions/dislike/decrease.json
index c0d82467ce..25ecbde848 100644
--- a/resources/dicts/relationship_events/normal_interactions/dislike/decrease.json
+++ b/resources/dicts/relationship_events/normal_interactions/dislike/decrease.json
@@ -1,109 +1,144 @@
-[
- {
- "id": "dislike_de_low1",
- "intensity": "low",
- "interactions": [
- "m_c is surprised by r_c being thoughtful.",
- "m_c and r_c agree about something trivial.",
- "m_c is able to work together with r_c.",
- "m_c and r_c actually get along better today.",
- "m_c and r_c were able to have a debate without it turning into an argument."
- ]
- },
- {
- "id": "dislike_de_low2",
- "intensity": "low",
- "interactions": [
- "m_c apologized to r_c for something or other.",
- "m_c and r_c actually get along better today.",
- "m_c clears up a misunderstanding with r_c."
- ],
- "reaction_random_cat": {
- "dislike": "decrease"
- }
- },
- {
- "id": "dislike_de_med1",
- "interactions": [
- "m_c realized that {PRONOUN/m_c/subject} {VERB/m_c/were/was} too harsh in {PRONOUN/m_c/poss} judgment of r_c.",
- "m_c spends some time with r_c and they both end up understanding each other a little better.",
- "m_c is rethinking how {PRONOUN/m_c/subject} {verb/m_c/feel/feels} about r_c and gives {PRONOUN/r_c/object} another chance.",
- "m_c didn't see r_c at all today and admittedly was a little disappointed.",
- "m_c and r_c apologized over something petty they both did to each other."
- ]
- },
- {
- "id": "dislike_de_med2",
- "interactions": [
- "m_c covered for r_c on something minor.",
- "m_c cheers r_c up after a small disagreement.",
- "m_c, while grabbing food for {PRONOUN/m_c/self}, saw r_c grabbing a really tasty looking rabbit and asked to share it with {PRONOUN/r_c/object}."
- ],
- "reaction_random_cat": {
- "dislike": "decrease"
- }
- },
- {
- "id": "dislike_de_med3",
- "interactions": [
- "m_c recently began looking forward to the little arguments {PRONOUN/m_c/subject} had with r_c.",
- "m_c and r_c's bickering has gotten more playful as of late.",
- "m_c was almost sad {PRONOUN/m_c/subject} didn't have a chance to argue with r_c today.",
- "Even though r_c didn't like m_c, {PRONOUN/r_c/subject} didn't chase {PRONOUN/m_c/object} away when m_c sat down beside {PRONOUN/r_c/object}.",
- "m_c and r_c, despite never getting along, put aside their differences and worked together surprisingly well during an emergency.",
- "m_c recently has grown tired of disliking r_c."
- ],
- "relationship_constraint": [
- "dislike_20"
- ]
- },
- {
- "id": "dislike_de_high1",
- "intensity": "high",
- "interactions": [
- "m_c is surprised to hear r_c express an ideal {PRONOUN/m_c/subject} can agree with.",
- "m_c and r_c realize they have more in common than previously thought.",
- "m_c actually stood up for r_c when {PRONOUN/r_c/subject} {VERB/r_c/were/was} being scolded for something too harshly."
- ]
- },
- {
- "id": "dislike_de_high2",
- "intensity": "high",
- "interactions": [
- "m_c and r_c joke around about how bad the other Clans smell.",
- "r_c can't help but laugh when m_c tells a funny joke.",
- "r_c thinks that m_c isn't so bad after all."
- ],
- "reaction_random_cat": {
- "dislike": "decrease"
- }
- },
- {
- "id": "dislike_de_high3",
- "intensity": "high",
- "interactions": [
- "m_c and r_c heckled another Clan at the Gathering together."
- ],
- "reaction_random_cat": {
- "dislike": "decrease"
- },
- "main_status_constraint": [
- "elder",
- "apprentice",
- "warrior",
- "mediator apprentice",
- "mediator",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "elder",
- "apprentice",
- "warrior",
- "mediator apprentice",
- "mediator",
- "deputy",
- "leader"
- ]
- }
-]
+[
+ {
+ "id": "dislike_de_low1",
+ "intensity": "low",
+ "interactions": [
+ "m_c is surprised by r_c being thoughtful.",
+ "m_c and r_c agree about something trivial.",
+ "m_c didn't expect r_c to be so amicable today.",
+ "m_c realizes that {PRONOUN/m_c/subject} misunderstood something r_c said.",
+ "m_c stops and thinks before assuming the worst of r_c.",
+ "When getting something to eat, m_c sees r_c allow someone else to take {PRONOUN/r_c/poss} favorite prey.",
+ "m_c sees r_c being gentle with an injured bug.",
+ "m_c thinks that r_c looks nice today.",
+ "m_c thinks that r_c smells nice today.",
+ "m_c is able to work together with r_c."
+ ]
+ },
+ {
+ "id": "dislike_de_low2",
+ "intensity": "low",
+ "interactions": [
+ "m_c apologized to r_c for being rude the other day.",
+ "m_c and r_c actually get along better today.",
+ "m_c is surprised when r_c compliments {PRONOUN/m_c/object}.",
+ "m_c and r_c giggle over something silly.",
+ "m_c jumps in a puddle, splashing r_c. To {PRONOUN/m_c/poss} surprise, r_c laughs.",
+ "m_c didn't expect an apology from r_c, but accepted it regardless.",
+ "m_c has been a little kinder to r_c today.",
+ "m_c and r_c bond over something small.",
+ "m_c helps r_c with something {PRONOUN/r_c/poss} were struggling with.",
+ "m_c clears up a misunderstanding with r_c."
+ ],
+ "reaction_random_cat": {
+ "dislike": "decrease"
+ }
+ },
+ {
+ "id": "dislike_de_med1",
+ "interactions": [
+ "m_c realized that {PRONOUN/m_c/subject} {VERB/m_c/were/was} too harsh in {PRONOUN/m_c/poss} judgement of r_c.",
+ "m_c is still a little hurt by r_c, but wants to try and make amends.",
+ "m_c decides to be the bigger cat and plans to make amends with r_c.",
+ "Despite past disagreements, r_c is kind to m_c in passing.",
+ "m_c hears r_c purring during a nap.",
+ "m_c is frustrated with r_c, but hears {PRONOUN/r_c/object} crying alone and immediately feels guilty.",
+ "Though m_c has been unhappy with r_c, m_c helps {PRONOUN/r_c/object} with something.",
+ "m_c tries to find r_c to apologize for something, but finds {PRONOUN/r_c/object} playing with a Clanmate.",
+ "r_c does something endearing, which surprises m_c.",
+ "m_c stumbles upon r_c looking at the stars with wonder in {PRONOUN/r_c/poss} eyes.",
+ "m_c is rethinking how {PRONOUN/m_c/subject} feel about r_c and gives {PRONOUN/r_c/object} another chance."
+ ]
+ },
+ {
+ "id": "dislike_de_med2",
+ "interactions": [
+ "m_c covered for r_c on something minor.",
+ "m_c spends some time with r_c and they both end up understanding each other a little better.",
+ "m_c and r_c realize they have a similar sense of humor.",
+ "m_c gets a little injured and r_c is the first to help.",
+ "m_c and r_c find out they have nice conversations when they aren't bickering.",
+ "m_c reveals something to r_c. Apparently r_c can relate!",
+ "m_c and r_c spend some time together and nearly forget what made them upset with one another in the first place.",
+ "m_c and r_c apologize to each other at the same time.",
+ "When explaining something, m_c is surprised that r_c understands.",
+ "m_c hesitantly asks to exchange fresh-kill with r_c. r_c agrees, since m_c's is {PRONOUN/r_c/poss} favorite kind, anyways.",
+ "The Clan is surprised to see m_c and r_c chatting casually over a meal.",
+ "m_c cheers r_c up after a small disagreement."
+ ],
+ "reaction_random_cat": {
+ "dislike": "decrease"
+ }
+ },
+ {
+ "id": "dislike_de_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c is surprised to hear r_c express an ideal {PRONOUN/m_c/subject} can agree with.",
+ "m_c didn't realize how generous r_c could be.",
+ "m_c sees r_c stand up for a Clanmate despite the pushback from {PRONOUN/r_c/poss} peers.",
+ "m_c overhears r_c saying something kind about {PRONOUN/m_c/object}.",
+ "m_c tries to look at r_c's actions from another perspective, and starts to like {PRONOUN/r_c/subject} more.",
+ "m_c notices that some of {PRONOUN/m_c/poss} Clanmates talk very highly of r_c.",
+ "The way r_c jumps to help a Clanmate makes m_c think {PRONOUN/r_c/subject} might not be all that bad.",
+ "There's something soothing about r_c that m_c never realized before.",
+ "m_c realizes how smart r_c is when it comes to certain things.",
+ "m_c talks to one of r_c's friends and begins to understand why others like {PRONOUN/r_c/object}.",
+ "m_c considers how to make amends with r_c after a long night of deliberation."
+ ]
+ },
+ {
+ "id": "dislike_de_high2",
+ "intensity": "high",
+ "interactions": [
+ "m_c and r_c joke around about how bad the other Clans smell.",
+ "r_c can't help but laugh when m_c tells a funny joke.",
+ "A Clanmate claims that m_c and r_c were sharing tongues.",
+ "m_c and r_c sincerely apologize to one another.",
+ "r_c admits that m_c did something clever.",
+ "m_c and r_c fight over a piece of prey, but soon decide to share it instead.",
+ "The Clan has noticed m_c and r_c are smiling at each other more today.",
+ "m_c and r_c realize they have more in common than previously thought.",
+ "r_c thinks that m_c isn't so bad after all."
+ ],
+ "reaction_random_cat": {
+ "dislike": "decrease"
+ }
+ },
+ {
+ "id": "dislike_de_high3",
+ "intensity": "high",
+ "interactions": [
+ "m_c and r_c heckled another Clan at the Gathering together.",
+ "m_c and r_c worked well together on a patrol.",
+ "When they return from a patrol, m_c and r_c seem more at peace with each other than usual.",
+ "m_c and r_c defended their Clan at the Gathering together.",
+ "m_c and r_c had a great time on a patrol."
+ ],
+ "reaction_random_cat": {
+ "dislike": "decrease"
+ },
+ "main_status_constraint": [
+ "elder",
+ "apprentice",
+ "warrior",
+ "mediator apprentice",
+ "mediator",
+ "medicine cat apprentice",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "elder",
+ "apprentice",
+ "warrior",
+ "mediator apprentice",
+ "mediator",
+ "medicine cat apprentice",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ]
+ }
+]
diff --git a/resources/dicts/relationship_events/normal_interactions/dislike/increase.json b/resources/dicts/relationship_events/normal_interactions/dislike/increase.json
index 65ed8ac3b3..f869daf77a 100644
--- a/resources/dicts/relationship_events/normal_interactions/dislike/increase.json
+++ b/resources/dicts/relationship_events/normal_interactions/dislike/increase.json
@@ -1,571 +1,451 @@
-[
- {
- "id": "dislike_inc_low1",
- "intensity": "low",
- "interactions": [
- "m_c had r_c bump into {PRONOUN/m_c/object}, and {PRONOUN/r_c/subject} didn't even apologize!",
- "r_c stepped on m_c's foot and pretended not to notice.",
- "m_c refuses to look at r_c.",
- "m_c was in the middle of an important conversation before r_c rudely interrupted {PRONOUN/m_c/object}.",
- "r_c blocked m_c's way and didn't apologize.",
- "m_c made plans to share tongues with r_c but never showed up.",
- "m_c accidentally stepped on r_c's tail.",
- "m_c teased r_c for having messy fur right after waking up."
- ]
- },
- {
- "id": "dislike_inc_low2",
- "intensity": "low",
- "interactions": [
- "m_c had a disagreement with r_c about something or other.",
- "m_c and r_c argued about something trivial and neither of them apologized.",
- "m_c said something really rude to r_c.",
- "m_c didn't tell r_c about the feather stuck to {PRONOUN/r_c/poss} face, so r_c spent the whole day looking silly."
- ],
- "reaction_random_cat": {
- "dislike": "increase"
- }
- },
- {
- "id": "dislike_inc_kit1",
- "intensity": "low",
- "interactions": [
- "m_c brought r_c back to the nursery despite {PRONOUN/r_c/poss} whining protests.",
- "m_c made r_c tidy up a mess {PRONOUN/r_c/subject} made and didn't let {PRONOUN/r_c/object} go until it was all done.",
- "r_c heard m_c complaining about how {PRONOUN/m_c/subject} {VERB/m_c/aren't/isn't} a kitsitter and shouldn't have to watch m_c.",
- "m_c sat r_c down for a boooring lecture on something {PRONOUN/r_c/subject} did wrong."
- ],
- "main_status_constraint": [
- "apprentice",
- "warrior",
- "elder",
- "medicine cat",
- "medicine cat apprentice",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "kitten"
- ],
- "reaction_random_cat": {
- "dislike": "increase"
- }
- },
- {
- "id": "dislike_inc_kit2",
- "intensity": "low",
- "interactions": [
- "m_c had to clean up a mess r_c made.",
- "r_c keeps asking m_c why even after being told to stop.",
- "m_c had to drop everything to look for r_c after {PRONOUN/r_c/subject} went missing. Turns out {PRONOUN/r_c/object} {VERB/r_c/were/was} playing hide and seek by {PRONOUN/r_c/self} without telling anyone."
- ],
- "main_status_constraint": [
- "apprentice",
- "warrior",
- "elder",
- "medicine cat",
- "medicine cat apprentice",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "kitten"
- ],
- "reaction_main_cat": {
- "dislike": "increase"
- }
- },
- {
- "id": "dislike_inc_med1",
- "intensity": [
- "m_c wishes r_c would take things more seriously.",
- "m_c told r_c to get lost.",
- "m_c swiped {PRONOUN/m_c/poss} paw at r_c.",
- "m_c and r_c got into a disagreement earlier and are both still fuming over it.",
- "m_c and r_c had a fight earlier and are both still fuming over it.",
- "m_c doesn't like r_c's attitude."
- ]
- },
- {
- "id": "dislike_inc_med2",
- "interactions": [
- "m_c ignores r_c.",
- "m_c had a huge argument with r_c.",
- "m_c had a spat with r_c over a piece of prey on the fresh-kill pile.",
- "m_c is telling everyone in camp that r_c has greencough.",
- "m_c took the last of r_c's favorite fresh kill right in front of {PRONOUN/r_c/object}.",
- "m_c took the fresh kill r_c was eyeing all day."
- ],
- "reaction_random_cat": {
- "dislike": "increase"
- }
- },
- {
- "id": "dislike_inc_med3",
- "interactions": [
- "m_c had a disagreement with r_c while on patrol earlier.",
- "m_c stole r_c's catch right out from under {PRONOUN/r_c/poss} claws.",
- "m_c prays that {PRONOUN/m_c/subject} {VERB/m_c/aren't/isn't} on patrol with r_c tomorrow.",
- "m_c sighs loudly every time r_c does anything on patrol.",
- "m_c lied about r_c being sick to take {PRONOUN/r_c/poss} spot on a patrol.",
- "m_c scared away the prey r_c was stalking.",
- "m_c pulled r_c's tail during training.",
- "m_c made sure to let all the prey r_c likes get away during {PRONOUN/m_c/poss} patrol.",
- "m_c keeps upstaging r_c.",
- "m_c refused to do a task with r_c, opting to do something else instead even while r_c scolded {PRONOUN/m_c/object} for ditching the task.",
- "m_c tripped r_c during a patrol.",
- "m_c and r_c were not in sync during training today.",
- "m_c threatens r_c to use {PRONOUN/m_c/poss} claws next time they train together.",
- "m_c overheard r_c taking credit for catching the prey {PRONOUN/m_c/subject} caught."
- ],
- "main_status_constraint": [
- "apprentice",
- "warrior",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "apprentice",
- "warrior",
- "deputy",
- "leader"
- ],
- "reaction_random_cat": {
- "dislike": "increase"
- }
- },
- {
- "id": "dislike_inc_med4",
- "interactions": [
- "m_c is thinking about how r_c wronged {PRONOUN/m_c/object}.",
- "m_c is watching r_c scornfully.",
- "m_c is glaring daggers at r_c.",
- "m_c pulls a mean prank on r_c.",
- "m_c knocked r_c into a puddle with a rough shove before feigning an apology.",
- "m_c 'accidentally' tripped r_c.",
- "m_c gave r_c a grimace before walking away without a word.",
- "m_c smirks when {PRONOUN/m_c/subject} {VERB/m_c/see/sees} r_c all by {PRONOUN/r_c/self}.",
- "m_c enjoys watching things go wrong for r_c."
- ],
- "main_trait_constraint": [
- "vengeful"
- ]
- },
- {
- "id": "dislike_inc_med5",
- "interactions": [
- "r_c is asking m_c to tell {PRONOUN/r_c/object} about how good {PRONOUN/r_c/subject} {VERB/m_c/look/looks}.",
- "r_c offends m_c with {PRONOUN/r_c/poss} brutal honesty.",
- "r_c is boasting about {PRONOUN/r_c/poss} accomplishments to m_c, but m_c isn't impressed.",
- "r_c gets really close to m_c's face while talking and grosses m_c out with {PRONOUN/r_c/poss} fox breath.",
- "r_c doesn't understand why m_c lied to save a cat's feelings."
- ],
- "random_trait_constraint": [
- "shameless",
- "arrogant"
- ]
- },
- {
- "id": "dislike_inc_med6",
- "interactions": [
- "r_c pulled a prank on m_c.",
- "r_c blamed m_c for {PRONOUN/r_c/poss} own mistake.",
- "r_c won't stop bothering m_c.",
- "r_c was too rough and knocked m_c over.",
- "r_c started a rumor about m_c for fun."
- ],
- "random_trait_constraint": [
- "troublesome"
- ]
- },
- {
- "id": "dislike_inc_kit_app",
- "interactions": [
- "m_c just can't stand r_c's lack of knowledge on things.",
- "m_c kept talking down to r_c all day, over explaining even the most simple things.",
- "m_c keeps talking to r_c like {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} younger then {PRONOUN/r_c/subject} {VERB/r_c/are/is}.",
- "m_c refused to so much as acknowledge r_c simply cause of how young {PRONOUN/r_c/subject} {VERB/r_c/are/is}."
- ],
- "main_trait_constraint": [
- "arrogant",
- "grumpy",
- "cold"
- ],
- "main_status_constraint": [
- "warrior",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "apprentice",
- "kit"
- ],
- "reaction_random_cat": {
- "dislike": "increase"
- }
- },
- {
- "id": "dislike_effect_other1",
- "relationship_constraint": [
- "dislike_40"
- ],
- "interactions": [
- "r_c is spreading a rumor about m_c.",
- "r_c is mocking m_c.",
- "r_c is telling others about how terrible m_c can really be.",
- "r_c leaves as soon as m_c arrives and refuses to be nearby.",
- "m_c gagged at just the thought of being around r_c!"
- ]
- },
- {
- "id": "dislike_kit_inc_med1",
- "interactions": [
- "m_c trips over r_c.",
- "m_c had to nip r_c on the rump because {PRONOUN/r_c/subject} {VERB/r_c/were/was} being naughty.",
- "m_c growls at r_c to get out from under {PRONOUN/m_c/poss} paws.",
- "m_c snaps at r_c's annoying antics.",
- "r_c wishes {PRONOUN/r_c/subject} {VERB/r_c/were/was} all grown up so m_c would take {PRONOUN/r_c/object} seriously.",
- "r_c asked m_c to tell {PRONOUN/r_c/object} a story only to get hissed at instead.",
- "m_c took the toy r_c was playing with before telling {PRONOUN/m_c/object} to return to the nursery."
- ],
- "main_status_constraint": [
- "elder",
- "apprentice",
- "warrior",
- "mediator apprentice",
- "mediator",
- "medicine cat apprentice",
- "medicine cat",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "kitten"
- ],
- "reaction_random_cat": {
- "dislike": "increase"
- }
- },
- {
- "id": "dislike_kit_inc_med2",
- "interactions": [
- "m_c purposefully tripped r_c.",
- "m_c growls at r_c to get out of {PRONOUN/m_c/poss} way.",
- "m_c snaps at r_c's annoying antics.",
- "m_c snarls at r_c when asked to play. {PRONOUN/m_c/subject/CAP} will not waste {PRONOUN/m_c/poss} time playing stupid games."
- ],
- "main_status_constraint": [
- "kitten",
- "elder",
- "apprentice",
- "warrior",
- "mediator apprentice",
- "mediator",
- "medicine cat apprentice",
- "medicine cat",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "kitten"
- ],
- "main_trait_constraint": [
- "troublesome",
- "cold",
- "vengeful",
- "strange",
- "grumpy",
- "bullying",
- "bossy"
- ],
- "reaction_random_cat": {
- "dislike": "increase"
- }
- },
- {
- "id": "dislike_dep_leader_inc_med1",
- "interactions": [
- "m_c punishes r_c with extra work.",
- "m_c divides r_c into extra patrols.",
- "m_c tells other cats that r_c is not doing well in {PRONOUN/r_c/poss} training.",
- "m_c gave r_c twice as much work as the other cats {PRONOUN/r_c/poss} age."
- ],
- "main_status_constraint": [
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "apprentice",
- "warrior"
- ],
- "reaction_random_cat": {
- "dislike": "increase"
- }
- },
- {
- "id": "dislike_dep_leader_inc_high1",
- "intensity": "high",
- "interactions": [
- "m_c pulls r_c aside and reminds {PRONOUN/r_c/object} m_c could easily exile {PRONOUN/r_c/object}.",
- "m_c scolded r_c for not doing the hard task {PRONOUN/m_c/subject} assigned {PRONOUN/r_c/object} despite knowing it was a job for more than one cat.",
- "m_c gives r_c a particularly hard task, expecting {PRONOUN/r_c/object} to fail."
- ],
- "main_status_constraint": [
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "apprentice",
- "warrior"
- ],
- "reaction_random_cat": {
- "dislike": "increase"
- }
- },
- {
- "id": "dislike_dep_leader_app_inc_high1",
- "intensity": "high",
- "interactions": [
- "m_c threatened r_c with never passing {PRONOUN/r_c/poss} assessment!"
- ],
- "main_status_constraint": [
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "apprentice"
- ],
- "reaction_random_cat": {
- "dislike": "increase"
- }
-
- },
- {
- "id": "dislike_med_inc_med1",
- "interactions": [
- "m_c gives r_c bitter herbs on purpose.",
- "m_c accuses r_c of complaining over something trivial and wasting {PRONOUN/m_c/poss} time.",
- "m_c always tends to r_c last.",
- "m_c ignores r_c any time {PRONOUN/r_c/subject} {VERB/r_c/come/comes} for treatment.",
- "m_c is extra rough when treating r_c."
- ],
- "main_status_constraint": [
- "medicine cat apprentice",
- "medicine cat"
- ],
- "reaction_random_cat": {
- "dislike": "increase"
- }
- },
- {
- "id": "dislike_inc_high1",
- "intensity": "high",
- "interactions": [
- "m_c thinks r_c is being annoying.",
- "m_c can't stand being around r_c."
- ]
- },
- {
- "id": "dislike_inc_high2",
- "intensity": "high",
- "interactions": [
- "m_c had a fight with r_c.",
- "m_c had a heated argument with r_c and said some very hurtful things.",
- "m_c argues with r_c in front of other cats and reveals something embarrassing.",
- "m_c and r_c had a spat over a piece of fresh-kill and didn't notice another cat taking it while they were arguing."
- ],
- "reaction_random_cat": {
- "dislike": "increase"
- }
- },
- {
- "id": "dislike_inc_high3",
- "intensity": "high",
- "relationship_constraint": [
- "dislike_50"
- ],
- "interactions": [
- "m_c shudders at the sound of r_c's voice.",
- "m_c will do anything to avoid being anywhere near r_c.",
- "m_c refuses to do any work with r_c.",
- "m_c and r_c got into a loud screaming match with each other and had to be separated.",
- "m_c wants to claw r_c's face off.",
- "m_c wonders if being a loner might just be better than being r_c's Clanmate...",
- "m_c considers r_c to be a terrible influence on others.",
- "m_c finds r_c to be an eyesore.",
- "m_c daydreams about killing r_c...",
- "m_c doesn't even pretend to hide how much {PRONOUN/m_c/subject} {VERB/m_c/hate/hates} r_c.",
- "m_c lunged at r_c but was held back by a Clanmate.",
- "m_c hopes r_c ends up in the Dark Forest.",
- "m_c prayed to StarClan for r_c's downfall to come quick."
- ]
- },
- {
- "id": "dislike_inc_high4",
- "intensity": "high",
- "interactions": [
- "m_c accuses r_c of being a bad leader.",
- "m_c accuses r_c of not taking care of the Clan.",
- "m_c accuses r_c of not putting the Clan first.",
- "m_c accused r_c of leading the Clan toward the Dark Forest.",
- "m_c wonders what stupid decision r_c will make next that'll harm the Clan.",
- "m_c said aloud how {PRONOUN/m_c/subject} couldn't wait for r_c to die so that someone better could become leader.",
- "m_c told r_c {PRONOUN/r_c/subject} should just retire already.",
- "m_c wonders how easy it'd be to convince the rest of the Clan to agree that exiling r_c is a good move...",
- "r_c overheard m_c trying to convince the rest of the Clan to ditch r_c and make a new Clan without {PRONOUN/r_c/object}.",
- "m_c believes r_c isn't doing {PRONOUN/r_c/poss} job good enough."
- ],
- "relationship_constraint": [
- "dislike_50"
- ],
- "random_status_constraint": [
- "leader"
- ]
- },
- {
- "id": "dislike_inc_high5",
- "intensity": "high",
- "interactions": [
- "m_c accuses r_c of being a bad deputy.",
- "m_c scoffs at r_c's instructions.",
- "m_c says that r_c is a terrible deputy and should step down.",
- "m_c dreads the day r_c becomes leader.",
- "r_c overheard m_c begging the leader to make someone else, ANYONE else deputy, just not r_c.",
- "m_c claims a kit could do r_c's job better then {PRONOUN/r_c/object}.",
- "m_c hopes r_c retires soon, StarClan only knows {PRONOUN/r_c/object} becoming leader would be a nightmare.",
- "m_c hopes r_c never gets to be leader.",
- "m_c accused r_c of leading the Clan toward the Dark Forest."
- ],
- "relationship_constraint": [
- "dislike_50"
- ],
- "random_status_constraint": [
- "deputy"
- ],
- "reaction_random_cat": {
- "dislike": "increase"
- }
- },
- {
- "id": "dislike_inc_high6",
- "intensity": "high",
- "interactions": [
- "m_c is scolding r_c.",
- "m_c is bossing r_c around.",
- "m_c and r_c are arguing about something important and risking the Clan's safety."
- ],
- "main_status_constraint": [
- "elder",
- "medicine cat",
- "deputy",
- "leader"
- ],
- "reaction_random_cat": {
- "platonic": "decrease",
- "comfortable": "decrease",
- "admiration": "decrease",
- "trust": "decrease"
- }
- },
- {
- "id": "dislike_inc_high7",
- "intensity": "high",
- "interactions": [
- "m_c thinks {PRONOUN/m_c/subject} should be deputy instead of r_c.",
- "m_c is tired from r_c putting {PRONOUN/m_c/object} on so many patrols.",
- "m_c rolls {PRONOUN/m_c/poss} eyes whenever r_c assigns patrols.",
- "m_c tries to convince other cats that r_c should step down from being deputy."
- ],
- "relationship_constraint": [
- "dislike_40"
- ],
- "random_status_constraint": [
- "deputy"
- ],
- "main_status_constraint": [
- "apprentice",
- "warrior"
- ],
- "also_influences": {
- "jealousy": "increase"
- }
- },
- {
- "id": "dislike_inc_high8",
- "intensity": "high",
- "interactions": [
- "m_c and r_c nearly got into a serious fight in the middle of camp and had to be separated by their Clanmates.",
- "m_c insulted r_c's biggest insecurity directly to {PRONOUN/r_c/poss} face.",
- "m_c called r_c an embarrassment to the Clan.",
- "m_c threatens to send r_c directly to the Dark Forest where {PRONOUN/r_c/subject} {VERB/r_c/belong/belongs}.",
- "m_c threatened to put r_c in {PRONOUN/r_c/poss} place next time they crossed paths."
- ],
- "relationship_constraint": [
- "dislike_40"
- ],
- "reaction_main_cat": {
- "trust": "decrease",
- "platonic": "decrease",
- "comfort": "decrease"
- },
- "reaction_random_cat": {
- "trust": "decrease",
- "platonic": "decrease",
- "comfort": "decrease"
- }
- },
- {
- "id": "dislike_kit_de_med1",
- "interactions": [
- "m_c sticks {PRONOUN/m_c/poss} tongue out at r_c",
- "m_c makes stinky faces at r_c for seemingly no reason.",
- "m_c hisses at r_c, wary of {PRONOUN/r_c/object} for reasons nobody knows.",
- "m_c called r_c an insult {PRONOUN/m_c/subject} just learned and r_c is not amused.",
- "r_c snapped at m_c for annoying {PRONOUN/r_c/object}.",
- "m_c cries any time {PRONOUN/m_c/subject} {VERB/m_c/see/sees} r_c.",
- "m_c is scared of r_c but won't say why.",
- "m_c thinks r_c is scary.",
- "m_c blamed r_c for something {PRONOUN/m_c/subject} did to avoid trouble."
- ],
- "main_status_constraint": [
- "kitten"
- ],
- "reaction_random_cat": {
- "dislike": "increase"
- }
- },
- {
- "id": "dislike_kit_de_med2",
- "interactions": [
- "m_c tried to have a friendly discussion with r_c about what prey tastes best, but it turned into an argument.",
- "m_c and r_c always end up arguing over what games to play.",
- "m_c is not playing fairly with r_c!",
- "m_c was too rough with r_c while playing earlier and r_c still hasn't gotten over it.",
- "m_c refuses to play what r_c wants to play, {PRONOUN/m_c/subject} only {VERB/m_c/want/wants} to play what {PRONOUN/m_c/subject} {VERB/m_c/want/wants}!"
- ],
- "main_status_constraint": [
- "kitten"
- ],
- "random_status_constraint": [
- "kitten"
- ],
- "reaction_random_cat": {
- "dislike": "increase"
- }
- },
- {
- "id": "dislike_kit_inc_med3",
- "interactions": [
- "m_c whines that r_c won't play with {PRONOUN/m_c/object}, even though {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} always around camp.",
- "m_c doesn't understand why r_c won't let {PRONOUN/m_c/object} play in the medicine cat den."
- ],
- "main_status_constraint": [
- "kitten"
- ],
- "random_status_constraint": [
- "elder",
- "mediator apprentice",
- "medicine cat apprentice"
- ]
- }
-]
+[
+ {
+ "id": "dislike_inc_low1",
+ "intensity": "low",
+ "interactions": [
+ "r_c bumped into m_c and didn't even apologize!",
+ "r_c stepped on m_c's paw and pretended not to notice.",
+ "m_c is grossed out by something r_c did.",
+ "m_c doesn't like the way r_c interacts with a Clanmate.",
+ "r_c says something in passing that m_c keeps getting worked up about.",
+ "m_c tried to explain something to r_c, but {PRONOUN/r_c/subject} just didn't understand.",
+ "r_c hit m_c on the face with {PRONOUN/r_c/poss} tail while passing by.",
+ "m_c doesn't think the object that r_c asked {PRONOUN/m_c/object} to find is real.",
+ "m_c got tricked into doing one of r_c's chores.",
+ "When m_c approached r_c, {PRONOUN/r_c/subject} made a weird face.",
+ "Something good happens to m_c and most Clanmates congratulate {PRONOUN/m_c/object}, but r_c doesn't say anything at all."
+ ]
+ },
+ {
+ "id": "dislike_inc_low2",
+ "intensity": "low",
+ "interactions": [
+ "m_c had a disagreement with r_c about something or other.",
+ "m_c and r_c argued about something trivial and neither of them apologized.",
+ "m_c said something really rude to r_c.",
+ "m_c and r_c are arguing about who should take the blame for something trivial.",
+ "m_c didn't tell r_c about the feather stuck to {PRONOUN/r_c/poss} face, so r_c spent the whole day looking silly.",
+ "When m_c tells r_c about a goal {PRONOUN/m_c/subject} {VERB/m_c/have/has}, r_c snickers at it.",
+ "r_c and m_c have a misunderstanding that makes them grumpy for the rest of the day.",
+ "r_c takes the sunny spot that m_c was about to lay in.",
+ "m_c and r_c splash each other in a puddle, but it doesn't look playful...",
+ "m_c's feelings are hurt by something r_c said, but r_c's apology is half-hearted.",
+ "m_c loses in a race against r_c and acts bitterly about it."
+ ],
+ "reaction_random_cat": {
+ "dislike": "increase"
+ }
+ },
+ {
+ "id": "dislike_inc_med1",
+ "intensity": [
+ "m_c wishes r_c would take things more seriously.",
+ "m_c thinks r_c is acting childish lately.",
+ "m_c keeps complaining about something r_c did.",
+ "m_c considers spreading a rumor about r_c.",
+ "m_c doesn't like r_c's sense of humor.",
+ "m_c stiffens up a little whenever someone mentions r_c.",
+ "m_c is tired of interacting with r_c lately.",
+ "After sharing tongues, m_c washed off r_c's scent from {PRONOUN/m_c/poss} pelt.",
+ "A Clanmate notices m_c mocking r_c behind {PRONOUN/r_c/poss} back.",
+ "When m_c needs someone to do {PRONOUN/m_c/object} a favor, {PRONOUN/m_c/subject} never {VERB/m_c/ask/asks} r_c first."
+ ]
+ },
+ {
+ "id": "dislike_inc_med2",
+ "interactions": [
+ "m_c ignores r_c.",
+ "m_c had a huge argument with r_c.",
+ "m_c had a spat with r_c over a piece of prey on the fresh-kill pile.",
+ "m_c and r_c make fun of one another, but it sounds more like insults than playful banter.",
+ "The Clan notices that m_c and r_c always sit far away from one another.",
+ "m_c didn't warn r_c about a rock on the ground, which caused r_c to trip.",
+ "m_c claimed to give r_c a piece of crowfood on accident.",
+ "m_c spent the day arguing with r_c about whether {PRONOUN/r_c/subject} stole something from m_c.",
+ "m_c scoffed loudly at one of r_c's suggestions.",
+ "r_c keeps yawning during m_c's story.",
+ "r_c flicked some sand over m_c's fresh-kill while {PRONOUN/m_c/subject} {VERB/m_c/were/was} eating."
+ ],
+ "reaction_random_cat": {
+ "dislike": "increase"
+ }
+ },
+ {
+ "id": "dislike_inc_med3",
+ "interactions": [
+ "m_c had a disagreement with r_c while on patrol earlier.",
+ "m_c stole r_c's catch right out from under {PRONOUN/r_c/poss} claws.",
+ "m_c prays that {PRONOUN/m_c/subject} {VERB/m_c/aren't/isn't} on patrol with r_c tomorrow.",
+ "m_c sighs loudly every time r_c does anything on patrol.",
+ "While on a patrol, m_c secretly pulled back a branch and made it whop r_c in the face.",
+ "m_c laughed at r_c for making a mistake on a patrol.",
+ "m_c ignored r_c's advice on a patrol and nearly got hurt because of it.",
+ "m_c and r_c couldn't agree which way to go on a patrol and got home late.",
+ "m_c claimed to catch the prey that r_c caught on their patrol."
+ ],
+ "main_status_constraint": [
+ "apprentice",
+ "warrior",
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "apprentice",
+ "warrior",
+ "deputy",
+ "leader"
+ ],
+ "reaction_random_cat": {
+ "dislike": "increase"
+ }
+ },
+ {
+ "id": "dislike_inc_med4",
+ "interactions": [
+ "m_c is thinking about how r_c wronged {PRONOUN/m_c/object}.",
+ "m_c is watching r_c scornfully.",
+ "m_c daydreams about getting back at r_c for wronging {PRONOUN/m_c/object}.",
+ "m_c smiles when r_c gets hurt.",
+ "m_c likes it when r_c is scolded for something.",
+ "The Clan notices that m_c's claws unsheath when r_c is nearby.",
+ "m_c is glaring daggers at r_c."
+ ],
+ "main_trait_constraint": [
+ "vengeful",
+ "bloodthirsty"
+ ]
+ },
+ {
+ "id": "dislike_inc_med5",
+ "interactions": [
+ "r_c is asking m_c to tell {PRONOUN/r_c/object} about how good {PRONOUN/r_c/subject} {VERB/m_c/look/looks}.",
+ "r_c offends m_c with {PRONOUN/r_c/poss} brutal honesty.",
+ "m_c is irritated by r_c's constant bragging.",
+ "r_c gets really close to m_c's face while talking and grosses m_c out with {PRONOUN/r_c/poss} bad breath.",
+ "m_c tells r_c to quiet down, but r_c doesn't listen.",
+ "r_c is boasting about {PRONOUN/r_c/poss} accomplishments to m_c, but m_c isn't impressed."
+ ],
+ "random_trait_constraint": [
+ "shameless",
+ "bold"
+ ]
+ },
+ {
+ "id": "dislike_inc_med6",
+ "interactions": [
+ "r_c pulled a prank on m_c.",
+ "r_c blamed m_c for {PRONOUN/r_c/poss} own mistake.",
+ "m_c is tired of all the pranks r_c pulls on {PRONOUN/m_c/object}.",
+ "m_c notices that things always go wrong when r_c is around.",
+ "m_c starts to always blame r_c if something bad happens.",
+ "m_c thinks r_c is bad luck.",
+ "r_c won't stop bothering m_c."
+ ],
+ "random_trait_constraint": [
+ "troublesome"
+ ]
+ },
+ {
+ "id": "dislike_effect_other1",
+ "relationship_constraint": [
+ "dislike_40"
+ ],
+ "interactions": [
+ "r_c is spreading a rumor about m_c.",
+ "r_c is mocking m_c.",
+ "r_c is bragging about being better than m_c.",
+ "r_c is belittling m_c's accomplishments.",
+ "r_c is always talking about how much {PRONOUN/r_c/subject} {VERB/r_c/dislike/dislikes} m_c.",
+ "r_c's friends are tired of hearing about all of the things {PRONOUN/r_c/subject} {VERB/r_c/hate/hates} about m_c.",
+ "The Clan is starting to get nervous about how much m_c and r_c dislike one another.",
+ "m_c and r_c argue and fight like it's in their blood to do so.",
+ "The Clan worries about whether r_c would help m_c if something went wrong.",
+ "r_c is telling others about how terrible m_c can really be.",
+ "r_c leaves as soon as m_c arrives and refuses to be nearby."
+ ]
+ },
+ {
+ "id": "dislike_kit_inc_med1",
+ "interactions": [
+ "m_c trips over r_c.",
+ "m_c had to nip r_c on the rump because {PRONOUN/r_c/subject} {VERB/r_c/were/was} being naughty.",
+ "m_c growls at r_c to get out from under {PRONOUN/m_c/poss} paws.",
+ "m_c snaps at r_c's annoying antics.",
+ "m_c tells someone to get r_c away from {PRONOUN/m_c/object}."
+ ],
+ "main_status_constraint": [
+ "elder",
+ "apprentice",
+ "warrior",
+ "mediator apprentice",
+ "mediator",
+ "medicine cat apprentice",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "kitten"
+ ],
+ "reaction_random_cat": {
+ "dislike": "increase"
+ }
+ },
+ {
+ "id": "dislike_dep_leader_inc_med1",
+ "interactions": [
+ "m_c punishes r_c with extra work.",
+ "m_c divides r_c into extra patrols.",
+ "m_c gives r_c a particularly hard task, expecting {PRONOUN/r_c/object} to fail.",
+ "m_c always tries to avoid making r_c the leader of a patrol.",
+ "m_c scolds r_c like a kit for something trivial.",
+ "m_c says r_c sets a bad example of a warrior."
+ ],
+ "main_status_constraint": [
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "warrior"
+ ],
+ "reaction_random_cat": {
+ "dislike": "increase"
+ }
+ },
+ {
+ "id": "dislike_dep_leader_inc_med2",
+ "interactions": [
+ "m_c punishes r_c with extra work.",
+ "m_c divides r_c into extra patrols.",
+ "m_c gives r_c a particularly hard task, expecting {PRONOUN/r_c/object} to fail.",
+ "m_c threatens r_c with never passing {PRONOUN/r_c/poss} assessment!",
+ "m_c tells other cats that r_c is not doing well in {PRONOUN/r_c/poss} training.",
+ "m_c scolds r_c like a kit for something trivial.",
+ "m_c says r_c sets a bad example of a warrior."
+ ],
+ "main_status_constraint": [
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "apprentice"
+ ],
+ "reaction_random_cat": {
+ "dislike": "increase"
+ }
+ },
+ {
+ "id": "dislike_med_inc_med1",
+ "interactions": [
+ "m_c gives r_c bitter herbs on purpose.",
+ "m_c snaps at r_c for seeking treatment for something trivial and wasting {PRONOUN/m_c/poss} time.",
+ "m_c always tends to r_c last.",
+ "m_c doesn't warn r_c before applying a stinging poultice.",
+ "When r_c comes to m_c with pain, m_c tells {PRONOUN/r_c/object} to suck it up.",
+ "When r_c asks m_c for advice about a prophetic dream, m_c laughs {PRONOUN/r_c/object} away.",
+ "m_c claims to accidentally have given r_c the wrong herb."
+ ],
+ "main_status_constraint": [
+ "medicine cat apprentice",
+ "medicine cat"
+ ],
+ "reaction_random_cat": {
+ "dislike": "increase"
+ }
+ },
+ {
+ "id": "dislike_inc_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c thinks r_c is annoying.",
+ "m_c can't stand being around r_c.",
+ "m_c daydreams about r_c being exiled.",
+ "m_c thinks about telling others that r_c broke the code.",
+ "m_c finds fault in everything r_c does.",
+ "m_c always assumes the worst of r_c.",
+ "A Clanmate claims that m_c wants r_c dead.",
+ "The Clan is very uncomfortable whenever m_c talks about r_c.",
+ "m_c makes all kinds of faces whenever r_c is brought up in conversation.",
+ "m_c sighs at the mere mention of r_c."
+ ]
+ },
+ {
+ "id": "dislike_inc_high2",
+ "intensity": "high",
+ "interactions": [
+ "m_c had a fight with r_c.",
+ "m_c had a heated argument with r_c and said some very hurtful things.",
+ "m_c and r_c nearly got in a bloody fight if it weren't for the intervention of a Clanmate.",
+ "m_c and r_c are always backtalking to each other.",
+ "m_c and r_c snarl at one another over something trivial.",
+ "r_c told all of m_c's friends something embarrassing about {PRONOUN/m_c/object}.",
+ "m_c accuses r_c of lying about something important.",
+ "The Clan can't believe the things m_c and r_c say to one another.",
+ "m_c insults one of r_c's insecurities.",
+ "m_c made an extremely hurtful remark about one of r_c's friends just to spite r_c.",
+ "m_c argues with r_c in front of other cats and reveals something embarrassing."
+ ],
+ "reaction_random_cat": {
+ "dislike": "increase"
+ }
+ },
+ {
+ "id": "dislike_inc_high3",
+ "intensity": "high",
+ "relationship_constraint": [
+ "dislike_50"
+ ],
+ "interactions": [
+ "m_c shudders at the sound of r_c's voice.",
+ "m_c will do anything to avoid being anywhere near r_c.",
+ "m_c hopes that r_c leaves camp and doesn't come back some day.",
+ "m_c considers leaving r_c for dead if something ever happened to {PRONOUN/r_c/object}.",
+ "m_c doesn't believe r_c is capable of doing anything good.",
+ "m_c thinks the Clan would be better without r_c in it.",
+ "m_c remembers only bad things about r_c.",
+ "m_c tells r_c's friends awful things about r_c.",
+ "m_c dreams about r_c disappearing and wakes up disappointed that it wasn't real.",
+ "m_c dreams about employing a rogue to scar r_c... or worse.",
+ "m_c doesn't believe r_c is capable of good.",
+ "m_c refuses to do any work with r_c."
+ ]
+ },
+ {
+ "id": "dislike_inc_high4",
+ "intensity": "high",
+ "interactions": [
+ "m_c accuses r_c of being a bad leader.",
+ "m_c accuses r_c of not taking care of the Clan.",
+ "m_c thinks the Clan would be better if it wasn't under r_c's leadership.",
+ "m_c wants to start an uprising against r_c.",
+ "m_c doesn't think r_c deserves {PRONOUN/r_c/poss} nine lives.",
+ "m_c tells {PRONOUN/m_c/poss} Clanmates that r_c should be overthrown.",
+ "m_c accuses r_c of being a mouthpiece of the Dark Forest.",
+ "m_c says r_c makes a mockery of past leaders' legacies.",
+ "m_c heckles r_c during meetings.",
+ "m_c accuses r_c of not putting the Clan first."
+ ],
+ "relationship_constraint": [
+ "dislike_50"
+ ],
+ "random_status_constraint": [
+ "leader"
+ ]
+ },
+ {
+ "id": "dislike_inc_high5",
+ "intensity": "high",
+ "interactions": [
+ "m_c accuses r_c of being a bad deputy.",
+ "m_c scoffs at r_c's instructions.",
+ "m_c says that r_c is such a bad deputy {PRONOUN/r_c/subject} should step down."
+ ],
+ "relationship_constraint": [
+ "dislike_50"
+ ],
+ "random_status_constraint": [
+ "deputy"
+ ],
+ "reaction_random_cat": {
+ "dislike": "increase"
+ }
+ },
+ {
+ "id": "dislike_inc_high6",
+ "intensity": "high",
+ "interactions": [
+ "m_c is scolding r_c.",
+ "m_c is bossing r_c around.",
+ "m_c calls r_c a threat to the safety of the Clan.",
+ "m_c and r_c are arguing about something important and risking the Clan's safety.",
+ "m_c threatens r_c with exile.",
+ "m_c makes r_c do a tiring chore for the rest of the moon as punishment for something minor.",
+ "m_c threatens to give r_c a terrible name.",
+ "m_c claims {PRONOUN/m_c/subject} spoke with StarClan and heard bad things about r_c."
+ ],
+ "main_status_constraint": [
+ "medicine cat",
+ "deputy",
+ "leader"
+ ],
+ "reaction_random_cat": {
+ "platonic": "decrease",
+ "comfortable": "decrease",
+ "admiration": "decrease",
+ "trust": "decrease"
+ }
+ },
+ {
+ "id": "dislike_inc_high7",
+ "intensity": "high",
+ "interactions": [
+ "m_c thinks {PRONOUN/m_c/subject} should be deputy instead of r_c.",
+ "m_c is tired from r_c putting {PRONOUN/m_c/object} on so many patrols.",
+ "m_c rolls {PRONOUN/m_c/poss} eyes whenever r_c assigns patrols.",
+ "m_c tries to convince other cats that r_c should step down from being deputy."
+ ],
+ "relationship_constraint": [
+ "dislike_40"
+ ],
+ "random_status_constraint": [
+ "deputy"
+ ],
+ "main_status_constraint": [
+ "apprentice",
+ "warrior"
+ ],
+ "also_influences": {
+ "jealousy": "increase"
+ }
+ },
+ {
+ "id": "dislike_kit_de_med1",
+ "interactions": [
+ "m_c sticks {PRONOUN/m_c/poss} tongue out at r_c.",
+ "m_c makes stinky faces at r_c for seemingly no reason.",
+ "m_c calls r_c a stinky dirt-face.",
+ "m_c and r_c play hide and seek, but r_c supposedly forgets to look for m_c for hours."
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ],
+ "reaction_random_cat": {
+ "dislike": "increase"
+ }
+ },
+ {
+ "id": "dislike_kit_de_med2",
+ "interactions": [
+ "m_c tried to have a friendly discussion with r_c about what prey tastes best, but it turned into an argument.",
+ "m_c and r_c always end up arguing over what games to play.",
+ "m_c tells an older Clanmate that r_c did something bad.",
+ "m_c snitches on r_c to an older Clanmate.",
+ "m_c cries that r_c hurt {PRONOUN/m_c/object}, but is lying.",
+ "m_c is not playing fairly with r_c!"
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ],
+ "random_status_constraint": [
+ "kitten"
+ ],
+ "reaction_random_cat": {
+ "dislike": "increase"
+ }
+ },
+ {
+ "id": "dislike_kit_inc_med3",
+ "interactions": [
+ "m_c whines that r_c won't play with {PRONOUN/m_c/object}, even though {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} always around camp.",
+ "m_c doesn't understand why r_c won't let {PRONOUN/m_c/object} play in the medicine cat den."
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ],
+ "random_status_constraint": [
+ "elder",
+ "mediator apprentice",
+ "medicine cat apprentice"
+ ]
+ }
+]
diff --git a/resources/dicts/relationship_events/normal_interactions/jealousy/decrease.json b/resources/dicts/relationship_events/normal_interactions/jealousy/decrease.json
index 34adbc6e03..0d49a5204b 100644
--- a/resources/dicts/relationship_events/normal_interactions/jealousy/decrease.json
+++ b/resources/dicts/relationship_events/normal_interactions/jealousy/decrease.json
@@ -1,112 +1,151 @@
-[
- {
- "id": "jel_de_low1",
- "intensity": "low",
- "interactions": [
- "m_c thinks r_c is very helpful!",
- "m_c offers to help r_c."
- ]
- },
- {
- "id": "jel_de_med1",
- "interactions": [
- "m_c surprises r_c with something nice.",
- "m_c was given a gift but gave it to r_c knowing {PRONOUN/r_c/subject} would like it more."
- ]
- },
- {
- "id": "jel_de_med2",
- "interactions": [
- "m_c swaps favorite prey with r_c.",
- "m_c offers r_c a piece of fresh kill they both like."
- ],
- "reaction_random_cat": {
- "jealousy": "decrease"
- }
- },
- {
- "id": "jel_de_med3",
- "interactions": [
- "m_c always thought r_c had it all figured out, so {PRONOUN/m_c/subject} {VERB/m_c/were/was} surprised when r_c asked for help.",
- "m_c catches r_c in a moment of weakness and offers support."
- ],
- "main_status_constraint": [
- "kitten",
- "apprentice",
- "mediator apprentice",
- "medicine cat apprentice",
- "warrior"
- ],
- "random_status_constraint": [
- "warrior",
- "elder",
- "medicine cat",
- "mediator",
- "deputy"
- ]
- },
- {
- "id": "jealousy_app_de_med1",
- "interactions": [
- "m_c has been listening to r_c talk about how hard training has been.",
- "m_c comforts r_c after a hard day's training.",
- "m_c watches r_c train and acknowledges {PRONOUN/r_c/poss} effort."
- ],
- "main_status_constraint": [
- "apprentice",
- "mediator apprentice",
- "medicine cat apprentice"
- ],
- "random_status_constraint": [
- "medicine cat apprentice",
- "apprentice",
- "mediator apprentice"
- ],
- "reaction_random_cat": {
- "comfortable": "increase",
- "platonic": "increase"
- },
- "also_influences": {
- "platonic": "increase"
- }
- },
- {
- "id": "jealousy_app_de_med2",
- "interactions": [
- "m_c has been listening to r_c talk about how difficult herb memorization is.",
- "m_c helps r_c wash mouse bile off of {PRONOUN/r_c/poss} paws.",
- "m_c helps r_c sort ragwort."
- ],
- "main_status_constraint": [
- "apprentice",
- "mediator apprentice",
- "medicine cat apprentice"
- ],
- "random_status_constraint": [
- "medicine cat apprentice"
- ],
- "reaction_random_cat": {
- "comfortable": "increase"
- },
- "also_influences": {
- "admiration": "increase"
- }
- },
- {
- "id": "jel_de_high1",
- "intensity": "high",
- "interactions": [
- "m_c is really surprised that r_c's life isn't as easy as {PRONOUN/m_c/subject} thought it was."
- ]
- },
- {
- "id": "jel_de_high2",
- "intensity": "high",
- "interactions": [
- "m_c sees that r_c's piece of prey looks tastier and asks if {PRONOUN/r_c/subject}'d like to swap. {PRONOUN/r_c/subject/CAP} {VERB/r_c/agree/agrees} happily, saying {PRONOUN/r_c/subject} {VERB/r_c/like/likes} that one better."
- ],
- "reaction_random_cat": {
- "jealousy": "decrease"
- }
- }
-]
+[
+ {
+ "id": "jel_de_low1",
+ "intensity": "low",
+ "interactions": [
+ "m_c thinks r_c is very helpful!",
+ "m_c notices r_c doing something generous.",
+ "r_c gives m_c a big piece of fresh-kill.",
+ "r_c says {PRONOUN/r_c/subject} {VERB/r_c/hope/hopes} m_c has a nice day.",
+ "m_c sees r_c be kind to one of m_c's friends.",
+ "m_c thinks r_c is very polite.",
+ "m_c hears r_c laugh at a Clanmate's joke even though it was lame.",
+ "r_c gets a bug off of m_c's pelt and takes it out of camp.",
+ "m_c thinks r_c is a very good listener."
+ ]
+ },
+ {
+ "id": "jel_de_med1",
+ "interactions": [
+ "r_c surprises m_c with something nice.",
+ "r_c goes out of {PRONOUN/r_c/poss} way to help m_c with something without being asked.",
+ "r_c brings m_c herbs from the medicine den for a headache.",
+ "r_c tells a Clanmate that m_c did a great job today.",
+ "m_c is grateful for something r_c did."
+ ]
+ },
+ {
+ "id": "jel_de_med2",
+ "interactions": [
+ "m_c swaps favorite prey with r_c.",
+ "m_c and r_c bring each other prey.",
+ "m_c shares nest material with r_c.",
+ "m_c and r_c take turns in a small patch of sunlight.",
+ "m_c shares a bit of shelter from the rain with r_c.",
+ "m_c helps r_c figure out how to word something.",
+ "m_c can't remember a word for the life of {PRONOUN/m_c/object}, but r_c helps {PRONOUN/m_c/object} remember it.",
+ "m_c tells a story to r_c and r_c suggests how to make it even better."
+ ],
+ "reaction_random_cat": {
+ "jealousy": "decrease"
+ }
+ },
+ {
+ "id": "jel_de_med3",
+ "interactions": [
+ "m_c always thought r_c had it all figured out, so {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} surprised when r_c asks for help.",
+ "r_c is embarrassed about something that m_c finds really cool!",
+ "m_c is flattered when r_c asks for {PRONOUN/m_c/object} advice.",
+ "r_c tells m_c that {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} talented for {PRONOUN/m_c/poss} age.",
+ "r_c tells m_c that {PRONOUN/m_c/subject} {VERB/m_c/remind/reminds} {PRONOUN/r_c/object} of when {PRONOUN/r_c/subject} {VERB/r_c/were/was} young.",
+ "r_c compliments m_c on something {PRONOUN/m_c/subject} had worked very hard on."
+ ],
+ "main_status_constraint": [
+ "kitten",
+ "apprentice",
+ "mediator apprentice",
+ "medicine cat apprentice"
+ ],
+ "random_status_constraint": [
+ "warrior",
+ "elder",
+ "medicine cat",
+ "mediator",
+ "deputy",
+ "leader"
+ ]
+ },
+ {
+ "id": "jealousy_app_de_med1",
+ "interactions": [
+ "m_c has been listening to r_c talk about how hard training has been.",
+ "m_c comforts r_c after a hard day's training.",
+ "m_c and r_c exchange stories about their mentors.",
+ "After going on a patrol together, m_c and r_c excitedly gush about how cool it is to be an apprentice.",
+ "r_c messes something up during training, so m_c reassures {PRONOUN/r_c/object} that it's okay to make mistakes.",
+ "m_c and r_c have a long conversation about what they want their warrior names to be."
+ ],
+ "main_status_constraint": [
+ "apprentice",
+ "mediator apprentice",
+ "medicine cat apprentice"
+ ],
+ "random_status_constraint": [
+ "medicine cat apprentice",
+ "apprentice",
+ "mediator apprentice"
+ ],
+ "reaction_random_cat": {
+ "comfortable": "increase",
+ "platonic": "increase"
+ },
+ "also_influences": {
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "jealousy_app_de_med2",
+ "interactions": [
+ "m_c has been listening to r_c talk about how difficult herb memorization is.",
+ "m_c helps r_c wash mouse bile off of {PRONOUN/r_c/poss} paws.",
+ "m_c carries bad-tasting herbs for r_c.",
+ "m_c comforts r_c's anxieties about being a good healer.",
+ "m_c lets r_c practice healing techniques on {PRONOUN/m_c/subject}.",
+ "m_c quizzes r_c on herb knowledge in preparation for a test."
+ ],
+ "main_status_constraint": [
+ "apprentice",
+ "mediator apprentice",
+ "medicine cat apprentice"
+ ],
+ "random_status_constraint": [
+ "medicine cat apprentice"
+ ],
+ "reaction_random_cat": {
+ "comfortable": "increase"
+ },
+ "also_influences": {
+ "admiration": "increase"
+ }
+ },
+ {
+ "id": "jel_de_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c is really surprised that r_c's life isn't as easy as {PRONOUN/m_c/subject} thought it was.",
+ "m_c realizes that {PRONOUN/m_c/subject} and r_c have had a lot of the same hardships.",
+ "m_c learns about r_c's struggles and is surprised how well {PRONOUN/r_c/subject} {VERB/r_c/carry/carries} {PRONOUN/r_c/self}.",
+ "m_c notices that r_c is never congratulated for {PRONOUN/r_c/poss} accomplishments as much as everyone else.",
+ "m_c hears r_c crying over something everyone downplayed the severity of.",
+ "m_c realizes that r_c would put {PRONOUN/r_c/poss} life on the line for a Clanmate.",
+ "m_c learns how much effort r_c put into learning something.",
+ "m_c can hear the truth in r_c's words when {PRONOUN/r_c/subject} {VERB/r_c/talk/talks} about protecting others."
+ ]
+ },
+ {
+ "id": "jel_de_high2",
+ "intensity": "high",
+ "interactions": [
+ "m_c sees that r_c's piece of prey looks tastier and asks if {PRONOUN/r_c/subject}'d like to swap. {PRONOUN/r_c/subject/CAP} {VERB/r_c/agree/agrees} happily, saying {PRONOUN/r_c/subject} {VERB/r_c/like/likes} that one better.",
+ "m_c and r_c find out they're both bringing flowers to the same Clanmate's grave.",
+ "m_c and r_c share stories of a Clanmate they didn't realize they both miss.",
+ "Both m_c and r_c enthusiastically congratulate another Clanmate on something.",
+ "When m_c and r_c realize they've been grooming their pelts the same way, they laugh about it.",
+ "m_c and r_c learn a skill from each other that they've been envious about.",
+ "m_c learns some pelt-grooming techniques from r_c, and tells r_c some of {PRONOUN/m_c/poss} own."
+ ],
+ "reaction_random_cat": {
+ "jealousy": "decrease"
+ }
+ }
+]
diff --git a/resources/dicts/relationship_events/normal_interactions/jealousy/increase.json b/resources/dicts/relationship_events/normal_interactions/jealousy/increase.json
index e1937ff921..379e71300c 100644
--- a/resources/dicts/relationship_events/normal_interactions/jealousy/increase.json
+++ b/resources/dicts/relationship_events/normal_interactions/jealousy/increase.json
@@ -1,196 +1,198 @@
-[
- {
- "id": "jel_inc_low1",
- "intensity": "low",
- "interactions": [
- "m_c wishes {PRONOUN/m_c/subject} could get {PRONOUN/m_c/poss} pelt to shine like r_c's.",
- "m_c wishes {PRONOUN/m_c/poss} claws looked as nice as r_c's."
- ]
- },
- {
- "id": "jel_inc_med1",
- "interactions": [
- "m_c thinks the prey r_c is biting into on the other side of camp looks delicious.",
- "m_c wishes {PRONOUN/m_c/subject} had it as easy as r_c did."
- ]
- },
- {
- "id": "jel_inc_med2",
- "interactions": [
- "m_c is jealous that r_c got to go to the last Gathering.",
- "m_c is jealous that r_c went on patrol without {PRONOUN/m_c/object}."
- ],
- "main_status_constraint": [
- "mediator apprentice",
- "apprentice",
- "warrior"
- ],
- "random_status_constraint": [
- "mediator apprentice",
- "apprentice",
- "medicine cat apprentice",
- "medicine cat",
- "warrior",
- "mediator",
- "deputy"
- ]
- },
- {
- "id": "jealousy_inc_med3",
- "interactions": [
- "m_c is jealous that r_c got praised by the leader.",
- "m_c is jealous that r_c got to fight in a border skirmish when {PRONOUN/m_c/subject} didn't.",
- "m_c is jealous that r_c got to go on border patrol this morning.",
- "m_c doesn't understand how r_c got so good at hunting."
- ],
- "main_status_constraint": [
- "apprentice",
- "medicine cat apprentice",
- "mediator apprentice",
- "warrior"
- ],
- "random_status_constraint": [
- "apprentice",
- "warrior",
- "deputy"
- ]
- },
- {
- "id": "jel_inc_med4",
- "interactions": [
- "m_c is huffing in annoyance seeing that r_c caught more prey than {PRONOUN/m_c/object}.",
- "During a border patrol, an o_c_n patrol stopped them and chatted up a storm with r_c, but more or less ignored m_c...",
- "m_c feels like r_c is always trying to catch more prey than {PRONOUN/m_c/object}."
- ],
- "main_status_constraint": [
- "warrior",
- "apprentice",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "apprentice",
- "warrior",
- "deputy",
- "leader"
- ]
- },
- {
- "id": "jel_inc_med5",
- "interactions": [
- "m_c has been giving r_c the cold shoulder after seeing {PRONOUN/r_c/object} having fun with another cat.",
- "m_c doesn't like the idea of r_c having a mate that isn't {PRONOUN/m_c/object}.",
- "m_c has been trying to monopolize r_c's time after seeing {PRONOUN/r_c/object} showing interest in spending time with another cat."
- ],
- "relationship_constraint": [
- "romantic_15"
- ],
- "reaction_main_cat": {
- "jealousy": "increase"
- }
- },
- {
- "id": "jealousy_kit_inc_med1",
- "interactions": [
- "m_c is jealous that r_c is getting more attention than {PRONOUN/m_c/object}.",
- "m_c is upset that r_c always wins in their games."
- ],
- "main_status_constraint": [
- "kitten"
- ],
- "random_status_constraint": [
- "kitten"
- ]
- },
- {
- "id": "jealousy_kit_inc_med2",
- "interactions": [
- "m_c hisses at r_c for getting a bigger piece of prey.",
- "m_c is upset that r_c always wins in their games.",
- "m_c whines and cries when r_c gets more attention than {PRONOUN/m_c/subject}."
- ],
- "main_status_constraint": [
- "kitten"
- ],
- "random_status_constraint": [
- "kitten"
- ],
- "reaction_random_cat": {
- "dislike": "increase"
- }
- },
- {
- "id": "jealousy_kit_inc_med3",
- "interactions": [
- "m_c looks at r_c and remembers how easy it was to be a kitten.",
- "m_c is resentful that so much is expected of {PRONOUN/m_c/object}, yet no one expects anything of r_c.",
- "m_c watches r_c, wondering why {PRONOUN/m_c/subject} wanted to grow up so bad.",
- "m_c wishes {PRONOUN/m_c/subject} had all the time in the world to play moss ball like r_c."
- ],
- "main_status_constraint": [
- "apprentice",
- "mediator apprentice",
- "medicine cat apprentice"
- ],
- "random_status_constraint": [
- "kitten"
- ],
- "reaction_random_cat": {
- "platonic": "decrease"
- }
- },
-
- {
- "id": "jel_inc_high1",
- "intensity": "high",
- "interactions": [
- "m_c is jealous that r_c gets to do cool super secret medicine cat things.",
- "m_c thinks it's unfair that r_c always gets to go to Gatherings.",
- "m_c is jealous that r_c always smells of beautiful fragrant herbs."
- ],
- "main_status_constraint": [
- "apprentice",
- "mediator apprentice"
- ],
- "random_status_constraint": [
- "medicine cat apprentice"
- ]
- },
- {
- "id": "jel_inc_high2",
- "intensity": "high",
- "interactions": [
- "m_c is complaining that r_c never does anything helpful.",
- "m_c keeps comparing {PRONOUN/m_c/self} to r_c.",
- "m_c hates how r_c has been getting lots of attention as of late."
- ]
- },
- {
- "id": "jel_inc_high3",
- "intensity": "high",
- "interactions": [
- "m_c sees r_c lazing about in the sunshine and is resentful at how little {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} expected to contribute."
- ],
- "random_status_constraint": [
- "elder"
- ]
- },
- {
- "id": "jel_inc_med4",
- "intensity": "high",
- "interactions": [
- "m_c watches r_c in annoyance wishing {PRONOUN/m_c/subject} {VERB/m_c/were/was} as youthful as {PRONOUN/r_c/object}."
- ],
- "main_status_constraint": [
- "elder"
- ],
- "random_status_constraint": [
- "kitten",
- "apprentice",
- "medicine cat apprentice",
- "mediator apprentice",
- "deputy",
- "warrior"
- ]
- }
-]
+[
+ {
+ "id": "jel_inc_low1",
+ "intensity": "low",
+ "interactions": [
+ "m_c wishes {PRONOUN/m_c/subject} could get {PRONOUN/m_c/poss} pelt to shine like r_c's.",
+ "m_c notices one of {PRONOUN/m_c/poss} friends laughing with r_c.",
+ "m_c wants to asks a Clanmate to eat with {PRONOUN/m_c/object}, but they're busy with r_c.",
+ "A Clanmate that m_c wanted to get to know better is already friends with r_c.",
+ "m_c thinks Clanmates talk more highly of r_c than {PRONOUN/m_c/object}.",
+ "m_c suspects that r_c gets special treatment.",
+ "m_c sees a Clanmate complimenting r_c and feels a pang of envy.",
+ "m_c wishes that a Clanmate liked {PRONOUN/m_c/object} as much as they like r_c.",
+ "m_c was scolded for something that r_c gets praised for.",
+ "m_c's friend says nice things about r_c, but it just makes m_c jealous.",
+ "m_c thinks r_c looks nicer than {PRONOUN/m_c/object} today.",
+ "m_c notices one of {PRONOUN/m_c/poss} friends talking to r_c."
+ ]
+ },
+ {
+ "id": "jel_inc_med1",
+ "interactions": [
+ "m_c thinks the prey r_c is biting into on the other side of camp looks delicious.",
+ "m_c notices that r_c makes other Clanmates laugh more than {PRONOUN/m_c/subject} {VERB/m_c/do/does}.",
+ "m_c worries that the Clan trusts r_c more than {PRONOUN/m_c/object}.",
+ "m_c thinks that r_c stole one of {PRONOUN/m_c/poss} ideas.",
+ "The Clan likes one of r_c's suggestions, but it was just m_c's reworded.",
+ "m_c tries to do something like r_c, but just ends up getting embarrassed.",
+ "A Clanmate accuses m_c of copying one of r_c's jokes.",
+ "m_c wishes {PRONOUN/m_c/subject} looked more like r_c.",
+ "m_c thinks that r_c is more talented than {PRONOUN/m_c/object}.",
+ "r_c has a talent that m_c wants to have.",
+ "m_c tried on an accessory that r_c threw away, but realized r_c looked a lot better in it.",
+ "m_c worries that one of {PRONOUN/m_c/poss} friends likes r_c more."
+ ]
+ },
+ {
+ "id": "jel_inc_med2",
+ "interactions": [
+ "m_c is jealous that r_c got to go to the last Gathering.",
+ "r_c was complimented by another Clan during the recent Gathering, but m_c wasn't."
+ ],
+ "main_status_constraint": [
+ "mediator apprentice",
+ "apprentice",
+ "warrior"
+ ],
+ "random_status_constraint": [
+ "mediator apprentice",
+ "apprentice",
+ "medicine cat apprentice",
+ "medicine cat",
+ "warrior",
+ "mediator",
+ "deputy"
+ ]
+ },
+ {
+ "id": "jealousy_inc_med3",
+ "interactions": [
+ "m_c is jealous that r_c was praised by the leader.",
+ "m_c is jealous that r_c got to fight in a border skirmish when {PRONOUN/m_c/subject} didn't.",
+ "m_c is jealous that r_c got to go on border patrol this morning.",
+ "r_c caught a giant piece of prey that m_c wishes {PRONOUN/m_c/subject} did.",
+ "m_c tried to show off on a hunting patrol, but r_c got all the attention instead.",
+ "m_c wishes {PRONOUN/m_c/subject} could be as good a fighter as r_c.",
+ "m_c tries not to get envious hearing one of r_c's crazy patrol stories.",
+ "m_c had a plan during a patrol, but r_c's was a lot better.",
+ "The leader was more impressed by what r_c brought back from a hunting patrol than what m_c did.",
+ "m_c is jealous that r_c went on patrol without {PRONOUN/m_c/object}.",
+ "m_c doesn't understand how r_c got so good at hunting."
+ ],
+ "main_status_constraint": [
+ "apprentice",
+ "mediator apprentice",
+ "warrior"
+ ],
+ "random_status_constraint": [
+ "apprentice",
+ "warrior",
+ "deputy"
+ ]
+ },
+ {
+ "id": "jealousy_kit_inc_med1",
+ "interactions": [
+ "m_c is jealous that r_c is getting more attention than {PRONOUN/m_c/object}.",
+ "r_c gets all the praise that m_c wishes {PRONOUN/m_c/subject} got.",
+ "r_c was told {PRONOUN/r_c/subject} {VERB/r_c/are/is} growing bigger than m_c.",
+ "r_c is better at moss-ball than m_c.",
+ "The older Clanmates always believe r_c over m_c.",
+ "m_c is upset that r_c always wins in their games."
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ],
+ "random_status_constraint": [
+ "kitten"
+ ]
+ },
+ {
+ "id": "jealousy_kit_inc_med2",
+ "interactions": [
+ "m_c hisses at r_c for getting a bigger piece of prey.",
+ "m_c tells r_c {PRONOUN/r_c/subject} {VERB/r_c/don't/doesn't} deserve all the attention from the older cats.",
+ "m_c says r_c's name is stupid, but m_c is just jealous.",
+ "An older Clanmate tells m_c to be nice to r_c."
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ],
+ "random_status_constraint": [
+ "kitten"
+ ],
+ "reaction_random_cat": {
+ "dislike": "increase"
+ }
+ },
+ {
+ "id": "jealousy_kit_inc_med3",
+ "interactions": [
+ "m_c looks at r_c and remembers how easy it was to be a kitten.",
+ "m_c doesn't get why r_c gets away with so much more than m_c did as a kitten.",
+ "m_c is afraid that r_c is going to grow up bigger than {PRONOUN/m_c/object}.",
+ "r_c says that m_c said something mean, and no one will believe m_c's defense.",
+ "m_c gets scolded for not watching r_c when r_c does something naughty.",
+ "m_c is resentful that so much is expected of {PRONOUN/m_c/object}, yet no one expects anything of r_c."
+ ],
+ "main_status_constraint": [
+ "apprentice",
+ "mediator apprentice",
+ "medicine cat apprentice"
+ ],
+ "random_status_constraint": [
+ "kitten"
+ ],
+ "reaction_random_cat": {
+ "platonic": "decrease"
+ }
+ },
+ {
+ "id": "jel_inc_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c is jealous that r_c gets to do cool super secret medicine cat things.",
+ "m_c wants to commune with StarClan like r_c does.",
+ "r_c refuses to tell m_c too much about {PRONOUN/r_c/poss} medicine cat training.",
+ "m_c feels like r_c's life is easier as a medicine cat apprentice.",
+ "m_c tries to get free catmint from r_c, but gets snitched on instead.",
+ "m_c thinks r_c's training sounds way easier than what m_c does now.",
+ "m_c thinks it's unfair that r_c always gets to go to Gatherings."
+ ],
+ "main_status_constraint": [
+ "apprentice",
+ "mediator apprentice"
+ ],
+ "random_status_constraint": [
+ "medicine cat apprentice"
+ ]
+ },
+ {
+ "id": "jel_inc_high2",
+ "intensity": "high",
+ "interactions": [
+ "m_c is complaining that r_c never does anything helpful.",
+ "m_c doesn't get why r_c gets more praise for doing the same thing everyone else does.",
+ "m_c can't stand hearing about how helpful r_c is.",
+ "m_c gets hit with waves of envy whenever r_c is laughing with friends.",
+ "m_c can't understand why Clanmates like r_c so much.",
+ "m_c notices that r_c always gets better fresh-kill to eat.",
+ "A Clanmate tells m_c that r_c's stories are better.",
+ "m_c knows that r_c would be saved before {PRONOUN/m_c/object} during an emergency.",
+ "m_c has big plans for the day, but they're thwarted by r_c doing something more important.",
+ "m_c wants to spend time with friends, but all of them have plans with r_c."
+ ]
+ },
+ {
+ "id": "jel_inc_high3",
+ "intensity": "high",
+ "interactions": [
+ "m_c sees r_c lazing about in the sunshine and is resentful at how little {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} expected to contribute.",
+ "m_c doesn't get why r_c gets big, juicy prey just because of {PRONOUN/r_c/poss} age.",
+ "m_c doesn't like that Clanmates trust r_c more just because {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} older."
+ ],
+ "main_status_constraint": [
+ "mediator apprentice",
+ "apprentice",
+ "medicine cat apprentice",
+ "medicine cat",
+ "warrior",
+ "mediator",
+ "deputy"
+ ],
+ "random_status_constraint": [
+ "elder"
+ ]
+ }
+]
diff --git a/resources/dicts/relationship_events/normal_interactions/neutral.json b/resources/dicts/relationship_events/normal_interactions/neutral.json
index 7fc537ea11..1ac9314a26 100644
--- a/resources/dicts/relationship_events/normal_interactions/neutral.json
+++ b/resources/dicts/relationship_events/normal_interactions/neutral.json
@@ -1,154 +1,180 @@
-[
- {
- "id": "neutral_interaction1",
- "interactions": [
- "m_c saw r_c the other day, but didn't get a chance to meow hello.",
- "m_c bickered about something trivial with r_c.",
- "m_c settles down to eat near r_c.",
- "m_c offered some fresh-kill to r_c but {PRONOUN/r_c/subject} {VERB/r_c/weren't/wasn't} hungry",
- "m_c watches r_c mill about camp.",
- "m_c was so busy {PRONOUN/m_c/subject} didn't have a chance to see r_c.",
- "m_c wonders what r_c is up to now.",
- "m_c nods politely as r_c passes by.",
- "m_c acknowledges r_c with a twitch of {PRONOUN/m_c/poss} whiskers."
- ]
- },
- {
- "id": "neutral_interaction2",
- "interactions": [
- "m_c is giving r_c a task.",
- "m_c is checking on r_c."
- ],
- "main_status_constraint": [
- "medicine cat",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "kitten",
- "apprentice",
- "mediator apprentice",
- "medicine cat apprentice",
- "warrior",
- "mediator",
- "mediator apprentice"
- ]
- },
- {
- "id": "neutral_interaction3",
- "interactions": [
- "m_c is stuttering while speaking to r_c.",
- "r_c listens patiently as m_c talks to {PRONOUN/r_c/object}.",
- "r_c asks m_c to speak up while chatting together.",
- "m_c avoids facing r_c directly while talking."
- ],
- "main_trait_constraint": [
- "nervous"
- ]
- },
- {
- "id": "neutral_interaction4",
- "interactions": [
- "m_c stands tall when r_c walks by.",
- "m_c lifts {PRONOUN/m_c/poss} chin up while passing by r_c."
- ],
- "main_trait_constraint": [
- "confident"
- ]
- },
- {
- "id": "neutral_interaction5",
- "interactions": [
- "m_c caught a glimpse of r_c during a patrol.",
- "m_c saw r_c stalking some prey on a hunting patrol.",
- "m_c and r_c's patrols happened to pass by each other.",
- "m_c hears a mouse squeak during a patrol and looks around right on time to spot r_c carrying a fat mouse back toward camp."
- ],
- "main_status_constraint": [
- "apprentice",
- "warrior",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "apprentice",
- "warrior",
- "deputy",
- "leader"
- ]
- },
- {
- "id": "neutral_interaction6",
- "interactions": [
- "r_c seems to be oblivious to m_c glaring at {PRONOUN/r_c/object} from across camp.",
- "m_c is sharpening {PRONOUN/m_c/poss} claws near r_c.",
- "m_c asks r_c to compare the size and sharpness of their claws together."
- ],
- "main_trait_constraint": [
- "bloodthirsty"
- ]
- },
- {
- "id": "neutral_interaction7",
- "interactions": [
- "m_c doesn't notice r_c leaving camp.",
- "m_c doesn't notice r_c nearly bumping into {PRONOUN/m_c/object}.",
- "m_c doesn't notice r_c call out to {PRONOUN/m_c/object}.",
- "m_c doesn't notice r_c twitching {PRONOUN/r_c/poss} whiskers at {PRONOUN/m_c/object}."
- ],
- "main_trait_constraint": [
- "oblivious"
- ]
- },
- {
- "id": "neutral_interaction8",
- "interactions": [
- "r_c notices m_c sulking around camp again.",
- "r_c sits quietly by m_c.",
- "r_c offers to share tongues with m_c but {PRONOUN/m_c/subject} {VERB/m_c/decline/declines}.",
- "r_c meows hello to m_c, but {PRONOUN/m_c/subject} {VERB/m_c/look/looks} pretty glum still."
- ],
- "main_trait_constraint": [
- "gloomy",
- "lonesome",
- "quiet"
- ]
- },
- {
- "id": "neutral_interaction9",
- "interactions": [
- "m_c always seems to avoid r_c's attempts at small talk.",
- "r_c is amused at how m_c manages to look so grumpy all the time.",
- "m_c pretends not to notice r_c.",
- "m_c avoids running into any cat, but r_c interrupts {PRONOUN/m_c/poss} peaceful silence with something important.",
- "m_c stares at r_c with an unreadable expression."
- ],
- "main_trait_constraint": [
- "grumpy",
- "cold"
- ]
- },
- {
- "id": "neutral_interaction10",
- "interactions": [
- "m_c asked r_c to spar with {PRONOUN/m_c/object} but r_c had too much work to do to accept.",
- "m_c challenged r_c to spar with {PRONOUN/m_c/object}."
- ],
- "main_trait_constraint": [
- "bloodthirsty",
- "bold"
- ],
- "main_status_constraint": [
- "apprentice",
- "warrior",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "apprentice",
- "warrior",
- "deputy",
- "leader"
- ]
- }
-]
+[
+ {
+ "id": "neutral_interaction1",
+ "interactions": [
+ "m_c saw r_c the other day, but didn't get a chance to meow hello.",
+ "m_c bickered about something trivial with r_c.",
+ "m_c nods politely as r_c passes by.",
+ "m_c and r_c trip over the same twig in camp.",
+ "m_c watches r_c wind up for a sneeze, but it never happens.",
+ "m_c asks r_c if {PRONOUN/m_c/poss} fur looks clean.",
+ "m_c and r_c notice a cloud is shaped like a star.",
+ "m_c and r_c notice a cloud is shaped like a mouse.",
+ "m_c and r_c notice a cloud is shaped like a bird.",
+ "m_c points out a constellation to r_c.",
+ "m_c and r_c keep trying to figure out what a bad smell in camp is.",
+ "m_c poses a crazy theory to r_c, and they chat about it for a while.",
+ "m_c asks r_c if there's something in {PRONOUN/m_c/poss} teeth.",
+ "m_c points out a nice rock for r_c to sharpen {PRONOUN/r_c/poss} claws on.",
+ "m_c and r_c fill a puddle in the camp with sand together.",
+ "m_c notices some of r_c's fur on {PRONOUN/m_c/poss} fresh-kill.",
+ "Both m_c and r_c startle at a clap of thunder.",
+ "m_c pretends not to see r_c cough up a hairball.",
+ "m_c and r_c are assigned the same task.",
+ "m_c and r_c accidentally startle one another.",
+ "m_c runs into r_c at the medicine den. They both have a tummy ache from two halves of the same prey.",
+ "m_c and r_c get their fur stuck together with some sap.",
+ "r_c smacks a spider off of m_c.",
+ "r_c has to help m_c stop choking on a huge bone.",
+ "m_c and r_c chat idly about the latest meeting.",
+ "m_c and r_c keep making each other yawn.",
+ "A big bug keeps buzzing around m_c and r_c.",
+ "m_c apologizes to r_c, but r_c doesn't know why.",
+ "m_c and r_c try to say tongue twisters.",
+ "m_c and r_c watch drama unfold in camp.",
+ "m_c and r_c have to break up a fight between their Clanmates.",
+ "When a Clanmate passes by holding stinking herbs, both m_c and r_c gag.",
+ "m_c and r_c work together to make sense of something a Clanmate said.",
+ "m_c and r_c realize they were the only ones that saw a shooting star.",
+ "m_c acknowledges r_c with a twitch of {PRONOUN/m_c/poss} whiskers."
+ ]
+ },
+ {
+ "id": "neutral_interaction2",
+ "interactions": [
+ "m_c is giving r_c a task.",
+ "m_c asks r_c to remind {PRONOUN/m_c/object} of who's already gone on patrol today.",
+ "m_c asks r_c about a certain rule of the Warrior Code that {PRONOUN/m_c/subject} forgot.",
+ "m_c watches r_c training for something and nods approvingly at {PRONOUN/r_c/poss} progress.",
+ "r_c asks m_c about {PRONOUN/m_c/poss} duties.",
+ "After completing a chore, r_c reports to m_c.",
+ "m_c is checking on r_c."
+ ],
+ "main_status_constraint": [
+ "medicine cat",
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "kitten",
+ "apprentice",
+ "mediator apprentice",
+ "medicine cat apprentice",
+ "warrior",
+ "mediator"
+ ]
+ },
+ {
+ "id": "neutral_interaction3",
+ "interactions": [
+ "m_c is stuttering while speaking to r_c.",
+ "r_c asks m_c to speak up while chatting together.",
+ "m_c overthinks something {PRONOUN/m_c/subject} said to r_c.",
+ "m_c does something embarrassing in front of r_c, but r_c doesn't seem to mind.",
+ "m_c hyped {PRONOUN/m_c/self} up to have a conversation with r_c, but r_c's gone somewhere else.",
+ "m_c struggles to get a word in during a conversation with r_c.",
+ "m_c hides from r_c to avoid an awkward interaction.",
+ "m_c agrees with everything that r_c says to avoid an argument."
+ ],
+ "main_trait_constraint": [
+ "nervous"
+ ]
+ },
+ {
+ "id": "neutral_interaction4",
+ "interactions": [
+ "m_c stands tall when r_c walks by.",
+ "m_c tells r_c something that probably could've been kept private.",
+ "r_c watches m_c try and fail at something after claiming {PRONOUN/m_c/subject} {VERB/m_c/were/was} an expert at it.",
+ "m_c puffs out {PRONOUN/m_c/poss} chest when r_c approaches.",
+ "r_c listens to m_c wax about how brave {PRONOUN/m_c/subject} {VERB/m_c/are/is}.",
+ "r_c is starting to doubt the truth behind m_c's epic story.",
+ "r_c doesn't bother to correct the blatantly wrong thing m_c said.",
+ "m_c does not take r_c's correction on something {PRONOUN/m_c/subject} said very well.",
+ "m_c falls flat on {PRONOUN/m_c/poss} face in front of r_c, but just gets right back up and keeps walking.",
+ "m_c lifts {PRONOUN/m_c/poss} chin up while passing by r_c."
+ ],
+ "main_trait_constraint": [
+ "confident",
+ "bold"
+ ]
+ },
+ {
+ "id": "neutral_interaction5",
+ "interactions": [
+ "m_c challenged r_c to spar with {PRONOUN/m_c/object}.",
+ "m_c asks r_c a bold question."
+ ],
+ "main_trait_constraint": [
+ "bold"
+ ]
+ },
+ {
+ "id": "neutral_interaction6",
+ "interactions": [
+ "r_c seems to be oblivious to m_c glaring at {PRONOUN/r_c/object} from across camp.",
+ "m_c is sharpening {PRONOUN/m_c/poss} claws near r_c.",
+ "r_c notices that m_c knows a lot about the Dark Forest.",
+ "r_c wonders when m_c learned so much about cat anatomy.",
+ "r_c has to snap m_c out of staring darkly at another Clanmate.",
+ "r_c sees m_c using a small animal bone to pick food from {PRONOUN/m_c/poss} teeth.",
+ "r_c wonders why m_c knows so much about a Clanmate {PRONOUN/m_c/subject} {VERB/m_c/don't/doesnt} like.",
+ "m_c asks r_c to compare the size and sharpness of their claws together."
+ ],
+ "main_trait_constraint": [
+ "bloodthirsty",
+ "vengeful"
+ ]
+ },
+ {
+ "id": "neutral_interaction7",
+ "interactions": [
+ "m_c doesn't notice r_c leaving camp.",
+ "r_c told a really funny joke, but m_c just looked confused.",
+ "m_c accidentally brings r_c fresh-kill twice.",
+ "r_c has to tell m_c to stop staring at the sun.",
+ "m_c asks r_c what the Warrior Code is again.",
+ "m_c forgets r_c's name.",
+ "m_c can't tell r_c is upset with {PRONOUN/m_c/object}.",
+ "m_c guesses r_c's age, but is wayyyy off.",
+ "m_c doesn't notice r_c twitching {PRONOUN/r_c/poss} whiskers at {PRONOUN/m_c/object}."
+ ],
+ "main_trait_constraint": [
+ "oblivious"
+ ]
+ },
+ {
+ "id": "neutral_interaction8",
+ "interactions": [
+ "r_c notices m_c sulking around camp again.",
+ "r_c doesn't bother to ask why m_c is crying again.",
+ "m_c is happy today, but r_c doubts it will last long.",
+ "r_c tries to comfort m_c, but has no idea what happened to make {PRONOUN/m_c/object} so gloomy.",
+ "r_c gives up on trying to reassure m_c.",
+ "r_c asks how m_c's day is, but m_c's reply is kind of a bummer.",
+ "r_c meows hello to m_c, but {PRONOUN/m_c/subject} {VERB/m_c/look/looks} pretty glum still."
+ ],
+ "main_trait_constraint": [
+ "gloomy",
+ "lonesome"
+ ]
+ },
+ {
+ "id": "neutral_interaction9",
+ "interactions": [
+ "m_c always seems to avoid r_c's attempts at small talk.",
+ "r_c is amused at how m_c manages to look so grumpy all the time.",
+ "m_c avoids running into any cat, but r_c interrupts {PRONOUN/m_c/poss} peaceful silence.",
+ "m_c stares at r_c with an unreadable expression.",
+ "m_c tells a depressing anti-joke to r_c.",
+ "r_c learns the hard way that m_c isn't the best Clanmate to go to for advice.",
+ "m_c walks by r_c, mumbling something about a Clanmate with a sour expression.",
+ "r_c thinks it's funny how closely m_c protects {PRONOUN/m_c/poss} fresh-kill.",
+ "m_c tries to say something rude, but r_c just laughs at it."
+ ],
+ "main_trait_constraint": [
+ "grumpy",
+ "cold"
+ ]
+ }
+]
diff --git a/resources/dicts/relationship_events/normal_interactions/platonic/decrease.json b/resources/dicts/relationship_events/normal_interactions/platonic/decrease.json
index 7eceef8531..03b4168422 100644
--- a/resources/dicts/relationship_events/normal_interactions/platonic/decrease.json
+++ b/resources/dicts/relationship_events/normal_interactions/platonic/decrease.json
@@ -1,194 +1,221 @@
-[
- {
- "id": "platonic_de_low1",
- "intensity": "low",
- "interactions": [
- "m_c thinks r_c isn't very considerate of others.",
- "m_c avoids r_c.",
- "m_c noticed something r_c does that annoyed {PRONOUN/m_c/object}.",
- "m_c wasn't paying attention when r_c was talking to {PRONOUN/m_c/object}.",
- "m_c settled to eat on the opposite side of camp from r_c."
- ]
- },
- {
- "id": "platonic_de_low2",
- "intensity": "medium",
- "interactions": [
- "m_c and r_c have an argument about who should get a pretty feather, and end up destroying it in their fight.",
- "m_c has drawn the ire of r_c by deliberately taking the last of {PRONOUN/r_c/poss} favorite nesting materials for {PRONOUN/m_c/self}.",
- "m_c rolls {PRONOUN/m_c/poss} eyes at r_c.",
- "m_c sneered at r_c."
- ],
- "reaction_random_cat": {
- "platonic": "decrease"
- }
- },
- {
- "id": "platonic_de_med1",
- "intensity": "medium",
- "interactions": [
- "m_c realized r_c was only pretending to pay attention to {PRONOUN/m_c/object} when {PRONOUN/m_c/subject} {VERB/m_c/were/was} talking.",
- "m_c tried to talk to r_c but gave up, seeing how clearly {PRONOUN/r_c/subject} wanted to be doing anything else.",
- "m_c overheard r_c talking about {PRONOUN/m_c/object}, but when pressed for details, r_c denied mentioning {PRONOUN/m_c/object} at all.",
- "m_c got up and walked away when r_c sat nearby.",
- "m_c blatantly ignored r_c.",
- "Lately, m_c's had some choice words for r_c about how {PRONOUN/r_c/subject}{VERB/r_c/'ve/'s} been acting.",
- "m_c asked another cat to pass a message to r_c rather doing it {PRONOUN/m_c/self}.",
- "m_c was passive aggressive towards r_c for taking something {PRONOUN/r_c/subject} knew m_c had {PRONOUN/m_c/poss} eye on all day.",
- "m_c actively avoids r_c any chance {PRONOUN/m_c/subject} {VERB/m_c/get/gets}."
- ]
- },
- {
- "id": "platonic_de_med2",
- "interactions": [
- "m_c is annoyed that {PRONOUN/m_c/subject} {VERB/m_c/have/has} to pull ticks off of r_c today.",
- "m_c refreshes r_c's bedding last out of all the elders.",
- "r_c wanted to thank m_c for doing a good job but m_c seemed irritated the entire time {PRONOUN/m_c/subject} had to be around {PRONOUN/r_c/object}.",
- "m_c was supposed to pull ticks off r_c but {PRONOUN/m_c/subject} never came to do it, leaving {PRONOUN/r_c/object} to itch and itch all day.",
- "m_c is stuck listening to r_c's complaints.",
- "r_c swears m_c has been adding less and less bedding to {PRONOUN/r_c/poss} nest recently...",
- "m_c added r_c's least favorite nesting material to {PRONOUN/r_c/poss} nest.",
- "m_c hid thorns in r_c's bedding.",
- "m_c is stuck listening to a boring story r_c is telling."
- ],
- "main_status_constraint": [
- "apprentice"
- ],
- "random_status_constraint": [
- "elder"
- ]
- },
- {
- "id": "platonic_de_med3",
- "interactions": [
- "r_c makes sure m_c is following the Warrior Code.",
- "r_c has a fight with m_c about what's right."
- ],
- "random_trait_constraint": [
- "righteous"
- ]
- },
- {
- "id": "platonic_de_med4",
- "interactions": [
- "r_c is not backing down in an argument with m_c.",
- "r_c is picking a fight over something m_c thought was already resolved."
- ],
- "random_trait_constraint": [
- "fierce"
- ]
- },
- {
- "id": "platonic_de_med5",
- "interactions": [
- "r_c scorns m_c for not catching enough prey.",
- "r_c criticized m_c's skills.",
- "m_c can't stand r_c's constant nagging.",
- "According to r_c, m_c just can't do anything right.",
- "r_c criticized every single error m_c made."
- ],
- "random_trait_constraint": [
- "strict"
- ]
- },
- {
- "id": "platonic_de_high1",
- "intensity": "high",
- "interactions": [
- "m_c doesn't like how r_c has been talking about {PRONOUN/m_c/poss} mentor.",
- "m_c wishes {PRONOUN/m_c/subject} had r_c's mentor instead."
- ],
- "main_status_constraint": [
- "apprentice",
- "mediator apprentice",
- "medicine cat apprentice"
- ],
- "random_status_constraint": [
- "medicine cat apprentice",
- "apprentice",
- "mediator apprentice"
- ]
- },
- {
- "id": "platonic_de_high2",
- "intensity": "high",
- "interactions": [
- "m_c mocks r_c for becoming a medicine cat apprentice instead of a warrior apprentice.",
- "m_c mocks r_c for smelling like gross herbs.",
- "m_c mocks r_c for smelling like mouse bile.",
- "m_c looks down on r_c, because there's no way {PRONOUN/r_c/subject} could ever be a useful medicine cat."
- ],
- "main_status_constraint": [
- "apprentice"
- ],
- "random_status_constraint": [
- "medicine cat apprentice"
- ],
- "reaction_random_cat": {
- "platonic": "decrease"
- }
- },
- {
- "id": "platonic_de_high3",
- "intensity": "high",
- "interactions": [
- "m_c keeps leaving all of the boring apprentice tasks for r_c to do by {PRONOUN/r_c/self}.",
- "m_c tells r_c's mentor that {PRONOUN/r_c/subject}{VERB/r_c/'ve/'s} been sneaking out of camp without permission.",
- "m_c had a disagreement with r_c over who the better hunter is.",
- "m_c accuses r_c of cheating; there's no way {PRONOUN/r_c/subject} could win so many practice fights fairly."
- ],
- "main_status_constraint": [
- "apprentice",
- "mediator apprentice",
- "medicine cat apprentice"
- ],
- "random_status_constraint": [
- "medicine cat apprentice",
- "apprentice",
- "mediator apprentice"
- ],
- "reaction_random_cat": {
- "dislike": "increase"
- }
- },
- {
- "id": "platonic_de_high_grumpymedcat1",
- "intensity": "high",
- "interactions": [
- "m_c snarls at r_c for coming too close to the herbs.",
- "m_c shoos r_c away, not having time for curious little kits.",
- "m_c tells r_c if {PRONOUN/r_c/subject} {VERB/r_c/don't/doesn't} stay away from the medicine cat den {PRONOUN/m_c/subject} will feed {PRONOUN/r_c/object} nasty tasting herbs!",
- "r_c scrunches {PRONOUN/r_c/poss} nose at m_c and says {PRONOUN/m_c/subject} {VERB/m_c/smell/smells} weird."
- ],
- "main_status_constraint": [
- "medicine cat",
- "medicine cat apprentice"
- ],
- "main_trait_constraint": [
- "cold",
- "grumpy",
- "fierce"
- ],
- "random_status_constraint": [
- "kitten"
- ],
- "reaction_random_cat": {
- "platonic": "decrease"
- }
- },
- {
- "id": "platonic_de_high4",
- "intensity": "high",
- "interactions": [
- "r_c is caught tossing out a gift m_c just gave {PRONOUN/r_c/object}.",
- "m_c caught r_c complaining about {PRONOUN/m_c/object} behind {PRONOUN/m_c/poss} back.",
- "m_c interrupted r_c when {PRONOUN/r_c/subject} {VERB/r_c/were/was} very busy with an important task, ruining {PRONOUN/r_c/poss} focus.",
- "r_c purposefully picked the smallest prey for m_c when {PRONOUN/m_c/subject} asked for help.",
- "r_c was found spreading rumors about m_c stealing stuff from {PRONOUN/r_c/object}.",
- "r_c was caught hiding m_c's belongings.",
- "r_c publicly mocked m_c during a Gathering.",
- "m_c discovered r_c was sabotaging {PRONOUN/m_c/poss} efforts at work.",
- "m_c walked in on r_c destroying a memento {PRONOUN/m_c/subject} cherished."
- ]
- }
-]
+[
+ {
+ "id": "platonic_de_low1",
+ "intensity": "low",
+ "interactions": [
+ "m_c thinks r_c isn't very considerate of others.",
+ "m_c gets a little irritated seeing r_c ignore a mess in camp.",
+ "r_c accidentally gave m_c a piece of fresh-kill {PRONOUN/m_c/subject} didn't like.",
+ "r_c doesn't seem very concerned when m_c complains about something aching.",
+ "m_c feels like r_c wasn't listening to {PRONOUN/m_c/object}.",
+ "r_c didn't put a lot of thought into an answer for m_c's question.",
+ "m_c doesn't see why r_c is upset about something trivial.",
+ "r_c yawns while m_c is trying to tell {PRONOUN/r_c/object} something.",
+ "m_c asks for the last of r_c's fresh-kill, but r_c says no.",
+ "r_c won't help m_c fix {PRONOUN/m_c/poss} nest."
+ ]
+ },
+ {
+ "id": "platonic_de_low2",
+ "intensity": "low",
+ "interactions": [
+ "m_c and r_c have an argument about who should get a pretty feather, and end up destroying it in their fight.",
+ "m_c has drawn the ire of r_c by deliberately taking the last of {PRONOUN/r_c/poss} favorite nesting materials for {PRONOUN/m_c/self}.",
+ "m_c and r_c keep talking over each other on accident.",
+ "After m_c tidies up an area, r_c accidentally messes it up again.",
+ "m_c confesses something to r_c, but realizes {PRONOUN/r_c/subject} can't relate at all.",
+ "When m_c gets a little hurt, r_c giggles before asking if {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} okay.",
+ "m_c tells r_c to talk a little quieter.",
+ "m_c keeps asking r_c to explain a joke, but r_c just says that m_c had to be there.",
+ "m_c stretched in front of r_c. r_c didn't get a great view.",
+ "r_c asked m_c to cover {PRONOUN/m_c/poss} mouth while {PRONOUN/m_c/subject} {VERB/m_c/cough/coughs}, so m_c coughed on {PRONOUN/r_c/object} out of spite."
+ ],
+ "reaction_random_cat": {
+ "platonic": "decrease"
+ }
+ },
+ {
+ "id": "platonic_de_med1",
+ "intensity": "medium",
+ "interactions": [
+ "m_c caught r_c complaining about {PRONOUN/m_c/object} behind {PRONOUN/m_c/poss} back.",
+ "r_c insulted m_c's looks behind {PRONOUN/m_c/poss} back and thought m_c didn't hear it.",
+ "m_c notices how rude r_c is being to a Clanmate.",
+ "m_c is surprised by the hurtful things r_c can say in an argument.",
+ "r_c accuses m_c of lying about something m_c has no reason to lie about.",
+ "m_c is hurt by one of r_c's pranks, but r_c doesn't seem to believe {PRONOUN/m_c/object}.",
+ "m_c thinks that r_c is acting overly dramatic lately.",
+ "r_c won't give up a warm, sunny spot for m_c, not even for a minute.",
+ "m_c keeps telling r_c to stop saying a joke, but r_c doesn't take {PRONOUN/m_c/poss} request seriously.",
+ "m_c is baffled by something r_c says about religion.",
+ "r_c makes a crude remark about the Clan to m_c."
+ ]
+ },
+ {
+ "id": "platonic_de_med2",
+ "interactions": [
+ "m_c is annoyed that {PRONOUN/m_c/subject} {VERB/m_c/have/has} to pull ticks off of r_c today.",
+ "m_c doesn't like being bossed around by r_c just because {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} young.",
+ "m_c is bored by r_c's stories.",
+ "m_c wishes that r_c would talk a little faster.",
+ "m_c is sick of replacing r_c's stinky bedding."
+ ],
+ "main_status_constraint": [
+ "apprentice"
+ ],
+ "random_status_constraint": [
+ "elder"
+ ]
+ },
+ {
+ "id": "platonic_de_med3",
+ "interactions": [
+ "r_c makes sure m_c is following the Warrior Code.",
+ "r_c snaps at m_c for making a joke about the Clan.",
+ "r_c has a fight with m_c about what's right."
+ ],
+ "random_trait_constraint": [
+ "righteous"
+ ]
+ },
+ {
+ "id": "platonic_de_med4",
+ "interactions": [
+ "r_c is not backing down in an argument with m_c.",
+ "r_c is getting too violent in an argument with m_c.",
+ "r_c is saying some harsh things to m_c during a disagreement.",
+ "m_c is taken aback by some of the cruel things r_c is saying to {PRONOUN/m_c/object}."
+ ],
+ "random_trait_constraint": [
+ "fierce",
+ "bloodthirsty",
+ "vengeful",
+ "cold"
+ ]
+ },
+ {
+ "id": "platonic_de_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c doesn't like how r_c has been talking about {PRONOUN/m_c/poss} mentor.",
+ "m_c wishes {PRONOUN/m_c/subject} had r_c's mentor instead.",
+ "m_c thinks that r_c complains too much about {PRONOUN/r_c/poss} training.",
+ "r_c won't stop taking up so much room in the apprentice den at night, and keeps kicking m_c.",
+ "m_c notices that r_c doesn't take {PRONOUN/r_c/poss} training as seriously as the other apprentices."
+ ],
+ "main_status_constraint": [
+ "apprentice",
+ "mediator apprentice",
+ "medicine cat apprentice"
+ ],
+ "random_status_constraint": [
+ "medicine cat apprentice",
+ "apprentice",
+ "mediator apprentice"
+ ]
+ },
+ {
+ "id": "platonic_de_high2",
+ "intensity": "high",
+ "interactions": [
+ "m_c mocks r_c for becoming a medicine cat apprentice instead of a warrior apprentice.",
+ "m_c mocks r_c for smelling like gross herbs.",
+ "m_c mocks r_c for smelling like mouse bile.",
+ "m_c keeps trying to quiz r_c on herbs that r_c doesn't know yet.",
+ "m_c looks down on r_c, because there's no way {PRONOUN/r_c/subject} could ever be a useful medicine cat.",
+ "m_c doesn't trust r_c to heal {PRONOUN/m_c/object} wound."
+ ],
+ "main_status_constraint": [
+ "apprentice"
+ ],
+ "random_status_constraint": [
+ "medicine cat apprentice"
+ ],
+ "reaction_random_cat": {
+ "platonic": "decrease"
+ }
+ },
+ {
+ "id": "platonic_de_high3",
+ "intensity": "high",
+ "interactions": [
+ "m_c keeps leaving all of the boring apprentice tasks for r_c to do by {PRONOUN/r_c/self}.",
+ "m_c tells r_c's mentor that {PRONOUN/r_c/subject}{VERB/r_c/'ve/'s} been sneaking out of camp without permission.",
+ "m_c has a disagreement with r_c over who is the better hunter.",
+ "m_c tells r_c to go back to the nursery if {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} gonna keep acting like a kitten!",
+ "m_c's mentor compliments r_c more than their own apprentice.",
+ "The Clan doesn't think the friendly apprentice competition between m_c and r_c is very friendly anymore.",
+ "m_c accuses r_c of cheating; there's no way {PRONOUN/r_c/subject} could win so many practice fights fairly."
+ ],
+ "main_status_constraint": [
+ "apprentice"
+ ],
+ "random_status_constraint": [
+ "apprentice"
+ ],
+ "reaction_random_cat": {
+ "dislike": "increase"
+ }
+ },
+ {
+ "id": "platonic_de_high_grumpymedcat1",
+ "intensity": "high",
+ "interactions": [
+ "m_c snarls at r_c for coming too close to the herbs.",
+ "m_c shoos r_c away, not having time for curious little kits.",
+ "m_c tells r_c if {PRONOUN/r_c/subject} {VERB/r_c/don't/doesn't} stay away from the medicine den {PRONOUN/m_c/subject} will feed {PRONOUN/r_c/object} nasty tasting herbs!"
+ ],
+ "main_status_constraint": [
+ "medicine cat",
+ "medicine cat apprentice"
+ ],
+ "main_trait_constraint": [
+ "cold",
+ "grumpy",
+ "fierce"
+ ],
+ "random_status_constraint": [
+ "kitten"
+ ],
+ "reaction_random_cat": {
+ "platonic": "decrease"
+ }
+ },
+ {
+ "id": "platonic_de_high4",
+ "intensity": "high",
+ "interactions": [
+ "m_c feels betrayed by something r_c said.",
+ "m_c won't tell the Clan what's made {PRONOUN/m_c/object} so upset with r_c.",
+ "After r_c says something seemingly innocent, m_c sulks for the rest of the day.",
+ "r_c's ego about something irritates m_c.",
+ "m_c is reevaluating how much {PRONOUN/m_c/subject} {VERB/m_c/value/values} r_c as a Clanmate.",
+ "r_c says something that goes against m_c's morals.",
+ "m_c struggles to accept r_c's different opinion on something.",
+ "m_c doesn't like it when r_c is all talk and no action.",
+ "m_c takes a bout of bad weather as a bad omen about r_c.",
+ "m_c dreams about something that feels prophetic, and starts to act strange around r_c.",
+ "m_c realizes how much {PRONOUN/m_c/subject} {VERB/m_c/hate/hates} something about r_c."
+ ]
+ },
+ {
+ "id": "platonic_de_high5",
+ "intensity": "high",
+ "interactions": [
+ "r_c says something hateful to m_c.",
+ "In the middle of a squabble, r_c says something to m_c that makes the whole Clan gasp.",
+ "m_c keeps getting on r_c for a bad habit, and it's putting a rift between them.",
+ "r_c doesn't respect m_c's personal space lately.",
+ "m_c snaps at r_c to leave {PRONOUN/m_c/object} alone.",
+ "m_c tries to comfort r_c, but r_c shoves {PRONOUN/m_c/object} away.",
+ "r_c has been getting on m_c's nerves as of late.",
+ "m_c mocks r_c for something inconsequential.",
+ "m_c tells r_c something {PRONOUN/m_c/subject} {VERB/m_c/hate/hates} about {PRONOUN/r_c/object}.",
+ "The Clan watches m_c and r_c slowly lose their patience with one another.",
+ "A Clanmate has to comfort m_c when r_c says something cruel."
+ ],
+ "reaction_random_cat": {
+ "platonic": "decrease"
+ }
+ }
+]
diff --git a/resources/dicts/relationship_events/normal_interactions/platonic/increase.json b/resources/dicts/relationship_events/normal_interactions/platonic/increase.json
index 7050087fee..efce1a5a22 100644
--- a/resources/dicts/relationship_events/normal_interactions/platonic/increase.json
+++ b/resources/dicts/relationship_events/normal_interactions/platonic/increase.json
@@ -1,705 +1,638 @@
-[
- {
- "id": "platonic_inc_low1",
- "intensity": "low",
- "interactions": [
- "m_c thinks r_c was nice to {PRONOUN/m_c/object} today.",
- "m_c nods to r_c in acknowledgement as {PRONOUN/m_c/subject} {VERB/m_c/pass/passes} {PRONOUN/r_c/object}.",
- "m_c and r_c sunbathed together.",
- "m_c stopped r_c to pick a stray leaf out of {PRONOUN/r_c/poss} fur {PRONOUN/r_c/subject} hadn't noticed.",
- "m_c and r_c had a chat and realized they had the same favorite nesting material.",
- "r_c splashes m_c as {PRONOUN/m_c/subject} {VERB/m_c/pass/passes} a puddle."
- ]
- },
- {
- "id": "platonic_inc_low2",
- "intensity": "low",
- "interactions": [
- "m_c is talking with r_c.",
- "m_c asks r_c how {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} doing.",
- "m_c nods to r_c as they eat prey near each other."
- ],
- "reaction_random_cat": {
- "platonic": "increase"
- }
- },
- {
- "id": "platonic_inc_med1",
- "interactions": [
- "m_c saw r_c the other day and did get a chance to meow hello!",
- "m_c reminds r_c to grab something from the fresh-kill pile if {PRONOUN/r_c/subject} {VERB/r_c/have/has}n't already.",
- "m_c is watching the shooting stars with r_c.",
- "m_c panicked when r_c stumbled down a hill during a walk, but when {PRONOUN/r_c/subject} sat up perfectly fine, both cats had a laugh at r_c's clumsiness"
- ]
- },
- {
- "id": "platonic_inc_med2",
- "interactions": [
- "m_c is telling a story to r_c.",
- "m_c is sharing prey with r_c.",
- "m_c chats with r_c while grabbing something to eat.",
- "m_c snuck some of r_c's favorite nesting material into {PRONOUN/r_c/poss} nest."
- ],
- "reaction_random_cat": {
- "platonic": "increase"
- }
- },
- {
- "id": "platonic_inc_med3",
- "interactions": [
- "m_c waves to r_c with {PRONOUN/m_c/poss} tail as their patrols cross paths on the territory.",
- "m_c calls to r_c to catch {PRONOUN/m_c/object} a nice fat mouse on {PRONOUN/r_c/poss} next hunting patrol.",
- "m_c hopes {PRONOUN/m_c/subject} {VERB/m_c/are/is} assigned to patrol with r_c tomorrow.",
- "m_c and r_c had a great time on patrol together!",
- "m_c missed a catch during a patrol but r_c cheered {PRONOUN/m_c/object} up.",
- "m_c surprised r_c with a really cool move during training.",
- "m_c and r_c were perfectly in sync during training!",
- "m_c thanks r_c for what {PRONOUN/r_c/subject} {VERB/r_c/do/does} for the Clan."
- ],
- "main_status_constraint": [
- "apprentice",
- "deputy",
- "leader",
- "warrior"
- ],
- "random_status_constraint": [
- "apprentice",
- "deputy",
- "leader",
- "warrior"
- ],
- "reaction_random_cat": {
- "platonic": "increase"
- }
- },
- {
- "id": "platonic_inc_med4",
- "interactions": [
- "r_c charms m_c.",
- "r_c smiles at m_c whenever they meet.",
- "r_c knows what to say to make m_c feel better.",
- "r_c compliments m_c for {PRONOUN/m_c/poss} good disposition."
- ],
- "random_trait_constraint": [
- "charismatic",
- "flamboyant",
- "confident"
- ]
- },
- {
- "id": "platonic_inc_med5",
- "interactions": [
- "r_c relaxing with m_c.",
- "r_c is helping m_c calm down.",
- "r_c is soothing m_c's irrational thoughts."
- ],
- "random_trait_constraint": [
- "calm",
- "compassionate",
- "sincere",
- "quiet"
- ]
- },
- {
- "id": "platonic_inc_med6",
- "interactions": [
- "r_c challenges m_c to a race.",
- "m_c dared r_c to eat a strange looking bug."
- ],
- "random_trait_constraint": [
- "daring",
- "childish",
- "playful",
- "troublesome",
- "bullying"
- ]
- },
- {
- "id": "platonic_inc_med7",
- "interactions": [
- "r_c is making sure m_c knows that {PRONOUN/m_c/subject} {VERB/m_c/are/is} loved.",
- "r_c is telling m_c how much {PRONOUN/r_c/subject} {VERB/r_c/cherish/cherishes} {PRONOUN/m_c/object}.",
- "r_c is purring loudly to comfort m_c."
- ],
- "random_trait_constraint": [
- "loving",
- "compassionate",
- "sincere",
- "sweet"
- ]
- },
- {
- "id": "platonic_inc_med8",
- "interactions": [
- "r_c is playing tag with m_c.",
- "r_c bats a bit of fluff in front of m_c and gets {PRONOUN/m_c/object} to play a game.",
- "m_c and r_c pulled a prank together.",
- "m_c and r_c are making faces at each other across camp and laughing."
- ],
- "random_trait_constraint": [
- "playful",
- "childish",
- "troublesome"
- ]
- },
- {
- "id": "platonic_inc_med9",
- "interactions": [
- "m_c feels bad that {PRONOUN/m_c/subject} caused a problem for r_c.",
- "m_c convinces r_c to help {PRONOUN/m_c/object} pull a prank on a Clanmate.",
- "m_c made sure not to cause any trouble for r_c.",
- "m_c pulled a prank on r_c that {PRONOUN/m_c/subject} knew r_c would appreciate."
- ],
- "main_trait_constraint": [
- "troublesome"
- ],
- "reaction_random_cat": {
- "platonic": "increase"
- }
- },
- {
- "id": "platonic_inc_med10",
- "interactions": [
- "m_c wants to explore Twolegplace with r_c.",
- "m_c wants to sneak along the border with r_c.",
- "m_c tells r_c that there's so much to see in the world!"
- ],
- "main_status_constraint": [
- "apprentice",
- "medicine cat apprentice",
- "mediator apprentice",
- "warrior",
- "medicine cat",
- "mediator",
- "deputy",
- "leader",
- "elder"
- ],
- "main_trait_constraint": [
- "adventurous",
- "ambitious",
- "flamboyant",
- "arrogant",
- "bold",
- "confident",
- "daring",
- "rebellious",
- "sneaky"
- ]
- },
- {
- "id": "platonic_inc_med11",
- "interactions": [
- "m_c is hiding behind a bush ready to pounce on r_c.",
- "m_c laughed at a childish joke r_c made.",
- "m_c and r_c are making faces at each other across camp and laughing."
- ],
- "random_trait_constraint": [
- "childish",
- "playful",
- "troublesome",
- "bouncy"
- ]
- },
- {
- "id": "platonic_inc_med12",
- "interactions": [
- "m_c wants to explore the whole territory with r_c!",
- "m_c is having a wonderful time discussing recent Clan news with r_c.",
- "m_c is happy to have a chance to chat with r_c.",
- "m_c playfully teased r_c about {PRONOUN/r_c/poss} love life.",
- "m_c wants to be an even better friend to r_c."
- ],
- "relationship_constraint": [
- "platonic_40"
- ],
- "main_status_constraint": [
- "elder",
- "apprentice",
- "warrior",
- "mediator apprentice",
- "mediator",
- "medicine cat apprentice",
- "medicine cat",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "elder",
- "apprentice",
- "warrior",
- "mediator apprentice",
- "mediator",
- "medicine cat apprentice",
- "medicine cat",
- "deputy",
- "leader"
- ]
- },
- {
- "id": "platonic_inc_med13",
- "interactions": [
- "m_c, after seeing r_c down in the dumps on the other side of camp, bounded over and started messing around to try and cheer {PRONOUN/r_c/object} up."
- ],
- "main_trait_constraint": [
- "troublesome",
- "arrogant",
- "childish",
- "competitive",
- "daring",
- "fierce",
- "flamboyant",
- "playful",
- "rebellious",
- "sincere",
- "attention-seeker",
- "bouncy",
- "impulsive",
- "sweet"
- ]
- },
- {
- "id": "platonic_inc_med14",
- "interactions": [
- "m_c, after seeing r_c down in the dumps on the other side of camp, settled beside {PRONOUN/r_c/object} offering a silent comfort that spoke louder than words."
- ],
- "random_trait_constraint": [
- "calm",
- "cold",
- "compassionate",
- "gloomy",
- "grumpy",
- "lonesome",
- "loving",
- "loyal",
- "nervous",
- "sincere",
- "thoughtful",
- "wise",
- "polite",
- "quiet",
- "sweet"
- ]
- },
- {
- "id": "platonic_inc_med16",
- "interactions": [
- "m_c shows r_c a secret place {PRONOUN/m_c/subject} {VERB/m_c/like/likes} to go to be alone, offering to let r_c use it too if {PRONOUN/r_c/subject} {VERB/r_c/need/needs} to."
- ],
- "main_trait_constraint": [
- "calm",
- "cold",
- "grumpy",
- "thoughtful",
- "sweet",
- "lonesome",
- "quiet",
- "nervous"
- ],
- "random_trait_constraint": [
- "calm",
- "gloomy",
- "lonesome",
- "quiet",
- "insecure",
- "nervous"
- ]
- },
- {
- "id": "platonic_to_app_inc_med1",
- "interactions": [
- "m_c noticed r_c falling behind in {PRONOUN/m_c/poss} training and offered to help {PRONOUN/r_c/object} catch up."
- ],
- "main_status_constraint": [
- "apprentice",
- "deputy",
- "leader",
- "warrior"
- ],
- "random_status_constraint": [
- "apprentice"
- ],
- "reaction_random_cat": {
- "platonic": "increase"
- }
- },
- {
- "id": "platonic_kit_inc_med1",
- "interactions": [
- "m_c plays moss ball with r_c.",
- "m_c proudly brought r_c a flower {PRONOUN/m_c/subject} found.",
- "m_c decorates {PRONOUN/m_c/poss} nest with gifts that r_c brought {PRONOUN/m_c/object}.",
- "m_c took a nap with r_c."
- ],
- "reaction_random_cat": {
- "platonic": "increase"
- },
- "main_status_constraint": [
- "kitten"
- ]
- },
- {
- "id": "platonic_kit_inc_med2",
- "interactions": [
- "m_c lets r_c play with {PRONOUN/m_c/poss} favorite toy.",
- "m_c pretends to be a warrior with r_c.",
- "m_c is pretending to ward off foxes with r_c.",
- "m_c is pretending to fight off badgers with r_c.",
- "m_c is racing r_c back and forth across the camp clearing.",
- "m_c hopes r_c will be {PRONOUN/m_c/poss} friend forever.",
- "m_c let r_c win a game of moss ball.",
- "m_c and r_c are gagging at the idea of having mates when they grow up.",
- "m_c and r_c are seeing which one of them makes the best bird impression.",
- "m_c and r_c are trying to master how to croak like a frog together."
- ],
- "main_status_constraint": [
- "kitten"
- ],
- "random_status_constraint": [
- "kitten"
- ],
- "reaction_random_cat": {
- "platonic": "increase"
- },
- "also_influences": {
- "comfortable": "increase"
- }
- },
- {
- "id": "platonic_kit_inc_med3",
- "interactions": [
- "m_c ask r_c what it's like to be in training.",
- "m_c begs r_c to show {PRONOUN/m_c/object} {PRONOUN/r_c/poss} moves."
- ],
- "main_status_constraint": [
- "kitten"
- ],
- "random_status_constraint": [
- "apprentice",
- "mediator apprentice",
- "medicine cat apprentice"
- ],
- "reaction_random_cat": {
- "platonic": "increase"
- }
- },
- {
- "id": "platonic_kit_inc_med4",
- "interactions": [
- "m_c is watching over r_c.",
- "m_c trains playfully with r_c.",
- "m_c gave r_c a trinket {PRONOUN/m_c/subject} found while out of the camp today.",
- "m_c is charmed to hear that r_c really admires {PRONOUN/m_c/object}.",
- "m_c is giving r_c a badger ride on {PRONOUN/m_c/poss} back!",
- "m_c remembers how cute kits are because of time spent with r_c.",
- "m_c is promising to take r_c outside of camp if {PRONOUN/r_c/subject} {VERB/r_c/behave/behaves}.",
- "m_c bats the moss ball back to r_c when it flies in front of {PRONOUN/m_c/poss} paws.",
- "m_c spends most of the afternoon describing the territory to r_c.",
- "m_c purrs as r_c asks {PRONOUN/m_c/object} to show {PRONOUN/r_c/object} how to do a hunter's crouch. {PRONOUN/m_c/subject/CAP} {VERB/m_c/oblige/obliges}, happy to show {PRONOUN/m_c/poss} skills.",
- "m_c whiskers twitch in amusement as r_c tells {PRONOUN/m_c/object} that {PRONOUN/r_c/subject} {VERB/r_c/hope/hopes} {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} {PRONOUN/r_c/poss} mentor when {PRONOUN/r_c/subject} {VERB/r_c/become/becomes} an apprentice.",
- "m_c tells r_c that {PRONOUN/m_c/subject} caught this prey just for {PRONOUN/r_c/object} as {PRONOUN/m_c/subject} {VERB/m_c/deliver/delivers} it to {PRONOUN/r_c/object}.",
- "m_c joins a game as r_c runs up to {PRONOUN/m_c/object} yowling that {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} the greatest warrior ever and could never be defeated. The kit squeals in delight as m_c rolls over in surrender.",
- "m_c tried scolding r_c for sneaking off, but couldn't stay mad at {PRONOUN/r_c/object}.",
- "m_c lets r_c play with {PRONOUN/m_c/poss} tail.",
- "m_c helped r_c find a toy {PRONOUN/r_c/subject} lost.",
- "m_c is impressing r_c with a well practiced bird call."
- ],
- "main_status_constraint": [
- "elder",
- "apprentice",
- "warrior",
- "mediator apprentice",
- "mediator",
- "medicine cat apprentice",
- "medicine cat",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "kitten"
- ],
- "reaction_random_cat": {
- "platonic": "increase",
- "admiration": "increase",
- "trust": "increase",
- "comfortable": "increase"
- }
- },
- {
- "id": "platonic_kit_inc_odd1",
- "interactions": [
- "m_c is asking r_c where kits come from."
- ],
- "main_status_constraint": [
- "kitten"
- ],
- "random_status_constraint": [
- "elder",
- "apprentice",
- "warrior",
- "mediator apprentice",
- "mediator",
- "medicine cat apprentice",
- "medicine cat",
- "deputy",
- "leader"
- ],
- "reaction_random_cat": {
- "comfortable": "decrease",
- "trust": "increase"
- },
- "also_influences": {
- "trust": "increase",
- "comfortable": "increase",
- "admiration": "increase"
- }
- },
- {
- "id": "platonic_app_med1",
- "interactions": [
- "m_c is telling r_c about a hunting technique.",
- "m_c is thinking about how much r_c reminds {PRONOUN/m_c/subject} of {PRONOUN/m_c/poss} own apprentice days.",
- "m_c is telling r_c about {PRONOUN/m_c/poss} own days as an apprentice.",
- "m_c promises to teach r_c a new technique later."
- ],
- "main_status_constraint": [
- "elder",
- "deputy",
- "leader",
- "warrior"
- ],
- "random_status_constraint": [
- "apprentice"
- ],
- "reaction_random_cat": {
- "platonic": "increase"
- }
- },
- {
- "id": "platonic_app_med2",
- "interactions": [
- "m_c brings r_c a piece of prey to share after a long day of training.",
- "m_c offers to help r_c clean out the elder's bedding.",
- "m_c was playing with r_c and learned a fun new battle move from {PRONOUN/r_c/object}!",
- "m_c is excitedly trying to guess what {PRONOUN/m_c/poss} and r_c's warrior names will be.",
- "m_c is thinking up new ways to surprise an enemy with r_c, hoping to surprise their mentors next time they train together.",
- "m_c was playing with r_c and made up some super cool special battle moves!",
- "m_c is practicing battle cries with r_c.",
- "m_c offered to help r_c with {PRONOUN/r_c/poss} chores."
- ],
- "main_status_constraint": [
- "apprentice"
- ],
- "random_status_constraint": [
- "apprentice"
- ],
- "reaction_random_cat": {
- "platonic": "increase"
- }
- },
- {
- "id": "platonic_app_med3",
- "interactions": [
- "m_c daydreams with r_c about their future warrior ceremonies.",
- "m_c feels like training goes by much faster when {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} with r_c.",
- "m_c is playfully making fun of their mentors with r_c.",
- "m_c stays awake all night whispering secrets to r_c.",
- "m_c promises not to tell r_c's mentor that {PRONOUN/r_c/subject}{VERB/r_c/'ve/'s} been sneaking out of camp.",
- "m_c and r_c tried sneaking out of camp without their mentors.",
- "m_c and r_c successfully snuck out of camp without their mentors."
- ],
- "relationship_constraint": [
- "platonic_40"
- ],
- "main_status_constraint": [
- "apprentice"
- ],
- "random_status_constraint": [
- "apprentice"
- ]
- },
- {
- "id": "platonic_app_med4",
- "interactions": [
- "m_c listens closely as r_c tells {PRONOUN/m_c/object} about the new herb {PRONOUN/r_c/subject} learned to recognize today.",
- "m_c playfully teases r_c for having herbs stuck in {PRONOUN/r_c/poss} fur.",
- "m_c offers to teach r_c some fighting stances if r_c will teach {PRONOUN/m_c/object} about more herbs.",
- "m_c and r_c spend time together despite their different training schedules.",
- "m_c begs {PRONOUN/m_c/poss} mentor to let r_c come with for some hunting practice.",
- "m_c excitedly brings an herb {PRONOUN/m_c/subject} recognized to r_c."
- ],
- "main_status_constraint": [
- "apprentice"
- ],
- "random_status_constraint": [
- "medicine cat apprentice"
- ]
- },
- {
- "id": "platonic_app_med5",
- "interactions": [
- "m_c gently grooms some cobwebs off r_c's fur.",
- "m_c tells r_c that {PRONOUN/r_c/subject}'ll be an amazing medicine cat someday.",
- "m_c believes in r_c, and reassures r_c that {PRONOUN/r_c/subject} made the right choice by becoming a medicine cat apprentice."
- ],
- "relationship_constraint": [
- "platonic_40"
- ],
- "main_status_constraint": [
- "apprentice"
- ],
- "random_status_constraint": [
- "medicine cat apprentice"
- ]
- },
- {
- "id": "platonic_warrior_inc_med1",
- "interactions": [
- "m_c greets r_c as {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} exiting the warriors' den.",
- "m_c chats quietly with r_c while they're both on camp guard duty.",
- "m_c thanks r_c for covering for {PRONOUN/m_c/object} during a patrol earlier."
- ],
- "main_status_constraint": [
- "warrior"
- ],
- "random_status_constraint": [
- "warrior"
- ],
- "reaction_random_cat": {
- "platonic": "increase"
- }
- },
- {
- "id": "platonic_inc_high1",
- "intensity": "high",
- "interactions": [
- "m_c wants to spend more time with r_c!",
- "m_c is always happy to be around r_c.",
- "m_c is glad to have a Clanmate like r_c."
- ]
- },
- {
- "id": "platonic_elder_med1",
- "interactions": [
- "m_c is pestering r_c for a story.",
- "m_c settles down next to r_c to listen to {PRONOUN/r_c/poss} stories.",
- "m_c tells r_c that {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} an amazing storyteller.",
- "m_c always makes time to listen to one of r_c's stories."
- ],
- "random_status_constraint": [
- "elder"
- ],
- "reaction_random_cat": {
- "platonic": "increase"
- }
- },
- {
- "id": "platonic_inc_high2",
- "intensity": "high",
- "interactions": [
- "m_c is having a wonderful time discussing recent Clan news with r_c.",
- "m_c and r_c enjoy each other's company.",
- "m_c is happy to run into r_c today."
- ],
- "reaction_random_cat": {
- "platonic": "increase"
- }
- },
- {
- "id": "platonic_inc_high3",
- "intensity": "high",
- "interactions": [
- "m_c thinks about how lucky {PRONOUN/m_c/subject} {VERB/m_c/are/is} to have someone like r_c as a friend.",
- "m_c considers r_c to be one of {PRONOUN/m_c/poss} closest friends.",
- "m_c couldn't imagine how boring things would be without a friend like r_c.",
- "m_c and r_c can't get enough of each others company.",
- "m_c wonders if {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} r_c's friend in every reality...",
- "m_c thinks r_c is the best friend a cat could have."
- ],
- "relationship_constraint": [
- "platonic_40"
- ]
- },
- {
- "id": "platonic_inc_high4",
- "intensity": "high",
- "interactions": [
- "m_c tells a joke that only r_c can understand.",
- "m_c is always happy to grab some fresh-kill for r_c to share.",
- "m_c saved a piece of fresh-kill that {PRONOUN/m_c/subject} {VERB/m_c/know/knows} is r_c's favorite."
- ],
- "relationship_constraint": [
- "platonic_40"
- ],
- "reaction_random_cat": {
- "platonic": "increase"
- }
- },
- {
- "id": "platonic_inc_high5",
- "intensity": "high",
- "interactions": [
- "m_c can't imagine {PRONOUN/m_c/poss} life if {PRONOUN/m_c/subject} never met r_c.",
- "m_c thinks of r_c as {PRONOUN/m_c/poss} best friend.",
- "m_c and r_c are inseparable, and can almost always be found with each other.",
- "m_c goes to r_c any time {PRONOUN/m_c/subject} {VERB/m_c/have/has} any news to share.",
- "m_c knows r_c better than anyone.",
- "m_c asks r_c if {PRONOUN/r_c/subject} {VERB/r_c/think/thinks} they're best friends in every universe...",
- "m_c tells r_c that {PRONOUN/m_c/subject} {VERB/m_c/consider/considers} {PRONOUN/r_c/object} an invaluable member of the Clan."
- ],
- "relationship_constraint": [
- "platonic_60"
- ]
- },
- {
- "id": "platonic_inc_high6",
- "intensity": "high",
- "interactions": [
- "m_c thinks r_c tells the best stories.",
- "m_c listens to r_c talk about what life was like when {PRONOUN/r_c/subject} {VERB/r_c/were/was} young.",
- "m_c values r_c's insights on life."
- ],
- "random_status_constraint": [
- "elder"
- ],
- "also_influences": {
- "admiration": "increase",
- "comfortable": "increase",
- "trust": "increase"
- }
- },
- {
- "id": "platonic_inc_app",
- "intensity": "low",
- "interactions": [
- "m_c drags r_c out of the medicine cat den, saying that looking at herbs all day surely isn't good for {PRONOUN/r_c/object}.",
- "m_c spots r_c gathering herbs during {PRONOUN/m_c/poss} patrol and offers to help since {PRONOUN/m_c/poss} patrol hasn't been very eventful."
- ],
- "main_status_constraint": [
- "apprentice",
- "warrior"
- ],
- "random_status_constraint": [
- "medicine cat apprentice",
- "medicine cat"
- ]
- },
- {
- "id": "platonic_inc_high_grumpymedcat1",
- "intensity": "high",
- "interactions": [
- "m_c grumbles while checking on r_c, but r_c appreciates the care and hard work m_c does anyways.",
- "m_c complains when treating a very minor wound r_c has, but obviously cares very much even if {PRONOUN/m_c/subject} {VERB/m_c/don't/doesn't} show it.",
- "m_c rolls {PRONOUN/m_c/poss} eyes while listening to r_c's most recent complaint, but makes sure to thoroughly check {PRONOUN/r_c/object} for any ailments.",
- "r_c is a little hesitant to ask m_c to check on something minor, but knows that even though m_c can be grumpy sometimes, {PRONOUN/m_c/subject} always takes care of {PRONOUN/r_c/object}."
- ],
- "main_status_constraint": [
- "medicine cat",
- "medicine cat apprentice"
- ],
- "main_trait_constraint": [
- "cold",
- "grumpy"
- ]
- }
-]
+[
+ {
+ "id": "platonic_inc_low1",
+ "intensity": "low",
+ "interactions": [
+ "m_c thinks r_c was nice to {PRONOUN/m_c/object} today.",
+ "m_c thought r_c was very polite today.",
+ "r_c does something that makes m_c's day a little happier.",
+ "r_c compliments m_c's name.",
+ "r_c compliments one of m_c's friends.",
+ "r_c mentions that m_c looks good today.",
+ "r_c tells m_c that {PRONOUN/m_c/poss} pelt is shiny today.",
+ "m_c wants to be closer to r_c.",
+ "r_c thanked m_c for bringing {PRONOUN/r_c/object} food.",
+ "r_c guides m_c to someone {PRONOUN/m_c/subject} {VERB/m_c/are/is} looking for.",
+ "m_c sees r_c put something back where it belongs.",
+ "m_c hears a nice story about r_c."
+ ]
+ },
+ {
+ "id": "platonic_inc_low2",
+ "intensity": "low",
+ "interactions": [
+ "m_c is talking with r_c.",
+ "m_c and r_c roll up moss balls together.",
+ "m_c and r_c talk about what they see in the clouds.",
+ "m_c explains what a joke means to r_c.",
+ "m_c and r_c chat about Clan news.",
+ "m_c talks with r_c about some Clan drama.",
+ "m_c is asking r_c interesting questions.",
+ "m_c learns something new about a Clanmate from r_c.",
+ "m_c prevents something from falling on r_c.",
+ "m_c warns r_c about something on the ground so r_c doesn't trip.",
+ "m_c asks r_c how {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} doing."
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "platonic_inc_med1",
+ "interactions": [
+ "m_c saw r_c the other day and did get a chance to meow hello!",
+ "r_c points out that m_c's fresh-kill has gone bad before {PRONOUN/r_c/subject} {VERB/r_c/eat/eats} it.",
+ "m_c thinks r_c has interesting things to talk about.",
+ "m_c is fascinated by one of r_c's stories.",
+ "m_c likes the way r_c laughs.",
+ "m_c is impressed by some of r_c's advice.",
+ "r_c reminds m_c to grab something from the fresh-kill pile if {PRONOUN/r_c/subject} {VERB/r_c/have/has}n't already."
+ ]
+ },
+ {
+ "id": "platonic_inc_med2",
+ "interactions": [
+ "m_c is telling a story to r_c.",
+ "m_c is sharing a piece of fresh-kill with r_c.",
+ "m_c is making up a new Clan with r_c.",
+ "m_c and r_c are chatting about what they're doing today.",
+ "m_c is talking about what to do tomorrow with r_c.",
+ "m_c is telling r_c something interesting about another Clan.",
+ "m_c and r_c laugh about something small together.",
+ "m_c spends some time sheltering with r_c during a storm.",
+ "m_c chats with r_c while grabbing something to eat."
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "platonic_inc_med3",
+ "interactions": [
+ "m_c waves to r_c with {PRONOUN/m_c/poss} tail as their patrols cross paths on the territory.",
+ "m_c calls to r_c to catch {PRONOUN/m_c/object} a fat mouse on {PRONOUN/r_c/poss} next hunting patrol.",
+ "m_c and r_c have a fun patrol and plan to tell stories about it later to their Clanmates.",
+ "m_c stands up for r_c on a border patrol when confronted by another Clan.",
+ "m_c got into an unexpectedly in-depth conversation while on a patrol with r_c.",
+ "m_c and r_c had such a good time on a patrol that they came back late.",
+ "A Clanmate that went on patrol with m_c and r_c says they talked the entire time and almost left them behind.",
+ "m_c and r_c challenge one another during a hunting patrol.",
+ "m_c hopes {PRONOUN/m_c/subject} {VERB/m_c/are/is} assigned to patrol with r_c tomorrow."
+ ],
+ "main_status_constraint": [
+ "apprentice",
+ "deputy",
+ "leader",
+ "warrior"
+ ],
+ "random_status_constraint": [
+ "apprentice",
+ "deputy",
+ "leader",
+ "warrior"
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "platonic_inc_med4",
+ "interactions": [
+ "r_c charms m_c.",
+ "r_c smiles at m_c whenever they meet.",
+ "r_c knows what to say to make m_c feel better.",
+ "m_c is inspired by r_c's confident demeanor.",
+ "m_c is easily swayed by r_c's words.",
+ "m_c thinks that r_c is so easy to get along with.",
+ "m_c wants to be as confident as r_c.",
+ "r_c compliments m_c for {PRONOUN/m_c/poss} good disposition."
+ ],
+ "random_trait_constraint": [
+ "charismatic",
+ "confident"
+ ]
+ },
+ {
+ "id": "platonic_inc_med5",
+ "interactions": [
+ "r_c relaxing with m_c.",
+ "r_c is helping m_c calm down.",
+ "r_c is soothing m_c's irrational thoughts."
+ ],
+ "random_trait_constraint": [
+ "calm"
+ ]
+ },
+ {
+ "id": "platonic_inc_med6",
+ "interactions": [
+ "r_c challenges m_c to a race."
+ ],
+ "random_trait_constraint": [
+ "daring"
+ ]
+ },
+ {
+ "id": "platonic_inc_med7",
+ "interactions": [
+ "r_c is making sure m_c knows that {PRONOUN/m_c/subject} {VERB/m_c/are/is} loved.",
+ "r_c is telling m_c how much {PRONOUN/r_c/subject} {VERB/r_c/cherish/cherishes} {PRONOUN/m_c/object}.",
+ "r_c is purring loudly to comfort m_c."
+ ],
+ "random_trait_constraint": [
+ "loving"
+ ]
+ },
+ {
+ "id": "platonic_inc_med8",
+ "interactions": [
+ "r_c is playing tag with m_c.",
+ "r_c bats a moss ball towards m_c to play.",
+ "r_c gets the zoomies with m_c.",
+ "r_c bats a bit of fluff in front of m_c and gets {PRONOUN/m_c/object} to play a game."
+ ],
+ "random_trait_constraint": [
+ "playful"
+ ]
+ },
+ {
+ "id": "platonic_inc_med9",
+ "interactions": [
+ "m_c feels bad that {PRONOUN/m_c/subject} caused a problem for r_c.",
+ "m_c convinces r_c to help {PRONOUN/m_c/object} pull a prank on a Clanmate."
+ ],
+ "main_trait_constraint": [
+ "troublesome",
+ "childish"
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "platonic_inc_med10",
+ "interactions": [
+ "m_c wants to explore Twolegplace with r_c.",
+ "m_c wants to sneak along the border with r_c.",
+ "m_c tells r_c that there's so much to see in the world!"
+ ],
+ "main_trait_constraint": [
+ "adventurous"
+ ]
+ },
+ {
+ "id": "platonic_inc_med10",
+ "interactions": [
+ "m_c is hiding behind a bush ready to pounce on r_c."
+ ],
+ "random_trait_constraint": [
+ "childish"
+ ]
+ },
+ {
+ "id": "platonic_inc_med4",
+ "interactions": [
+ "m_c wants to explore the whole territory with r_c!",
+ "m_c claims that r_c is one of {PRONOUN/m_c/poss} best friends.",
+ "m_c always wants to say hello to r_c first thing in the morning.",
+ "m_c always asks where r_c is.",
+ "m_c always tries to get on patrols with r_c.",
+ "m_c always takes food to r_c."
+ ],
+ "relationship_constraint": [
+ "platonic_40"
+ ],
+ "main_status_constraint": [
+ "elder",
+ "apprentice",
+ "warrior",
+ "mediator apprentice",
+ "mediator",
+ "medicine cat apprentice",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "elder",
+ "apprentice",
+ "warrior",
+ "mediator apprentice",
+ "mediator",
+ "medicine cat apprentice",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ]
+ },
+ {
+ "id": "platonic_to_app_inc_med1",
+ "interactions": [
+ "m_c noticed that r_c is falling behind in training and offered to help {PRONOUN/r_c/object} catch up."
+ ],
+ "main_status_constraint": [
+ "apprentice",
+ "deputy",
+ "leader",
+ "warrior"
+ ],
+ "random_status_constraint": [
+ "apprentice"
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "platonic_kit_inc_med1",
+ "interactions": [
+ "m_c plays moss-ball with r_c."
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ },
+ "main_status_constraint": [
+ "kitten"
+ ]
+ },
+ {
+ "id": "platonic_kit_inc_med3",
+ "interactions": [
+ "m_c lets r_c play with {PRONOUN/m_c/poss} favorite toy.",
+ "m_c pretends to be a warrior with r_c.",
+ "m_c is pretending to ward off foxes with r_c.",
+ "m_c is pretending to fight off badgers with r_c.",
+ "m_c is racing r_c back and forth across the camp clearing.",
+ "m_c hopes r_c will be {PRONOUN/m_c/poss} friend forever."
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ],
+ "random_status_constraint": [
+ "kitten"
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ },
+ "also_influences": {
+ "comfortable": "increase"
+ }
+ },
+ {
+ "id": "platonic_kit_inc_med4",
+ "interactions": [
+ "m_c decorates {PRONOUN/m_c/poss} nest with gifts that r_c brought {PRONOUN/m_c/object}."
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ],
+ "random_status_constraint": [
+ "elder",
+ "apprentice",
+ "warrior",
+ "mediator apprentice",
+ "mediator",
+ "medicine cat apprentice",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "platonic_kit_inc_med5",
+ "interactions": [
+ "m_c ask r_c what it's like to be in training."
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ],
+ "random_status_constraint": [
+ "apprentice",
+ "mediator apprentice",
+ "medicine cat apprentice"
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "platonic_kit_inc_med6",
+ "interactions": [
+ "m_c is watching over r_c.",
+ "m_c trains playfully with r_c.",
+ "m_c gave r_c a trinket {PRONOUN/m_c/subject} found while out of the camp today.",
+ "m_c is charmed to hear that r_c really admires {PRONOUN/m_c/object}.",
+ "m_c is giving r_c a badger ride on {PRONOUN/m_c/poss} back!",
+ "m_c remembers how cute kits are because of time spent with r_c.",
+ "m_c is promising to take r_c outside of camp if {PRONOUN/r_c/subject} {VERB/r_c/behave/behaves}.",
+ "m_c bats the moss-ball back to r_c when it flies in front of {PRONOUN/m_c/poss} paws.",
+ "m_c spends most of the afternoon describing the territory to r_c.",
+ "m_c purrs as r_c asks {PRONOUN/m_c/object} to show {PRONOUN/r_c/object} how to do a hunter's crouch. {PRONOUN/m_c/subject/CAP} {VERB/m_c/oblige/obliges}, happy to show {PRONOUN/m_c/poss} skills.",
+ "m_c whiskers twitch in amusement as r_c tells {PRONOUN/m_c/object} that {PRONOUN/r_c/subject} {VERB/r_c/hope/hopes} {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} {PRONOUN/r_c/poss} mentor when {PRONOUN/r_c/subject} {VERB/r_c/become/becomes} an apprentice.",
+ "m_c tells r_c that {PRONOUN/m_c/subject} caught this prey just for {PRONOUN/r_c/object} as {PRONOUN/m_c/subject} {VERB/m_c/deliver/delivers} it to {PRONOUN/r_c/object}.",
+ "m_c joins a game as r_c runs up to {PRONOUN/m_c/object} yowling that {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} the greatest warrior ever and could never be defeated. The kit squeals in delight as m_c rolls over in surrender."
+ ],
+ "main_status_constraint": [
+ "elder",
+ "apprentice",
+ "warrior",
+ "mediator apprentice",
+ "mediator",
+ "medicine cat apprentice",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "kitten"
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase",
+ "admiration": "increase",
+ "trust": "increase",
+ "comfortable": "increase"
+ }
+ },
+ {
+ "id": "platonic_kit_inc_odd1",
+ "interactions": [
+ "m_c is asking r_c where kits come from."
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ],
+ "random_status_constraint": [
+ "elder",
+ "apprentice",
+ "warrior",
+ "mediator apprentice",
+ "mediator",
+ "medicine cat apprentice",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ],
+ "reaction_random_cat": {
+ "comfortable": "decrease",
+ "trust": "increase"
+ },
+ "also_influences": {
+ "trust": "increase",
+ "comfortable": "increase",
+ "admiration": "increase"
+ }
+ },
+ {
+ "id": "platonic_app_med1",
+ "interactions": [
+ "m_c is telling r_c about a hunting technique.",
+ "m_c is thinking about how much r_c reminds {PRONOUN/m_c/subject} of {PRONOUN/m_c/poss} own apprentice days.",
+ "m_c is telling r_c about {PRONOUN/m_c/poss} own days as an apprentice.",
+ "m_c promises to teach r_c a new technique later."
+ ],
+ "main_status_constraint": [
+ "elder",
+ "deputy",
+ "leader",
+ "warrior"
+ ],
+ "random_status_constraint": [
+ "apprentice"
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "platonic_app_med2",
+ "interactions": [
+ "m_c brings r_c a piece of prey to share after a long day of training.",
+ "m_c offers to help r_c clean out the elder's bedding.",
+ "m_c was playing with r_c and learned a fun new battle move from {PRONOUN/r_c/object}!",
+ "m_c is trying to guess what {PRONOUN/m_c/poss} and r_c's warrior names will be."
+ ],
+ "main_status_constraint": [
+ "apprentice"
+ ],
+ "random_status_constraint": [
+ "apprentice"
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "platonic_app_med3",
+ "interactions": [
+ "m_c daydreams with r_c about their future warrior ceremonies.",
+ "m_c feels like training goes by much faster when {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} with r_c.",
+ "m_c is playfully making fun of their mentors with r_c.",
+ "m_c stays awake all night whispering secrets to r_c.",
+ "m_c promises not to tell r_c's mentor that {PRONOUN/r_c/subject}{VERB/r_c/'ve/'s} been sneaking out of camp."
+ ],
+ "relationship_constraint": [
+ "platonic_40"
+ ],
+ "main_status_constraint": [
+ "apprentice"
+ ],
+ "random_status_constraint": [
+ "apprentice"
+ ]
+ },
+ {
+ "id": "platonic_app_med4",
+ "interactions": [
+ "m_c listens closely as r_c tells {PRONOUN/m_c/object} about the new herb {PRONOUN/r_c/subject} learned to recognize today.",
+ "m_c playfully teases r_c for having herbs stuck in {PRONOUN/r_c/poss} fur.",
+ "m_c offers to teach r_c some fighting stances if r_c will teach {PRONOUN/m_c/object} about more herbs.",
+ "m_c and r_c spend time together despite their different training schedules.",
+ "m_c begs {PRONOUN/m_c/poss} mentor to let r_c come with for some hunting practice."
+ ],
+ "main_status_constraint": [
+ "apprentice"
+ ],
+ "random_status_constraint": [
+ "medicine cat apprentice"
+ ]
+ },
+ {
+ "id": "platonic_app_med5",
+ "interactions": [
+ "m_c gently grooms some cobwebs off r_c's fur.",
+ "m_c tells r_c that {PRONOUN/r_c/subject}'ll be an amazing medicine cat someday.",
+ "m_c believes in r_c, and reassures r_c that {PRONOUN/r_c/subject} made the right choice by becoming a medicine cat apprentice."
+ ],
+ "relationship_constraint": [
+ "platonic_40"
+ ],
+ "main_status_constraint": [
+ "apprentice"
+ ],
+ "random_status_constraint": [
+ "medicine cat apprentice"
+ ]
+ },
+ {
+ "id": "platonic_warrior_inc_med1",
+ "interactions": [
+ "m_c greets r_c as {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} exiting the warriors' den.",
+ "m_c chats quietly with r_c while they're both on camp guard duty.",
+ "m_c thanks r_c for covering for {PRONOUN/m_c/object} during a patrol earlier."
+ ],
+ "main_status_constraint": [
+ "warrior"
+ ],
+ "random_status_constraint": [
+ "warrior"
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "platonic_inc_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c wants to spend more time with r_c!",
+ "m_c is always happy to be around r_c.",
+ "m_c talks all the time about r_c.",
+ "m_c thinks very often about r_c.",
+ "m_c defends r_c in conversations.",
+ "m_c wants r_c to stay safe and happy.",
+ "m_c has a lot of fun with r_c!",
+ "r_c always knows how to make m_c laugh.",
+ "m_c doesn't think there's ever a dull moment with r_c.",
+ "m_c has had a great time hanging out with r_c lately.",
+ "m_c starts to plan things hoping that r_c will get involved.",
+ "m_c won't stand for slander about r_c.",
+ "m_c checks in on r_c every day.",
+ "m_c is glad to have a Clanmate like r_c."
+ ]
+ },
+ {
+ "id": "platonic_elder_med1",
+ "interactions": [
+ "m_c is pestering r_c for a story.",
+ "m_c settles down next to r_c to listen to {PRONOUN/r_c/poss} stories.",
+ "m_c tells r_c that {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} an amazing storyteller.",
+ "m_c always makes time to listen to one of r_c's stories."
+ ],
+ "random_status_constraint": [
+ "elder"
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "platonic_inc_high2",
+ "intensity": "high",
+ "interactions": [
+ "m_c is having a wonderful time discussing recent Clan news with r_c.",
+ "m_c and r_c enjoy each other's company.",
+ "While looking at the stars, m_c and r_c make up some constellations.",
+ "m_c eats with r_c all the time!",
+ "m_c dispels a bad rumor about r_c.",
+ "m_c and r_c plan all their days together.",
+ "m_c and r_c always have something to share with each other.",
+ "The whole Clan notices how close m_c and r_c are lately.",
+ "m_c is happy to run into r_c today."
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "platonic_inc_high3",
+ "intensity": "high",
+ "interactions": [
+ "m_c thinks about how lucky {PRONOUN/m_c/subject} {VERB/m_c/are/is} to have someone like r_c as a friend.",
+ "m_c considers r_c to be one of {PRONOUN/m_c/poss} close friends.",
+ "m_c and r_c know more about each other than anyone else.",
+ "m_c always has something good to say about r_c.",
+ "m_c can think of a hundred good things to say about r_c.",
+ "Some of m_c's favorite memories are with r_c.",
+ "m_c couldn't imagine how boring things would be without a friend like r_c."
+ ],
+ "relationship_constraint": [
+ "platonic_40"
+ ]
+ },
+ {
+ "id": "platonic_inc_high4",
+ "intensity": "high",
+ "interactions": [
+ "m_c tells a joke that only r_c can understand.",
+ "m_c is always happy to share a piece of fresh-kill with r_c.",
+ "m_c and r_c laugh over happy memories together.",
+ "m_c purrs whenever r_c comes around.",
+ "m_c and r_c don't start their days without one another.",
+ "m_c saved a piece of fresh-kill that {PRONOUN/m_c/subject} {VERB/m_c/know/knows} is r_c's favorite."
+ ],
+ "relationship_constraint": [
+ "platonic_40"
+ ],
+ "reaction_random_cat": {
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "platonic_inc_high5",
+ "intensity": "high",
+ "interactions": [
+ "m_c can't imagine {PRONOUN/m_c/poss} life if {PRONOUN/m_c/subject} never met r_c.",
+ "m_c thinks of r_c as {PRONOUN/m_c/poss} best friend.",
+ "Wherever r_c is found, m_c is always with {PRONOUN/r_c/object}.",
+ "Clanmates are envious of m_c and r_c's bond.",
+ "m_c and r_c can always rely on each other.",
+ "There's nothing that can separate m_c and r_c.",
+ "The first one to panic when r_c gets hurt is always m_c.",
+ "The Clan notices that m_c and r_c have picked up each other's mannerisms.",
+ "m_c and r_c are inseparable, and can almost always be found with each other."
+ ],
+ "relationship_constraint": [
+ "platonic_60"
+ ]
+ },
+ {
+ "id": "platonic_inc_high6",
+ "intensity": "high",
+ "interactions": [
+ "m_c thinks r_c tells the best stories.",
+ "m_c doesn't understand why no one visits r_c to listen to {PRONOUN/r_c/poss} great stories.",
+ "m_c always brings food to r_c so {PRONOUN/r_c/subject} {VERB/r_c/don't/doesn't} have to walk to the fresh-kill pile.",
+ "m_c listens to r_c talk about what life was like when {PRONOUN/r_c/subject} {VERB/r_c/were/was} young.",
+ "m_c values r_c's insights on life."
+ ],
+ "random_status_constraint": [
+ "elder"
+ ],
+ "also_influences": {
+ "admiration": "increase",
+ "comfortable": "increase",
+ "trust": "increase"
+ }
+ },
+ {
+ "id": "platonic_inc_high_grumpymedcat1",
+ "intensity": "high",
+ "interactions": [
+ "m_c grumbles while checking on r_c, but r_c appreciates the care and hard work m_c does anyways.",
+ "m_c complains when treating a very minor wound r_c has, but obviously cares very much even if {PRONOUN/m_c/subject} {VERB/m_c/don't/doesn't} show it.",
+ "m_c rolls {PRONOUN/m_c/poss} eyes while listening to r_c's most recent complaint, but makes sure to thoroughly check them for any ailments.",
+ "r_c is a little hesitant to ask m_c to check on something minor, but knows that even though m_c can be grumpy sometimes, {PRONOUN/m_c/subject} always takes care of {PRONOUN/r_c/object}."
+ ],
+ "main_status_constraint": [
+ "medicine cat",
+ "medicine cat apprentice"
+ ],
+ "main_trait_constraint": [
+ "cold",
+ "grumpy"
+ ]
+ }
+]
diff --git a/resources/dicts/relationship_events/normal_interactions/romantic/decrease.json b/resources/dicts/relationship_events/normal_interactions/romantic/decrease.json
index 06747eaba4..5533dd3f35 100644
--- a/resources/dicts/relationship_events/normal_interactions/romantic/decrease.json
+++ b/resources/dicts/relationship_events/normal_interactions/romantic/decrease.json
@@ -1,75 +1,75 @@
-[
- {
-
- "id": "rom_dec_high1",
- "intensity": "high",
- "interactions": [
- "m_c gave a gift to r_c, but {PRONOUN/r_c/subject} turned up {PRONOUN/r_c/poss} nose at the offering.",
- "m_c heard r_c express an ideal {PRONOUN/m_c/subject} cannot agree with.",
- "m_c heard r_c talking badly about {PRONOUN/m_c/object}.",
- "m_c catches r_c staring at another cat."
- ]
- },
- {
- "id": "rom_dec_medium1",
- "intensity": "medium",
- "interactions": [
- "m_c feels like r_c hasn't been paying much attention to {PRONOUN/m_c/object} lately.",
- "m_c is upset that r_c tried to give {PRONOUN/m_c/object} {PRONOUN/m_c/poss} least favorite prey - surely {PRONOUN/r_c/subject} {VERB/r_c/know/knows} what {PRONOUN/m_c/subject} {VERB/m_c/like/likes}!",
- "m_c wishes r_c would stop giving {PRONOUN/m_c/object} gifts, as {PRONOUN/m_c/poss} nest is getting too full.",
- "m_c hates the gift r_c gave {PRONOUN/m_c/object}."
- ],
- "relationship_constraint": [
- "romantic_40"
- ]
- },
- {
- "id": "rom_dec_medium2",
- "intensity": "medium",
- "interactions": [
- "m_c told r_c to stop padding after {PRONOUN/m_c/object} like a lost kit.",
- "m_c worries that r_c isn't being honest with their relationship.",
- "m_c can't stand listening to r_c's snoring in {PRONOUN/r_c/poss} nest.",
- "m_c tried flirting with r_c but {PRONOUN/r_c/subject} didn't have time for it and brushed m_c aside."
- ],
- "relationship_constraint": [
- "romantic_40",
- "dislike_30"
- ]
- },
- {
- "id": "rom_dec_medium3",
- "intensity": "medium",
- "interactions": [
- "m_c is starting to have doubts about {PRONOUN/m_c/poss} feelings for r_c.",
- "m_c heard a rumor that r_c likes someone else.",
- "m_c worries that r_c will never feel the same way {PRONOUN/m_c/subject} {VERB/m_c/do/does}.",
- "m_c noticed r_c flirting with someone else.",
- "m_c heard r_c discussing potential mates but {PRONOUN/m_c/poss} name never came up.",
- "m_c thinks {PRONOUN/m_c/poss} dreams might not come true with r_c.",
- "r_c was seen tossing out a gift m_c gave {PRONOUN/r_c/object}."
- ]
- },
- {
- "id": "rom_dec_low3",
- "intensity": "low",
- "interactions": [
- "m_c feels ignored by r_c.",
- "m_c didn't get the joke r_c was telling.",
- "m_c and r_c had a conversation where they realized they didn't have much in common.",
- "m_c didn't realize r_c was flirting with {PRONOUN/m_c/object}."
- ]
- },
- {
- "id": "rom_dec_medium4",
- "intensity": "medium",
- "interactions": [
- "m_c had a disagreement with r_c over kits.",
- "m_c and r_c had a disagreement on how to raise kits.",
- "m_c and r_c had a fight over if they would take a new mate if one of them died or went missing."
- ],
- "relationship_constraint": [
- "mates"
- ]
- }
-]
+[
+ {
+
+ "id": "rom_dec_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c gave a gift to r_c, but {PRONOUN/r_c/subject} turned up {PRONOUN/r_c/poss} nose at the offering.",
+ "m_c heard r_c express an ideal {PRONOUN/m_c/subject} cannot agree with.",
+ "m_c heard r_c talking badly about {PRONOUN/m_c/object}.",
+ "m_c catches r_c staring at another cat."
+ ]
+ },
+ {
+ "id": "rom_dec_medium1",
+ "intensity": "medium",
+ "interactions": [
+ "m_c feels like r_c hasn't been paying much attention to {PRONOUN/m_c/object} lately.",
+ "m_c is upset that r_c tried to give {PRONOUN/m_c/object} {PRONOUN/m_c/poss} least favorite prey - surely {PRONOUN/r_c/subject} {VERB/r_c/know/knows} what {PRONOUN/m_c/subject} {VERB/m_c/like/likes}!",
+ "m_c wishes r_c would stop giving {PRONOUN/m_c/object} gifts, as {PRONOUN/m_c/poss} nest is getting too full.",
+ "m_c hates the gift r_c gave {PRONOUN/m_c/object}."
+ ],
+ "relationship_constraint": [
+ "romantic_40"
+ ]
+ },
+ {
+ "id": "rom_dec_medium2",
+ "intensity": "medium",
+ "interactions": [
+ "m_c told r_c to stop padding after {PRONOUN/m_c/object} like a lost kit.",
+ "m_c worries that r_c isn't being honest with their relationship.",
+ "m_c can't stand listening to r_c's snoring in {PRONOUN/r_c/poss} nest.",
+ "m_c tried flirting with r_c but {PRONOUN/r_c/subject} didn't have time for it and brushed m_c aside."
+ ],
+ "relationship_constraint": [
+ "romantic_40",
+ "dislike_30"
+ ]
+ },
+ {
+ "id": "rom_dec_medium3",
+ "intensity": "medium",
+ "interactions": [
+ "m_c is starting to have doubts about {PRONOUN/m_c/poss} feelings for r_c.",
+ "m_c heard a rumor that r_c likes someone else.",
+ "m_c worries that r_c will never feel the same way {PRONOUN/m_c/subject} {VERB/m_c/do/does}.",
+ "m_c noticed r_c flirting with someone else.",
+ "m_c heard r_c discussing potential mates but {PRONOUN/m_c/poss} name never came up.",
+ "m_c thinks {PRONOUN/m_c/poss} dreams might not come true with r_c.",
+ "r_c was seen tossing out a gift m_c gave {PRONOUN/r_c/object}."
+ ]
+ },
+ {
+ "id": "rom_dec_low3",
+ "intensity": "low",
+ "interactions": [
+ "m_c feels ignored by r_c.",
+ "m_c didn't get the joke r_c was telling.",
+ "m_c and r_c had a conversation where they realized they didn't have much in common.",
+ "m_c didn't realize r_c was flirting with {PRONOUN/m_c/object}."
+ ]
+ },
+ {
+ "id": "rom_dec_medium4",
+ "intensity": "medium",
+ "interactions": [
+ "m_c had a disagreement with r_c over kits.",
+ "m_c and r_c had a disagreement on how to raise kits.",
+ "m_c and r_c had a fight over if they would take a new mate if one of them died or went missing."
+ ],
+ "relationship_constraint": [
+ "mates"
+ ]
+ }
+]
diff --git a/resources/dicts/relationship_events/normal_interactions/romantic/increase.json b/resources/dicts/relationship_events/normal_interactions/romantic/increase.json
index c51c66cc2e..11a4e3f09f 100644
--- a/resources/dicts/relationship_events/normal_interactions/romantic/increase.json
+++ b/resources/dicts/relationship_events/normal_interactions/romantic/increase.json
@@ -1,371 +1,371 @@
-[
- {
- "id": "rom_inc_low1",
- "intensity": "low",
- "interactions": [
- "m_c is developing a crush on r_c.",
- "m_c might be reading a little too far into r_c's kindness.",
- "m_c never realized how much {PRONOUN/m_c/subject} {VERB/m_c/love/loves} spending time with r_c.",
- "m_c can't help but smile seeing r_c smile."
- ],
- "relationship_constraint": [
- "not_mates",
- "romantic_10_lower"
- ]
- },
- {
- "id": "rom_inc_low2",
- "intensity": "low",
- "interactions": [
- "m_c is admiring r_c from afar...",
- "m_c stayed up all night thinking of ways to impress r_c.",
- "m_c thinks r_c is really funny.",
- "m_c had a dream about r_c.",
- "m_c thinks r_c has very soft fur.",
- "m_c and r_c sunbathe together.",
- "m_c and r_c take a nap together."
- ]
- },
- {
- "id": "rom_inc_low3",
- "intensity": "low",
- "interactions": [
- "m_c is prancing around in front of r_c."
- ],
- "reaction_random_cat": {
- "romantic": "increase"
- }
- },
- {
- "id": "rom_inc_low4",
- "intensity": "low",
- "interactions": [
- "m_c just noticed how beautiful r_c's eyes are.",
- "m_c can't help but admire r_c's pelt."
- ],
- "relationship_constraint": [
- "not_mates"
- ]
- },
- {
- "id": "rom_inc_low5",
- "intensity": "low",
- "interactions": [
- "m_c thinks r_c is really charming.",
- "m_c can't help but smile when around r_c."
- ],
- "random_trait_constraint": [
- "charming",
- "charismatic",
- "flamboyant"
- ]
- },
- {
- "id": "rom_inc_medium1",
- "intensity": "medium",
- "interactions": [
- "m_c laughs at bad jokes from r_c.",
- "m_c made r_c laugh again and again.",
- "m_c goes for a nice long walk with r_c.",
- "m_c nuzzles against r_c and purrs."
- ],
- "reaction_random_cat": {
- "dislike": "decrease",
- "platonic": "increase",
- "comfortable": "increase"
- }
- },
- {
- "id": "rom_inc_medium2",
- "intensity": "medium",
- "interactions": [
- "m_c ensnares r_c with a charming smile.",
- "m_c knows exactly what to say to make r_c blush.",
- "m_c charms r_c with endless compliments."
- ],
- "main_trait_constraint": [
- "charming",
- "flamboyant",
- "charismatic"
- ],
- "reaction_random_cat": {
- "romantic": "increase",
- "dislike": "decrease",
- "comfortable": "increase"
- }
- },
- {
- "id": "rom_inc_medium3",
- "intensity": "medium",
- "interactions": [
- "m_c is hoping that r_c notices {PRONOUN/m_c/object}.",
- "m_c wonders what r_c thinks about mates.",
- "m_c hopes r_c likes {PRONOUN/m_c/object} as much as {PRONOUN/m_c/subject} {VERB/m_c/like/likes} r_c."
- ],
- "relationship_constraint": [
- "not_mates",
- "romantic_20_lower"
- ],
- "reaction_random_cat": {
- "romantic": "increase",
- "dislike": "decrease",
- "admirable": "increase"
- }
- },
- {
- "id": "rom_inc_medium4",
- "intensity": "medium",
- "interactions": [
- "m_c imagines what {PRONOUN/m_c/poss} family with r_c would look like.",
- "m_c would spend the entire day with r_c if {PRONOUN/m_c/subject} could.",
- "m_c keeps shyly glancing over at r_c as the Clan talks about mates",
- "m_c doesn't want r_c to overwork {PRONOUN/r_c/self}.",
- "m_c catches {PRONOUN/m_c/self} staring at r_c a bit too often.",
- "m_c gets flustered when r_c compliments {PRONOUN/m_c/poss} skill.",
- "m_c feels {PRONOUN/m_c/poss} jaw drop when the sun catches just right on r_c's pelt.",
- "m_c immediately thinks of r_c when the topic of mates is brought up.",
- "m_c is nervous sitting next to r_c at the Clan meeting.",
- "m_c and r_c talked about the idea of their ideal mates.",
- "m_c thinks r_c has a beautiful smile.",
- "m_c and r_c realized they both had similar values when it came to family.",
- "m_c promises to protect r_c.",
- "Rumor around the Clan was that m_c and r_c are seeing each other and, while they did clear things up, neither cat seemed to mind...",
- "m_c thinks r_c has a beautiful laugh.",
- "m_c took a nap with r_c, happy to be able to spend this time with {PRONOUN/r_c/object}.",
- "m_c urges r_c to take a break. {PRONOUN/m_c/subject/CAP} {VERB/m_c/don't/doesn't} want to see r_c overworking {PRONOUN/r_c/self}.",
- "m_c saw r_c in pain and was surprised how much it hurt {PRONOUN/m_c/object} to see r_c like that.",
- "m_c talked generally about the idea of mates with r_c.",
- "m_c realizes {PRONOUN/m_c/poss} chest hurts when {PRONOUN/m_c/subject} {VERB/m_c/see/sees} r_c in pain or upset...",
- "m_c realizes {PRONOUN/m_c/subject} {VERB/m_c/have/has} more than just a crush on r_c."
- ],
- "relationship_constraint": [
- "romantic_20",
- "not_mates"
- ]
- },
- {
- "id": "rom_inc_medium5",
- "intensity": "medium",
- "interactions": [
- "m_c brushes against r_c while correcting {PRONOUN/r_c/poss} stance and looks away with a purr.",
- "m_c left a gift in r_c's nest for {PRONOUN/r_c/object} to find.",
- "m_c picked out the best piece of prey to share with r_c.",
- "m_c sees r_c stumble while hunting and thinks it's cute.",
- "m_c overhears r_c tell another cat {PRONOUN/r_c/subject} kind of {VERB/r_c/like/likes} m_c."
- ],
- "reaction_random_cat": {
- "romantic": "increase",
- "dislike": "decrease",
- "comfortable": "increase"
- }
- },
- {
- "id": "rom_inc_medium6",
- "intensity": "medium",
- "interactions": [
- "m_c wants, more than anything, to confess {PRONOUN/m_c/poss} love to r_c.",
- "m_c is wondering what it would be like to grow old with r_c.",
- "m_c is the first cat that r_c thinks of when {PRONOUN/m_c/subject} {VERB/m_c/get/gets} good news.",
- "m_c realizes {PRONOUN/m_c/poss} heart always flutters whenever {PRONOUN/m_c/subject} {VERB/m_c/see/sees} r_c.",
- "m_c feels like no one understands {PRONOUN/m_c/object} the way r_c does.",
- "m_c would give it all to make r_c's dreams come true.",
- "m_c wants to improve {PRONOUN/m_c/self} for r_c.",
- "m_c and r_c talked about the idea of their ideal mates and noticed each other having a few of those qualities...",
- "m_c can't imagine any cat other than r_c as {PRONOUN/m_c/poss} mate.",
- "m_c can't stop purring when {PRONOUN/m_c/subject} {VERB/m_c/remember/remembers} r_c's laugh."
- ],
- "relationship_constraint": [
- "romantic_40",
- "not_mates"
- ]
- },
- {
- "id": "rom_inc_medium7",
- "intensity": "medium",
- "interactions": [
- "m_c thinks r_c is the most beautiful cat in the Clan.",
- "m_c can't stop thinking about r_c.",
- "m_c feels giddy about getting on the same patrol as r_c.",
- "m_c wants r_c to understand how crazy {PRONOUN/m_c/subject} {VERB/m_c/are/is} about {PRONOUN/r_c/object}.",
- "m_c thinks r_c has a lovely sense of humor.",
- "If you were to ask m_c, no other cat is anywhere near as fun or interesting as r_c.",
- "m_c had a lovely dream about r_c."
- ],
- "relationship_constraint": [
- "romantic_30"
- ]
- },
- {
- "id": "rom_inc_medium8",
- "intensity": "medium",
- "interactions": [
- "m_c wonders why r_c keeps spending time with {PRONOUN/m_c/object} when others usually don't like {PRONOUN/m_c/poss} attitude, but {PRONOUN/m_c/subject} certainly won't object.",
- "r_c offered to groom m_c and, despite {PRONOUN/m_c/poss} grumbling, {PRONOUN/m_c/subject} awkwardly accepted."
- ],
- "main_trait_constraint": [
- "grumpy",
- "strict",
- "insecure",
- "arrogant",
- "vengeful",
- "righteous",
- "rebellious",
- "cold",
- "gloomy",
- "fierce",
- "righteous",
- "troublesome"
- ],
- "reaction_random_cat": {
- "romantic": "increase",
- "dislike": "decrease",
- "comfortable": "increase"
- },
- "reaction_main_cat": {
- "romantic": "increase",
- "dislike": "decrease",
- "comfortable": "increase"
- }
- },
- {
- "id": "rom_inc_med9",
- "intensity": "medium",
- "interactions": [
- "m_c and r_c played around during patrol and got in a bit of trouble, but still returned to camp smiling.",
- "m_c just barely missed a mouse, but r_c caught it right after, handing it off to {PRONOUN/m_c/object}.",
- "m_c and r_c got so into playing around that they got separated from the rest of the patrol, earning themselves an earful back at camp."
- ],
- "reaction_random_cat": {
- "romantic": "increase",
- "platonic": "increase"
- },
- "reaction_main_cat": {
- "romantic": "increase",
- "platonic": "increase"
- }
- },
- {
- "id": "rom_inc_high1",
- "intensity": "high",
- "interactions": [
- "m_c is spending a lot of time with r_c.",
- "m_c enjoys the time with r_c and feels secure.",
- "m_c wants to spend the entire day with r_c.",
- "m_c saves a piece of prey for r_c because {PRONOUN/m_c/subject} {VERB/m_c/know/knows} it's {PRONOUN/r_c/poss} favorite.",
- "m_c brings r_c some fresh-kill, hoping that {PRONOUN/m_c/subject} remembered what r_c's favorite was.",
- "m_c got stuck in the same tree with r_c for hours and realized how much they have in common.",
- "m_c asks r_c to help {PRONOUN/m_c/object} freshen up on some battle moves, complementing {PRONOUN/r_c/object} constantly throughout.",
- "m_c asks r_c to go fishing with {PRONOUN/m_c/object}, but they keep on getting distracted by each other.",
- "m_c gives r_c a beautiful feather {PRONOUN/m_c/subject} found, and hides behind {PRONOUN/m_c/poss} whiskers when thanked.",
- "m_c gives r_c a wonderfully colored pebble {PRONOUN/m_c/subject} found, and hides behind {PRONOUN/m_c/poss} whiskers when thanked.",
- "m_c gives r_c a circular Twoleg object {PRONOUN/m_c/subject} found, and hides behind {PRONOUN/m_c/poss} whiskers when thanked.",
- "m_c compliments r_c on how well groomed {PRONOUN/r_c/poss} pelt is today.",
- "m_c compliments r_c on how sharp {PRONOUN/r_c/poss} claws are today.",
- "m_c compliments r_c on {PRONOUN/r_c/poss} catch during a hunting patrol, which causes {PRONOUN/r_c/object} to purr."
- ],
- "reaction_random_cat": {
- "romantic": "increase",
- "dislike": "decrease",
- "platonic": "increase",
- "comfortable": "increase"
- }
- },
- {
- "id": "rom_inc_high2",
- "intensity": "high",
- "season": [
- "newleaf",
- "greenleaf"
- ],
- "interactions": [
- "m_c gave a pretty flower {PRONOUN/m_c/subject} found to r_c.",
- "m_c picks some fragrant flowers for r_c.",
- "m_c decorates r_c's nest with flowers to surprise {PRONOUN/r_c/object}!",
- "m_c rolls around in some herbs after hearing r_c likes their smell.",
- "m_c gave r_c a sprig of catmint {PRONOUN/m_c/subject} found."
- ],
- "reaction_random_cat": {
- "romantic": "increase",
- "dislike": "decrease",
- "platonic": "increase",
- "comfortable": "increase"
- }
- },
- {
- "id": "rom_inc_high3",
- "intensity": "high",
- "interactions": [
- "m_c is rolling around a little too playfully with r_c...",
- "m_c could spend hours listening to r_c's voice.",
- "m_c hopes to dream of r_c tonight.",
- "m_c is the only cat who can make r_c laugh."
- ],
- "relationship_constraint": [
- "romantic_40"
- ],
- "reaction_random_cat": {
- "romantic": "increase",
- "dislike": "decrease",
- "platonic": "increase",
- "comfortable": "increase"
- }
- },
- {
- "id": "rom_inc_high4",
- "intensity": "high",
- "interactions": [
- "m_c was caught enjoying a moonlit stroll with r_c last night...",
- "m_c sneaks out at night to sleep in r_c's nest.",
- "m_c and r_c were heard discussing kits.",
- "m_c and r_c have been sickeningly lovey-dovey all day.",
- "m_c and r_c snuck out of camp together.",
- "m_c promises r_c to always be there to protect {PRONOUN/r_c/object} with {PRONOUN/m_c/poss} life."
- ],
- "relationship_constraint": [
- "romantic_40",
- "mates"
- ],
- "reaction_random_cat": {
- "romantic": "increase",
- "dislike": "decrease",
- "platonic": "increase",
- "comfortable": "increase"
- }
- },
- {
- "id": "rom_inc_high5",
- "intensity": "high",
- "interactions": [
- "m_c purrs for a long time at one of r_c's lame jokes.",
- "m_c can't stop gushing over r_c.",
- "m_c came back to camp sulking after failing to catch r_c's favorite prey for {PRONOUN/r_c/object} but {PRONOUN/r_c/subject} {VERB/r_c/doesn't/didn't} seem to care, nuzzling into m_c's neck, {PRONOUN/r_c/subject} {VERB/r_c/were/was} just happy m_c was back.",
- "m_c goes out of {PRONOUN/m_c/poss} way to catch r_c's favorite prey."
- ],
- "relationship_constraint": [
- "mates"
- ],
- "reaction_random_cat": {
- "romantic": "increase",
- "dislike": "decrease",
- "platonic": "increase",
- "comfortable": "increase"
- }
- },
- {
- "id": "rom_inc_high6",
- "intensity": "high",
- "interactions": [
- "m_c takes r_c out to look at the stars, explaining the constellations to {PRONOUN/r_c/object}.",
- "m_c tells r_c romantic stories of old."
- ],
- "main_skill_trait": [
- "STORY,3"
- ],
- "reaction_random_cat": {
- "romantic": "increase",
- "dislike": "decrease",
- "platonic": "increase",
- "comfortable": "increase"
- }
- }
-]
+[
+ {
+ "id": "rom_inc_low1",
+ "intensity": "low",
+ "interactions": [
+ "m_c is developing a crush on r_c.",
+ "m_c might be reading a little too far into r_c's kindness.",
+ "m_c never realized how much {PRONOUN/m_c/subject} {VERB/m_c/love/loves} spending time with r_c.",
+ "m_c can't help but smile seeing r_c smile."
+ ],
+ "relationship_constraint": [
+ "not_mates",
+ "romantic_10_lower"
+ ]
+ },
+ {
+ "id": "rom_inc_low2",
+ "intensity": "low",
+ "interactions": [
+ "m_c is admiring r_c from afar...",
+ "m_c stayed up all night thinking of ways to impress r_c.",
+ "m_c thinks r_c is really funny.",
+ "m_c had a dream about r_c.",
+ "m_c thinks r_c has very soft fur.",
+ "m_c and r_c sunbathe together.",
+ "m_c and r_c take a nap together."
+ ]
+ },
+ {
+ "id": "rom_inc_low3",
+ "intensity": "low",
+ "interactions": [
+ "m_c is prancing around in front of r_c."
+ ],
+ "reaction_random_cat": {
+ "romantic": "increase"
+ }
+ },
+ {
+ "id": "rom_inc_low4",
+ "intensity": "low",
+ "interactions": [
+ "m_c just noticed how beautiful r_c's eyes are.",
+ "m_c can't help but admire r_c's pelt."
+ ],
+ "relationship_constraint": [
+ "not_mates"
+ ]
+ },
+ {
+ "id": "rom_inc_low5",
+ "intensity": "low",
+ "interactions": [
+ "m_c thinks r_c is really charming.",
+ "m_c can't help but smile when around r_c."
+ ],
+ "random_trait_constraint": [
+ "charming",
+ "charismatic",
+ "flamboyant"
+ ]
+ },
+ {
+ "id": "rom_inc_medium1",
+ "intensity": "medium",
+ "interactions": [
+ "m_c laughs at bad jokes from r_c.",
+ "m_c made r_c laugh again and again.",
+ "m_c goes for a nice long walk with r_c.",
+ "m_c nuzzles against r_c and purrs."
+ ],
+ "reaction_random_cat": {
+ "dislike": "decrease",
+ "platonic": "increase",
+ "comfortable": "increase"
+ }
+ },
+ {
+ "id": "rom_inc_medium2",
+ "intensity": "medium",
+ "interactions": [
+ "m_c ensnares r_c with a charming smile.",
+ "m_c knows exactly what to say to make r_c blush.",
+ "m_c charms r_c with endless compliments."
+ ],
+ "main_trait_constraint": [
+ "charming",
+ "flamboyant",
+ "charismatic"
+ ],
+ "reaction_random_cat": {
+ "romantic": "increase",
+ "dislike": "decrease",
+ "comfortable": "increase"
+ }
+ },
+ {
+ "id": "rom_inc_medium3",
+ "intensity": "medium",
+ "interactions": [
+ "m_c is hoping that r_c notices {PRONOUN/m_c/object}.",
+ "m_c wonders what r_c thinks about mates.",
+ "m_c hopes r_c likes {PRONOUN/m_c/object} as much as {PRONOUN/m_c/subject} {VERB/m_c/like/likes} r_c."
+ ],
+ "relationship_constraint": [
+ "not_mates",
+ "romantic_20_lower"
+ ],
+ "reaction_random_cat": {
+ "romantic": "increase",
+ "dislike": "decrease",
+ "admirable": "increase"
+ }
+ },
+ {
+ "id": "rom_inc_medium4",
+ "intensity": "medium",
+ "interactions": [
+ "m_c imagines what {PRONOUN/m_c/poss} family with r_c would look like.",
+ "m_c would spend the entire day with r_c if {PRONOUN/m_c/subject} could.",
+ "m_c keeps shyly glancing over at r_c as the Clan talks about mates",
+ "m_c doesn't want r_c to overwork {PRONOUN/r_c/self}.",
+ "m_c catches {PRONOUN/m_c/self} staring at r_c a bit too often.",
+ "m_c gets flustered when r_c compliments {PRONOUN/m_c/poss} skill.",
+ "m_c feels {PRONOUN/m_c/poss} jaw drop when the sun catches just right on r_c's pelt.",
+ "m_c immediately thinks of r_c when the topic of mates is brought up.",
+ "m_c is nervous sitting next to r_c at the Clan meeting.",
+ "m_c and r_c talked about the idea of their ideal mates.",
+ "m_c thinks r_c has a beautiful smile.",
+ "m_c and r_c realized they both had similar values when it came to family.",
+ "m_c promises to protect r_c.",
+ "Rumor around the Clan was that m_c and r_c are seeing each other and, while they did clear things up, neither cat seemed to mind...",
+ "m_c thinks r_c has a beautiful laugh.",
+ "m_c took a nap with r_c, happy to be able to spend this time with {PRONOUN/r_c/object}.",
+ "m_c urges r_c to take a break. {PRONOUN/m_c/subject/CAP} {VERB/m_c/don't/doesn't} want to see r_c overworking {PRONOUN/r_c/self}.",
+ "m_c saw r_c in pain and was surprised how much it hurt {PRONOUN/m_c/object} to see r_c like that.",
+ "m_c talked generally about the idea of mates with r_c.",
+ "m_c realizes {PRONOUN/m_c/poss} chest hurts when {PRONOUN/m_c/subject} {VERB/m_c/see/sees} r_c in pain or upset...",
+ "m_c realizes {PRONOUN/m_c/subject} {VERB/m_c/have/has} more than just a crush on r_c."
+ ],
+ "relationship_constraint": [
+ "romantic_20",
+ "not_mates"
+ ]
+ },
+ {
+ "id": "rom_inc_medium5",
+ "intensity": "medium",
+ "interactions": [
+ "m_c brushes against r_c while correcting {PRONOUN/r_c/poss} stance and looks away with a purr.",
+ "m_c left a gift in r_c's nest for {PRONOUN/r_c/object} to find.",
+ "m_c picked out the best piece of prey to share with r_c.",
+ "m_c sees r_c stumble while hunting and thinks it's cute.",
+ "m_c overhears r_c tell another cat {PRONOUN/r_c/subject} kind of {VERB/r_c/like/likes} m_c."
+ ],
+ "reaction_random_cat": {
+ "romantic": "increase",
+ "dislike": "decrease",
+ "comfortable": "increase"
+ }
+ },
+ {
+ "id": "rom_inc_medium6",
+ "intensity": "medium",
+ "interactions": [
+ "m_c wants, more than anything, to confess {PRONOUN/m_c/poss} love to r_c.",
+ "m_c is wondering what it would be like to grow old with r_c.",
+ "m_c is the first cat that r_c thinks of when {PRONOUN/m_c/subject} {VERB/m_c/get/gets} good news.",
+ "m_c realizes {PRONOUN/m_c/poss} heart always flutters whenever {PRONOUN/m_c/subject} {VERB/m_c/see/sees} r_c.",
+ "m_c feels like no one understands {PRONOUN/m_c/object} the way r_c does.",
+ "m_c would give it all to make r_c's dreams come true.",
+ "m_c wants to improve {PRONOUN/m_c/self} for r_c.",
+ "m_c and r_c talked about the idea of their ideal mates and noticed each other having a few of those qualities...",
+ "m_c can't imagine any cat other than r_c as {PRONOUN/m_c/poss} mate.",
+ "m_c can't stop purring when {PRONOUN/m_c/subject} {VERB/m_c/remember/remembers} r_c's laugh."
+ ],
+ "relationship_constraint": [
+ "romantic_40",
+ "not_mates"
+ ]
+ },
+ {
+ "id": "rom_inc_medium7",
+ "intensity": "medium",
+ "interactions": [
+ "m_c thinks r_c is the most beautiful cat in the Clan.",
+ "m_c can't stop thinking about r_c.",
+ "m_c feels giddy about getting on the same patrol as r_c.",
+ "m_c wants r_c to understand how crazy {PRONOUN/m_c/subject} {VERB/m_c/are/is} about {PRONOUN/r_c/object}.",
+ "m_c thinks r_c has a lovely sense of humor.",
+ "If you were to ask m_c, no other cat is anywhere near as fun or interesting as r_c.",
+ "m_c had a lovely dream about r_c."
+ ],
+ "relationship_constraint": [
+ "romantic_30"
+ ]
+ },
+ {
+ "id": "rom_inc_medium8",
+ "intensity": "medium",
+ "interactions": [
+ "m_c wonders why r_c keeps spending time with {PRONOUN/m_c/object} when others usually don't like {PRONOUN/m_c/poss} attitude, but {PRONOUN/m_c/subject} certainly won't object.",
+ "r_c offered to groom m_c and, despite {PRONOUN/m_c/poss} grumbling, {PRONOUN/m_c/subject} awkwardly accepted."
+ ],
+ "main_trait_constraint": [
+ "grumpy",
+ "strict",
+ "insecure",
+ "arrogant",
+ "vengeful",
+ "righteous",
+ "rebellious",
+ "cold",
+ "gloomy",
+ "fierce",
+ "righteous",
+ "troublesome"
+ ],
+ "reaction_random_cat": {
+ "romantic": "increase",
+ "dislike": "decrease",
+ "comfortable": "increase"
+ },
+ "reaction_main_cat": {
+ "romantic": "increase",
+ "dislike": "decrease",
+ "comfortable": "increase"
+ }
+ },
+ {
+ "id": "rom_inc_med9",
+ "intensity": "medium",
+ "interactions": [
+ "m_c and r_c played around during patrol and got in a bit of trouble, but still returned to camp smiling.",
+ "m_c just barely missed a mouse, but r_c caught it right after, handing it off to {PRONOUN/m_c/object}.",
+ "m_c and r_c got so into playing around that they got separated from the rest of the patrol, earning themselves an earful back at camp."
+ ],
+ "reaction_random_cat": {
+ "romantic": "increase",
+ "platonic": "increase"
+ },
+ "reaction_main_cat": {
+ "romantic": "increase",
+ "platonic": "increase"
+ }
+ },
+ {
+ "id": "rom_inc_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c is spending a lot of time with r_c.",
+ "m_c enjoys the time with r_c and feels secure.",
+ "m_c wants to spend the entire day with r_c.",
+ "m_c saves a piece of prey for r_c because {PRONOUN/m_c/subject} {VERB/m_c/know/knows} it's {PRONOUN/r_c/poss} favorite.",
+ "m_c brings r_c some fresh-kill, hoping that {PRONOUN/m_c/subject} remembered what r_c's favorite was.",
+ "m_c got stuck in the same tree with r_c for hours and realized how much they have in common.",
+ "m_c asks r_c to help {PRONOUN/m_c/object} freshen up on some battle moves, complementing {PRONOUN/r_c/object} constantly throughout.",
+ "m_c asks r_c to go fishing with {PRONOUN/m_c/object}, but they keep on getting distracted by each other.",
+ "m_c gives r_c a beautiful feather {PRONOUN/m_c/subject} found, and hides behind {PRONOUN/m_c/poss} whiskers when thanked.",
+ "m_c gives r_c a wonderfully colored pebble {PRONOUN/m_c/subject} found, and hides behind {PRONOUN/m_c/poss} whiskers when thanked.",
+ "m_c gives r_c a circular Twoleg object {PRONOUN/m_c/subject} found, and hides behind {PRONOUN/m_c/poss} whiskers when thanked.",
+ "m_c compliments r_c on how well groomed {PRONOUN/r_c/poss} pelt is today.",
+ "m_c compliments r_c on how sharp {PRONOUN/r_c/poss} claws are today.",
+ "m_c compliments r_c on {PRONOUN/r_c/poss} catch during a hunting patrol, which causes {PRONOUN/r_c/object} to purr."
+ ],
+ "reaction_random_cat": {
+ "romantic": "increase",
+ "dislike": "decrease",
+ "platonic": "increase",
+ "comfortable": "increase"
+ }
+ },
+ {
+ "id": "rom_inc_high2",
+ "intensity": "high",
+ "season": [
+ "newleaf",
+ "greenleaf"
+ ],
+ "interactions": [
+ "m_c gave a pretty flower {PRONOUN/m_c/subject} found to r_c.",
+ "m_c picks some fragrant flowers for r_c.",
+ "m_c decorates r_c's nest with flowers to surprise {PRONOUN/r_c/object}!",
+ "m_c rolls around in some herbs after hearing r_c likes their smell.",
+ "m_c gave r_c a sprig of catmint {PRONOUN/m_c/subject} found."
+ ],
+ "reaction_random_cat": {
+ "romantic": "increase",
+ "dislike": "decrease",
+ "platonic": "increase",
+ "comfortable": "increase"
+ }
+ },
+ {
+ "id": "rom_inc_high3",
+ "intensity": "high",
+ "interactions": [
+ "m_c is rolling around a little too playfully with r_c...",
+ "m_c could spend hours listening to r_c's voice.",
+ "m_c hopes to dream of r_c tonight.",
+ "m_c is the only cat who can make r_c laugh."
+ ],
+ "relationship_constraint": [
+ "romantic_40"
+ ],
+ "reaction_random_cat": {
+ "romantic": "increase",
+ "dislike": "decrease",
+ "platonic": "increase",
+ "comfortable": "increase"
+ }
+ },
+ {
+ "id": "rom_inc_high4",
+ "intensity": "high",
+ "interactions": [
+ "m_c was caught enjoying a moonlit stroll with r_c last night...",
+ "m_c sneaks out at night to sleep in r_c's nest.",
+ "m_c and r_c were heard discussing kits.",
+ "m_c and r_c have been sickeningly lovey-dovey all day.",
+ "m_c and r_c snuck out of camp together.",
+ "m_c promises r_c to always be there to protect {PRONOUN/r_c/object} with {PRONOUN/m_c/poss} life."
+ ],
+ "relationship_constraint": [
+ "romantic_40",
+ "mates"
+ ],
+ "reaction_random_cat": {
+ "romantic": "increase",
+ "dislike": "decrease",
+ "platonic": "increase",
+ "comfortable": "increase"
+ }
+ },
+ {
+ "id": "rom_inc_high5",
+ "intensity": "high",
+ "interactions": [
+ "m_c purrs for a long time at one of r_c's lame jokes.",
+ "m_c can't stop gushing over r_c.",
+ "m_c came back to camp sulking after failing to catch r_c's favorite prey for {PRONOUN/r_c/object} but {PRONOUN/r_c/subject} {VERB/r_c/doesn't/didn't} seem to care, nuzzling into m_c's neck, {PRONOUN/r_c/subject} {VERB/r_c/were/was} just happy m_c was back.",
+ "m_c goes out of {PRONOUN/m_c/poss} way to catch r_c's favorite prey."
+ ],
+ "relationship_constraint": [
+ "mates"
+ ],
+ "reaction_random_cat": {
+ "romantic": "increase",
+ "dislike": "decrease",
+ "platonic": "increase",
+ "comfortable": "increase"
+ }
+ },
+ {
+ "id": "rom_inc_high6",
+ "intensity": "high",
+ "interactions": [
+ "m_c takes r_c out to look at the stars, explaining the constellations to {PRONOUN/r_c/object}.",
+ "m_c tells r_c romantic stories of old."
+ ],
+ "main_skill_trait": [
+ "STORY,3"
+ ],
+ "reaction_random_cat": {
+ "romantic": "increase",
+ "dislike": "decrease",
+ "platonic": "increase",
+ "comfortable": "increase"
+ }
+ }
+]
diff --git a/resources/dicts/relationship_events/normal_interactions/trust/decrease.json b/resources/dicts/relationship_events/normal_interactions/trust/decrease.json
index 01a47e8be2..d498d7c201 100644
--- a/resources/dicts/relationship_events/normal_interactions/trust/decrease.json
+++ b/resources/dicts/relationship_events/normal_interactions/trust/decrease.json
@@ -1,207 +1,236 @@
-[
- {
- "id": "trust_de_low1",
- "intensity": "low",
- "interactions": [
- "m_c doesn't think that r_c has been completely honest lately.",
- "m_c thinks r_c has been acting strangely."
- ]
- },
- {
- "id": "trust_de_low2",
- "intensity": "low",
- "interactions": [
- "m_c shared a embarrassing story about r_c {PRONOUN/m_c/subject} {VERB/m_c/were/was} asked not to share...",
- "m_c laughed at r_c when {PRONOUN/r_c/subject} tripped and didn't even ask if {PRONOUN/r_c/subject} needed help up."
- ],
- "reaction_random_cat": {
- "trust": "decrease"
- }
- },
- {
- "id": "trust_de_low3",
- "intensity": "low",
- "interactions": [
- "m_c keeps {PRONOUN/m_c/poss} tail tucked around r_c.",
- "m_c is keeping a close eye on r_c to make sure {PRONOUN/r_c/subject}{VERB/r_c/'re/'s} not causing any trouble."
- ],
- "random_status_constraint": [
- "kitten"
- ],
- "reaction_random_cat": {
- "trust": "decrease"
- }
- },
- {
- "id": "trust_de_med1",
- "interactions": [
- "m_c caught r_c in a lie.",
- "r_c let m_c down when {PRONOUN/m_c/subject} {VERB/m_c/were/was} counting on {PRONOUN/r_c/object}.",
- "r_c tripped m_c at the Gathering in front of all the Clans."
- ]
- },
- {
- "id": "trust_de_med2",
- "interactions": [
- "m_c said {PRONOUN/m_c/subject}'d cover for r_c, but when it came time, {PRONOUN/m_c/subject} got r_c in trouble.",
- "m_c told r_c {PRONOUN/r_c/subject} could tell {PRONOUN/m_c/object} anything but when r_c took up the offer, m_c got {PRONOUN/r_c/object} in trouble."
- ],
- "reaction_random_cat": {
- "trust": "decrease"
- }
- },
- {
- "id": "trust_de_med3",
- "interactions": [
- "r_c is gossiping about m_c.",
- "m_c is spreading a rumor about r_c.",
- "m_c caught r_c slinking around the camp entrance in the middle of the night.",
- "m_c catches r_c doing something sneaky but when {PRONOUN/r_c/subject} {VERB/r_c/were/was} asked, r_c refused to give a straight answer.",
- "m_c catches r_c sneaking around.",
- "m_c catches r_c sneaking back into camp in the middle of the night."
- ],
- "random_trait_constraint": [
- "sneaky"
- ]
- },
- {
- "id": "trust_kit_de_med1",
- "interactions": [
- "m_c constantly pulls pranks on r_c.",
- "m_c is relentlessly pestering r_c.",
- "m_c keeps pouncing on r_c's tail despite being told to stop.",
- "r_c hissed at m_c.",
- "r_c caught m_c misbehaving even though {PRONOUN/m_c/subject} promised to be on {PRONOUN/m_c/poss} best behavior."
- ],
- "relationship_constraint": [
- "dislike_40"
- ],
- "main_status_constraint": [
- "kitten"
- ],
- "reaction_random_cat": {
- "trust": "decrease",
- "dislike": "increase"
- }
- },
- {
- "id": "trust_de_high1",
- "intensity": "high",
- "interactions": [
- "m_c goes to tell a secret to r_c only for r_c to tell someone else's secret to {PRONOUN/m_c/object}.",
- "m_c turned to r_c in a time of need, only for r_c to abandon {PRONOUN/m_c/object}."
- ]
- },
- {
- "id": "trust_de_high2",
- "intensity": "high",
- "interactions": [
- "m_c tries to scare r_c.",
- "m_c dismisses r_c's reasonable concerns and fears and tells {PRONOUN/r_c/object} to get over it.",
- "m_c pulls a mean-spirited prank on r_c."
- ],
- "relationship_constraint": [
- "dislike_40"
- ],
- "reaction_random_cat": {
- "trust": "decrease"
- }
- },
- {
- "id": "trust_for_medcat_de_high1",
- "intensity": "high",
- "interactions": [
- "m_c can never seem explain {PRONOUN/r_c/poss} health in a way that makes r_c listen...",
- "m_c feels like r_c is downplaying the severity of m_c's health concerns.",
- "m_c accuses r_c of not taking care of cats properly.",
- "m_c doesn't bother to ask r_c for help with a minor injury, worried that {PRONOUN/r_c/subject} might make it worse.",
- "m_c complains that r_c doesn't seem to understand signs from StarClan very well.",
- "m_c feels worse after r_c gave {PRONOUN/m_c/object} the wrong treatment for something minor.",
- "m_c doesn't trust r_c to treat {PRONOUN/m_c/object}."
- ],
- "random_status_constraint": [
- "medicine cat"
- ]
- },
- {
- "id": "trust_for_medcat_de_high2",
- "intensity": "high",
- "interactions": [
- "m_c is dissatisfied that r_c can't seem to get rid of {PRONOUN/m_c/poss} chronic pain.",
- "m_c is upset that r_c seems to ignore {PRONOUN/r_c/object} more than the other cats.",
- "m_c thinks that r_c prioritizes other cat's issues instead of {PRONOUN/m_c/poss} chronic ones."
- ],
- "main_status_constraint": [
- "elder"
- ],
- "random_status_constraint": [
- "medicine cat"
- ]
- },
- {
- "id": "trust_for_medcat_de_high3",
- "intensity": "high",
- "interactions": [
- "m_c accuses r_c of treating cats incorrectly on purpose!",
- "m_c saw r_c bringing deathberries into the medicine cat den.",
- "r_c was rough with m_c during a recent treatment.",
- "m_c isn't sure why r_c became a medicine cat at all since {PRONOUN/r_c/subject} {VERB/r_c/seem/seems} to not like helping any cats.",
- "m_c wouldn't be surprised if r_c faked signs from StarClan...",
- "m_c makes absolutely sure r_c gave {PRONOUN/m_c/object} the right herbs.",
- "m_c lashes {PRONOUN/m_c/poss} tail as r_c dismisses {PRONOUN/m_c/poss} health concerns as nothing serious.",
- "r_c claimed m_c was lying about an injury and refused to even look at it.",
- "r_c claimed m_c was lying about an illness and refused to even check.",
- "r_c ignored m_c when {PRONOUN/m_c/subject} needed treatment.",
- "m_c is doubting whether r_c has any connection to StarClan at all."
- ],
- "random_status_constraint": [
- "medicine cat"
- ],
- "random_trait_constraint": [
- "cold",
- "bloodthirsty",
- "vengeful"
- ]
- },
- {
- "id": "trust_for_medcat_de_high4",
- "intensity": "high",
- "interactions": [
- "m_c is shocked when r_c casually admits forgetting a basic treatment.",
- "m_c growls frustratingly at r_c when {PRONOUN/r_c/subject} {VERB/r_c/don't/doesn't} pay attention to m_c's health concerns... again.",
- "m_c looks for r_c for treatment on a minor wound, only to find {PRONOUN/r_c/object} playing with catmint!",
- "m_c hopes to never have a serious illness with r_c in charge of treatments...",
- "m_c complains that r_c never takes {PRONOUN/r_c/poss} role of medicine cat seriously.",
- "m_c can't keep r_c's attention long enough to tell {PRONOUN/r_c/object} what {PRONOUN/m_c/object} {VERB/m_c/need/needs} help with.",
- "r_c didn't notice m_c when {PRONOUN/m_c/subject} needed treatment."
- ],
- "random_status_constraint": [
- "medicine cat"
- ],
- "random_trait_constraint": [
- "oblivious",
- "childish"
- ]
- },
- {
- "id": "trust_for_leader_de_high1",
- "intensity": "high",
- "interactions": [
- "m_c cowers away from r_c after {PRONOUN/r_c/subject} {VERB/r_c/bark/barks} an order at {PRONOUN/m_c/object}.",
- "After hearing r_c's most recent demands, m_c is concerned about the future of the Clan.",
- "m_c doesn't believe that r_c has the Clan's best interests in mind.",
- "m_c doesn't understand how StarClan could grant a cat as cold and uncaring as r_c nine lives.",
- "When it comes down to it, m_c doesn't think {PRONOUN/m_c/subject} could follow r_c's every order.",
- "m_c wonders if {PRONOUN/m_c/subject} could run away from the Clan if necessary...",
- "m_c wonders if exile is really so bad given current Clan leadership..."
- ],
- "random_status_constraint": [
- "leader"
- ],
- "random_trait_constraint": [
- "cold",
- "bloodthirsty",
- "vengeful"
- ]
- }
-]
+[
+ {
+ "id": "trust_de_low1",
+ "intensity": "low",
+ "interactions": [
+ "m_c doesn't think that r_c has been completely honest lately.",
+ "m_c thinks r_c has been acting strangely.",
+ "r_c won't tell m_c what's got {PRONOUN/r_c/object} acting weird.",
+ "m_c sees r_c whispering suspiciously to a Clanmate.",
+ "m_c smells something strange on r_c.",
+ "m_c feels like r_c has been quieter than usual.",
+ "m_c noticed that r_c wasn't in {PRONOUN/r_c/poss} nest last night.",
+ "Though m_c asks around, {PRONOUN/m_c/subject} can't find r_c anywhere.",
+ "m_c asks r_c a simple question, but r_c reacts strangely to it.",
+ "r_c forgot something that m_c asked {PRONOUN/r_c/object} to remember.",
+ "r_c won't stop looking at a specific Clanmate while talking to m_c.",
+ "m_c has a weird feeling about something r_c said the other day."
+ ]
+ },
+ {
+ "id": "trust_de_low2",
+ "intensity": "low",
+ "interactions": [
+ "m_c shared a embarrassing story about r_c {PRONOUN/m_c/subject} {VERB/m_c/were/was} asked not to share...",
+ "m_c's friend doesn't trust r_c.",
+ "m_c learns that r_c told a Clanmate one of {PRONOUN/m_c/poss} secrets.",
+ "r_c snitches on m_c for something minor.",
+ "m_c saw r_c hide something before talking to {PRONOUN/m_c/object}.",
+ "r_c won't tell m_c what {PRONOUN/r_c/subject} ate this morning.",
+ "r_c got a weird look on {PRONOUN/r_c/poss} face when m_c approached {PRONOUN/r_c/object}.",
+ "m_c has to snap r_c out of a daze to ask a question.",
+ "r_c keeps asking m_c if {PRONOUN/m_c/subject} {VERB/m_c/trust/trusts} {PRONOUN/r_c/object}.",
+ "m_c finds out something small about r_c that r_c had lied about before."
+
+ ],
+ "reaction_random_cat": {
+ "trust": "decrease"
+ }
+ },
+ {
+ "id": "trust_de_med1",
+ "interactions": [
+ "m_c knows that r_c just lied!",
+ "r_c gave m_c a gift that doesn't make sense.",
+ "r_c forgot something important about m_c.",
+ "r_c keeps calling m_c by the wrong name.",
+ "r_c sides with a Clanmate instead of m_c on something.",
+ "m_c thinks that r_c spread a rumor about {PRONOUN/m_c/object}.",
+ "m_c doesn't think that r_c's intentions are all pure.",
+ "m_c swears {PRONOUN/m_c/subject} {VERB/m_c/see/sees} r_c sneaking around the camp at night.",
+ "r_c keeps making excuses about something m_c wants to know.",
+ "m_c can't seem to get a straight answer from r_c lately.",
+ "r_c let m_c down when m_c was counting on {PRONOUN/r_c/object}."
+ ]
+ },
+ {
+ "id": "trust_de_med2",
+ "interactions": [
+ "m_c said {PRONOUN/m_c/subject}'d cover for r_c, but when it came time, {PRONOUN/m_c/subject} got r_c in trouble.",
+ "r_c doesn't want to apologize to m_c for something.",
+ "r_c asks m_c to stop following {PRONOUN/r_c/object} around.",
+ "r_c keeps avoiding eye contact with m_c.",
+ "m_c learns that r_c has been misleading {PRONOUN/m_c/object} about something trivial.",
+ "r_c does something that badly affects m_c.",
+ "r_c volunteers m_c for something that {PRONOUN/m_c/object} didn't want to do...",
+ "m_c and r_c can't seem to agree on the truth about something.",
+ "m_c asks r_c about a lie r_c told, but {PRONOUN/r_c/subject} {VERB/r_c/dodge/dodges} the question.",
+ "m_c realizes that r_c's been avoiding {PRONOUN/m_c/object}.",
+ "m_c knows that r_c is hiding something.",
+ "m_c was convinced that r_c was lying about something, but r_c wasn't."
+ ],
+ "reaction_random_cat": {
+ "trust": "decrease"
+ }
+ },
+ {
+ "id": "trust_de_med3",
+ "interactions": [
+ "r_c is gossiping about m_c.",
+ "r_c tries to dig into one of m_c's secrets.",
+ "m_c finds r_c trying to eavesdrop into one of {PRONOUN/m_c/poss} conversations.",
+ "m_c wakes up to r_c trying to steal a piece of {PRONOUN/m_c/poss} nest.",
+ "m_c is spreading a rumor about r_c."
+ ],
+ "random_trait_constraint": [
+ "sneaky",
+ "childish",
+ "vengeful"
+ ]
+ },
+ {
+ "id": "trust_kit_de_med1",
+ "interactions": [
+ "m_c constantly pulling pranks on r_c.",
+ "m_c always shifts the blame to r_c!",
+ "m_c won't stop crying whenever r_c starts winning in a game.",
+ "m_c grins while r_c is being scolded by an older Clanmate.",
+ "m_c is relentlessly pestering r_c."
+ ],
+ "relationship_constraint": [
+ "dislike_40"
+ ],
+ "main_status_constraint": [
+ "kitten"
+ ],
+ "reaction_random_cat": {
+ "trust": "decrease",
+ "dislike": "increase"
+ }
+ },
+ {
+ "id": "trust_de_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c goes to tell a secret to r_c only for r_c to tell someone else's secret to {PRONOUN/m_c/object}.",
+ "r_c doesn't believe m_c when {PRONOUN/m_c/subject} {VERB/m_c/explain/explains} that a rumor about {PRONOUN/m_c/object} is false.",
+ "m_c learns that r_c has been using {PRONOUN/m_c/object} for something.",
+ "m_c doubts whether r_c even likes {PRONOUN/m_c/object} at all...",
+ "r_c uses one of m_c's fears against {PRONOUN/m_c/object}.",
+ "r_c accidentally hurts m_c during an argument between them.",
+ "m_c thinks r_c is trying to steal one of {PRONOUN/m_c/poss} friends!",
+ "m_c turned to r_c in a time of need, only for r_c to abandon {PRONOUN/m_c/object}."
+ ]
+ },
+ {
+ "id": "trust_de_high2",
+ "intensity": "high",
+ "interactions": [
+ "m_c tries to scare r_c.",
+ "m_c accuses r_c of being in cahoots with a cat from another Clan.",
+ "m_c publicly accuses r_c of breaking the Warrior Code.",
+ "m_c is blindsided by r_c completely betraying {PRONOUN/m_c/object}.",
+ "m_c threatens to blackmail r_c.",
+ "m_c and r_c refuse to trust one another, which nearly leads to one of them getting hurt.",
+ "r_c's prank on m_c almost turned deadly.",
+ "r_c has been pitting a Clanmate against m_c.",
+ "m_c claims to have had a prophetic dream about r_c betraying the Clan.",
+ "m_c and r_c tell everyone embarrassing secrets about each other.",
+ "r_c destroys something dear to m_c.",
+ "r_c blackmails m_c with one of {PRONOUN/m_c/poss} secrets."
+ ],
+ "relationship_constraint": [
+ "dislike_40"
+ ],
+ "reaction_random_cat": {
+ "trust": "decrease"
+ }
+ },
+ {
+ "id": "trust_for_medcat_de_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c can never seem to explain {PRONOUN/r_c/poss} health in a way that makes r_c listen...",
+ "m_c feels like r_c is downplaying the severity of m_c's health concerns.",
+ "m_c accuses r_c of not taking care of cats properly.",
+ "m_c doesn't bother to ask r_c for help with a minor injury, worried that {PRONOUN/r_c/subject} might make it worse.",
+ "m_c complains that r_c doesn't seem to understand signs from StarClan very well.",
+ "m_c feels worse after r_c gave {PRONOUN/m_c/object} the wrong treatment for something minor.",
+ "m_c thinks that r_c gave {PRONOUN/m_c/object} the wrong herbs."
+ ],
+ "random_status_constraint": [
+ "medicine cat"
+ ]
+ },
+ {
+ "id": "trust_for_medcat_de_high2",
+ "intensity": "high",
+ "interactions": [
+ "m_c is dissatisfied that r_c can't seem to get rid of {PRONOUN/m_c/poss} chronic pain.",
+ "m_c is upset that r_c seems to ignore {PRONOUN/r_c/object} more than the other cats.",
+ "m_c thinks that r_c prioritizes other cat's issues instead of m_c's chronic ones."
+ ],
+ "main_status_constraint": [
+ "elder"
+ ],
+ "random_status_constraint": [
+ "medicine cat"
+ ]
+ },
+ {
+ "id": "trust_for_medcat_de_high3",
+ "intensity": "high",
+ "interactions": [
+ "m_c accuses r_c of treating cats incorrectly on purpose!",
+ "m_c saw r_c bringing deathberries into the medicine den.",
+ "r_c was rough with m_c during a recent treatment.",
+ "m_c isn't sure why r_c became a medicine cat at all since {PRONOUN/r_c/subject} {VERB/r_c/seem/seems} to not like helping any cats.",
+ "m_c wouldn't be surprised if r_c faked signs from StarClan..."
+ ],
+ "random_status_constraint": [
+ "medicine cat"
+ ],
+ "random_trait_constraint": [
+ "cold",
+ "bloodthirsty",
+ "vengeful"
+ ]
+ },
+ {
+ "id": "trust_for_medcat_de_high4",
+ "intensity": "high",
+ "interactions": [
+ "m_c is shocked when r_c casually admits forgetting a basic treatment.",
+ "m_c growls frustratingly at r_c when {PRONOUN/r_c/subject} {VERB/r_c/don't/doesn't} pay attention to m_c's health concerns... again.",
+ "m_c looks for r_c for treatment on a minor wound, only to find {PRONOUN/r_c/object} playing with catmint!",
+ "m_c hopes to never have a serious illness with r_c in charge of treatments...",
+ "m_c complains that r_c never takes {PRONOUN/r_c/poss} role of medicine cat seriously."
+ ],
+ "random_status_constraint": [
+ "medicine cat"
+ ],
+ "random_trait_constraint": [
+ "oblivious",
+ "childish"
+ ]
+ },
+ {
+ "id": "trust_for_leader_de_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c cowers away from r_c after r_c barks an order at {PRONOUN/m_c/object}.",
+ "After hearing r_c's most recent demands, m_c is concerned about the future of the Clan.",
+ "m_c doesn't believe that r_c has the Clan's best interests in mind.",
+ "m_c doesn't understand how StarClan could grant a cat as cold and uncaring as r_c nine lives.",
+ "When it comes down to it, m_c doesn't think {PRONOUN/m_c/subject} could follow r_c's every order."
+ ],
+ "random_status_constraint": [
+ "leader"
+ ],
+ "random_trait_constraint": [
+ "cold",
+ "bloodthirsty",
+ "vengeful"
+ ]
+ }
+]
diff --git a/resources/dicts/relationship_events/normal_interactions/trust/increase.json b/resources/dicts/relationship_events/normal_interactions/trust/increase.json
index 3f948d1e79..f19f9ca910 100644
--- a/resources/dicts/relationship_events/normal_interactions/trust/increase.json
+++ b/resources/dicts/relationship_events/normal_interactions/trust/increase.json
@@ -1,349 +1,428 @@
-[
- {
- "id": "trust_inc_low1",
- "intensity": "low",
- "interactions": [
- "m_c appreciates r_c telling {PRONOUN/m_c/object} that {PRONOUN/m_c/subject} had a feather stuck to {PRONOUN/m_c/poss} face.",
- "m_c offered r_c a paw with something but {PRONOUN/r_c/subject} turned it down, thanking {PRONOUN/m_c/object} for the offer.",
- "m_c offered r_c a paw with something.",
- "m_c told r_c a hard truth that {PRONOUN/m_c/subject} knew {PRONOUN/r_c/subject} needed to hear.",
- "r_c warned m_c of a prank.",
- "m_c gave r_c a helpful suggestion."
- ]
- },
- {
- "id": "trust_inc_low2",
- "intensity": "low",
- "interactions": [
- "r_c tells m_c to get {PRONOUN/m_c/poss} ailment treated as soon as possible.",
- "r_c is chiding m_c for being so reckless.",
- "r_c apologized to m_c for possibly hurting {PRONOUN/m_c/poss} feelings.",
- "r_c brought m_c aside and pointed out a messy patch of fur {PRONOUN/m_c/subject} missed grooming that morning.",
- "m_c recalled some of r_c's careful advice in a tough spot and was grateful when it proved useful!"
- ],
- "random_trait_constraint": [
- "careful"
- ]
- },
- {
- "id": "trust_inc_low3",
- "intensity": "low",
- "interactions": [
- "m_c bestows wisdom onto r_c."
- ],
- "reaction_random_cat": {
- "trust": "increase",
- "admiration": "increase"
- },
- "main_status_constraint": [
- "elder"
- ]
- },
- {
- "id": "trust_inc_med1",
- "interactions": [
- "m_c thinks about how r_c is always reliable.",
- "m_c notices how r_c is being helpful around camp.",
- "m_c heard an ugly rumor about r_c but {PRONOUN/m_c/subject} {VERB/m_c/stick/sticks} up for {PRONOUN/r_c/object} knowing it's not true."
- ]
- },
- {
- "id": "trust_inc_med2",
- "interactions": [
- "m_c comes up with a plan to sneak out of camp with r_c."
- ],
- "reaction_random_cat": {
- "trust": "increase"
- }
- },
- {
- "id": "trust_inc_med3",
- "interactions": [
- "r_c is telling m_c in great detail how {PRONOUN/r_c/subject} would protect {PRONOUN/m_c/object} from any danger.",
- "r_c tells m_c {PRONOUN/r_c/subject} could easily fight off an entire Clan of cats to protect {PRONOUN/m_c/object}, {PRONOUN/r_c/subject} {VERB/r_c/swear/swears}!"
- ],
- "random_trait_constraint": [
- "bold",
- "arrogant",
- "competitive",
- "bloodthirsty",
- "daring",
- "fierce",
- "responsible"
- ],
- "random_status_constraint": [
- "apprentice",
- "warrior",
- "deputy",
- "leader",
- "elder"
- ]
- },
- {
- "id": "trust_inc_med4",
- "interactions": [
- "r_c is building up m_c's confidence."
- ],
- "random_trait_constraint": [
- "confident"
- ]
- },
- {
- "id": "trust_inc_med5",
- "interactions": [
- "r_c let m_c lean on {PRONOUN/r_c/poss} shoulder after a recent injury.",
- "r_c is poised to help train m_c."
- ],
- "random_trait_constraint": [
- "altruistic"
- ]
- },
- {
- "id": "trust_inc_med6",
- "interactions": [
- "r_c is teaching m_c how to walk without making a sound.",
- "r_c is showing m_c how to sneak up on {PRONOUN/m_c/poss} enemies.",
- "r_c convinces m_c to help {PRONOUN/r_c/object} pull a prank on a Clanmate.",
- "m_c is whispering quietly with r_c.",
- "r_c is teaching m_c to blend in with {PRONOUN/m_c/poss} surroundings seamlessly."
- ],
- "random_trait_constraint": [
- "sneaky",
- "careful"
- ]
- },
- {
- "id": "trust_inc_med7",
- "interactions": [
- "r_c is giving m_c advice.",
- "r_c is teaching m_c something important."
- ],
- "random_trait_constraint": [
- "wise",
- "responsible",
- "thoughtful"
- ]
- },
- {
- "id": "trust_inc_med8",
- "interactions": [
- "m_c urges r_c to rest, {PRONOUN/m_c/subject} can handle some of r_c's workload.",
- "m_c reminded r_c of some work {PRONOUN/r_c/subject} forgot about."
- ],
- "main_status_constraint": [
- "apprentice",
- "medicine cat apprentice",
- "mediator apprentice",
- "warrior",
- "medicine cat",
- "mediator",
- "deputy",
- "leader",
- "elder"
- ],
- "main_status_constraint": [
- "apprentice",
- "medicine cat apprentice",
- "mediator apprentice",
- "warrior",
- "medicine cat",
- "mediator",
- "deputy",
- "leader"
- ]
- },
- {
- "id": "trust_adult_inc_med1",
- "interactions": [
- "m_c is giving advice to r_c.",
- "m_c is looking out for r_c's well-being.",
- "m_c snuck r_c out of camp for a fun break from {PRONOUN/r_c/poss} duties and covered for {PRONOUN/r_c/object} when {PRONOUN/r_c/subject} {VERB/r_c/were/was} later questioned.",
- "r_c reminds m_c of {PRONOUN/m_c/self} in {PRONOUN/m_c/poss} younger years."
- ],
- "main_status_constraint": [
- "elder",
- "warrior",
- "mediator",
- "medicine cat",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "kitten",
- "apprentice",
- "mediator apprentice",
- "medicine cat apprentice"
- ],
- "reaction_random_cat": {
- "trust": "increase"
- }
- },
- {
- "id": "trust_adult_inc_med2",
- "interactions": [
- "m_c goes to r_c to ask for {PRONOUN/r_c/poss} wisdom.",
- "m_c is faced with a tough decision and wonders what r_c would do.",
- "m_c turns to r_c in a time of need.",
- "m_c is feeling lost and asks r_c for advice on what to do."
- ],
- "main_status_constraint": [
- "kitten",
- "apprentice",
- "warrior",
- "mediator apprentice",
- "mediator",
- "medicine cat apprentice",
- "medicine cat",
- "deputy",
- "leader"
- ],
- "random_status_constraint": [
- "elder",
- "mediator",
- "medicine cat",
- "leader"
- ],
- "reaction_random_cat": {
- "trust": "increase"
- }
- },
- {
- "id": "trust_inc_high1",
- "intensity": "high",
- "interactions": [
- "m_c thinks {PRONOUN/m_c/subject} can tell r_c something important.",
- "m_c feels safe with r_c around.",
- "m_c knows that the advice r_c gave {PRONOUN/m_c/object} will be helpful.",
- "m_c made a big mistake and knew {PRONOUN/m_c/subject} could trust r_c to help {PRONOUN/m_c/object}."
- ]
- },
- {
- "id": "trust_inc_high2",
- "intensity": "high",
- "interactions": [
- "m_c is letting r_c share {PRONOUN/r_c/poss} troubles with {PRONOUN/m_c/object}, hoping {PRONOUN/r_c/subject}'ll feel better afterwards.",
- "m_c promises to always look out for r_c.",
- "m_c tells r_c to count on {PRONOUN/m_c/object} in a difficult situation.",
- "m_c catches r_c in an embarrassing situation and promises not to say anything.",
- "m_c overheard a big secret about r_c and assured {PRONOUN/r_c/object} it was safe with {PRONOUN/m_c/object}."
- ],
- "reaction_random_cat": {
- "trust": "increase"
- }
- },
- {
- "id": "trust_inc_high3",
- "intensity": "high",
- "interactions": [
- "m_c tells r_c a secret.",
- "m_c confesses something minor to r_c.",
- "m_c and r_c swap secrets with each other."
- ],
- "relationship_constraint": [
- "trust_30"
- ],
- "reaction_random_cat": {
- "trust": "increase"
- }
- },
- {
- "id": "trust_inc_high4",
- "intensity": "high",
- "interactions": [
- "m_c goes to r_c for advice about some recent troubles.",
- "m_c asks r_c for help resolving an argument with a friend.",
- "r_c gives m_c advice on {PRONOUN/m_c/poss} love life."
- ],
- "relationship_constraint": [
- "trust_30"
- ],
- "random_status_constraint": [
- "elder",
- "mediator",
- "mediator apprentice"
- ]
- },
- {
- "id": "trust_star_inc_high1",
- "intensity": "high",
- "interactions": [
- "m_c tells r_c about {PRONOUN/m_c/poss} last encounter with StarClan."
- ],
- "main_status_constraint": [
- "medicine cat apprentice",
- "medicine cat",
- "leader"
- ],
- "relationship_constraint": [
- "trust_30"
- ],
- "random_status_constraint": [
- "elder",
- "warrior",
- "mediator",
- "medicine cat apprentice",
- "medicine cat",
- "deputy",
- "leader"
- ],
- "reaction_random_cat": {
- "trust": "increase"
- }
- },
- {
- "id": "trust_led_inc_high1",
- "interactions": [
- "m_c talks with r_c about difficult decisions."
- ],
- "relationship_constraint": [
- "trust_50"
- ],
- "main_status_constraint": [
- "leader"
- ],
- "random_status_constraint": [
- "deputy",
- "elder",
- "medicine cat"
- ],
- "reaction_random_cat": {
- "trust": "increase"
- }
- },
- {
- "id": "trust_med_inc_high1",
- "interactions": [
- "m_c tells r_c a trick about a certain herb.",
- "m_c goes to r_c to ask for {PRONOUN/r_c/poss} wisdom.",
- "m_c asks r_c about a specific treatment method."
- ],
- "main_status_constraint": [
- "medicine cat apprentice",
- "medicine cat"
- ],
- "random_status_constraint": [
- "medicine cat apprentice",
- "medicine cat"
- ],
- "reaction_random_cat": {
- "trust": "increase"
- }
- },
- {
- "id": "trust_med_inc_high2",
- "interactions": [
- "m_c observes r_c carefully attending to any cat that needs help.",
- "m_c feels like {PRONOUN/m_c/subject} can count on r_c to give {PRONOUN/m_c/object} the best treatment possible.",
- "m_c is relieved when r_c says {PRONOUN/m_c/poss} injury is nothing to be worried about.",
- "m_c is relieved when r_c says {PRONOUN/m_c/poss} cough is nothing to be worried about.",
- "m_c is relieved r_c doesn't judge {PRONOUN/m_c/object} for coming to {PRONOUN/r_c/object} with concerns that end up being nothing at all.",
- "m_c went to r_c genuinely concerned about a rough looking scratch only to be embarrassed and ashamed when r_c wipes it away. Turns out it was a very convincing smear of dried mud. r_c, amused by it all, promised not to tell anyone.",
- "r_c is extra careful treating m_c.",
- "m_c knows if anything goes wrong {PRONOUN/m_c/subject} can depend on r_c always."
- ],
- "random_status_constraint": [
- "medicine cat apprentice",
- "medicine cat"
- ]
- }
-]
+[
+ {
+ "id": "trust_inc_low1",
+ "intensity": "low",
+ "interactions": [
+ "m_c appreciates r_c telling {PRONOUN/m_c/object} that {PRONOUN/m_c/subject} had a feather stuck to {PRONOUN/m_c/poss} face.",
+ "r_c follows through on a small promise made with m_c.",
+ "r_c says something vulnerable to m_c.",
+ "m_c feels a little safer when r_c joins {PRONOUN/m_c/object} in the clearing.",
+ "m_c gets some good advice from r_c about something trivial.",
+ "r_c respects m_c's opinion despite disagreeing with it.",
+ "r_c vents about something trivial to m_c.",
+ "r_c sends a Clanmate to help m_c with something {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} struggling with.",
+ "r_c respects m_c's opinion despite disagreeing with it."
+ ]
+ },
+ {
+ "id": "trust_inc_low2",
+ "intensity": "low",
+ "interactions": [
+ "m_c includes r_c in a conversation that r_c struggled to join.",
+ "r_c helps m_c hide from a Clanmate.",
+ "r_c makes a small sacrifice that benefits m_c.",
+ "r_c lets m_c know that a Clanmate was talking badly about {PRONOUN/m_c/object}.",
+ "r_c tells m_c that {PRONOUN/r_c/subject} was worried for {PRONOUN/m_c/object}."
+ ],
+ "reaction_random_cat": {
+ "trust": "increase"
+ }
+ },
+ {
+ "id": "trust_inc_low3",
+ "intensity": "low",
+ "interactions": [
+ "m_c bestows wisdom onto r_c."
+ ],
+ "reaction_random_cat": {
+ "trust": "increase",
+ "admiration": "increase"
+ },
+ "main_status_constraint": [
+ "elder"
+ ]
+ },
+ {
+ "id": "trust_inc_low4",
+ "intensity": "low",
+ "interactions": [
+ "r_c tells m_c to get {PRONOUN/m_c/poss} ailment treated as soon as possible.",
+ "r_c is chiding m_c for being so reckless.",
+ "r_c apologized to m_c for possibly hurting {PRONOUN/m_c/poss} feelings."
+ ],
+ "random_trait_constraint": [
+ "careful"
+ ]
+ },
+ {
+ "id": "trust_inc_med1",
+ "interactions": [
+ "m_c thinks about how r_c is always reliable.",
+ "m_c notices how r_c is being helpful around camp.",
+ "m_c has faith in r_c.",
+ "m_c is grateful that r_c has kept a secret of {PRONOUN/m_c/poss}s.",
+ "r_c seems respectful of m_c's boundaries as of late.",
+ "r_c explained something in detail to m_c that others wouldn't explain to {PRONOUN/m_c/object}.",
+ "m_c overhears r_c dispelling a false rumor about a Clanmate.",
+ "r_c helps m_c fix a matted piece of fur on {PRONOUN/m_c/poss} back.",
+ "m_c notices how r_c is being helpful around camp."
+ ]
+ },
+ {
+ "id": "trust_inc_med2",
+ "interactions": [
+ "m_c comes up with a plan to sneak out of camp with r_c.",
+ "r_c doesn't entertain a rumor that is being spread about m_c.",
+ "r_c takes m_c's side while m_c is in a debate.",
+ "m_c nearly tripped, but was caught by r_c.",
+ "m_c asks r_c to watch {PRONOUN/m_c/poss} fresh-kill so {PRONOUN/m_c/subject} can go to the dirtplace.",
+ "Only m_c and r_c know the details about a specific piece of Clan drama."
+ ],
+ "reaction_random_cat": {
+ "trust": "increase"
+ }
+ },
+ {
+ "id": "trust_inc_medpat",
+ "interactions": [
+ "Something embarrassing happens to m_c on a patrol, but r_c promises not to tell anyone.",
+ "m_c lets r_c bring back fresh-kill {PRONOUN/m_c/subject} caught on a patrol.",
+ "m_c offers to take r_c's place on a patrol when {PRONOUN/r_c/subject} {VERB/r_c/aren't/isn't} feeling well.",
+ "r_c stands up for m_c during a patrol.",
+ "m_c and r_c find a hidden part of the territory and keep it a secret together.",
+ "m_c and r_c work well on a patrol together."
+ ],
+ "main_status_constraint": [
+ "apprentice",
+ "warrior",
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "apprentice",
+ "warrior",
+ "deputy",
+ "leader"
+ ],
+ "reaction_random_cat": {
+ "trust": "increase"
+ }
+ },
+ {
+ "id": "trust_inc_med3",
+ "interactions": [
+ "r_c is telling m_c in great detail how {PRONOUN/r_c/subject} would protect {PRONOUN/m_c/object} from any danger.",
+ "r_c gets riled up on m_c's behalf during a debate.",
+ "r_c snaps at a Clanmate for disagreeing with m_c."
+ ],
+ "random_trait_constraint": [
+ "fierce"
+ ]
+ },
+ {
+ "id": "trust_inc_med4",
+ "interactions": [
+ "r_c is building up m_c's confidence.",
+ "r_c promises m_c that everything will be okay."
+ ],
+ "random_trait_constraint": [
+ "confident"
+ ]
+ },
+ {
+ "id": "trust_inc_med5",
+ "interactions": [
+ "r_c let m_c lean on {PRONOUN/r_c/poss} shoulder after a recent injury.",
+ "r_c skips eating a meal so m_c can have food.",
+ "r_c offers to take the blame for something that m_c did.",
+ "r_c is poised to help train m_c."
+ ],
+ "random_trait_constraint": [
+ "altruistic",
+ "thoughtful",
+ "compassionate"
+ ]
+ },
+ {
+ "id": "trust_de_med3",
+ "interactions": [
+ "r_c is teaching m_c how to walk without making a sound.",
+ "r_c is showing m_c how to sneak up on {PRONOUN/m_c/poss} enemies.",
+ "r_c convinces m_c to help {PRONOUN/r_c/object} pull a prank on a Clanmate.",
+ "m_c is whispering quietly with r_c."
+ ],
+ "random_trait_constraint": [
+ "sneaky"
+ ]
+ },
+ {
+ "id": "trust_de_med3",
+ "interactions": [
+ "r_c is giving m_c advice.",
+ "r_c is teaching m_c something important."
+ ],
+ "random_trait_constraint": [
+ "wise"
+ ]
+ },
+ {
+ "id": "trust_adult_inc_med1",
+ "interactions": [
+ "m_c is giving advice to r_c.",
+ "m_c asks r_c to show off {PRONOUN/r_c/poss} skills.",
+ "m_c compliments r_c on a skill {PRONOUN/r_c/subject} trained hard on.",
+ "m_c talks with r_c about {PRONOUN/r_c/poss} potential warrior name.",
+ "m_c is looking out for r_c's well-being."
+ ],
+ "main_status_constraint": [
+ "elder",
+ "warrior",
+ "mediator",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "kitten",
+ "apprentice",
+ "mediator apprentice",
+ "medicine cat apprentice"
+ ],
+ "reaction_random_cat": {
+ "trust": "increase"
+ }
+ },
+ {
+ "id": "trust_adult_inc_med2",
+ "interactions": [
+ "m_c goes to r_c to ask for {PRONOUN/r_c/poss} wisdom.",
+ "m_c is faced with a tough decision and wonders what r_c would do.",
+ "m_c turns to r_c in a time of need.",
+ "m_c is feeling lost and asks r_c for advice on what to do."
+ ],
+ "main_status_constraint": [
+ "kitten",
+ "apprentice",
+ "warrior",
+ "mediator apprentice",
+ "mediator",
+ "medicine cat apprentice",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "elder",
+ "mediator",
+ "medicine cat",
+ "leader"
+ ],
+ "reaction_random_cat": {
+ "trust": "increase"
+ }
+ },
+ {
+ "id": "trust_inc_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c thinks {PRONOUN/m_c/subject} can tell r_c something important.",
+ "m_c feels safe with r_c around.",
+ "r_c won't back down when defending m_c on something.",
+ "r_c calls out the Clan for targeting m_c.",
+ "m_c feels comfortable challenging r_c on something {PRONOUN/r_c/subject} said.",
+ "m_c isn't afraid to ask r_c a difficult question.",
+ "m_c doesn't shy away from r_c's presence.",
+ "m_c knows that the advice r_c gave {PRONOUN/m_c/object} will be helpful."
+ ]
+ },
+ {
+ "id": "trust_inc_high2",
+ "intensity": "high",
+ "interactions": [
+ "m_c is letting r_c share {PRONOUN/r_c/poss} troubles with {PRONOUN/m_c/object}, hoping {PRONOUN/r_c/subject}'ll feel better afterwards.",
+ "m_c promises to always look out for r_c.",
+ "m_c trusts r_c with a very important task.",
+ "m_c often goes to r_c for guidance.",
+ "r_c admits a mistake to m_c and asks for forgiveness.",
+ "r_c believes in m_c's version of events when something happens and the Clan doubts {PRONOUN/m_c/object}.",
+ "m_c backs up one of r_c's claims during one of r_c's arguments.",
+ "m_c and r_c agree on something the rest of the Clan finds contentious.",
+ "m_c tells r_c to count on {PRONOUN/m_c/object} in a difficult situation."
+ ],
+ "reaction_random_cat": {
+ "trust": "increase"
+ }
+ },
+ {
+ "id": "trust_inc_highpat",
+ "interactions": [
+ "m_c and r_c watch one another's back on a patrol.",
+ "m_c protects r_c from something on a patrol.",
+ "m_c and r_c chase off a predator on a patrol together.",
+ "m_c and r_c make an elaborate plan to evict a predator from the Clan's territory.",
+ "m_c and r_c volunteer to go on an extra border patrol together.",
+ "m_c notices that r_c has finished all {PRONOUN/r_c/poss} tasks without issues lately.",
+ "During a patrol, m_c and r_c have a long conversation about their beliefs and agree on many things.",
+ "During the last gathering, m_c and r_c defended their Clan against another Clan's heckling."
+ ],
+ "main_status_constraint": [
+ "apprentice",
+ "warrior",
+ "mediator",
+ "medicine cat",
+ "deputy",
+ "medicine cat apprentice",
+ "leader"
+ ],
+ "random_status_constraint": [
+ "apprentice",
+ "warrior",
+ "mediator",
+ "medicine cat",
+ "deputy",
+ "leader",
+ "medicine cat apprentice"
+ ],
+ "reaction_random_cat": {
+ "trust": "increase"
+ }
+ },
+ {
+ "id": "trust_inc_high3",
+ "intensity": "high",
+ "interactions": [
+ "m_c tells r_c a deep, dark secret.",
+ "m_c confesses something to r_c.",
+ "m_c depends on r_c to back {PRONOUN/m_c/object} up during a debate.",
+ "m_c and r_c swap secrets with each other."
+ ],
+ "relationship_constraint": [
+ "trust_30"
+ ],
+ "reaction_random_cat": {
+ "trust": "increase"
+ }
+ },
+ {
+ "id": "trust_inc_high4",
+ "intensity": "high",
+ "interactions": [
+ "m_c goes to r_c for advice about some recent troubles.",
+ "m_c asks r_c to help {PRONOUN/m_c/object} find the right words to say to a Clanmate.",
+ "m_c asks r_c for help resolving an argument with a friend."
+ ],
+ "relationship_constraint": [
+ "trust_30"
+ ],
+ "random_status_constraint": [
+ "elder",
+ "mediator",
+ "mediator apprentice"
+ ]
+ },
+ {
+ "id": "trust_star_inc_high1",
+ "intensity": "high",
+ "interactions": [
+ "m_c tells r_c about {PRONOUN/m_c/poss} last encounter with StarClan.",
+ "m_c debates the meaning of a prophetic dream with r_c.",
+ "r_c has a lot of faith in m_c's skill."
+ ],
+ "main_status_constraint": [
+ "medicine cat apprentice",
+ "medicine cat",
+ "leader"
+ ],
+ "relationship_constraint": [
+ "trust_30"
+ ],
+ "random_status_constraint": [
+ "elder",
+ "warrior",
+ "mediator",
+ "medicine cat apprentice",
+ "medicine cat",
+ "deputy",
+ "leader"
+ ],
+ "reaction_random_cat": {
+ "trust": "increase"
+ }
+ },
+ {
+ "id": "trust_led_inc_high1",
+ "interactions": [
+ "m_c talks with r_c about difficult decisions."
+ ],
+ "relationship_constraint": [
+ "trust_50"
+ ],
+ "main_status_constraint": [
+ "leader"
+ ],
+ "random_status_constraint": [
+ "deputy",
+ "elder",
+ "medicine cat"
+ ],
+ "reaction_random_cat": {
+ "trust": "increase"
+ }
+ },
+ {
+ "id": "trust_led_inc_high2",
+ "interactions": [
+ "m_c makes battle plans with r_c.",
+ "m_c discusses future plans for the Clan with r_c.",
+ "m_c catches up on current Clan relationships with r_c.",
+ "m_c discusses plans to expand the territory with r_c."
+ ],
+ "relationship_constraint": [
+ "trust_50"
+ ],
+ "main_status_constraint": [
+ "leader"
+ ],
+ "random_status_constraint": [
+ "deputy",
+ "medicine cat"
+ ],
+ "reaction_random_cat": {
+ "trust": "increase"
+ }
+ },
+ {
+ "id": "trust_med_inc_high1",
+ "interactions": [
+ "m_c tells r_c a trick about a certain herb.",
+ "m_c shows r_c how to make an herb taste better.",
+ "m_c and r_c invent a new treatment method together.",
+ "m_c knows that r_c will always bring back the right herbs from a patrol.",
+ "m_c trusts r_c with a patient {PRONOUN/m_c/subject} {VERB/m_c/were/was} treating.",
+ "m_c goes to r_c to ask for {PRONOUN/r_c/poss} wisdom.",
+ "m_c asks r_c about a specific treatment method."
+ ],
+ "main_status_constraint": [
+ "medicine cat apprentice",
+ "medicine cat"
+ ],
+ "random_status_constraint": [
+ "medicine cat apprentice",
+ "medicine cat"
+ ],
+ "reaction_random_cat": {
+ "trust": "increase"
+ }
+ },
+ {
+ "id": "trust_med_inc_high2",
+ "interactions": [
+ "m_c observes r_c carefully attending to any cat that needs help.",
+ "m_c feels like {PRONOUN/m_c/subject} can count on r_c to give {PRONOUN/m_c/object} the best treatment possible."
+ ],
+ "random_status_constraint": [
+ "medicine cat apprentice",
+ "medicine cat"
+ ]
+ }
+]
diff --git a/resources/dicts/thoughts/alive/elder.json b/resources/dicts/thoughts/alive/elder.json
index 0ff1aa0de9..f837c0a721 100644
--- a/resources/dicts/thoughts/alive/elder.json
+++ b/resources/dicts/thoughts/alive/elder.json
@@ -41,11 +41,1025 @@
"senior"
]
},
+ {
+ "id": "adventurous_elder",
+ "thoughts": [
+ "Wishes {PRONOUN/m_c/subject} {VERB/m_c/were/was} young enough to spend the whole day exploring",
+ "Thinks wistfully of all the adventures {PRONOUN/m_c/subject} used to go on",
+ "Is feeling cooped up in camp"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "adventurous"
+ ]
+ },
+ {
+ "id": "adventurous_elder_to_apprentices",
+ "thoughts": [
+ "Tells a group of awe-struck apprentices all the exciting adventures {PRONOUN/m_c/subject} had outside Clan territory",
+ "Reminds an apprentice that there is so, so much more than life within the borders",
+ "Informs an apprentice of all the best landmarks outside c_n territory"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "adventurous"
+ ],
+ "random_status_constraint": [
+ "apprentice"
+ ]
+ },
+ {
+ "id": "ambitious_elder",
+ "thoughts": [
+ "Wonders if elders can still become leader",
+ "Thinks elders should be allowed to patrol",
+ "Feels content with having reached such a highly-respected role"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "ambitious"
+ ]
+ },
+ {
+ "id": "ambitious_elder_to_leader",
+ "thoughts": [
+ "Is eager to give advice to the leader"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "ambitious"
+ ],
+ "random_status_constraint": [
+ "leader"
+ ]
+ },
+ {
+ "id": "arrogant_elder",
+ "thoughts": [
+ "Yells at anycat within earshot to bring {PRONOUN/m_c/object} fresh moss",
+ "Is telling stories - only about {PRONOUN/m_c/self}, of course"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "arrogant"
+ ]
+ },
+ {
+ "id": "arrogant_elder_to_younger_cats",
+ "thoughts": [
+ "Is bossing the younger cats around"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "arrogant"
+ ],
+ "random_age_constraint": [
+ "kitten",
+ "adolescent",
+ "young adult"
+ ]
+ },
+ {
+ "id": "arrogant_elder_to_leader",
+ "thoughts": [
+ "Gives unsolicited advice to the leader"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "arrogant"
+ ],
+ "random_status_constraint": [
+ "leader"
+ ]
+ },
+ {
+ "id": "bloodthirsty_elder",
+ "thoughts": [
+ "Hates how powerless {PRONOUN/m_c/subject} {VERB/m_c/feel/feels} as an elder",
+ "Misses going on border patrol",
+ "Insists that elders can fight in battles"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "bloodthirsty"
+ ]
+ },
+ {
+ "id": "bloodthirsty_elder_to_apprentice",
+ "thoughts": [
+ "Snarls at an apprentice when they bring thorns into the den",
+ "Snaps at an apprentice to hurry up with cleaning the elder's den",
+ "Lectures an apprentice on not holding back in battle"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "bloodthirsty"
+ ],
+ "random_status_constraint": [
+ "apprentice"
+ ]
+ },
+ {
+ "id": "bold_elder",
+ "thoughts": [
+ "Boldly gives {PRONOUN/m_c/poss} advice at a Clan meeting",
+ "Insists on going to the next Gathering",
+ "Declares that {PRONOUN/m_c/subject} will fight alongside the warriors in battle"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "bold"
+ ]
+ },
+ {
+ "id": "calm_elder",
+ "thoughts": [
+ "Is enjoying the peaceful life of an elder",
+ "Is a soothing presence in the Clan"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "calm"
+ ]
+ },
+ {
+ "id": "careful_elder",
+ "thoughts": [
+ "Reminds a patrol not to be reckless",
+ "Checks the elder's den is secure for the fifth time today"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "careful"
+ ]
+ },
+ {
+ "id": "careful_elder_to_apprentice",
+ "thoughts": [
+ "Asks an apprentice to triple-check there's no thorns in {PRONOUN/m_c/poss} bedding",
+ "Is telling cautionary tales to apprentices"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "careful"
+ ],
+ "random_status_constraint": [
+ "apprentice"
+ ]
+ },
+ {
+ "id": "charismatic_elder",
+ "thoughts": [
+ "Has everycat engaged in an extravagant story",
+ "Hasn't lost any of {PRONOUN/m_c/poss} charm"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "charismatic"
+ ]
+ },
+ {
+ "id": "childish_elder",
+ "thoughts": [
+ "Whines about {PRONOUN/m_c/poss} nest being too rough",
+ "Is happy {PRONOUN/m_c/subject} {VERB/m_c/do/does}n't have to patrol anymore",
+ "Bats a moss ball around the elder's den"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "childish"
+ ]
+ },
+ {
+ "id": "cold_elder",
+ "thoughts": [
+ "Hates how much {PRONOUN/m_c/subject} {VERB/m_c/have/has} to rely on others",
+ "Flatly refuses to tell a story when a Clanmate asks"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "cold"
+ ]
+ },
+ {
+ "id": "compassionate_elder",
+ "thoughts": [
+ "Insists the warriors eat before {PRONOUN/m_c/object}",
+ "Offers advice to cats who need it"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "compassionate"
+ ]
+ },
+ {
+ "id": "compassionate_elder_to_apprentice",
+ "thoughts": [
+ "Helps an apprentice to clean out the elder's den"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "compassionate"
+ ],
+ "random_status_constraint": [
+ "apprentice"
+ ]
+ },
+ {
+ "id": "competitive_elder",
+ "thoughts": [
+ "Challenges a Clanmate to a game of moss ball",
+ "Misses the 'friendly' hunting competitions {PRONOUN/m_c/subject} used to compete in",
+ "Is coming up with new competitions for elders"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "competitive"
+ ]
+ },
+ {
+ "id": "confident_elder",
+ "thoughts": [
+ "Is proud of all {PRONOUN/m_c/subject}{VERB/m_c/'ve/'s} achieved",
+ "Offers advice to {PRONOUN/m_c/poss} Clanmates",
+ "Brags about all {PRONOUN/m_c/poss} past achievements",
+ "Tells another story about {PRONOUN/m_c/self}"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "confident"
+ ]
+ },
+ {
+ "id": "cunning_elder",
+ "thoughts": [
+ "Persuades a Clanmate to bring {PRONOUN/m_c/object} fresh-kill, though {PRONOUN/m_c/subject} could have got it {PRONOUN/m_c/self}",
+ "Always ends up with the nicest piece of prey, without anycat realising"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "cunning"
+ ]
+ },
+ {
+ "id": "cunning_elder_to_apprentices",
+ "thoughts": [
+ "Convinces an apprentice that they get given an easier warrior assessment if they help the elders",
+ "Persuades an apprentice to clean out the elder's den"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "cunning"
+ ],
+ "random_status_constraint": [
+ "apprentice"
+ ]
+ },
+ {
+ "id": "daring_elder",
+ "thoughts": [
+ "Is stubbornly refusing the medicine cat's herbs, claiming {PRONOUN/m_c/subject} {VERB/m_c/do/does}n't need them",
+ "Is telling exciting tales from {PRONOUN/m_c/poss} youth",
+ "Insists {PRONOUN/m_c/subject} can race just as well as the warriors"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "daring"
+ ]
+ },
+ {
+ "id": "faithful_elder",
+ "thoughts": [
+ "Is glad {PRONOUN/m_c/subject}{VERB/m_c/'ve/'s} served c_n for so long",
+ "Is proud to have stuck by {PRONOUN/m_c/poss} own beliefs all {PRONOUN/m_c/poss} life",
+ "Reminds {PRONOUN/m_c/poss} Clanmates to follow their hearts"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "faithful"
+ ]
+ },
+ {
+ "id": "fierce_elder",
+ "thoughts": [
+ "Thinks {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} still young enough to take a fox",
+ "Thinks {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} still young enough to take a dog",
+ "Is telling stories to epic battles",
+ "Misses going on border patrol",
+ "Wishes elders could fight in battles"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "fierce"
+ ]
+ },
+ {
+ "id": "flamboyant_elder",
+ "thoughts": [
+ "Is telling extravagant tales of {PRONOUN/m_c/poss} adventures",
+ "Decorates the elder's den with the most colorful flowers"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "flamboyant"
+ ]
+ },
+ {
+ "id": "rebellious_elder",
+ "thoughts": [
+ "Thinks that the Clan used to be run better, and isn't afraid to say it!",
+ "Is telling stories that portray leadership in a... less than flattering light",
+ "Takes full advantage of {PRONOUN/m_c/poss} status as elder"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "rebellious"
+ ]
+ },
+ {
+ "id": "rebellious_elder_to_apprentice",
+ "thoughts": [
+ "Reminds r_c that leaders aren't always right",
+ "Advises r_c to always do what {PRONOUN/r_c/subject} {VERB/r_c/think/thinks} is right"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "rebellious"
+ ],
+ "random_status_constraint": [
+ "apprentice"
+ ]
+ },
+ {
+ "id": "rebellious_elder_to_leader",
+ "thoughts": [
+ "Is giving even more unsolicited advice to the leader",
+ "Is always around to offer some advice to r_c"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "rebellious"
+ ],
+ "random_status_constraint": [
+ "leader"
+ ]
+ },
+ {
+ "id": "gloomy_elder",
+ "thoughts": [
+ "Wonders if {PRONOUN/m_c/subject} could have achieved more...",
+ "Finds it harder and harder to get out of {PRONOUN/m_c/poss} nest",
+ "Feels surprisingly peaceful in the elder's den"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "gloomy"
+ ]
+ },
+ {
+ "id": "grumpy_elder",
+ "thoughts": [
+ "Snarls when a cat suggests {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} too old to do something",
+ "Hisses that {PRONOUN/m_c/poss} nest has thorns in it",
+ "Refuses to tell a story when asked",
+ "Grouchily agrees to tell a story... just this once"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "grumpy"
+ ]
+ },
+ {
+ "id": "insecure_elder",
+ "thoughts": [
+ "Doesn't think {PRONOUN/m_c/subject} achieved all {PRONOUN/m_c/subject} should have...",
+ "Wonders if c_n thinks {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} a waste of space now"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "insecure"
+ ]
+ },
+ {
+ "id": "insecure_elder_to_apprentices",
+ "thoughts": [
+ "Hopes the apprentices don't find {PRONOUN/m_c/object} too boring",
+ "Feels guilty watching an apprentice clean {PRONOUN/m_c/poss} bedding"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "insecure"
+ ],
+ "random_status_constraint": [
+ "apprentice"
+ ]
+ },
+ {
+ "id": "lonesome_elder",
+ "thoughts": [
+ "Goes on yet another walk, alone, just outside camp",
+ "Sits alone in the elder's den",
+ "Is surprised when another cat asks {PRONOUN/m_c/object} for a story",
+ "Is feeling trapped inside camp"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "lonesome"
+ ]
+ },
+ {
+ "id": "loving_elder",
+ "thoughts": [
+ "Insists other cats eat before {PRONOUN/m_c/object}",
+ "Smiles as {PRONOUN/m_c/subject} {VERB/m_c/reminisce/reminisces} about the past"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "loving"
+ ]
+ },
+ {
+ "id": "loving_elder_to_apprentice",
+ "thoughts": [
+ "Purrs reassuringly as an apprentice whines about their day"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "loving"
+ ],
+ "random_status_constraint": [
+ "apprentice"
+ ]
+ },
+ {
+ "id": "loyal_elder",
+ "thoughts": [
+ "Is proud to be a c_n elder",
+ "Knows {PRONOUN/m_c/subject} {VERB/m_c/have/has} served c_n well",
+ "Feels deep pride in {PRONOUN/m_c/poss} status within the Clan"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "loyal"
+ ]
+ },
+ {
+ "id": "loyal_elder_to_younger_cats",
+ "thoughts": [
+ "Is lecturing younger cats on the warrior code",
+ "Is lecturing younger cats on the importance of loyalty to the Clan"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "loyal"
+ ],
+ "random_age_constraint": [
+ "kitten",
+ "adolescent",
+ "young adult"
+ ]
+ },
+ {
+ "id": "nervous_elder",
+ "thoughts": [
+ "Worries that {PRONOUN/m_c/subject} would be defenceless in battle",
+ "Frets that a fox might break into the elder's den"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "nervous"
+ ]
+ },
+ {
+ "id": "oblivious_elder",
+ "thoughts": [
+ "Tells a long, long story that no cat is interested in",
+ "Doesn't seem to notice another cat roll their eyes as {PRONOUN/m_c/subject} {VERB/m_c/complain/complains} about {PRONOUN/m_c/poss} aching joints. Again."
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "oblivious"
+ ]
+ },
+ {
+ "id": "playful_elder",
+ "thoughts": [
+ "Cheers everycat up with a funny story",
+ "Is always a cheerful presence around camp"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "playful"
+ ]
+ },
+ {
+ "id": "playful_elder_to_kits",
+ "thoughts": [
+ "Bats a moss ball around for kits to chase",
+ "Entertains kits with funny stories"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "playful"
+ ],
+ "random_status_constraint": [
+ "kitten"
+ ]
+ },
+ {
+ "id": "responsible_elder",
+ "thoughts": [
+ "Makes sure to give good advice to cats who need it",
+ "Volunteers to guard camp, even though {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} an elder"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "responsible"
+ ]
+ },
+ {
+ "id": "responsible_elder_to_younger_cats",
+ "thoughts": [
+ "Lectures younger cats on the importance of responsibility",
+ "Reminds younger cats to take responsibility for their actions"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "responsible"
+ ],
+ "random_age_constraint": [
+ "kitten",
+ "adolescent",
+ "young adult"
+ ]
+ },
+ {
+ "id": "righteous_elder",
+ "thoughts": [
+ "Gives unsolicited advice due to {PRONOUN/m_c/poss} own morals",
+ "Advises {PRONOUN/m_c/poss} Clanmates to stick to what they believe is right"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "righteous"
+ ]
+ },
+ {
+ "id": "shameless_elder",
+ "thoughts": [
+ "Takes the best piece of prey from the fresh-kill pile",
+ "Is taking full advantage of {PRONOUN/m_c/poss} status as an elder",
+ "Spends all day in {PRONOUN/m_c/poss} nest"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "shameless"
+ ]
+ },
+ {
+ "id": "sincere_elder",
+ "thoughts": [
+ "Thinks hard about how best to advise every cat",
+ "Gives r_c {PRONOUN/m_c/poss} honest advice",
+ "Offers stories of {PRONOUN/m_c/poss} past failures to reassure a Clanmate"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "sincere"
+ ]
+ },
+ {
+ "id": "sincere_elder_to_medicine_cat",
+ "thoughts": [
+ "Is grateful of all the medicine cat does to help {PRONOUN/m_c/object}, and makes sure they know it"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "sincere"
+ ],
+ "random_status_constraint": [
+ "medicine cat"
+ ]
+ },
+ {
+ "id": "sneaky_elder",
+ "thoughts": [
+ "Always seems to find out every cat's secret",
+ "Finds another secret exit near the elder's den",
+ "Never seems to be in the elder's den..."
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "sneaky"
+ ]
+ },
+ {
+ "id": "strange_elder",
+ "thoughts": [
+ "Tells stories... but no cat can quite tell if they're true",
+ "Insists on only having moss from a certain tree"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "strange"
+ ]
+ },
+ {
+ "id": "strict_elder",
+ "thoughts": [
+ "Gives the sternest lectures of any c_n cat!",
+ "Isn't afraid to berate rule-breakers",
+ "Is sure {PRONOUN/m_c/subject} didn't break the rules this much when {PRONOUN/m_c/subject} was younger"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "strict"
+ ]
+ },
+ {
+ "id": "thoughtful_elder",
+ "thoughts": [
+ "Thinks for a long time about how best to offer advice",
+ "Spends the evening planning out a story",
+ "Took the time to clean out {PRONOUN/m_c/poss} own bedding today, so other cats don't have to"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "thoughtful"
+ ]
+ },
+ {
+ "id": "thoughtful_elder_to_leader",
+ "thoughts": [
+ "Is planning how best to present an issue to the leader"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "thoughtful"
+ ],
+ "random_status_constraint": [
+ "leader"
+ ]
+ },
+ {
+ "id": "troublesome_elder",
+ "thoughts": [
+ "Keeps moving the nests in the warriors den while they're out patrolling... just to annoy everyone",
+ "Is finding elder life sooooo boring"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "troublesome"
+ ]
+ },
+ {
+ "id": "vengeful_elder",
+ "thoughts": [
+ "Wonders if {PRONOUN/m_c/subject}{VERB/m_c/'re/'s} the only cat who remembers a past wrongdoing",
+ "Is still glaring at a certain cat after they brought {PRONOUN/m_c/object} bedding with thorns in it"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "vengeful"
+ ]
+ },
+ {
+ "id": "wise_elder",
+ "thoughts": [
+ "Is being asked for advice for the fifth time today",
+ "Is more than happy to grant advice to cats who ask for it",
+ "Thinks back to a time no other cat remembers while solving a problem"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "wise"
+ ]
+ },
+ {
+ "id": "teacher_elder",
+ "thoughts": [
+ "Is happy {PRONOUN/m_c/subject} can pass on {PRONOUN/m_c/poss} knowledge in a new way"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_skill_constraint": [
+ "TEACHER,1"
+ ]
+ },
+ {
+ "id": "story_elder",
+ "thoughts": [
+ "Tells the best stories",
+ "Has plenty of free time to craft new tales",
+ "Is enjoying {PRONOUN/m_c/poss} new role of Clan storyteller"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_skill_constraint": [
+ "STORY,1"
+ ]
+ },
+ {
+ "id": "lore_elder",
+ "thoughts": [
+ "Is passing on stories of old to the next generation",
+ "Seems to know everything about c_n's history!"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_skill_constraint": [
+ "LORE,1"
+ ]
+ },
+ {
+ "id": "camp_elder",
+ "thoughts": [
+ "Still enjoys helping out around camp",
+ "Is teaching {PRONOUN/m_c/poss} Clanmates the art of building a waterproof den!",
+ "Helps the warriors to reinforce the camp walls"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_skill_constraint": [
+ "CAMP,1"
+ ]
+ },
+ {
+ "id": "camp_elder_to_apprentice",
+ "thoughts": [
+ "Teaches an apprentice how to build the comfiest nests",
+ "Watches an apprentice try and construct {PRONOUN/m_c/poss} nest, knowing {PRONOUN/m_c/subject} could do a far better job"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_skill_constraint": [
+ "CAMP,1"
+ ],
+ "random_status_constraint": [
+ "apprentice"
+ ]
+ },
+ {
+ "id": "kitsitter_elder",
+ "thoughts": [
+ "Spends the day collecting trinkets around camp for kits to play with",
+ "Helps to reinforce the nursery"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_skill_constraint": [
+ "KIT,1"
+ ]
+ },
+ {
+ "id": "kitsitter_elder_to_kits",
+ "thoughts": [
+ "Offers to watch over the kits for the day",
+ "Comes up with new games for the kits to play",
+ "Keeps all the kits entertained with exciting stories"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_skill_constraint": [
+ "KIT,1"
+ ],
+ "random_status_constraint": [
+ "kitten"
+ ]
+ },
+ {
+ "id": "scared_elder_mean_leader",
+ "thoughts": [
+ "Is scared that r_c might exile all the elders",
+ "Panics after hearing r_c suggest exiling all the elders"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "nervous",
+ "insecure"
+ ],
+ "random_status_constraint": [
+ "leader"
+ ],
+ "random_trait_constraint": [
+ "bloodthirsty",
+ "cold"
+ ]
+ },
+ {
+ "id": "brave_elder_mean_leader",
+ "thoughts": [
+ "Confronts r_c after {PRONOUN/r_c/subject} {VERB/r_c/suggest/suggests} exiling all the elders",
+ "Is furious after hearing r_c suggest exiling all the elders"
+ ],
+ "main_age_constraint": [
+ "senior adult",
+ "senior"
+ ],
+ "main_trait_constraint": [
+ "bold",
+ "confident",
+ "daring",
+ "fierce",
+ "righteous"
+ ],
+ "random_status_constraint": [
+ "leader"
+ ],
+ "random_trait_constraint": [
+ "bloodthirsty",
+ "cold"
+ ]
+ },
{
"id": "elder_to_alive_younger_cats",
"thoughts": [
"Is giving advice to the younger cats",
- "Is bossing the younger cats around",
"Is telling scary stories to the younger cats",
"Is sharing wisdom with the younger cats that is... less than helpful",
"Is recounting daring expeditions for the younger cats",
diff --git a/resources/images/buttons/cave_camp.png b/resources/images/buttons/cave_camp.png
deleted file mode 100644
index 197ed01e34..0000000000
Binary files a/resources/images/buttons/cave_camp.png and /dev/null differ
diff --git a/resources/images/buttons/cave_camp_hover.png b/resources/images/buttons/cave_camp_hover.png
deleted file mode 100644
index 1c77af0724..0000000000
Binary files a/resources/images/buttons/cave_camp_hover.png and /dev/null differ
diff --git a/resources/images/buttons/cave_camp_unavailable.png b/resources/images/buttons/cave_camp_unavailable.png
deleted file mode 100644
index a0e56ace70..0000000000
Binary files a/resources/images/buttons/cave_camp_unavailable.png and /dev/null differ
diff --git a/resources/images/buttons/classic_camp.png b/resources/images/buttons/classic_camp.png
deleted file mode 100644
index 2f2c255f89..0000000000
Binary files a/resources/images/buttons/classic_camp.png and /dev/null differ
diff --git a/resources/images/buttons/classic_camp_hover.png b/resources/images/buttons/classic_camp_hover.png
deleted file mode 100644
index d0871b43b6..0000000000
Binary files a/resources/images/buttons/classic_camp_hover.png and /dev/null differ
diff --git a/resources/images/buttons/classic_camp_unavailable.png b/resources/images/buttons/classic_camp_unavailable.png
deleted file mode 100644
index a023311012..0000000000
Binary files a/resources/images/buttons/classic_camp_unavailable.png and /dev/null differ
diff --git a/resources/images/buttons/cliff_camp.png b/resources/images/buttons/cliff_camp.png
deleted file mode 100644
index 7e82763ed4..0000000000
Binary files a/resources/images/buttons/cliff_camp.png and /dev/null differ
diff --git a/resources/images/buttons/cliff_camp_hover.png b/resources/images/buttons/cliff_camp_hover.png
deleted file mode 100644
index 3aab637561..0000000000
Binary files a/resources/images/buttons/cliff_camp_hover.png and /dev/null differ
diff --git a/resources/images/buttons/cliff_camp_unavailable.png b/resources/images/buttons/cliff_camp_unavailable.png
deleted file mode 100644
index e0249d3b9f..0000000000
Binary files a/resources/images/buttons/cliff_camp_unavailable.png and /dev/null differ
diff --git a/resources/images/buttons/crystal_camp.png b/resources/images/buttons/crystal_camp.png
deleted file mode 100644
index 0658c9a483..0000000000
Binary files a/resources/images/buttons/crystal_camp.png and /dev/null differ
diff --git a/resources/images/buttons/crystal_camp_hover.png b/resources/images/buttons/crystal_camp_hover.png
deleted file mode 100644
index 05c987a4c8..0000000000
Binary files a/resources/images/buttons/crystal_camp_hover.png and /dev/null differ
diff --git a/resources/images/buttons/crystal_camp_unavailable.png b/resources/images/buttons/crystal_camp_unavailable.png
deleted file mode 100644
index fabfee8c8b..0000000000
Binary files a/resources/images/buttons/crystal_camp_unavailable.png and /dev/null differ
diff --git a/resources/images/buttons/grasslands_camp.png b/resources/images/buttons/grasslands_camp.png
deleted file mode 100644
index 77165a656b..0000000000
Binary files a/resources/images/buttons/grasslands_camp.png and /dev/null differ
diff --git a/resources/images/buttons/grasslands_camp_hover.png b/resources/images/buttons/grasslands_camp_hover.png
deleted file mode 100644
index 92e1d102da..0000000000
Binary files a/resources/images/buttons/grasslands_camp_hover.png and /dev/null differ
diff --git a/resources/images/buttons/grasslands_camp_unavailable.png b/resources/images/buttons/grasslands_camp_unavailable.png
deleted file mode 100644
index aa18c4cbe1..0000000000
Binary files a/resources/images/buttons/grasslands_camp_unavailable.png and /dev/null differ
diff --git a/resources/images/buttons/grotto_camp.png b/resources/images/buttons/grotto_camp.png
deleted file mode 100644
index d620735acd..0000000000
Binary files a/resources/images/buttons/grotto_camp.png and /dev/null differ
diff --git a/resources/images/buttons/grotto_camp_hover.png b/resources/images/buttons/grotto_camp_hover.png
deleted file mode 100644
index 94e6b26c67..0000000000
Binary files a/resources/images/buttons/grotto_camp_hover.png and /dev/null differ
diff --git a/resources/images/buttons/grotto_camp_unavailable.png b/resources/images/buttons/grotto_camp_unavailable.png
deleted file mode 100644
index f56be31a8d..0000000000
Binary files a/resources/images/buttons/grotto_camp_unavailable.png and /dev/null differ
diff --git a/resources/images/buttons/gully_camp.png b/resources/images/buttons/gully_camp.png
deleted file mode 100644
index 6220c58e24..0000000000
Binary files a/resources/images/buttons/gully_camp.png and /dev/null differ
diff --git a/resources/images/buttons/gully_camp_hover.png b/resources/images/buttons/gully_camp_hover.png
deleted file mode 100644
index dd972497de..0000000000
Binary files a/resources/images/buttons/gully_camp_hover.png and /dev/null differ
diff --git a/resources/images/buttons/gully_camp_unavailable.png b/resources/images/buttons/gully_camp_unavailable.png
deleted file mode 100644
index 09b9d3843b..0000000000
Binary files a/resources/images/buttons/gully_camp_unavailable.png and /dev/null differ
diff --git a/resources/images/buttons/lakeside_camp.png b/resources/images/buttons/lakeside_camp.png
deleted file mode 100644
index 3d7d86a1b5..0000000000
Binary files a/resources/images/buttons/lakeside_camp.png and /dev/null differ
diff --git a/resources/images/buttons/lakeside_camp_hover.png b/resources/images/buttons/lakeside_camp_hover.png
deleted file mode 100644
index 2d2de5bbcb..0000000000
Binary files a/resources/images/buttons/lakeside_camp_hover.png and /dev/null differ
diff --git a/resources/images/buttons/lakeside_camp_unavailable.png b/resources/images/buttons/lakeside_camp_unavailable.png
deleted file mode 100644
index c041bbec7f..0000000000
Binary files a/resources/images/buttons/lakeside_camp_unavailable.png and /dev/null differ
diff --git a/resources/images/buttons/ruins_camp.png b/resources/images/buttons/ruins_camp.png
deleted file mode 100644
index 72ec9aade0..0000000000
Binary files a/resources/images/buttons/ruins_camp.png and /dev/null differ
diff --git a/resources/images/buttons/ruins_camp_hover.png b/resources/images/buttons/ruins_camp_hover.png
deleted file mode 100644
index fd876086f5..0000000000
Binary files a/resources/images/buttons/ruins_camp_hover.png and /dev/null differ
diff --git a/resources/images/buttons/ruins_camp_unavailable.png b/resources/images/buttons/ruins_camp_unavailable.png
deleted file mode 100644
index d8a7bb1043..0000000000
Binary files a/resources/images/buttons/ruins_camp_unavailable.png and /dev/null differ
diff --git a/resources/images/buttons/shipwreck_camp.png b/resources/images/buttons/shipwreck_camp.png
deleted file mode 100644
index 434aab9017..0000000000
Binary files a/resources/images/buttons/shipwreck_camp.png and /dev/null differ
diff --git a/resources/images/buttons/shipwreck_camp_hover.png b/resources/images/buttons/shipwreck_camp_hover.png
deleted file mode 100644
index 5190d876c1..0000000000
Binary files a/resources/images/buttons/shipwreck_camp_hover.png and /dev/null differ
diff --git a/resources/images/buttons/shipwreck_camp_unavailable.png b/resources/images/buttons/shipwreck_camp_unavailable.png
deleted file mode 100644
index 0f6043d844..0000000000
Binary files a/resources/images/buttons/shipwreck_camp_unavailable.png and /dev/null differ
diff --git a/resources/images/buttons/tidal_cave_camp.png b/resources/images/buttons/tidal_cave_camp.png
deleted file mode 100644
index aeea1f603e..0000000000
Binary files a/resources/images/buttons/tidal_cave_camp.png and /dev/null differ
diff --git a/resources/images/buttons/tidal_cave_camp_hover.png b/resources/images/buttons/tidal_cave_camp_hover.png
deleted file mode 100644
index 6b09125068..0000000000
Binary files a/resources/images/buttons/tidal_cave_camp_hover.png and /dev/null differ
diff --git a/resources/images/buttons/tidal_cave_camp_unavailable.png b/resources/images/buttons/tidal_cave_camp_unavailable.png
deleted file mode 100644
index 855f7e8fbe..0000000000
Binary files a/resources/images/buttons/tidal_cave_camp_unavailable.png and /dev/null differ
diff --git a/resources/images/buttons/tidepool_camp.png b/resources/images/buttons/tidepool_camp.png
deleted file mode 100644
index 04fa7da708..0000000000
Binary files a/resources/images/buttons/tidepool_camp.png and /dev/null differ
diff --git a/resources/images/buttons/tidepool_camp_hover.png b/resources/images/buttons/tidepool_camp_hover.png
deleted file mode 100644
index ab2ef6676a..0000000000
Binary files a/resources/images/buttons/tidepool_camp_hover.png and /dev/null differ
diff --git a/resources/images/buttons/tidepool_camp_unavailable.png b/resources/images/buttons/tidepool_camp_unavailable.png
deleted file mode 100644
index 5f2acd3d06..0000000000
Binary files a/resources/images/buttons/tidepool_camp_unavailable.png and /dev/null differ
diff --git a/resources/images/buttons/tunnel_camp.png b/resources/images/buttons/tunnel_camp.png
deleted file mode 100644
index e722545a34..0000000000
Binary files a/resources/images/buttons/tunnel_camp.png and /dev/null differ
diff --git a/resources/images/buttons/tunnel_camp_hover.png b/resources/images/buttons/tunnel_camp_hover.png
deleted file mode 100644
index ec2a7ab975..0000000000
Binary files a/resources/images/buttons/tunnel_camp_hover.png and /dev/null differ
diff --git a/resources/images/buttons/tunnel_camp_unavailable.png b/resources/images/buttons/tunnel_camp_unavailable.png
deleted file mode 100644
index 31f03c31b8..0000000000
Binary files a/resources/images/buttons/tunnel_camp_unavailable.png and /dev/null differ
diff --git a/resources/images/buttons/wastelands_camp.png b/resources/images/buttons/wastelands_camp.png
deleted file mode 100644
index 48b8ac0dbd..0000000000
Binary files a/resources/images/buttons/wastelands_camp.png and /dev/null differ
diff --git a/resources/images/buttons/wastelands_camp_hover.png b/resources/images/buttons/wastelands_camp_hover.png
deleted file mode 100644
index 19c09b02e2..0000000000
Binary files a/resources/images/buttons/wastelands_camp_hover.png and /dev/null differ
diff --git a/resources/images/buttons/wastelands_camp_unavailable.png b/resources/images/buttons/wastelands_camp_unavailable.png
deleted file mode 100644
index 6991996367..0000000000
Binary files a/resources/images/buttons/wastelands_camp_unavailable.png and /dev/null differ
diff --git a/resources/images/camp_bg/beach/greenleaf_camp4_dark.png b/resources/images/camp_bg/beach/greenleaf_camp4_dark.png
new file mode 100644
index 0000000000..05f0cce33e
Binary files /dev/null and b/resources/images/camp_bg/beach/greenleaf_camp4_dark.png differ
diff --git a/resources/images/camp_bg/beach/greenleaf_camp4_light.png b/resources/images/camp_bg/beach/greenleaf_camp4_light.png
new file mode 100644
index 0000000000..c71bb19fec
Binary files /dev/null and b/resources/images/camp_bg/beach/greenleaf_camp4_light.png differ
diff --git a/resources/images/camp_bg/beach/leafbare_camp4_dark.png b/resources/images/camp_bg/beach/leafbare_camp4_dark.png
new file mode 100644
index 0000000000..48a3668051
Binary files /dev/null and b/resources/images/camp_bg/beach/leafbare_camp4_dark.png differ
diff --git a/resources/images/camp_bg/beach/leafbare_camp4_light.png b/resources/images/camp_bg/beach/leafbare_camp4_light.png
new file mode 100644
index 0000000000..463ba78c01
Binary files /dev/null and b/resources/images/camp_bg/beach/leafbare_camp4_light.png differ
diff --git a/resources/images/camp_bg/beach/leaffall_camp4_dark.png b/resources/images/camp_bg/beach/leaffall_camp4_dark.png
new file mode 100644
index 0000000000..e467e9accb
Binary files /dev/null and b/resources/images/camp_bg/beach/leaffall_camp4_dark.png differ
diff --git a/resources/images/camp_bg/beach/leaffall_camp4_light.png b/resources/images/camp_bg/beach/leaffall_camp4_light.png
new file mode 100644
index 0000000000..0096bc6e15
Binary files /dev/null and b/resources/images/camp_bg/beach/leaffall_camp4_light.png differ
diff --git a/resources/images/camp_bg/beach/newleaf_camp4_dark.png b/resources/images/camp_bg/beach/newleaf_camp4_dark.png
new file mode 100644
index 0000000000..0fd088d9a3
Binary files /dev/null and b/resources/images/camp_bg/beach/newleaf_camp4_dark.png differ
diff --git a/resources/images/camp_bg/beach/newleaf_camp4_light.png b/resources/images/camp_bg/beach/newleaf_camp4_light.png
new file mode 100644
index 0000000000..feeedb462f
Binary files /dev/null and b/resources/images/camp_bg/beach/newleaf_camp4_light.png differ
diff --git a/resources/images/patrol_art/bch_one_kit.png b/resources/images/patrol_art/bch_one_kit.png
new file mode 100644
index 0000000000..e1051d30a6
Binary files /dev/null and b/resources/images/patrol_art/bch_one_kit.png differ
diff --git a/resources/images/patrol_art/bch_two_kits.png b/resources/images/patrol_art/bch_two_kits.png
new file mode 100644
index 0000000000..4bcb6105c1
Binary files /dev/null and b/resources/images/patrol_art/bch_two_kits.png differ
diff --git a/resources/images/patrol_art/fst_med_stumble1.png b/resources/images/patrol_art/fst_med_stumble1.png
new file mode 100644
index 0000000000..0cefe56ad3
Binary files /dev/null and b/resources/images/patrol_art/fst_med_stumble1.png differ
diff --git a/resources/images/patrol_art/fst_med_stumble2.png b/resources/images/patrol_art/fst_med_stumble2.png
new file mode 100644
index 0000000000..f4408231e7
Binary files /dev/null and b/resources/images/patrol_art/fst_med_stumble2.png differ
diff --git a/resources/images/patrol_art/fst_med_stumble3.png b/resources/images/patrol_art/fst_med_stumble3.png
new file mode 100644
index 0000000000..98bbc227a4
Binary files /dev/null and b/resources/images/patrol_art/fst_med_stumble3.png differ
diff --git a/resources/images/patrol_art/gen_app_meadow.png b/resources/images/patrol_art/gen_app_meadow.png
new file mode 100644
index 0000000000..4fcd393f9f
Binary files /dev/null and b/resources/images/patrol_art/gen_app_meadow.png differ
diff --git a/resources/images/patrol_art/gen_app_med_meadow.png b/resources/images/patrol_art/gen_app_med_meadow.png
new file mode 100644
index 0000000000..0d31a0c1a5
Binary files /dev/null and b/resources/images/patrol_art/gen_app_med_meadow.png differ
diff --git a/resources/images/patrol_art/gen_app_romantic_headbump.png b/resources/images/patrol_art/gen_app_romantic_headbump.png
new file mode 100644
index 0000000000..9b6c924cd1
Binary files /dev/null and b/resources/images/patrol_art/gen_app_romantic_headbump.png differ
diff --git a/resources/images/patrol_art/gen_apprentice_found_scent_apprentice.png b/resources/images/patrol_art/gen_apprentice_found_scent_apprentice.png
new file mode 100644
index 0000000000..2fcdb6cfa5
Binary files /dev/null and b/resources/images/patrol_art/gen_apprentice_found_scent_apprentice.png differ
diff --git a/resources/images/patrol_art/gen_apprentice_found_scent_clanmate.png b/resources/images/patrol_art/gen_apprentice_found_scent_clanmate.png
new file mode 100644
index 0000000000..e991aa3fe0
Binary files /dev/null and b/resources/images/patrol_art/gen_apprentice_found_scent_clanmate.png differ
diff --git a/resources/images/patrol_art/gen_apprentice_found_scent_dangerous.png b/resources/images/patrol_art/gen_apprentice_found_scent_dangerous.png
new file mode 100644
index 0000000000..93ecbd3218
Binary files /dev/null and b/resources/images/patrol_art/gen_apprentice_found_scent_dangerous.png differ
diff --git a/resources/images/patrol_art/gen_apprentice_found_scent_otherclan.png b/resources/images/patrol_art/gen_apprentice_found_scent_otherclan.png
new file mode 100644
index 0000000000..a41b7177b3
Binary files /dev/null and b/resources/images/patrol_art/gen_apprentice_found_scent_otherclan.png differ
diff --git a/resources/images/patrol_art/gen_apprentice_found_scent_outsider.png b/resources/images/patrol_art/gen_apprentice_found_scent_outsider.png
new file mode 100644
index 0000000000..b309466aba
Binary files /dev/null and b/resources/images/patrol_art/gen_apprentice_found_scent_outsider.png differ
diff --git a/resources/images/patrol_art/gen_big_fight_all_warriors.png b/resources/images/patrol_art/gen_big_fight_all_warriors.png
new file mode 100644
index 0000000000..1afaa1f37d
Binary files /dev/null and b/resources/images/patrol_art/gen_big_fight_all_warriors.png differ
diff --git a/resources/images/patrol_art/gen_big_fight_warriors_danger.png b/resources/images/patrol_art/gen_big_fight_warriors_danger.png
new file mode 100644
index 0000000000..570bf66554
Binary files /dev/null and b/resources/images/patrol_art/gen_big_fight_warriors_danger.png differ
diff --git a/resources/images/patrol_art/gen_big_fight_warriors_loner.png b/resources/images/patrol_art/gen_big_fight_warriors_loner.png
new file mode 100644
index 0000000000..40327ac2cf
Binary files /dev/null and b/resources/images/patrol_art/gen_big_fight_warriors_loner.png differ
diff --git a/resources/images/patrol_art/gen_bord_patrolwoundedcatrescue.png b/resources/images/patrol_art/gen_bord_patrolwoundedcatrescue.png
index 16be8383e0..50ad0ced2e 100644
Binary files a/resources/images/patrol_art/gen_bord_patrolwoundedcatrescue.png and b/resources/images/patrol_art/gen_bord_patrolwoundedcatrescue.png differ
diff --git a/resources/images/patrol_art/gen_bord_patrolwoundedlonerrescue.png b/resources/images/patrol_art/gen_bord_patrolwoundedlonerrescue.png
index a356384933..d192d5f452 100644
Binary files a/resources/images/patrol_art/gen_bord_patrolwoundedlonerrescue.png and b/resources/images/patrol_art/gen_bord_patrolwoundedlonerrescue.png differ
diff --git a/resources/images/patrol_art/gen_bump_heads_app_loner.png b/resources/images/patrol_art/gen_bump_heads_app_loner.png
new file mode 100644
index 0000000000..489f78c287
Binary files /dev/null and b/resources/images/patrol_art/gen_bump_heads_app_loner.png differ
diff --git a/resources/images/patrol_art/gen_bump_heads_app_otherclan.png b/resources/images/patrol_art/gen_bump_heads_app_otherclan.png
new file mode 100644
index 0000000000..a519cc8fe7
Binary files /dev/null and b/resources/images/patrol_art/gen_bump_heads_app_otherclan.png differ
diff --git a/resources/images/patrol_art/gen_bump_heads_app_starclan.png b/resources/images/patrol_art/gen_bump_heads_app_starclan.png
new file mode 100644
index 0000000000..094299f431
Binary files /dev/null and b/resources/images/patrol_art/gen_bump_heads_app_starclan.png differ
diff --git a/resources/images/patrol_art/gen_bump_heads_apps.png b/resources/images/patrol_art/gen_bump_heads_apps.png
new file mode 100644
index 0000000000..d756c663ce
Binary files /dev/null and b/resources/images/patrol_art/gen_bump_heads_apps.png differ
diff --git a/resources/images/patrol_art/gen_bump_heads_loners.png b/resources/images/patrol_art/gen_bump_heads_loners.png
new file mode 100644
index 0000000000..6fc639d593
Binary files /dev/null and b/resources/images/patrol_art/gen_bump_heads_loners.png differ
diff --git a/resources/images/patrol_art/gen_bump_heads_med_loner.png b/resources/images/patrol_art/gen_bump_heads_med_loner.png
new file mode 100644
index 0000000000..244cd2d65c
Binary files /dev/null and b/resources/images/patrol_art/gen_bump_heads_med_loner.png differ
diff --git a/resources/images/patrol_art/gen_bump_heads_med_otherclan.png b/resources/images/patrol_art/gen_bump_heads_med_otherclan.png
new file mode 100644
index 0000000000..a4c1b50cb1
Binary files /dev/null and b/resources/images/patrol_art/gen_bump_heads_med_otherclan.png differ
diff --git a/resources/images/patrol_art/gen_bump_heads_meds.png b/resources/images/patrol_art/gen_bump_heads_meds.png
new file mode 100644
index 0000000000..b5e2ad34b2
Binary files /dev/null and b/resources/images/patrol_art/gen_bump_heads_meds.png differ
diff --git a/resources/images/patrol_art/gen_bump_heads_warrior_loner.png b/resources/images/patrol_art/gen_bump_heads_warrior_loner.png
new file mode 100644
index 0000000000..ac1b386fd6
Binary files /dev/null and b/resources/images/patrol_art/gen_bump_heads_warrior_loner.png differ
diff --git a/resources/images/patrol_art/gen_bump_heads_warrior_med.png b/resources/images/patrol_art/gen_bump_heads_warrior_med.png
new file mode 100644
index 0000000000..e8d57cb628
Binary files /dev/null and b/resources/images/patrol_art/gen_bump_heads_warrior_med.png differ
diff --git a/resources/images/patrol_art/gen_bump_heads_warrior_otherclan.png b/resources/images/patrol_art/gen_bump_heads_warrior_otherclan.png
new file mode 100644
index 0000000000..e6634dcd24
Binary files /dev/null and b/resources/images/patrol_art/gen_bump_heads_warrior_otherclan.png differ
diff --git a/resources/images/patrol_art/gen_bump_heads_warrior_starclan.png b/resources/images/patrol_art/gen_bump_heads_warrior_starclan.png
new file mode 100644
index 0000000000..76d09d41fe
Binary files /dev/null and b/resources/images/patrol_art/gen_bump_heads_warrior_starclan.png differ
diff --git a/resources/images/patrol_art/gen_bump_heads_warriors.png b/resources/images/patrol_art/gen_bump_heads_warriors.png
new file mode 100644
index 0000000000..e8e31f8d27
Binary files /dev/null and b/resources/images/patrol_art/gen_bump_heads_warriors.png differ
diff --git a/resources/images/patrol_art/gen_drowning_app.png b/resources/images/patrol_art/gen_drowning_app.png
new file mode 100644
index 0000000000..f56d4a3a73
Binary files /dev/null and b/resources/images/patrol_art/gen_drowning_app.png differ
diff --git a/resources/images/patrol_art/gen_drowning_loner.png b/resources/images/patrol_art/gen_drowning_loner.png
new file mode 100644
index 0000000000..529faa10af
Binary files /dev/null and b/resources/images/patrol_art/gen_drowning_loner.png differ
diff --git a/resources/images/patrol_art/gen_drowning_med.png b/resources/images/patrol_art/gen_drowning_med.png
new file mode 100644
index 0000000000..dcc1cb0973
Binary files /dev/null and b/resources/images/patrol_art/gen_drowning_med.png differ
diff --git a/resources/images/patrol_art/gen_drowning_other_clan.png b/resources/images/patrol_art/gen_drowning_other_clan.png
new file mode 100644
index 0000000000..6eb24f92a0
Binary files /dev/null and b/resources/images/patrol_art/gen_drowning_other_clan.png differ
diff --git a/resources/images/patrol_art/gen_drowning_warrior.png b/resources/images/patrol_art/gen_drowning_warrior.png
new file mode 100644
index 0000000000..933b9e2185
Binary files /dev/null and b/resources/images/patrol_art/gen_drowning_warrior.png differ
diff --git a/resources/images/patrol_art/gen_found_scent_apprentice.png b/resources/images/patrol_art/gen_found_scent_apprentice.png
new file mode 100644
index 0000000000..90157ccf2b
Binary files /dev/null and b/resources/images/patrol_art/gen_found_scent_apprentice.png differ
diff --git a/resources/images/patrol_art/gen_found_scent_clanmate.png b/resources/images/patrol_art/gen_found_scent_clanmate.png
new file mode 100644
index 0000000000..82b206c60a
Binary files /dev/null and b/resources/images/patrol_art/gen_found_scent_clanmate.png differ
diff --git a/resources/images/patrol_art/gen_found_scent_otherclan.png b/resources/images/patrol_art/gen_found_scent_otherclan.png
new file mode 100644
index 0000000000..902ddabfcd
Binary files /dev/null and b/resources/images/patrol_art/gen_found_scent_otherclan.png differ
diff --git a/resources/images/patrol_art/gen_found_scent_outsider.png b/resources/images/patrol_art/gen_found_scent_outsider.png
new file mode 100644
index 0000000000..679b74bada
Binary files /dev/null and b/resources/images/patrol_art/gen_found_scent_outsider.png differ
diff --git a/resources/images/patrol_art/gen_herbs.png b/resources/images/patrol_art/gen_herbs.png
new file mode 100644
index 0000000000..69c0140170
Binary files /dev/null and b/resources/images/patrol_art/gen_herbs.png differ
diff --git a/resources/images/patrol_art/gen_herbs_all_meds.png b/resources/images/patrol_art/gen_herbs_all_meds.png
new file mode 100644
index 0000000000..c0b8f5e3f2
Binary files /dev/null and b/resources/images/patrol_art/gen_herbs_all_meds.png differ
diff --git a/resources/images/patrol_art/gen_herbs_med_apps.png b/resources/images/patrol_art/gen_herbs_med_apps.png
new file mode 100644
index 0000000000..a538d6e790
Binary files /dev/null and b/resources/images/patrol_art/gen_herbs_med_apps.png differ
diff --git a/resources/images/patrol_art/gen_herbs_med_warrior_app.png b/resources/images/patrol_art/gen_herbs_med_warrior_app.png
new file mode 100644
index 0000000000..e99de98480
Binary files /dev/null and b/resources/images/patrol_art/gen_herbs_med_warrior_app.png differ
diff --git a/resources/images/patrol_art/gen_herbs_meds_and_app.png b/resources/images/patrol_art/gen_herbs_meds_and_app.png
new file mode 100644
index 0000000000..ae9fb2d056
Binary files /dev/null and b/resources/images/patrol_art/gen_herbs_meds_and_app.png differ
diff --git a/resources/images/patrol_art/gen_herbs_meds_and_warrior.png b/resources/images/patrol_art/gen_herbs_meds_and_warrior.png
new file mode 100644
index 0000000000..806a91d421
Binary files /dev/null and b/resources/images/patrol_art/gen_herbs_meds_and_warrior.png differ
diff --git a/resources/images/patrol_art/gen_mates_headbump.png b/resources/images/patrol_art/gen_mates_headbump.png
new file mode 100644
index 0000000000..2d03372d5e
Binary files /dev/null and b/resources/images/patrol_art/gen_mates_headbump.png differ
diff --git a/resources/images/patrol_art/gen_med_gatheringraspberrysolo.png b/resources/images/patrol_art/gen_med_gatheringraspberrysolo.png
new file mode 100644
index 0000000000..c0180fcd27
Binary files /dev/null and b/resources/images/patrol_art/gen_med_gatheringraspberrysolo.png differ
diff --git a/resources/images/patrol_art/gen_med_mates_headbump.png b/resources/images/patrol_art/gen_med_mates_headbump.png
new file mode 100644
index 0000000000..e867dd4d1f
Binary files /dev/null and b/resources/images/patrol_art/gen_med_mates_headbump.png differ
diff --git a/resources/images/patrol_art/gen_med_meadow.png b/resources/images/patrol_art/gen_med_meadow.png
new file mode 100644
index 0000000000..3162bfa658
Binary files /dev/null and b/resources/images/patrol_art/gen_med_meadow.png differ
diff --git a/resources/images/patrol_art/gen_med_med_app_siblings.png b/resources/images/patrol_art/gen_med_med_app_siblings.png
new file mode 100644
index 0000000000..7ab41508cc
Binary files /dev/null and b/resources/images/patrol_art/gen_med_med_app_siblings.png differ
diff --git a/resources/images/patrol_art/gen_med_romanticstroll_v2.png b/resources/images/patrol_art/gen_med_romanticstroll_v2.png
new file mode 100644
index 0000000000..97a3c2c7ad
Binary files /dev/null and b/resources/images/patrol_art/gen_med_romanticstroll_v2.png differ
diff --git a/resources/images/patrol_art/gen_medwar_mates_headbump.png b/resources/images/patrol_art/gen_medwar_mates_headbump.png
new file mode 100644
index 0000000000..5811590248
Binary files /dev/null and b/resources/images/patrol_art/gen_medwar_mates_headbump.png differ
diff --git a/resources/images/patrol_art/gen_ocwar_mates_headbump.png b/resources/images/patrol_art/gen_ocwar_mates_headbump.png
new file mode 100644
index 0000000000..1db8bd34f6
Binary files /dev/null and b/resources/images/patrol_art/gen_ocwar_mates_headbump.png differ
diff --git a/resources/images/patrol_art/gen_one_kit.png b/resources/images/patrol_art/gen_one_kit.png
new file mode 100644
index 0000000000..79133ba3d4
Binary files /dev/null and b/resources/images/patrol_art/gen_one_kit.png differ
diff --git a/resources/images/patrol_art/gen_outsiderwar_mates_headbump.png b/resources/images/patrol_art/gen_outsiderwar_mates_headbump.png
new file mode 100644
index 0000000000..ce255641b0
Binary files /dev/null and b/resources/images/patrol_art/gen_outsiderwar_mates_headbump.png differ
diff --git a/resources/images/patrol_art/gen_romanticstroll.png b/resources/images/patrol_art/gen_romanticstroll.png
new file mode 100644
index 0000000000..5d9cd48a0d
Binary files /dev/null and b/resources/images/patrol_art/gen_romanticstroll.png differ
diff --git a/resources/images/patrol_art/gen_romanticstroll_app.png b/resources/images/patrol_art/gen_romanticstroll_app.png
new file mode 100644
index 0000000000..3932e3c21d
Binary files /dev/null and b/resources/images/patrol_art/gen_romanticstroll_app.png differ
diff --git a/resources/images/patrol_art/gen_romanticstroll_loner_v1.png b/resources/images/patrol_art/gen_romanticstroll_loner_v1.png
new file mode 100644
index 0000000000..59c4f012fd
Binary files /dev/null and b/resources/images/patrol_art/gen_romanticstroll_loner_v1.png differ
diff --git a/resources/images/patrol_art/gen_romanticstroll_loner_v2.png b/resources/images/patrol_art/gen_romanticstroll_loner_v2.png
new file mode 100644
index 0000000000..141c0e4ebe
Binary files /dev/null and b/resources/images/patrol_art/gen_romanticstroll_loner_v2.png differ
diff --git a/resources/images/patrol_art/gen_romanticstroll_otherclan_v1.png b/resources/images/patrol_art/gen_romanticstroll_otherclan_v1.png
new file mode 100644
index 0000000000..4907e3e483
Binary files /dev/null and b/resources/images/patrol_art/gen_romanticstroll_otherclan_v1.png differ
diff --git a/resources/images/patrol_art/gen_romanticstroll_otherclan_v2.png b/resources/images/patrol_art/gen_romanticstroll_otherclan_v2.png
new file mode 100644
index 0000000000..6de859a818
Binary files /dev/null and b/resources/images/patrol_art/gen_romanticstroll_otherclan_v2.png differ
diff --git a/resources/images/patrol_art/gen_showing_herbs_all_med.png b/resources/images/patrol_art/gen_showing_herbs_all_med.png
new file mode 100644
index 0000000000..de3dc9bbda
Binary files /dev/null and b/resources/images/patrol_art/gen_showing_herbs_all_med.png differ
diff --git a/resources/images/patrol_art/gen_showing_herbs_med_one_app.png b/resources/images/patrol_art/gen_showing_herbs_med_one_app.png
new file mode 100644
index 0000000000..a25822c27d
Binary files /dev/null and b/resources/images/patrol_art/gen_showing_herbs_med_one_app.png differ
diff --git a/resources/images/patrol_art/gen_showing_herbs_med_one_med.png b/resources/images/patrol_art/gen_showing_herbs_med_one_med.png
new file mode 100644
index 0000000000..d322d18d64
Binary files /dev/null and b/resources/images/patrol_art/gen_showing_herbs_med_one_med.png differ
diff --git a/resources/images/patrol_art/gen_showing_herbs_med_one_war.png b/resources/images/patrol_art/gen_showing_herbs_med_one_war.png
new file mode 100644
index 0000000000..5e710b7c2b
Binary files /dev/null and b/resources/images/patrol_art/gen_showing_herbs_med_one_war.png differ
diff --git a/resources/images/patrol_art/gen_showing_herbs_med_two_war.png b/resources/images/patrol_art/gen_showing_herbs_med_two_war.png
new file mode 100644
index 0000000000..fec4802481
Binary files /dev/null and b/resources/images/patrol_art/gen_showing_herbs_med_two_war.png differ
diff --git a/resources/images/patrol_art/gen_snowpatrol_med_app.png b/resources/images/patrol_art/gen_snowpatrol_med_app.png
new file mode 100644
index 0000000000..94dfa54ebf
Binary files /dev/null and b/resources/images/patrol_art/gen_snowpatrol_med_app.png differ
diff --git a/resources/images/patrol_art/gen_snowpatrol_med_kit.png b/resources/images/patrol_art/gen_snowpatrol_med_kit.png
new file mode 100644
index 0000000000..5e7a97b9fc
Binary files /dev/null and b/resources/images/patrol_art/gen_snowpatrol_med_kit.png differ
diff --git a/resources/images/patrol_art/gen_snowpatrol_med_loner.png b/resources/images/patrol_art/gen_snowpatrol_med_loner.png
new file mode 100644
index 0000000000..d618d748f7
Binary files /dev/null and b/resources/images/patrol_art/gen_snowpatrol_med_loner.png differ
diff --git a/resources/images/patrol_art/gen_snowpatrol_med_other_clan_app.png b/resources/images/patrol_art/gen_snowpatrol_med_other_clan_app.png
new file mode 100644
index 0000000000..ab8167d019
Binary files /dev/null and b/resources/images/patrol_art/gen_snowpatrol_med_other_clan_app.png differ
diff --git a/resources/images/patrol_art/gen_snowpatrol_warrior_app.png b/resources/images/patrol_art/gen_snowpatrol_warrior_app.png
new file mode 100644
index 0000000000..7402cba1a0
Binary files /dev/null and b/resources/images/patrol_art/gen_snowpatrol_warrior_app.png differ
diff --git a/resources/images/patrol_art/gen_snowpatrol_warrior_kit.png b/resources/images/patrol_art/gen_snowpatrol_warrior_kit.png
new file mode 100644
index 0000000000..d7c40995a3
Binary files /dev/null and b/resources/images/patrol_art/gen_snowpatrol_warrior_kit.png differ
diff --git a/resources/images/patrol_art/gen_snowpatrol_warrior_loner.png b/resources/images/patrol_art/gen_snowpatrol_warrior_loner.png
new file mode 100644
index 0000000000..cf9f5aaddf
Binary files /dev/null and b/resources/images/patrol_art/gen_snowpatrol_warrior_loner.png differ
diff --git a/resources/images/patrol_art/gen_snowpatrol_warrior_other_clan_app.png b/resources/images/patrol_art/gen_snowpatrol_warrior_other_clan_app.png
new file mode 100644
index 0000000000..110a5bfd21
Binary files /dev/null and b/resources/images/patrol_art/gen_snowpatrol_warrior_other_clan_app.png differ
diff --git a/resources/images/patrol_art/gen_train_app_medic.png b/resources/images/patrol_art/gen_train_app_medic.png
new file mode 100644
index 0000000000..793a39f82a
Binary files /dev/null and b/resources/images/patrol_art/gen_train_app_medic.png differ
diff --git a/resources/images/patrol_art/gen_train_app_otherclan.png b/resources/images/patrol_art/gen_train_app_otherclan.png
new file mode 100644
index 0000000000..5890335f78
Binary files /dev/null and b/resources/images/patrol_art/gen_train_app_otherclan.png differ
diff --git a/resources/images/patrol_art/gen_train_app_unknown.png b/resources/images/patrol_art/gen_train_app_unknown.png
new file mode 100644
index 0000000000..02ab4f58f7
Binary files /dev/null and b/resources/images/patrol_art/gen_train_app_unknown.png differ
diff --git a/resources/images/patrol_art/gen_train_otherclanapp_warrior.png b/resources/images/patrol_art/gen_train_otherclanapp_warrior.png
new file mode 100644
index 0000000000..8ede97a718
Binary files /dev/null and b/resources/images/patrol_art/gen_train_otherclanapp_warrior.png differ
diff --git a/resources/images/patrol_art/gen_train_sunny5.png b/resources/images/patrol_art/gen_train_sunny5.png
new file mode 100644
index 0000000000..6dce4f5e26
Binary files /dev/null and b/resources/images/patrol_art/gen_train_sunny5.png differ
diff --git a/resources/images/patrol_art/gen_train_sunny7.png b/resources/images/patrol_art/gen_train_sunny7.png
new file mode 100644
index 0000000000..1b8c756553
Binary files /dev/null and b/resources/images/patrol_art/gen_train_sunny7.png differ
diff --git a/resources/images/patrol_art/gen_train_sunny8.png b/resources/images/patrol_art/gen_train_sunny8.png
new file mode 100644
index 0000000000..84b040e300
Binary files /dev/null and b/resources/images/patrol_art/gen_train_sunny8.png differ
diff --git a/resources/images/patrol_art/gen_train_unknown_medic.png b/resources/images/patrol_art/gen_train_unknown_medic.png
new file mode 100644
index 0000000000..a080123eb7
Binary files /dev/null and b/resources/images/patrol_art/gen_train_unknown_medic.png differ
diff --git a/resources/images/patrol_art/gen_train_unknown_warrior.png b/resources/images/patrol_art/gen_train_unknown_warrior.png
new file mode 100644
index 0000000000..a90b6dfb9e
Binary files /dev/null and b/resources/images/patrol_art/gen_train_unknown_warrior.png differ
diff --git a/resources/images/patrol_art/gen_train_waterdive.png b/resources/images/patrol_art/gen_train_waterdive.png
new file mode 100644
index 0000000000..800179237d
Binary files /dev/null and b/resources/images/patrol_art/gen_train_waterdive.png differ
diff --git a/resources/images/patrol_art/gen_train_waterdive_app.png b/resources/images/patrol_art/gen_train_waterdive_app.png
new file mode 100644
index 0000000000..0c510e5ae2
Binary files /dev/null and b/resources/images/patrol_art/gen_train_waterdive_app.png differ
diff --git a/resources/images/patrol_art/gen_train_waterdive_loner.png b/resources/images/patrol_art/gen_train_waterdive_loner.png
new file mode 100644
index 0000000000..956db833da
Binary files /dev/null and b/resources/images/patrol_art/gen_train_waterdive_loner.png differ
diff --git a/resources/images/patrol_art/gen_train_waterdive_med.png b/resources/images/patrol_art/gen_train_waterdive_med.png
new file mode 100644
index 0000000000..62e72d6230
Binary files /dev/null and b/resources/images/patrol_art/gen_train_waterdive_med.png differ
diff --git a/resources/images/patrol_art/gen_train_waterdive_other_clan.png b/resources/images/patrol_art/gen_train_waterdive_other_clan.png
new file mode 100644
index 0000000000..1fe459dbe2
Binary files /dev/null and b/resources/images/patrol_art/gen_train_waterdive_other_clan.png differ
diff --git a/resources/images/patrol_art/gen_train_youngerapp_olderapp.png b/resources/images/patrol_art/gen_train_youngerapp_olderapp.png
new file mode 100644
index 0000000000..b93be96137
Binary files /dev/null and b/resources/images/patrol_art/gen_train_youngerapp_olderapp.png differ
diff --git a/resources/images/patrol_art/gen_two_kits.png b/resources/images/patrol_art/gen_two_kits.png
new file mode 100644
index 0000000000..9b056956fe
Binary files /dev/null and b/resources/images/patrol_art/gen_two_kits.png differ
diff --git a/resources/images/patrol_art/gen_warrior_med_meadow.png b/resources/images/patrol_art/gen_warrior_med_meadow.png
new file mode 100644
index 0000000000..8cae9dabd1
Binary files /dev/null and b/resources/images/patrol_art/gen_warrior_med_meadow.png differ
diff --git a/resources/images/patrol_art/gen_warrior_warrior_siblings.png b/resources/images/patrol_art/gen_warrior_warrior_siblings.png
new file mode 100644
index 0000000000..e8683bb985
Binary files /dev/null and b/resources/images/patrol_art/gen_warrior_warrior_siblings.png differ
diff --git a/resources/images/patrol_art/pln_app_bord_tunnel.png b/resources/images/patrol_art/pln_app_bord_tunnel.png
new file mode 100644
index 0000000000..fdd9bfdf31
Binary files /dev/null and b/resources/images/patrol_art/pln_app_bord_tunnel.png differ
diff --git a/resources/images/patrol_art/pln_app_hunt_gonetwolegtrap1.png b/resources/images/patrol_art/pln_app_hunt_gonetwolegtrap1.png
new file mode 100644
index 0000000000..dec9cc0e2a
Binary files /dev/null and b/resources/images/patrol_art/pln_app_hunt_gonetwolegtrap1.png differ
diff --git a/resources/images/patrol_art/pln_med_bord_tunnel.png b/resources/images/patrol_art/pln_med_bord_tunnel.png
new file mode 100644
index 0000000000..0008110bb3
Binary files /dev/null and b/resources/images/patrol_art/pln_med_bord_tunnel.png differ
diff --git a/resources/images/patrol_art/pln_med_hunt_gonetwolegtrap1.png b/resources/images/patrol_art/pln_med_hunt_gonetwolegtrap1.png
new file mode 100644
index 0000000000..256c7f1e1c
Binary files /dev/null and b/resources/images/patrol_art/pln_med_hunt_gonetwolegtrap1.png differ
diff --git a/resources/images/patrol_art/pln_otherclan_app_bord_tunnel.png b/resources/images/patrol_art/pln_otherclan_app_bord_tunnel.png
new file mode 100644
index 0000000000..deed736f74
Binary files /dev/null and b/resources/images/patrol_art/pln_otherclan_app_bord_tunnel.png differ
diff --git a/resources/images/patrol_art/pln_otherclan_app_hunt_gonetwolegtrap1.png b/resources/images/patrol_art/pln_otherclan_app_hunt_gonetwolegtrap1.png
new file mode 100644
index 0000000000..d351715d0e
Binary files /dev/null and b/resources/images/patrol_art/pln_otherclan_app_hunt_gonetwolegtrap1.png differ
diff --git a/resources/images/patrol_art/pln_otherclan_bord_tunnel.png b/resources/images/patrol_art/pln_otherclan_bord_tunnel.png
new file mode 100644
index 0000000000..7c60bba43a
Binary files /dev/null and b/resources/images/patrol_art/pln_otherclan_bord_tunnel.png differ
diff --git a/resources/images/patrol_art/pln_otherclan_hunt_gonetwolegtrap1.png b/resources/images/patrol_art/pln_otherclan_hunt_gonetwolegtrap1.png
new file mode 100644
index 0000000000..3543bc4661
Binary files /dev/null and b/resources/images/patrol_art/pln_otherclan_hunt_gonetwolegtrap1.png differ
diff --git a/resources/images/patrol_art/pln_outsider_bord_tunnel.png b/resources/images/patrol_art/pln_outsider_bord_tunnel.png
new file mode 100644
index 0000000000..2a9b40c495
Binary files /dev/null and b/resources/images/patrol_art/pln_outsider_bord_tunnel.png differ
diff --git a/resources/images/patrol_art/pln_outsider_hunt_gonetwolegtrap1.png b/resources/images/patrol_art/pln_outsider_hunt_gonetwolegtrap1.png
new file mode 100644
index 0000000000..e66c252df2
Binary files /dev/null and b/resources/images/patrol_art/pln_outsider_hunt_gonetwolegtrap1.png differ
diff --git a/resources/images/patrol_art/pln_rogue_bord_tunnel.png b/resources/images/patrol_art/pln_rogue_bord_tunnel.png
new file mode 100644
index 0000000000..b1324439c0
Binary files /dev/null and b/resources/images/patrol_art/pln_rogue_bord_tunnel.png differ
diff --git a/resources/images/patrol_art/pln_train_newleaf_3mates_cloverfield1.png b/resources/images/patrol_art/pln_train_newleaf_3mates_cloverfield1.png
new file mode 100644
index 0000000000..132fcde2a1
Binary files /dev/null and b/resources/images/patrol_art/pln_train_newleaf_3mates_cloverfield1.png differ
diff --git a/resources/images/patrol_art/wtlnd_train_moosemyth_storylocked1.png b/resources/images/patrol_art/wtlnd_train_moosemyth_storylocked1.png
new file mode 100644
index 0000000000..480dd21a44
Binary files /dev/null and b/resources/images/patrol_art/wtlnd_train_moosemyth_storylocked1.png differ
diff --git a/resources/placements.json b/resources/placements.json
index 29d62c2daa..ad378c0042 100644
--- a/resources/placements.json
+++ b/resources/placements.json
@@ -812,6 +812,67 @@
[[216, 552], "xy"]
]
},
+ "Beachcamp4": {
+ "leader den": [349, 125],
+ "medicine den": [100, 201],
+ "nursery": [500, 183],
+ "clearing": [313, 275],
+ "apprentice den": [51, 393],
+ "warrior den": [626, 345],
+ "elder den": [308, 421],
+ "leader place": [
+ [[356, 142], ""],
+ [[282, 179], "xy"],
+ [[394, 192], ""]
+ ],
+ "medicine place": [
+ [[47, 200], "xy"],
+ [[75, 249], "xy"],
+ [[124, 230], "xy"],
+ [[172, 253], "xy"],
+ [[122, 294], "xy"]
+ ],
+ "nursery place": [
+ [[427, 252], "xy"],
+ [[507, 256], "xy"],
+ [[560, 276], "xy"],
+ [[495, 311], "xy"],
+ [[549, 345], "xy"]
+ ],
+ "clearing place": [
+ [[180, 310], "xy"],
+ [[235, 347], "xy"],
+ [[288, 317], "xy"],
+ [[385, 304], "xy"],
+ [[435, 34], "xy"],
+ [[428, 396], "xy"],
+ [[479, 409], "xy"],
+ [[696, 186], "xy"]
+ ],
+ "apprentice place": [
+ [[21, 352], ""],
+ [[22, 413], "xy"],
+ [[68, 448], "xy"]
+ ],
+ "warrior place": [
+ [[562, 418], "xy"],
+ [[624, 394], "xy"],
+ [[543, 475], "xy"],
+ [[610, 470], "xy"],
+ [[519, 530], "xy"],
+ [[589, 523], "xy"],
+ [[658, 519], "xy"]
+ ],
+ "elder place": [
+ [[196, 470], "xy"],
+ [[256, 460], "xy"],
+ [[318, 460], "xy"],
+ [[374, 471], "xy"],
+ [[247, 515], "xy"],
+ [[304, 512], "xy"],
+ [[357, 528], "xy"]
+ ]
+ },
"Plainscamp2": {
"leader den": [415, 94],
"medicine den": [11, 174],
diff --git a/resources/theme/master_screen_scale.json b/resources/theme/master_screen_scale.json
index d748ddc29e..ee45d1bfc0 100644
--- a/resources/theme/master_screen_scale.json
+++ b/resources/theme/master_screen_scale.json
@@ -178,7 +178,7 @@
},
"@buttonstyles_vertical_tab": {
"prototype": "buttonstyles_prototype",
- "misc": {"padding": "5, 5", "state_transitions": {"hovered_normal": "0"}}
+ "misc": {"padding": "10, 5", "state_transitions": {"hovered_normal": "0"}}
},
"@buttonstyles_dropdown": {"prototype": "buttonstyles_prototype"},
"@buttonstyles_ladder_top": {
@@ -2109,54 +2109,6 @@
}
}
},
- "#classic_tab": {
- "images": {
- "normal_image": {
- "path": "resources\/images\/buttons\/classic_camp.png"
- },
- "hovered_image": {
- "path": "resources\/images\/buttons\/classic_camp_hover.png"
- },
- "selected_image": {
- "path": "resources\/images\/buttons\/classic_camp_hover.png"
- },
- "disabled_image": {
- "path": "resources\/images\/buttons\/classic_camp_unavailable.png"
- }
- }
- },
- "#gully_tab": {
- "images": {
- "normal_image": {
- "path": "resources\/images\/buttons\/gully_camp.png"
- },
- "hovered_image": {
- "path": "resources\/images\/buttons\/gully_camp_hover.png"
- },
- "selected_image": {
- "path": "resources\/images\/buttons\/gully_camp_hover.png"
- },
- "disabled_image": {
- "path": "resources\/images\/buttons\/gully_camp_unavailable.png"
- }
- }
- },
- "#grotto_tab": {
- "images": {
- "normal_image": {
- "path": "resources\/images\/buttons\/grotto_camp.png"
- },
- "hovered_image": {
- "path": "resources\/images\/buttons\/grotto_camp_hover.png"
- },
- "selected_image": {
- "path": "resources\/images\/buttons\/grotto_camp_hover.png"
- },
- "disabled_image": {
- "path": "resources\/images\/buttons\/grotto_camp_unavailable.png"
- }
- }
- },
"#beach_biome_button": {
"images": {
"normal_image": {
@@ -2173,182 +2125,6 @@
}
}
},
- "#cliff_tab": {
- "images": {
- "normal_image": {
- "path": "resources\/images\/buttons\/cliff_camp.png"
- },
- "hovered_image": {
- "path": "resources\/images\/buttons\/cliff_camp_hover.png"
- },
- "selected_image": {
- "path": "resources\/images\/buttons\/cliff_camp_hover.png"
- },
- "disabled_image": {
- "path": "resources\/images\/buttons\/cliff_camp_unavailable.png"
- }
- }
- },
- "#cave_tab": {
- "images": {
- "normal_image": {
- "path": "resources\/images\/buttons\/cave_camp.png"
- },
- "hovered_image": {
- "path": "resources\/images\/buttons\/cave_camp_hover.png"
- },
- "selected_image": {
- "path": "resources\/images\/buttons\/cave_camp_hover.png"
- },
- "disabled_image": {
- "path": "resources\/images\/buttons\/cave_camp_unavailable.png"
- }
- }
- },
- "#crystal_tab": {
- "images": {
- "normal_image": {
- "path": "resources\/images\/buttons\/crystal_camp.png"
- },
- "hovered_image": {
- "path": "resources\/images\/buttons\/crystal_camp_hover.png"
- },
- "selected_image": {
- "path": "resources\/images\/buttons\/crystal_camp_hover.png"
- },
- "disabled_image": {
- "path": "resources\/images\/buttons\/crystal_camp_unavailable.png"
- }
- }
- },
- "#ruins_tab": {
- "images": {
- "normal_image": {
- "path": "resources\/images\/buttons\/ruins_camp.png"
- },
- "hovered_image": {
- "path": "resources\/images\/buttons\/ruins_camp_hover.png"
- },
- "selected_image": {
- "path": "resources\/images\/buttons\/ruins_camp_hover.png"
- },
- "disabled_image": {
- "path": "resources\/images\/buttons\/ruins_camp_unavailable.png"
- }
- }
- },
- "#grasslands_tab": {
- "images": {
- "normal_image": {
- "path": "resources\/images\/buttons\/grasslands_camp.png"
- },
- "hovered_image": {
- "path": "resources\/images\/buttons\/grasslands_camp_hover.png"
- },
- "selected_image": {
- "path": "resources\/images\/buttons\/grasslands_camp_hover.png"
- },
- "disabled_image": {
- "path": "resources\/images\/buttons\/grasslands_camp_unavailable.png"
- }
- }
- },
- "#tunnel_tab": {
- "images": {
- "normal_image": {
- "path": "resources\/images\/buttons\/tunnel_camp.png"
- },
- "hovered_image": {
- "path": "resources\/images\/buttons\/tunnel_camp_hover.png"
- },
- "selected_image": {
- "path": "resources\/images\/buttons\/tunnel_camp_hover.png"
- },
- "disabled_image": {
- "path": "resources\/images\/buttons\/tunnel_camp_unavailable.png"
- }
- }
- },
- "#tidepool_tab": {
- "images": {
- "normal_image": {
- "path": "resources\/images\/buttons\/tidepool_camp.png"
- },
- "hovered_image": {
- "path": "resources\/images\/buttons\/tidepool_camp_hover.png"
- },
- "selected_image": {
- "path": "resources\/images\/buttons\/tidepool_camp_hover.png"
- },
- "disabled_image": {
- "path": "resources\/images\/buttons\/tidepool_camp_unavailable.png"
- }
- }
- },
- "#tidal_cave_tab": {
- "images": {
- "normal_image": {
- "path": "resources\/images\/buttons\/tidal_cave_camp.png"
- },
- "hovered_image": {
- "path": "resources\/images\/buttons\/tidal_cave_camp_hover.png"
- },
- "selected_image": {
- "path": "resources\/images\/buttons\/tidal_cave_camp_hover.png"
- },
- "disabled_image": {
- "path": "resources\/images\/buttons\/tidal_cave_camp_unavailable.png"
- }
- }
- },
- "#shipwreck_tab": {
- "images": {
- "normal_image": {
- "path": "resources\/images\/buttons\/shipwreck_camp.png"
- },
- "hovered_image": {
- "path": "resources\/images\/buttons\/shipwreck_camp_hover.png"
- },
- "selected_image": {
- "path": "resources\/images\/buttons\/shipwreck_camp_hover.png"
- },
- "disabled_image": {
- "path": "resources\/images\/buttons\/shipwreck_camp_unavailable.png"
- }
- }
- },
- "#wasteland_tab": {
- "images": {
- "normal_image": {
- "path": "resources\/images\/buttons\/wastelands_camp.png"
- },
- "hovered_image": {
- "path": "resources\/images\/buttons\/wastelands_camp_hover.png"
- },
- "selected_image": {
- "path": "resources\/images\/buttons\/wastelands_camp_hover.png"
- },
- "disabled_image": {
- "path": "resources\/images\/buttons\/wastelands_camp_unavailable.png"
- }
- }
- },
- "#lakeside_tab": {
- "images": {
- "normal_image": {
- "path": "resources\/images\/buttons\/lakeside_camp.png"
- },
- "hovered_image": {
- "path": "resources\/images\/buttons\/lakeside_camp_hover.png"
- },
- "selected_image": {
- "path": "resources\/images\/buttons\/lakeside_camp_hover.png"
- },
- "disabled_image": {
- "path": "resources\/images\/buttons\/lakeside_camp_unavailable.png"
- }
- }
- },
"#freshkill_pile_empty": {
"images": {
"normal_image": {
diff --git a/scripts/cat/cats.py b/scripts/cat/cats.py
index cfc1241e9f..f26803cc39 100644
--- a/scripts/cat/cats.py
+++ b/scripts/cat/cats.py
@@ -331,16 +331,12 @@ def __init__(
# load_existing_name is needed so existing cats don't get their names changed/fixed for no reason
if self.pelt is not None:
self.name = Name(
- status,
prefix,
suffix,
- self.pelt.colour,
- self.pelt.eye_colour,
- self.pelt.name,
- self.pelt.tortiepattern,
biome=biome,
specsuffix_hidden=self.specsuffix_hidden,
load_existing_name=loading_cat,
+ cat=self,
)
else:
self.name = Name(
@@ -349,6 +345,7 @@ def __init__(
suffix,
specsuffix_hidden=self.specsuffix_hidden,
load_existing_name=loading_cat,
+ cat=self,
)
# Private Sprite
@@ -361,7 +358,7 @@ def __init__(
Cat.insert_cat(self)
def init_faded(self, ID, status, prefix, suffix, moons, **kwargs):
- """Perform faded-specific initialisation
+ """Perform faded-specific initialization
:param ID: Cat ID
:param status: Cat status
@@ -373,7 +370,6 @@ def init_faded(self, ID, status, prefix, suffix, moons, **kwargs):
:return: None
"""
self.ID = ID
- self.name = Name(status, prefix=prefix, suffix=suffix)
self.parent1 = None
self.parent2 = None
self.adoptive_parents = []
@@ -386,6 +382,7 @@ def init_faded(self, ID, status, prefix, suffix, moons, **kwargs):
self.outside = False
self.exiled = False
self.inheritance = None # This should never be used, but just for safety
+ self.name = Name(prefix=prefix, suffix=suffix, cat=self)
if "df" in kwargs:
self.df = kwargs["df"]
else:
@@ -502,8 +499,8 @@ def __repr__(self):
return "CAT OBJECT:" + self.ID
def __eq__(self, other):
- return self.ID == other.ID if isinstance(other, Cat) else False
-
+ return False if not isinstance(other, Cat) else self.ID == other.ID
+
def __hash__(self):
return hash(self.ID)
@@ -1274,7 +1271,9 @@ def generate_lead_ceremony(self):
# pick the oldest leader in SC
ancient_leader = True
if starclan:
- for kitty in reversed(game.clan.starclan_cats):
+ sc_cats = game.clan.starclan_cats.copy()
+ sc_cats.sort(key=lambda x: -1 * int(Cat.fetch_cat(x).dead_for))
+ for kitty in sc_cats:
if (
self.fetch_cat(kitty)
and self.fetch_cat(kitty).status == "leader"
@@ -1282,7 +1281,9 @@ def generate_lead_ceremony(self):
life_giving_leader = kitty
break
else:
- for kitty in reversed(game.clan.darkforest_cats):
+ df_kitties = game.clan.darkforest_cats.copy()
+ df_kitties.sort(key=lambda x: -1 * int(Cat.fetch_cat(x).dead_for))
+ for kitty in df_kitties:
if (
self.fetch_cat(kitty)
and self.fetch_cat(kitty).status == "leader"
@@ -1292,7 +1293,9 @@ def generate_lead_ceremony(self):
else:
# pick previous leader
if starclan:
- for kitty in game.clan.starclan_cats:
+ sc_cats = game.clan.starclan_cats.copy()
+ sc_cats.sort(key=lambda x: int(Cat.fetch_cat(x).dead_for))
+ for kitty in sc_cats:
if (
self.fetch_cat(kitty)
and self.fetch_cat(kitty).status == "leader"
@@ -1300,7 +1303,9 @@ def generate_lead_ceremony(self):
life_giving_leader = kitty
break
else:
- for kitty in game.clan.darkforest_cats:
+ df_kitties = game.clan.darkforest_cats.copy()
+ df_kitties.sort(key=lambda x: int(Cat.fetch_cat(x).dead_for))
+ for kitty in df_kitties:
if (
self.fetch_cat(kitty)
and self.fetch_cat(kitty).status == "leader"
@@ -2549,7 +2554,7 @@ def set_mate(self, other_cat: Cat):
other_relationship.comfortable += 20
other_relationship.trust += 10
other_relationship.mate = True
-
+
def unset_adoptive_parent(self, other_cat: Cat):
"""Unset the adoptive parent from self"""
self.adoptive_parents.remove(other_cat.ID)
@@ -2563,7 +2568,6 @@ def unset_adoptive_parent(self, other_cat: Cat):
self_relationship.comfortable -= randint(10, 30)
self_relationship.trust -= randint(5, 15)
-
if not other_cat.dead:
if self.ID not in other_cat.relationships:
other_cat.create_one_relationship(self)
@@ -2571,7 +2575,7 @@ def unset_adoptive_parent(self, other_cat: Cat):
other_relationship.platonic_like -= 20
other_relationship.comfortable -= 20
other_relationship.trust -= 10
-
+
def set_adoptive_parent(self, other_cat: Cat):
"""Sets up a parent-child relationship between self and other_cat."""
self.adoptive_parents.append(other_cat.ID)
@@ -2586,10 +2590,9 @@ def set_adoptive_parent(self, other_cat: Cat):
self_relationship.comfortable += 20
self_relationship.trust += 10
-
if not other_cat.dead:
if self.ID not in other_cat.relationships:
- other_cat.create_one_relationship(self)
+ other_cat.create_one_relationship(self)
other_relationship = other_cat.relationships[self.ID]
other_relationship.platonic_like += 20
other_relationship.comfortable += 20
@@ -2675,7 +2678,10 @@ def init_all_relationships(self):
trust = 0
if game.settings["random relation"]:
if game.clan:
- if the_cat == game.clan.instructor and game.clan.instructor.dead_for >= self.moons:
+ if (
+ the_cat == game.clan.instructor
+ and game.clan.instructor.dead_for >= self.moons
+ ):
pass
elif randint(1, 20) == 1 and romantic_love < 1:
dislike = randint(10, 25)
@@ -2788,12 +2794,8 @@ def load_relationship_of_cat(self):
cat_to=cat_to,
mates=rel["mates"] or False,
family=rel["family"] or False,
- romantic_love=(
- rel["romantic_love"] or 0
- ),
- platonic_like=(
- rel["platonic_like"] or 0
- ),
+ romantic_love=(rel["romantic_love"] or 0),
+ platonic_like=(rel["platonic_like"] or 0),
dislike=rel["dislike"] or 0,
admiration=rel["admiration"] or 0,
comfortable=rel["comfortable"] or 0,
@@ -3402,9 +3404,7 @@ def get_save_dict(self, faded=False):
"former_mentor": (
list(self.former_mentor) if self.former_mentor else []
),
- "patrol_with_mentor": (
- self.patrol_with_mentor or 0
- ),
+ "patrol_with_mentor": (self.patrol_with_mentor or 0),
"mate": self.mate,
"previous_mates": self.previous_mates,
"dead": self.dead,
@@ -3423,9 +3423,7 @@ def get_save_dict(self, faded=False):
"sprite_senior": self.pelt.cat_sprites["senior"],
"sprite_para_adult": self.pelt.cat_sprites["para_adult"],
"eye_colour": self.pelt.eye_colour,
- "eye_colour2": (
- self.pelt.eye_colour2 or None
- ),
+ "eye_colour2": (self.pelt.eye_colour2 or None),
"reverse": self.pelt.reverse,
"white_patches": self.pelt.white_patches,
"vitiligo": self.pelt.vitiligo,
diff --git a/scripts/cat/names.py b/scripts/cat/names.py
index f4e8673374..f32977a8de 100644
--- a/scripts/cat/names.py
+++ b/scripts/cat/names.py
@@ -2,6 +2,7 @@
Module that handles the name generation for all cats.
"""
+import contextlib
import os
import random
@@ -70,26 +71,34 @@ class Name:
def __init__(
self,
- status="warrior",
prefix=None,
suffix=None,
- colour=None,
- eyes=None,
- pelt=None,
- tortiepattern=None,
biome=None,
specsuffix_hidden=False,
load_existing_name=False,
+ cat=None,
):
- self.status = status
self.prefix = prefix
self.suffix = suffix
self.specsuffix_hidden = specsuffix_hidden
+ self.cat = cat
+
+ try:
+ color = cat.pelt.colour
+ eyes = cat.pelt.eye_colour
+ pelt = cat.pelt.name
+ tortiepattern = cat.pelt.tortiepattern
+ except AttributeError:
+ color = None
+ eyes = None
+ pelt = None
+ tortiepattern = None
+
name_fixpref = False
# Set prefix
if prefix is None:
- self.give_prefix(eyes, colour, biome)
+ self.give_prefix(eyes, color, biome)
# needed for random dice when we're changing the Prefix
name_fixpref = True
@@ -102,17 +111,17 @@ def __init__(
if self.suffix and not load_existing_name:
# Prevent triple letter names from joining prefix and suffix from occurring (ex. Beeeye)
- triple_letter = False
possible_three_letter = (
self.prefix[-2:] + self.suffix[0],
self.prefix[-1] + self.suffix[:2],
)
- if all(
+ triple_letter = all(
i == possible_three_letter[0][0] for i in possible_three_letter[0]
) or all(
- i == possible_three_letter[1][0] for i in possible_three_letter[1]
- ):
- triple_letter = True
+ i == possible_three_letter[1][0]
+ for i in possible_three_letter[1]
+ # Prevent double animal names (ex. Spiderfalcon)
+ )
double_animal = (
self.prefix in self.names_dict["animal_prefixes"]
and self.suffix in self.names_dict["animal_suffixes"]
@@ -139,7 +148,7 @@ def __init__(
# check if random die was for prefix
if name_fixpref:
- self.give_prefix(eyes, colour, biome)
+ self.give_prefix(eyes, color, biome)
else:
self.give_suffix(pelt, biome, tortiepattern)
@@ -178,11 +187,10 @@ def give_prefix(self, eyes, colour, biome):
# Add possible prefix categories to list.
possible_prefix_categories = []
- if game.config["cat_name_controls"][
- "allow_eye_names"
- ]: # game config: cat_name_controls
- if eyes in self.names_dict["eye_prefixes"]:
- possible_prefix_categories.append(self.names_dict["eye_prefixes"][eyes])
+ if eyes in self.names_dict["eye_prefixes"] and game.config["cat_name_controls"][
+ "allow_eye_names"
+ ]:
+ possible_prefix_categories.append(self.names_dict["eye_prefixes"][eyes])
if colour in self.names_dict["colour_prefixes"]:
possible_prefix_categories.append(
self.names_dict["colour_prefixes"][colour]
@@ -195,18 +203,17 @@ def give_prefix(self, eyes, colour, biome):
named_after_appearance
and possible_prefix_categories
and not named_after_biome_
+ or named_after_biome_
+ and possible_prefix_categories
):
prefix_category = random.choice(possible_prefix_categories)
self.prefix = random.choice(prefix_category)
- elif named_after_biome_ and possible_prefix_categories:
- prefix_category = random.choice(possible_prefix_categories)
- self.prefix = random.choice(prefix_category)
else:
self.prefix = random.choice(self.names_dict["normal_prefixes"])
# This thing prevents any prefix duplications from happening.
# Try statement stops this form running when initializing.
- try:
+ with contextlib.suppress(NameError):
if self.prefix in names.prefix_history:
# do this recursively until a name that isn't on the history list.
self.give_prefix(eyes, colour, biome)
@@ -219,8 +226,6 @@ def give_prefix(self, eyes, colour, biome):
if len(names.prefix_history) > 8:
# removing at zero so the oldest gets removed
names.prefix_history.pop(0)
- except NameError:
- pass
# Generate possible suffix
def give_suffix(self, pelt, biome, tortiepattern):
@@ -256,13 +261,32 @@ def give_suffix(self, pelt, biome, tortiepattern):
def __repr__(self):
# Handles predefined suffixes (such as newborns being kit),
# then suffixes based on ages (fixes #2004, just trust me)
+
+ # Handles suffix assignment with outside cats
+ if self.cat.status in ["exiled", "lost"]:
+ adjusted_status: str = ""
+ if self.cat.moons >= 15:
+ adjusted_status = "warrior"
+ elif self.cat.moons >= 6:
+ adjusted_status = "apprentice"
+ if self.cat.moons == 0:
+ adjusted_status = "newborn"
+ elif self.cat.moons < 6:
+ adjusted_status = "kitten"
+ elif self.cat.moons < 12:
+ adjusted_status = "apprentice"
+ else:
+ adjusted_status = "warrior"
+
+ if adjusted_status != "warrior":
+ return self.prefix + self.names_dict["special_suffixes"][adjusted_status]
if (
- self.status in self.names_dict["special_suffixes"]
+ self.cat.status in self.names_dict["special_suffixes"]
and not self.specsuffix_hidden
):
- return self.prefix + self.names_dict["special_suffixes"][self.status]
+ return self.prefix + self.names_dict["special_suffixes"][self.cat.status]
if game.config["fun"]["april_fools"]:
- return self.prefix + "egg"
+ return f"{self.prefix}egg"
return self.prefix + self.suffix
diff --git a/scripts/events.py b/scripts/events.py
index 0ee30c6cfb..b879fc98a2 100644
--- a/scripts/events.py
+++ b/scripts/events.py
@@ -436,13 +436,10 @@ def handle_lead_den_event(self):
invited_cat.status = invited_cat.age
if not invited_cat.name.suffix:
invited_cat.name = Name(
- invited_cat.status,
invited_cat.name.prefix,
invited_cat.name.suffix,
- invited_cat.pelt.colour,
- invited_cat.pelt.name,
- invited_cat.pelt.tortiepattern,
game.clan.biome,
+ cat=invited_cat,
)
invited_cat.name.give_suffix(
pelt=None,
diff --git a/scripts/events_module/condition_events.py b/scripts/events_module/condition_events.py
index 2b911a63b1..0a2f231a84 100644
--- a/scripts/events_module/condition_events.py
+++ b/scripts/events_module/condition_events.py
@@ -181,7 +181,7 @@ def handle_nutrient(cat: Cat, nutrition_info: dict) -> None:
event = event_text_adjust(Cat, event.strip(), main_cat=cat)
if cat.status == "leader":
- history_event = history_event.replace("m_c ", "")
+ history_event = history_event.replace("m_c ", "").replace(".", "")
History.add_death(
cat, condition="starving", death_text=history_event.strip()
)
@@ -569,7 +569,7 @@ def handle_already_ill(cat):
if cat.status == "leader":
event = event + " " + get_leader_life_notice()
- history_event = history_event.replace("m_c ", "")
+ history_event = history_event.replace("m_c ", "").replace(".", "")
History.add_death(
cat, condition=illness, death_text=history_event.strip()
)
@@ -674,7 +674,7 @@ def handle_already_injured(cat):
if cat.status == "leader":
event = event + " " + get_leader_life_notice()
- history_text = history_text.replace("m_c", " ")
+ history_text = history_text.replace("m_c", " ").replace(".", "")
History.add_death(
cat, condition=injury, death_text=history_text.strip()
)
@@ -734,10 +734,7 @@ def handle_already_injured(cat):
f"condition '{condition_got}'. Using default."
)
possible_string_list = [
- (
- f"After m_c's {injury} healed, {{PRONOUN/m_c/subject}} now {{VERB/m_c/have/has}} "
- f"{condition_got}. [Please report this if you see it!]",
- )
+ f"After m_c's {injury} healed, {{PRONOUN/m_c/subject}} now {{VERB/m_c/have/has}} {condition_got}. [Please report this if you see it!]",
]
# choose event string and ensure Clan's med cat number aligns with event text
random_index = random.randrange(0, len(possible_string_list))
diff --git a/scripts/events_module/generate_events.py b/scripts/events_module/generate_events.py
index af10850740..2dd8e4dac1 100644
--- a/scripts/events_module/generate_events.py
+++ b/scripts/events_module/generate_events.py
@@ -24,7 +24,7 @@ class GenerateEvents:
INJURY_DISTRIBUTION = None
with open(
- f"resources/dicts/conditions/event_injuries_distribution.json", "r"
+ f"resources/dicts/conditions/event_injuries_distribution.json", "r"
) as read_file:
INJURY_DISTRIBUTION = ujson.loads(read_file.read())
@@ -36,8 +36,8 @@ class GenerateEvents:
def get_short_event_dicts(file_path):
try:
with open(
- file_path,
- "r",
+ file_path,
+ "r",
) as read_file:
events = ujson.loads(read_file.read())
except:
@@ -51,8 +51,8 @@ def get_ongoing_event_dicts(file_path):
events = None
try:
with open(
- file_path,
- "r",
+ file_path,
+ "r",
) as read_file:
events = ujson.loads(read_file.read())
except:
@@ -65,8 +65,8 @@ def get_death_reaction_dicts(family_relation, rel_value):
try:
file_path = f"{resource_directory}/death/death_reactions/{family_relation}/{family_relation}_{rel_value}.json"
with open(
- file_path,
- "r",
+ file_path,
+ "r",
) as read_file:
events = ujson.loads(read_file.read())
except:
@@ -221,14 +221,14 @@ def possible_short_events(event_type=None):
@staticmethod
def filter_possible_short_events(
- Cat_class,
- possible_events,
- cat,
- random_cat,
- other_clan,
- freshkill_active,
- freshkill_trigger_factor,
- sub_types=None,
+ Cat_class,
+ possible_events,
+ cat,
+ random_cat,
+ other_clan,
+ freshkill_active,
+ freshkill_trigger_factor,
+ sub_types=None,
):
final_events = []
incorrect_format = []
@@ -243,12 +243,12 @@ def filter_possible_short_events(
for event in possible_events:
if event.history:
if (
- not isinstance(event.history, list)
- or "cats" not in event.history[0]
+ not isinstance(event.history, list)
+ or "cats" not in event.history[0]
):
if (
- f"{event.event_id} history formatted incorrectly"
- not in incorrect_format
+ f"{event.event_id} history formatted incorrectly"
+ not in incorrect_format
):
incorrect_format.append(
f"{event.event_id} history formatted incorrectly"
@@ -256,8 +256,8 @@ def filter_possible_short_events(
if event.injury:
if not isinstance(event.injury, list) or "cats" not in event.injury[0]:
if (
- f"{event.event_id} injury formatted incorrectly"
- not in incorrect_format
+ f"{event.event_id} injury formatted incorrectly"
+ not in incorrect_format
):
incorrect_format.append(
f"{event.event_id} injury formatted incorrectly"
@@ -307,8 +307,8 @@ def filter_possible_short_events(
# check season
if (
- game.clan.current_season.lower() not in event.season
- and "any" not in event.season
+ game.clan.current_season.lower() not in event.season
+ and "any" not in event.season
):
continue
@@ -317,14 +317,14 @@ def filter_possible_short_events(
# some events are classic only
if (
- game.clan.game_mode in ["expanded", "cruel season"]
- and "classic" in event.tags
+ game.clan.game_mode in ["expanded", "cruel season"]
+ and "classic" in event.tags
):
continue
# cruel season only events
if (
- game.clan.game_mode in ["classic", "expanded"]
- and "cruel_season" in event.tags
+ game.clan.game_mode in ["classic", "expanded"]
+ and "cruel_season" in event.tags
):
continue
@@ -355,7 +355,7 @@ def filter_possible_short_events(
for rank in Cat_class.rank_sort_order:
if f"clan:{rank}" in event.tags:
if rank in ["leader", "deputy"] and not get_alive_status_cats(
- Cat_class, [rank]
+ Cat_class, [rank]
):
discard = True
elif not len(get_alive_status_cats(Cat_class, [rank])) >= 2:
@@ -364,8 +364,8 @@ def filter_possible_short_events(
continue
if "clan_apps" in event.tags and not get_alive_status_cats(
- Cat_class,
- ["apprentice", "medicine cat apprentice", "mediator apprentice"],
+ Cat_class,
+ ["apprentice", "medicine cat apprentice", "mediator apprentice"],
):
continue
@@ -378,44 +378,42 @@ def filter_possible_short_events(
# check for old age
if (
- "old_age" in event.sub_type
- and cat.moons < game.config["death_related"]["old_age_death_start"]
+ "old_age" in event.sub_type
+ and cat.moons < game.config["death_related"]["old_age_death_start"]
):
continue
# remove some non-old age events to encourage elders to die of old age more often
if (
- "old_age" not in event.sub_type
- and cat.moons > game.config["death_related"]["old_age_death_start"]
- and int(random.random() * 3)
+ "old_age" not in event.sub_type
+ and cat.moons > game.config["death_related"]["old_age_death_start"]
+ and int(random.random() * 3)
):
continue
# if the event is marked as changing romantic interest, check that the cats are allowed to be romantic
if random_cat:
- if "romantic" in event.tags and not random_cat.is_potential_mate(
- cat
- ):
+ if "romantic" in event.tags and not random_cat.is_potential_mate(cat):
continue
if event.m_c:
if cat.age not in event.m_c["age"] and "any" not in event.m_c["age"]:
continue
if (
- cat.status not in event.m_c["status"]
- and "any" not in event.m_c["status"]
+ cat.status not in event.m_c["status"]
+ and "any" not in event.m_c["status"]
):
continue
if event.m_c["relationship_status"]:
if not filter_relationship_type(
- group=[cat, random_cat],
- filter_types=event.m_c["relationship_status"],
- event_id=event.event_id,
+ group=[cat, random_cat],
+ filter_types=event.m_c["relationship_status"],
+ event_id=event.event_id,
):
continue
# check cat trait and skill
if (
- int(random.random() * trait_skill_bypass) or prevent_bypass
+ int(random.random() * trait_skill_bypass) or prevent_bypass
): # small chance to bypass
has_trait = False
if event.m_c["trait"]:
@@ -432,7 +430,7 @@ def filter_possible_short_events(
continue
if cat.skills.meets_skill_requirement(
- split[0], int(split[1])
+ split[0], int(split[1])
):
has_skill = True
break
@@ -463,7 +461,7 @@ def filter_possible_short_events(
continue
if cat.skills.meets_skill_requirement(
- split[0], int(split[1])
+ split[0], int(split[1])
):
has_skill = True
break
@@ -479,26 +477,26 @@ def filter_possible_short_events(
# check that a random_cat is available to use for r_c
if event.r_c and random_cat:
if (
- random_cat.age not in event.r_c["age"]
- and "any" not in event.r_c["age"]
+ random_cat.age not in event.r_c["age"]
+ and "any" not in event.r_c["age"]
):
continue
if (
- random_cat.status not in event.r_c["status"]
- and "any" not in event.r_c["status"]
+ random_cat.status not in event.r_c["status"]
+ and "any" not in event.r_c["status"]
):
continue
if event.r_c["relationship_status"]:
if not filter_relationship_type(
- group=[cat, random_cat],
- filter_types=event.r_c["relationship_status"],
- event_id=event.event_id,
+ group=[cat, random_cat],
+ filter_types=event.r_c["relationship_status"],
+ event_id=event.event_id,
):
continue
# check cat trait and skill
if (
- int(random.random() * trait_skill_bypass) or prevent_bypass
+ int(random.random() * trait_skill_bypass) or prevent_bypass
): # small chance to bypass
has_trait = False
if event.r_c["trait"]:
@@ -515,7 +513,7 @@ def filter_possible_short_events(
continue
if random_cat.skills.meets_skill_requirement(
- split[0], int(split[1])
+ split[0], int(split[1])
):
has_skill = True
break
@@ -546,7 +544,7 @@ def filter_possible_short_events(
continue
if random_cat.skills.meets_skill_requirement(
- split[0], int(split[1])
+ split[0], int(split[1])
):
has_skill = True
break
@@ -590,16 +588,16 @@ def filter_possible_short_events(
for injury in block["injuries"]:
if injury in GenerateEvents.INJURIES:
if (
- GenerateEvents.INJURIES[injury]["severity"]
- != allowed_severity
+ GenerateEvents.INJURIES[injury]["severity"]
+ != allowed_severity
):
discard = True
break
if "m_c" in block["cats"]:
if injury == "mangled tail" and (
- "NOTAIL" in cat.pelt.scars
- or "HALFTAIL" in cat.pelt.scars
+ "NOTAIL" in cat.pelt.scars
+ or "HALFTAIL" in cat.pelt.scars
):
continue
@@ -607,14 +605,14 @@ def filter_possible_short_events(
continue
if "r_c" in block["cats"]:
if injury == "mangled tail" and (
- "NOTAIL" in random_cat.pelt.scars
- or "HALFTAIL" in random_cat.pelt.scars
+ "NOTAIL" in random_cat.pelt.scars
+ or "HALFTAIL" in random_cat.pelt.scars
):
continue
if (
- injury == "torn ear"
- and "NOEAR" in random_cat.pelt.scars
+ injury == "torn ear"
+ and "NOEAR" in random_cat.pelt.scars
):
continue
@@ -627,20 +625,20 @@ def filter_possible_short_events(
if "any" not in event.outsider["current_rep"]:
# hostile
if (
- 1 <= game.clan.reputation <= 30
- and "hostile" not in event.outsider["current_rep"]
+ 1 <= game.clan.reputation <= 30
+ and "hostile" not in event.outsider["current_rep"]
):
continue
# neutral
elif (
- 31 <= game.clan.reputation <= 70
- and "neutral" not in event.outsider["current_rep"]
+ 31 <= game.clan.reputation <= 70
+ and "neutral" not in event.outsider["current_rep"]
):
continue
# welcoming
elif (
- 71 <= game.clan.reputation <= 100
- and "welcoming" not in event.outsider["current_rep"]
+ 71 <= game.clan.reputation <= 100
+ and "welcoming" not in event.outsider["current_rep"]
):
continue
@@ -654,8 +652,8 @@ def filter_possible_short_events(
if "war" in event.sub_type:
rel_change_type = game.switches["war_rel_change_type"]
if (
- event.other_clan["changed"] < 0
- and rel_change_type != "rel_down"
+ event.other_clan["changed"] < 0
+ and rel_change_type != "rel_down"
):
continue
@@ -663,20 +661,20 @@ def filter_possible_short_events(
if "any" not in event.other_clan["current_rep"]:
# ally
if (
- "ally" in event.other_clan["current_rep"]
- and int(other_clan.relations) < 17
+ "ally" in event.other_clan["current_rep"]
+ and int(other_clan.relations) < 17
):
continue
# neutral
elif "neutral" in event.other_clan["current_rep"] and (
- int(other_clan.relations) <= 7
- or int(other_clan.relations) >= 17
+ int(other_clan.relations) <= 7
+ or int(other_clan.relations) >= 17
):
continue
# hostile
elif (
- "hostile" in event.other_clan["current_rep"]
- and int(other_clan.relations) > 7
+ "hostile" in event.other_clan["current_rep"]
+ and int(other_clan.relations) > 7
):
continue
@@ -723,8 +721,8 @@ def filter_possible_short_events(
if trigger_factor < 2 and game.clan.game_mode == "expanded":
trigger_factor = 2
if (
- trigger_factor < 1.2
- and game.clan.game_mode == "cruel season"
+ trigger_factor < 1.2
+ and game.clan.game_mode == "cruel season"
):
trigger_factor = 1.2
@@ -767,9 +765,9 @@ def filter_possible_short_events(
if "adequate" in trigger:
for herb in herbs:
if (
- entire_supply_needed_amount / 2
- < herbs[herb]
- < entire_supply_needed_amount
+ entire_supply_needed_amount / 2
+ < herbs[herb]
+ < entire_supply_needed_amount
):
discard = False
else:
@@ -778,9 +776,9 @@ def filter_possible_short_events(
if "full" in trigger:
for herb in herbs:
if (
- entire_supply_needed_amount
- < herbs[herb]
- < entire_supply_needed_amount * 2
+ entire_supply_needed_amount
+ < herbs[herb]
+ < entire_supply_needed_amount * 2
):
discard = False
else:
@@ -802,20 +800,20 @@ def filter_possible_short_events(
discard = False
break
if (
- "adequate" in trigger
- and needed_amount / 2 < herbs[herb] < needed_amount
+ "adequate" in trigger
+ and needed_amount / 2 < herbs[herb] < needed_amount
):
discard = False
break
if (
- "full" in trigger
- and needed_amount < herbs[herb] < needed_amount * 2
+ "full" in trigger
+ and needed_amount < herbs[herb] < needed_amount * 2
):
discard = False
break
if (
- "excess" in trigger
- and needed_amount * 2 < herbs[herb]
+ "excess" in trigger
+ and needed_amount * 2 < herbs[herb]
):
discard = False
break
@@ -832,16 +830,16 @@ def filter_possible_short_events(
discard = False
if "adequate" in trigger:
if (
- needed_amount / 2
- < herbs[chosen_herb]
- < needed_amount
+ needed_amount / 2
+ < herbs[chosen_herb]
+ < needed_amount
):
discard = False
if "full" in trigger:
if (
- needed_amount
- < herbs[chosen_herb]
- < needed_amount * 2
+ needed_amount
+ < herbs[chosen_herb]
+ < needed_amount * 2
):
discard = False
if "excess" in trigger:
@@ -904,13 +902,13 @@ def possible_death_reactions(family_relation, rel_value, trait, body_status):
return possible_events
def possible_lead_den_events(
- self,
- cat,
- event_type: str,
- interaction_type: str,
- success: bool,
- other_clan_temper=None,
- player_clan_temper=None,
+ self,
+ cat,
+ event_type: str,
+ interaction_type: str,
+ success: bool,
+ other_clan_temper=None,
+ player_clan_temper=None,
) -> list:
"""
finds and generates a list of possible leader den events
@@ -930,13 +928,13 @@ def possible_lead_den_events(
if "other_clan_temper" in event or "player_clan_temper" in event:
if (
- other_clan_temper not in event["other_clan_temper"]
- and "any" not in event["other_clan_temper"]
+ other_clan_temper not in event["other_clan_temper"]
+ and "any" not in event["other_clan_temper"]
):
continue
if (
- player_clan_temper not in event["player_clan_temper"]
- and "any" not in event["player_clan_temper"]
+ player_clan_temper not in event["player_clan_temper"]
+ and "any" not in event["player_clan_temper"]
):
continue
@@ -944,23 +942,23 @@ def possible_lead_den_events(
reputation = game.clan.reputation
# hostile
if (
- 1 <= reputation <= 30
- and "hostile" not in event["reputation"]
- and "any" not in event["reputation"]
+ 1 <= reputation <= 30
+ and "hostile" not in event["reputation"]
+ and "any" not in event["reputation"]
):
continue
# neutral
elif (
- 31 <= reputation <= 70
- and "neutral" not in event["reputation"]
- and "any" not in event["reputation"]
+ 31 <= reputation <= 70
+ and "neutral" not in event["reputation"]
+ and "any" not in event["reputation"]
):
continue
# welcoming
elif (
- 71 <= reputation <= 100
- and "welcoming" not in event["reputation"]
- and "any" not in event["reputation"]
+ 71 <= reputation <= 100
+ and "welcoming" not in event["reputation"]
+ and "any" not in event["reputation"]
):
continue
@@ -972,19 +970,19 @@ def possible_lead_den_events(
"loner",
"rogue",
"kittypet",
- "former clancat",
+ "former Clancat",
"exiled",
]:
if "lost" not in cat_info["status"]:
continue
elif (
- cat.status not in cat_info["status"]
- and "any" not in cat_info["status"]
+ cat.status.casefold() not in cat_info["status"]
+ and "any" not in cat_info["status"]
):
continue
elif (
- cat.status not in cat_info["status"]
- and "any" not in cat_info["status"]
+ cat.status not in cat_info["status"]
+ and "any" not in cat_info["status"]
):
continue
if "age" in cat_info:
@@ -1023,24 +1021,24 @@ class ShortEvent:
"""
def __init__(
- self,
- event_id="",
- location=None,
- season=None,
- sub_type=None,
- tags=None,
- weight=0,
- text="",
- new_accessory=None,
- m_c=None,
- r_c=None,
- new_cat=None,
- injury=None,
- history=None,
- relationships=None,
- outsider=None,
- other_clan=None,
- supplies=None,
+ self,
+ event_id="",
+ location=None,
+ season=None,
+ sub_type=None,
+ tags=None,
+ weight=0,
+ text="",
+ new_accessory=None,
+ m_c=None,
+ r_c=None,
+ new_cat=None,
+ injury=None,
+ history=None,
+ relationships=None,
+ outsider=None,
+ other_clan=None,
+ supplies=None,
):
if not event_id:
print("WARNING: moon event has no event_id")
@@ -1119,20 +1117,20 @@ def __init__(
class OngoingEvent:
def __init__(
- self,
- event=None,
- camp=None,
- season=None,
- tags=None,
- priority="secondary",
- duration=None,
- current_duration=0,
- rarity=0,
- trigger_events=None,
- progress_events=None,
- conclusion_events=None,
- secondary_disasters=None,
- collateral_damage=None,
+ self,
+ event=None,
+ camp=None,
+ season=None,
+ tags=None,
+ priority="secondary",
+ duration=None,
+ current_duration=0,
+ rarity=0,
+ trigger_events=None,
+ progress_events=None,
+ conclusion_events=None,
+ secondary_disasters=None,
+ collateral_damage=None,
):
self.event = event
self.camp = camp
diff --git a/scripts/events_module/relationship/pregnancy_events.py b/scripts/events_module/relationship/pregnancy_events.py
index 8cb65299a9..90f0f89421 100644
--- a/scripts/events_module/relationship/pregnancy_events.py
+++ b/scripts/events_module/relationship/pregnancy_events.py
@@ -376,7 +376,7 @@ def handle_two_moon_pregnant(cat: Cat, clan=game.clan):
if cat.exiled:
kit.status = "loner"
name = choice(names.names_dict["normal_prefixes"])
- kit.name = Name("loner", prefix=name, suffix="")
+ kit.name = Name(prefix=name, suffix="", cat=kit)
if other_cat and not other_cat.outside:
kit.backstory = "outsider2"
if cat.outside and not cat.exiled:
@@ -422,6 +422,8 @@ def handle_two_moon_pregnant(cat: Cat, clan=game.clan):
):
involved_cats.append(other_cat.ID)
event_list.append(choice(events["birth"]["affair"]))
+ if len(cat.mate) > 0:
+ event_list.append(choice(events["birth"]["affair_mated"]))
else:
event_list.append(choice(events["birth"]["unmated_parent"]))
diff --git a/scripts/game_structure/windows.py b/scripts/game_structure/windows.py
index 09c4720bdc..c66d49a835 100644
--- a/scripts/game_structure/windows.py
+++ b/scripts/game_structure/windows.py
@@ -553,11 +553,11 @@ def __init__(self, cat):
container=self,
)
- if self.the_cat.name.status in self.the_cat.name.names_dict["special_suffixes"]:
+ if self.the_cat.status in self.the_cat.name.names_dict["special_suffixes"]:
self.suffix_entry_box = pygame_gui.elements.UITextEntryLine(
ui_scale(pygame.Rect((159 + x_pos, 50 + y_pos), (120, 30))),
placeholder_text=self.the_cat.name.names_dict["special_suffixes"][
- self.the_cat.name.status
+ self.the_cat.status
],
manager=MANAGER,
container=self,
@@ -608,7 +608,7 @@ def process_event(self, event):
# Suffixes can be empty, if you want. However, don't change the suffix if it's currently being hidden
# by a special suffix.
if (
- self.the_cat.name.status
+ self.the_cat.status
not in self.the_cat.name.names_dict["special_suffixes"]
or self.the_cat.name.specsuffix_hidden
):
@@ -630,13 +630,9 @@ def process_event(self, event):
use_suffix = self.the_cat.name.suffix
self.prefix_entry_box.set_text(
Name(
- self.the_cat.status,
None,
use_suffix,
- self.the_cat.pelt.colour,
- self.the_cat.pelt.eye_colour,
- self.the_cat.pelt.name,
- self.the_cat.pelt.tortiepattern,
+ cat=self.the_cat
).prefix
)
elif event.ui_element == self.random_suffix:
@@ -646,13 +642,9 @@ def process_event(self, event):
use_prefix = self.the_cat.name.prefix
self.suffix_entry_box.set_text(
Name(
- self.the_cat.status,
use_prefix,
None,
- self.the_cat.pelt.colour,
- self.the_cat.pelt.eye_colour,
- self.the_cat.pelt.name,
- self.the_cat.pelt.tortiepattern,
+ cat=self.the_cat
).suffix
)
elif event.ui_element == self.toggle_spec_block_on:
@@ -2069,10 +2061,11 @@ def __init__(self):
object_id="#exit_window_button",
container=self,
)
- self.save_button = UIImageButton(
+ self.save_button = UISurfaceImageButton(
ui_scale(pygame.Rect((80, 180), (139, 30))),
- "",
- object_id="#change_focus_button",
+ "Change Focus",
+ get_button_dict(ButtonStyles.SQUOVAL, (139, 30)),
+ object_id="@buttonstyles_squoval",
container=self,
)
self.save_button.disable()
diff --git a/scripts/patrol/patrol_outcome.py b/scripts/patrol/patrol_outcome.py
index 208e11e7b2..92741f0fb2 100644
--- a/scripts/patrol/patrol_outcome.py
+++ b/scripts/patrol/patrol_outcome.py
@@ -232,6 +232,39 @@ def execute_outcome(self, patrol: "Patrol") -> Tuple[str, str, Optional[str]]:
results.append(self._handle_death(patrol))
results.append(self._handle_lost(patrol))
results.append(self._handle_condition_and_scars(patrol))
+
+ # pronounify the relationship log
+ for block in self.relationship_effects:
+ if block.get("log"):
+ log = block.get("log") + " "
+ if isinstance(log, str):
+ block["log"] = event_text_adjust(
+ Cat,
+ log,
+ patrol_leader=patrol.patrol_leader,
+ random_cat=patrol.random_cat,
+ stat_cat=self.stat_cat,
+ patrol_cats=patrol.patrol_cats,
+ patrol_apprentices=patrol.patrol_apprentices,
+ new_cats=patrol.new_cats,
+ clan=game.clan,
+ other_clan=patrol.other_clan,
+ )
+ elif isinstance(log, list):
+ for i in range(1, len(log)):
+ block["log"][i] = event_text_adjust(
+ Cat,
+ block["log"][i] + " ",
+ patrol_leader=patrol.patrol_leader,
+ random_cat=patrol.random_cat,
+ stat_cat=self.stat_cat,
+ patrol_cats=patrol.patrol_cats,
+ patrol_apprentices=patrol.patrol_apprentices,
+ new_cats=patrol.new_cats,
+ clan=game.clan,
+ other_clan=patrol.other_clan,
+ )
+
results.append(
unpack_rel_block(
Cat, self.relationship_effects, patrol, stat_cat=self.stat_cat
diff --git a/scripts/screens/ChooseAdoptiveParentScreen.py b/scripts/screens/ChooseAdoptiveParentScreen.py
index 3021d24216..ddff944940 100644
--- a/scripts/screens/ChooseAdoptiveParentScreen.py
+++ b/scripts/screens/ChooseAdoptiveParentScreen.py
@@ -103,6 +103,8 @@ def handle_event(self, event):
self.selected_mate_index = 0
self.change_screen("profile screen")
elif event.ui_element == self.toggle_adoptive_parent:
+ if self.work_thread is not None and self.work_thread.is_alive():
+ return
self.work_thread = self.loading_screen_start_work(
self.change_adoptive_parent
)
@@ -902,9 +904,7 @@ def update_selected_cat(self):
def on_use(self):
super().on_use()
- self.loading_screen_on_use(
- self.work_thread, self.update_after_change
- )
+ self.loading_screen_on_use(self.work_thread, self.update_after_change)
def get_valid_adoptive_parents(self):
"""Get a list of valid parents for the current cat"""
diff --git a/scripts/screens/ChooseMateScreen.py b/scripts/screens/ChooseMateScreen.py
index e5d5eacbe7..1777971933 100644
--- a/scripts/screens/ChooseMateScreen.py
+++ b/scripts/screens/ChooseMateScreen.py
@@ -109,6 +109,8 @@ def handle_event(self, event):
self.selected_mate_index = 0
self.change_screen("profile screen")
elif event.ui_element == self.toggle_mate:
+ if self.work_thread is not None and self.work_thread.is_alive():
+ return
self.work_thread = self.loading_screen_start_work(self.change_mate)
elif event.ui_element == self.previous_cat_button:
@@ -1174,9 +1176,7 @@ def draw_compatible_line_affection(self):
def on_use(self):
super().on_use()
- self.loading_screen_on_use(
- self.work_thread, self.update_both
- )
+ self.loading_screen_on_use(self.work_thread, self.update_both)
def get_valid_mates(self):
"""Get a list of valid mates for the current cat"""
diff --git a/scripts/screens/EventsScreen.py b/scripts/screens/EventsScreen.py
index c7b4c211e7..77ade73a66 100644
--- a/scripts/screens/EventsScreen.py
+++ b/scripts/screens/EventsScreen.py
@@ -121,6 +121,10 @@ def handle_event(self, event):
): # everything else on button press to prevent blinking
element = event.ui_element
if element == self.timeskip_button:
+ # ensure we can't run the same timeskip multiple times
+ if self.events_thread is not None and self.events_thread.is_alive():
+ return
+ self.timeskip_button.disable()
self.events_thread = self.loading_screen_start_work(
events_class.one_moon
)
@@ -776,3 +780,4 @@ def timeskip_done(self):
item.set_relative_position((10, item.get_relative_rect()[1]))
self.update_events_display()
+ self.timeskip_button.enable()
diff --git a/scripts/screens/MakeClanScreen.py b/scripts/screens/MakeClanScreen.py
index 55db315ff5..be99be13fb 100644
--- a/scripts/screens/MakeClanScreen.py
+++ b/scripts/screens/MakeClanScreen.py
@@ -20,7 +20,7 @@
UISurfaceImageButton,
)
from scripts.patrol.patrol import Patrol
-from scripts.utility import get_text_box_theme, ui_scale, ui_scale_blit
+from scripts.utility import get_text_box_theme, ui_scale, ui_scale_blit, ui_scale_offset
from scripts.utility import ui_scale_dimensions
from .Screens import Screens
from ..cat.sprites import sprites
@@ -826,92 +826,208 @@ def refresh_selected_camp(self):
self.tabs["tab4"].kill()
if self.biome_selected == "Forest":
- self.tabs["tab1"] = UIImageButton(
- ui_scale(pygame.Rect((95, 180), (154, 30))),
- "",
- object_id="#classic_tab",
+ tab_rect = ui_scale(pygame.Rect((0, 0), (85, 30)))
+ tab_rect.topright = ui_scale_offset((5, 180))
+ self.tabs["tab1"] = UISurfaceImageButton(
+ tab_rect,
+ "Classic",
+ get_button_dict(ButtonStyles.VERTICAL_TAB, (85, 30)),
+ object_id="@buttonstyles_vertical_tab",
manager=MANAGER,
+ anchors={"right": "right", "right_target": self.elements["art_frame"]},
)
- self.tabs["tab2"] = UIImageButton(
- ui_scale(pygame.Rect((108, 215), (154, 30))),
- "",
- object_id="#gully_tab",
+ tab_rect = ui_scale(pygame.Rect((0, 0), (70, 30)))
+ tab_rect.topright = ui_scale_offset((5, 5))
+ self.tabs["tab2"] = UISurfaceImageButton(
+ tab_rect,
+ "Gully",
+ get_button_dict(ButtonStyles.VERTICAL_TAB, (70, 30)),
+ object_id="@buttonstyles_vertical_tab",
manager=MANAGER,
+ anchors={
+ "right": "right",
+ "right_target": self.elements["art_frame"],
+ "top_target": self.tabs["tab1"],
+ },
)
- self.tabs["tab3"] = UIImageButton(
- ui_scale(pygame.Rect((95, 250), (154, 30))),
- "",
- object_id="#grotto_tab",
+ tab_rect = ui_scale(pygame.Rect((0, 0), (85, 30)))
+ tab_rect.topright = ui_scale_offset((5, 5))
+ self.tabs["tab3"] = UISurfaceImageButton(
+ tab_rect,
+ "Grotto",
+ get_button_dict(ButtonStyles.VERTICAL_TAB, (85, 30)),
+ object_id="@buttonstyles_vertical_tab",
manager=MANAGER,
+ anchors={
+ "right": "right",
+ "right_target": self.elements["art_frame"],
+ "top_target": self.tabs["tab2"],
+ },
)
- self.tabs["tab4"] = UIImageButton(
- ui_scale(pygame.Rect((85, 285), (154, 30))),
- "",
- object_id="#lakeside_tab",
+
+ tab_rect.size = ui_scale_dimensions((100, 30))
+ tab_rect.topright = ui_scale_offset((5, 5))
+ self.tabs["tab4"] = UISurfaceImageButton(
+ tab_rect,
+ "Lakeside",
+ get_button_dict(ButtonStyles.VERTICAL_TAB, (100, 30)),
+ object_id="@buttonstyles_vertical_tab",
manager=MANAGER,
+ anchors={
+ "right": "right",
+ "right_target": self.elements["art_frame"],
+ "top_target": self.tabs["tab3"],
+ },
)
elif self.biome_selected == "Mountainous":
- self.tabs["tab1"] = UIImageButton(
- ui_scale(pygame.Rect((111, 180), (154, 30))),
- "",
- object_id="#cliff_tab",
+ tab_rect = ui_scale(pygame.Rect((0, 0), (70, 30)))
+ tab_rect.topright = ui_scale_offset((5, 180))
+ self.tabs["tab1"] = UISurfaceImageButton(
+ tab_rect,
+ "Cliff",
+ get_button_dict(ButtonStyles.VERTICAL_TAB, (70, 30)),
+ object_id="@buttonstyles_vertical_tab",
manager=MANAGER,
+ anchors={"right": "right", "right_target": self.elements["art_frame"]},
)
- self.tabs["tab2"] = UIImageButton(
- ui_scale(pygame.Rect((90, 215), (154, 30))),
- "",
- object_id="#cave_tab",
+
+ tab_rect = ui_scale(pygame.Rect((0, 0), (90, 30)))
+ tab_rect.topright = ui_scale_offset((5, 5))
+ self.tabs["tab2"] = UISurfaceImageButton(
+ tab_rect,
+ "Cavern",
+ get_button_dict(ButtonStyles.VERTICAL_TAB, (90, 30)),
+ object_id="@buttonstyles_vertical_tab",
manager=MANAGER,
+ anchors={
+ "right": "right",
+ "right_target": self.elements["art_frame"],
+ "top_target": self.tabs["tab1"],
+ },
)
- self.tabs["tab3"] = UIImageButton(
- ui_scale(pygame.Rect((42, 250), (179, 30))),
- "",
- object_id="#crystal_tab",
+ tab_rect = ui_scale(pygame.Rect((0, 0), (130, 30)))
+ tab_rect.topright = ui_scale_offset((5, 5))
+ self.tabs["tab3"] = UISurfaceImageButton(
+ tab_rect,
+ "Crystal River",
+ get_button_dict(ButtonStyles.VERTICAL_TAB, (130, 30)),
+ object_id="@buttonstyles_vertical_tab",
manager=MANAGER,
+ anchors={
+ "right": "right",
+ "right_target": self.elements["art_frame"],
+ "top_target": self.tabs["tab2"],
+ },
)
- self.tabs["tab4"] = UIImageButton(
- ui_scale(pygame.Rect((107, 285), (154, 30))),
- "",
- object_id="#ruins_tab",
+ tab_rect = ui_scale(pygame.Rect((0, 0), (80, 30)))
+ tab_rect.topright = ui_scale_offset((5, 5))
+ self.tabs["tab4"] = UISurfaceImageButton(
+ tab_rect,
+ "Ruins",
+ get_button_dict(ButtonStyles.VERTICAL_TAB, (80, 30)),
+ object_id="@buttonstyles_vertical_tab",
manager=MANAGER,
+ anchors={
+ "right": "right",
+ "right_target": self.elements["art_frame"],
+ "top_target": self.tabs["tab3"],
+ },
)
elif self.biome_selected == "Plains":
- self.tabs["tab1"] = UIImageButton(
- ui_scale(pygame.Rect((64, 180), (154, 30))),
- "",
- object_id="#grasslands_tab",
+ tab_rect = ui_scale(pygame.Rect((0, 0), (115, 30)))
+ tab_rect.topright = ui_scale_offset((5, 180))
+ self.tabs["tab1"] = UISurfaceImageButton(
+ tab_rect,
+ "Grasslands",
+ get_button_dict(ButtonStyles.VERTICAL_TAB, (115, 30)),
+ object_id="@buttonstyles_vertical_tab",
manager=MANAGER,
+ anchors={"right": "right", "right_target": self.elements["art_frame"]},
)
- self.tabs["tab2"] = UIImageButton(
- ui_scale(pygame.Rect((89, 215), (154, 30))),
- "",
- object_id="#tunnel_tab",
+
+ tab_rect = ui_scale(pygame.Rect((0, 0), (90, 30)))
+ tab_rect.topright = ui_scale_offset((5, 5))
+ self.tabs["tab2"] = UISurfaceImageButton(
+ tab_rect,
+ "Tunnels",
+ get_button_dict(ButtonStyles.VERTICAL_TAB, (90, 30)),
+ object_id="@buttonstyles_vertical_tab",
manager=MANAGER,
+ anchors={
+ "right": "right",
+ "right_target": self.elements["art_frame"],
+ "top_target": self.tabs["tab1"],
+ },
)
- self.tabs["tab3"] = UIImageButton(
- ui_scale(pygame.Rect((64, 250), (154, 30))),
- "",
- object_id="#wasteland_tab",
+ tab_rect = ui_scale(pygame.Rect((0, 0), (115, 30)))
+ tab_rect.topright = ui_scale_offset((5, 5))
+ self.tabs["tab3"] = UISurfaceImageButton(
+ tab_rect,
+ "Wastelands",
+ get_button_dict(ButtonStyles.VERTICAL_TAB, (115, 30)),
+ object_id="@buttonstyles_vertical_tab",
manager=MANAGER,
+ anchors={
+ "right": "right",
+ "right_target": self.elements["art_frame"],
+ "top_target": self.tabs["tab2"],
+ },
)
elif self.biome_selected == "Beach":
- self.tabs["tab1"] = UIImageButton(
- ui_scale(pygame.Rect((76, 180), (154, 30))),
- "",
- object_id="#tidepool_tab",
+ tab_rect = ui_scale(pygame.Rect((0, 0), (110, 30)))
+ tab_rect.topright = ui_scale_offset((5, 180))
+ self.tabs["tab1"] = UISurfaceImageButton(
+ tab_rect,
+ "Tidepools",
+ get_button_dict(ButtonStyles.VERTICAL_TAB, (110, 30)),
+ object_id="@buttonstyles_vertical_tab",
manager=MANAGER,
+ anchors={"right": "right", "right_target": self.elements["art_frame"]},
)
- self.tabs["tab2"] = UIImageButton(
- ui_scale(pygame.Rect((65, 215), (154, 30))),
- "",
- object_id="#tidal_cave_tab",
+
+ tab_rect = ui_scale(pygame.Rect((0, 0), (110, 30)))
+ tab_rect.topright = ui_scale_offset((5, 5))
+ self.tabs["tab2"] = UISurfaceImageButton(
+ tab_rect,
+ "Tidal Cave",
+ get_button_dict(ButtonStyles.VERTICAL_TAB, (110, 30)),
+ object_id="@buttonstyles_vertical_tab",
manager=MANAGER,
+ anchors={
+ "right": "right",
+ "right_target": self.elements["art_frame"],
+ "top_target": self.tabs["tab1"],
+ },
)
- self.tabs["tab3"] = UIImageButton(
- ui_scale(pygame.Rect((70, 250), (154, 30))),
- "",
- object_id="#shipwreck_tab",
+
+ tab_rect = ui_scale(pygame.Rect((0, 0), (110, 30)))
+ tab_rect.topright = ui_scale_offset((5, 5))
+ self.tabs["tab3"] = UISurfaceImageButton(
+ tab_rect,
+ "Shipwreck",
+ get_button_dict(ButtonStyles.VERTICAL_TAB, (110, 30)),
+ object_id="@buttonstyles_vertical_tab",
manager=MANAGER,
+ anchors={
+ "right": "right",
+ "right_target": self.elements["art_frame"],
+ "top_target": self.tabs["tab2"],
+ },
+ )
+
+ tab_rect = ui_scale(pygame.Rect((0, 0), (80, 30)))
+ tab_rect.topright = ui_scale_offset((5, 5))
+ self.tabs["tab4"] = UISurfaceImageButton(
+ tab_rect,
+ "Fjord",
+ get_button_dict(ButtonStyles.VERTICAL_TAB, (80, 30)),
+ object_id="@buttonstyles_vertical_tab",
+ manager=MANAGER,
+ anchors={
+ "right": "right",
+ "right_target": self.elements["art_frame"],
+ "top_target": self.tabs["tab3"],
+ },
)
self.tabs["tab1"].disable() if self.selected_camp_tab == 1 else self.tabs[
@@ -2024,11 +2140,12 @@ def chunks(self, L, n):
def draw_art_frame(self):
if "art_frame" in self.elements:
- self.elements["art_frame"].kill()
+ return
self.elements["art_frame"] = pygame_gui.elements.UIImage(
ui_scale(pygame.Rect(((0, 20), (466, 416)))),
get_box(BoxStyles.FRAME, (466, 416)),
manager=MANAGER,
+ starting_height=2,
anchors={"center": "center"},
)
diff --git a/scripts/screens/PatrolScreen.py b/scripts/screens/PatrolScreen.py
index 9485e6a2d7..f141560837 100644
--- a/scripts/screens/PatrolScreen.py
+++ b/scripts/screens/PatrolScreen.py
@@ -92,7 +92,10 @@ def handle_event(self, event):
def handle_choose_cats_events(self, event):
if event.ui_element == self.elements["random"]:
- self.selected_cat = choice(self.able_cats)
+ if self.able_cats:
+ self.selected_cat = choice(self.able_cats)
+ else:
+ print('WARNING: attempted to select random cat for patrol from empty list of able cats')
self.update_selected_cat()
self.update_button()
# Check is a cat is clicked
@@ -128,7 +131,10 @@ def handle_choose_cats_events(self, event):
able_no_med = self.able_cats
self.selected_cat = choice(able_no_med)
else:
- self.selected_cat = choice(self.able_cats)
+ if self.able_cats:
+ self.selected_cat = choice(self.able_cats)
+ else:
+ print('WARNING: attempted to select random cat for patrol from empty list of able cats')
self.update_selected_cat()
self.current_patrol.append(self.selected_cat)
self.update_cat_images_buttons()
@@ -263,6 +269,11 @@ def handle_patrol_events_event(self, event):
inp = "antagonize"
if inp:
+ if (
+ self.proceed_patrol_thread is not None
+ and self.proceed_patrol_thread.is_alive()
+ ):
+ return
self.proceed_patrol_thread = self.loading_screen_start_work(
self.run_patrol_proceed, "proceed", (inp,)
)
diff --git a/scripts/screens/ProfileScreen.py b/scripts/screens/ProfileScreen.py
index 455f3c7c38..e49c9fc1e4 100644
--- a/scripts/screens/ProfileScreen.py
+++ b/scripts/screens/ProfileScreen.py
@@ -637,14 +637,14 @@ def build_profile(self):
self.profile_elements["cat_info_column1"] = UITextBoxTweaked(
self.generate_column1(self.the_cat),
- ui_scale(pygame.Rect((300, 230), (180, 200))),
+ ui_scale(pygame.Rect((300, 220), (180, 200))),
object_id=get_text_box_theme("#text_box_22_horizleft"),
line_spacing=1,
manager=MANAGER,
)
self.profile_elements["cat_info_column2"] = UITextBoxTweaked(
self.generate_column2(self.the_cat),
- ui_scale(pygame.Rect((490, 230), (250, 200))),
+ ui_scale(pygame.Rect((490, 220), (250, 200))),
object_id=get_text_box_theme("#text_box_22_horizleft"),
line_spacing=1,
manager=MANAGER,
@@ -920,7 +920,6 @@ def generate_column2(self, the_cat):
if Cat.fetch_cat(i)
]
)
-
# NEWLINE ----------
output += "\n"
diff --git a/scripts/screens/RelationshipScreen.py b/scripts/screens/RelationshipScreen.py
index d72d7a9a55..62b1eb4a1d 100644
--- a/scripts/screens/RelationshipScreen.py
+++ b/scripts/screens/RelationshipScreen.py
@@ -235,6 +235,9 @@ def screen_switches(self):
self.details_frame_image = get_box(
BoxStyles.ROUNDED_BOX, (230, 340), sides=(True, False, True, True)
)
+ self.selected_cat_container = pygame_gui.core.UIContainer(
+ ui_scale(pygame.Rect((53, 143), (220, 320))), MANAGER
+ )
self.toggle_frame_image = get_box(
BoxStyles.ROUNDED_BOX, (220, 120), sides=(True, False, True, True)
)
@@ -289,23 +292,26 @@ def screen_switches(self):
)
self.switch_focus_button = UIImageButton(
- ui_scale(pygame.Rect((85, 390), (136, 30))),
+ ui_scale(pygame.Rect((32, 245), (136, 30))),
"",
object_id="#switch_focus_button",
+ container=self.selected_cat_container,
)
self.switch_focus_button.disable()
self.view_profile_button = UIImageButton(
- ui_scale(pygame.Rect((85, 420), (136, 30))),
+ ui_scale(pygame.Rect((32, 275), (136, 30))),
"",
object_id="#view_profile_button",
+ container=self.selected_cat_container,
)
self.view_profile_button.disable()
self.log_icon = UISurfaceImageButton(
- ui_scale(pygame.Rect((222, 404), (34, 34))),
+ ui_scale(pygame.Rect((169, 258), (34, 34))),
Icon.NOTEPAD,
get_button_dict(ButtonStyles.ICON, (34, 34)),
object_id="@buttonstyles_icon",
+ container=self.selected_cat_container,
)
self.log_icon.disable()
@@ -317,6 +323,8 @@ def exit_screen(self):
self.checkboxes[ele].kill()
self.checkboxes = {}
+ self.selected_cat_container.kill()
+
for ele in self.focus_cat_elements:
self.focus_cat_elements[ele].kill()
self.focus_cat_elements = {}
@@ -452,42 +460,38 @@ def update_inspected_relation(self):
if self.inspect_cat is not None:
# NAME LENGTH
- chosen_name = str(self.inspect_cat.name)
- if 19 <= len(chosen_name):
- if self.inspect_cat.dead:
- chosen_short_name = str(self.inspect_cat.name)[0:11]
- chosen_name = chosen_short_name + "..."
- chosen_name += " (dead)"
- else:
- chosen_short_name = str(self.inspect_cat.name)[0:16]
- chosen_name = chosen_short_name + "..."
+ chosen_name = shorten_text_to_fit(str(self.inspect_cat.name), 180, 18)
self.inspect_cat_elements["name"] = pygame_gui.elements.ui_label.UILabel(
- ui_scale(pygame.Rect((75, 295), (150, 40))),
+ ui_scale(pygame.Rect((0, 152), (180, 40))),
chosen_name,
object_id="#text_box_34_horizcenter",
+ container=self.selected_cat_container,
+ anchors={"centerx": "centerx"},
)
# Cat Image
self.inspect_cat_elements["image"] = pygame_gui.elements.UIImage(
- ui_scale(pygame.Rect((75, 145), (150, 150))),
+ ui_scale(pygame.Rect((0, 0), (150, 150))),
pygame.transform.scale(
self.inspect_cat.sprite, ui_scale_dimensions((150, 150))
),
+ container=self.selected_cat_container,
+ anchors={"centerx": "centerx"},
)
related = False
# Mate Heart
- # TODO: UI UPDATE IS NEEDED
if len(self.the_cat.mate) > 0 and self.inspect_cat.ID in self.the_cat.mate:
self.inspect_cat_elements["mate"] = pygame_gui.elements.UIImage(
- ui_scale(pygame.Rect((45, 150), (22, 20))),
+ ui_scale(pygame.Rect((8, 8), (22, 20))),
pygame.transform.scale(
image_cache.load_image(
"resources/images/heart_big.png"
).convert_alpha(),
ui_scale_dimensions((22, 20)),
),
+ container=self.selected_cat_container,
)
else:
# Family Dot
@@ -496,13 +500,14 @@ def update_inspected_relation(self):
)
if related:
self.inspect_cat_elements["family"] = pygame_gui.elements.UIImage(
- ui_scale(pygame.Rect((45, 150), (18, 18))),
+ ui_scale(pygame.Rect((10, 8), (18, 18))),
pygame.transform.scale(
image_cache.load_image(
"resources/images/dot_big.png"
).convert_alpha(),
ui_scale_dimensions((18, 18)),
),
+ container=self.selected_cat_container,
)
# Gender
@@ -528,10 +533,15 @@ def update_inspected_relation(self):
"resources/images/nonbi_big.png"
).convert_alpha()
+ gender_rect = ui_scale(pygame.Rect((0, 0), (34, 34)))
+ gender_rect.topright = ui_scale_offset((-3, 3))
self.inspect_cat_elements["gender"] = pygame_gui.elements.UIImage(
- ui_scale(pygame.Rect((235, 145), (34, 34))),
+ gender_rect,
pygame.transform.scale(gender_icon, ui_scale_dimensions((34, 34))),
+ container=self.selected_cat_container,
+ anchors={"right": "right", "top": "top"},
)
+ del gender_rect
# Column One Details:
col1 = ""
@@ -546,9 +556,10 @@ def update_inspected_relation(self):
self.inspect_cat_elements["col1"] = pygame_gui.elements.UITextBox(
col1,
- ui_scale(pygame.Rect((60, 325), (90, 90))),
+ ui_scale(pygame.Rect((15, 185), (90, 70))),
object_id="#text_box_22_horizleft_spacing_95",
manager=MANAGER,
+ container=self.selected_cat_container,
)
# Column Two Details:
@@ -605,12 +616,17 @@ def update_inspected_relation(self):
] and self.inspect_cat.is_cousin(self.the_cat):
col2 += "related: cousin"
+ col2_rect = ui_scale(pygame.Rect((0, 0), (90, 70)))
+ col2_rect.topright = ui_scale_offset((-15, 185))
self.inspect_cat_elements["col2"] = pygame_gui.elements.UITextBox(
col2,
- ui_scale(pygame.Rect((150, 325), (90, 90))),
+ col2_rect,
object_id="#text_box_22_horizleft_spacing_95",
manager=MANAGER,
+ container=self.selected_cat_container,
+ anchors={"right": "right", "top": "top"},
)
+ del col2_rect
if self.inspect_cat.dead:
self.view_profile_button.enable()
diff --git a/scripts/utility.py b/scripts/utility.py
index 988302288d..d83ab10456 100644
--- a/scripts/utility.py
+++ b/scripts/utility.py
@@ -1376,7 +1376,7 @@ def gather_cat_objects(
out_set.add(extra_cat)
else:
out_set.add(event.main_cat)
- if abbr == "r_c":
+ elif abbr == "r_c":
out_set.add(event.random_cat)
elif abbr == "p_l":
out_set.add(event.patrol_leader)
@@ -1416,7 +1416,7 @@ def gather_cat_objects(
if index < len(event.new_cats):
out_set.update(event.new_cats[index])
else:
- print(f"WARNING: Unsupported abbrevation {abbr}")
+ print(f"WARNING: Unsupported abbreviation {abbr}")
return list(out_set)
diff --git a/sprites/eyes2.png b/sprites/eyes2.png
index 63b741355b..bb634ed39f 100644
Binary files a/sprites/eyes2.png and b/sprites/eyes2.png differ
diff --git a/sprites/symbols.png b/sprites/symbols.png
index df40c6461f..1881300606 100644
Binary files a/sprites/symbols.png and b/sprites/symbols.png differ