diff --git a/src/facilities/nursery/reports/childrenReport.js b/src/facilities/nursery/reports/childrenReport.js
index 61cc78b239ad67d9bc43e97f74d0d4fb86568d05..2217a4de03328ac1eefbb5b7bc6e327fe67b2cf4 100644
--- a/src/facilities/nursery/reports/childrenReport.js
+++ b/src/facilities/nursery/reports/childrenReport.js
@@ -284,8 +284,13 @@ App.Facilities.Nursery.childrenReport = function childrenReport() {
 
 	// TODO: add relation checks
 	function childFriendshipRivalries(child) {
-		for (const target of V.cribs) {	// alias for second child
+		const
+			becomeFriends = () => `${child.slaveName} and ${target.slaveName} have realized that they have more in common that they originally thought, and have become friends.`,
+			becomeRivals = () => `${child.slaveName} and ${target.slaveName} have more differences between them than they could put aside and have become rivals.`;
+
+		for (const target of V.cribs) {
 			const
+				{ his } = getPronouns(target),
 				chance = jsRandom(1, 100);
 
 			let
@@ -296,28 +301,28 @@ App.Facilities.Nursery.childrenReport = function childrenReport() {
 
 			if (target.actualAge >= 3) {
 				if (target.fetish === child.fetish) {
-					r.push(``); // TODO:
+					r.push(`${target.slaveName} and ${child.slaveName} ${target.fetish}s, a fact over which they bond.`);
 					friend++;
 				}
 
 				if (target.sexualQuirk === child.sexualQuirk || target.behavioralQuirk === child.behavioralQuirk) {
-					r.push(``); // TODO:
+					r.push(`Since ${child.slaveName} and ${target.slaveName} both ${target.sexualQuirk === child.sexualQuirk ? target.sexualQuirk : target.behavioralQuirk}, they learn to get along a bit better.`);
 					friend++;
 				}
 
 				if (target.fetish === "sadist" || target.fetish === "dom") {
-					r.push(``); // TODO:
+					r.push(`${target.slaveName} is a ${target.fetish}, and ${child.slaveName} is often ${his} target, which ${child.slaveName} doesn't particularly like.`);
 					rival++;
 				} else if (child.fetish === "sadist" || child.fetish === "dom") {
-					r.push(``); // TODO:
+					r.push(`${child.slaveName} is a ${child.fetish}, and ${target.slaveName} is often ${his} target, which ${target.slaveName} doesn't particularly like.`);
 					rival++;
 				}
 
 				if (friend) {
 					if (rival) {
-						if (friend > rival) {
+						if (friend > rival && child.relationshipTarget !== target.ID) {
 							if (chance > 75) {
-								r.push(``);	// TODO:
+								r.push(becomeFriends());
 								child.relationship = 1;
 								child.relationshipTarget = target.ID;
 
@@ -327,7 +332,7 @@ App.Facilities.Nursery.childrenReport = function childrenReport() {
 						}
 					} else {
 						if (chance > 60) {
-							r.push(``);	// TODO:
+							r.push(becomeRivals());
 							child.relationship = 1;
 							child.relationshipTarget = target.ID;
 
@@ -341,12 +346,12 @@ App.Facilities.Nursery.childrenReport = function childrenReport() {
 					if (friend) {
 						if (rival > friend) {
 							if (chance > 75) {
-								r.push(``);	// TODO:
+								r.push(becomeRivals());
 							}
 						}
 					} else {
 						if (chance > 60) {
-							r.push(``);	// TODO:
+							r.push(becomeFriends());
 						}
 					}
 				}
@@ -354,7 +359,7 @@ App.Facilities.Nursery.childrenReport = function childrenReport() {
 		}
 
 		return r.join(' ');
-	}
+	};
 
 	return r.join(' ');
 };