code:
:: SA rivalries [nobr]

<<set _SL = $slaves.length>>
<<setLocalPronouns $slaves[$i]>>

<<if $slaves[$i].rivalry == 0>>

<<if $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
	<<if isSlaveAvailable($slaves[$i])>>
		<<if $slaves[$i].assignment != "stay confined">>
			<<if $slaves[$i].devotion < random(20,100)>>
				<<if $slaves[$i].trust > random(-100,-20)>>
					<<for _j = 0; _j < _SL; _j++>>
						<<if $slaves[_j].ID != $slaves[$i].ID>>
							<<if $slaves[_j].rivalry == 0>>
								<<if $slaves[_j].fetish != "mindbroken">>
									<<if $slaves[_j].ID != $slaves[$i].relationshipTarget>>
										<<if $slaves[_j].devotion < random(20,100)>>
											<<if $slaves[_j].trust > random(-100,-20)>>
												<<if $slaves[_j].origBodyOwnerID == $slaves[$i].ID && $slaves[_j].devotion > 0 && $slaves[$i].devotion < -30>>
													$slaves[$i].slaveName loathes that <<= SlaveFullName($slaves[_j])>> is using //$his// body to benefit you and makes it abundantly clear every chance $he gets. @@.lightsalmon;They start to dislike each other.@@
													<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
													<<break>>
												<</if>>
												<<if $slaves[$i].behavioralFlaw != "none">>
													<<switch $slaves[$i].behavioralFlaw>>
													<<case "arrogant">>
														<<if $slaves[_j].intelligence > $slaves[$i].intelligence+$slaves[$i].intelligenceImplant>>
															$slaves[$i].slaveName is an arrogant bitch, and <<= SlaveFullName($slaves[_j])>> is authentically smarter than $he is, which of course $he cannot stand. @@.lightsalmon;They start to dislike each other.@@
															<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
															<<break>>
														<</if>>
													<<case "bitchy">>
														<<if $slaves[_j].behavioralFlaw == "odd">>
															$slaves[$i].slaveName is a bit of a bitch, and poor odd <<= SlaveFullName($slaves[_j])>> is a convenient target for $his bullying. @@.lightsalmon;They start to dislike each other.@@
															<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
															<<break>>
														<</if>>
													<<case "odd">>
														<<if $slaves[_j].behavioralFlaw == "bitchy">>
															$slaves[$i].slaveName is rather strange. <<= SlaveFullName($slaves[_j])>>, who is kind of a bitch, frequently bullies $him about it. @@.lightsalmon;They start to dislike each other.@@
															<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
															<<break>>
														<</if>>
													<<case "hates men">>
														<<if $slaves[_j].attrXX > 35>>
															<<if $slaves[_j].faceShape == "masculine" || $slaves[_j].faceShape == "androgynous" >>
																<<if $slaves[_j].muscles > 10>>
																	<<if $slaves[_j].vagina > -1>>
																		$slaves[$i].slaveName hates men, and poor butch <<= SlaveFullName($slaves[_j])>> really gets to $him, despite having a pussy and everything. @@.lightsalmon;They start to dislike each other.@@
																		<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
																		<<break>>
																	<<else>>
																		$slaves[$i].slaveName hates men, and poor masculine <<= SlaveFullName($slaves[_j])>> really gets to $him. @@.lightsalmon;They start to dislike each other.@@
																		<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
																		<<break>>
																	<</if>>
																<</if>>
															<</if>>
														<</if>>
													<<case "hates women">>
														<<if $slaves[_j].attrXY > 35>>
															<<if $slaves[_j].faceShape != "masculine">>
																<<if $slaves[_j].muscles <= 30>>
																	<<if $slaves[_j].vagina > -1>>
																	$slaves[$i].slaveName hates women, and something about the feminine <<= SlaveFullName($slaves[_j])>> really gets to $him. @@.lightsalmon;They start to dislike each other.@@
																		<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
																		<<break>>
																	<<else>>
																		$slaves[$i].slaveName hates women, and something about the girly <<= SlaveFullName($slaves[_j])>> really gets to $him, despite poor $slaves[_j].slaveName not being perfectly female at all. @@.lightsalmon;They start to dislike each other.@@
																		<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
																		<<break>>
																	<</if>>
																<</if>>
															<</if>>
														<</if>>
													<<case "gluttonous">>
														<<if $slaves[_j].behavioralFlaw == "anorexic">>
															$slaves[$i].slaveName, who loves food, can't stand <<= SlaveFullName($slaves[_j])>>'s prissy anorexia. @@.lightsalmon;They start to dislike each other.@@
															<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
															<<break>>
														<</if>>
													<<case "anorexic">>
														<<if $slaves[_j].behavioralFlaw == "gluttonous">>
															$slaves[$i].slaveName, an anorexic, can't stand <<= SlaveFullName($slaves[_j])>>'s disgusting gluttony. @@.lightsalmon;They start to dislike each other.@@
															<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
															<<break>>
														<</if>>
													<<case "devout">>
														<<if $slaves[_j].behavioralFlaw == "liberated">>
															$slaves[$i].slaveName, who is devout and might be considered rather conservative if $he were free, can't stand <<= SlaveFullName($slaves[_j])>>'s revolting gender liberation. @@.lightsalmon;They start to dislike each other.@@
															<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
															<<break>>
														<</if>>
													<<case "liberated">>
														<<if $slaves[_j].behavioralFlaw == "devout">>
															$slaves[$i].slaveName, who is liberated and might be considered rather liberal if $he were free, can't stand <<= SlaveFullName($slaves[_j])>>'s bigoted religious faith. @@.lightsalmon;They start to dislike each other.@@
															<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
															<<break>>
														<</if>>
													<</switch>>
												<</if>>
												<<if $slaves[_j].assignment == $slaves[$i].assignment>>
													<<if random(0,1) == 1>>
														$slaves[$i].slaveName and <<= SlaveFullName($slaves[_j])>> see too much of each other while they
														<<switch $slaves[_j].assignment>>
														<<case "be a servant" "work as a servant">>
															work as servants
														<<case "be a subordinate slave">>
															prepare to serve your other slaves
														<<case "work a glory hole">>
															work nearby glory holes
														<<case "be confined in the cellblock">>
															are confined in nearby cells
														<<case "please you">>
															wait for you to use them
														<<default>>
															$slaves[_j].assignment
														<</switch>>
														and @@.lightsalmon;start to dislike each other.@@
														<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
														<<break>>
													<</if>>
												<</if>>
											<</if>>
										<</if>>
									<</if>>
								<</if>>
							<</if>>
						<</if>>
					<</for>>
				<</if>>
			<</if>>
		<</if>>
	<</if>>
<</if>>

<<else>>

<<set _j = $slaveIndices[$slaves[$i].rivalryTarget]>>
<<if def _j>>
	<<if $slaves[$i].fuckdoll>>
		$slaves[$i].slaveName is a living sex toy, not a person, it @@.lightsalmon;can't really maintain any meaningful rivalry@@ with <<= SlaveFullName($slaves[_j])>>.
		<<set $slaves[_j].rivalry = 0,$slaves[_j].rivalryTarget = 0, $slaves[$i].rivalry = 0, $slaves[$i].rivalryTarget = 0>>
	<<elseif $slaves[$i].fetish == "mindbroken">>
		Since $slaves[$i].slaveName is mindbroken, $he @@.lightsalmon;can't really maintain any meaningful rivalry@@ with <<= SlaveFullName($slaves[_j])>>.
		<<set $slaves[_j].rivalry = 0,$slaves[_j].rivalryTarget = 0, $slaves[$i].rivalry = 0, $slaves[$i].rivalryTarget = 0>>
	<<else>>
		<<if $slaves[$i].need>>
			<<if $universalRulesConsent == 0>>
				<<if $slaves[$i].releaseRules != "restrictive" && $slaves[$i].releaseRules != "masturbation" && $slaves[$i].releaseRules != "chastity">>
					<<if $slaves[_j].releaseRules != "restrictive">>
						<<if $slaves[$i].fetishKnown>>
							<<if $slaves[$i].fetish == "sadist">>
								$slaves[$i].slaveName is horny and sadistic, so $he rapes $his rival <<= SlaveFullName($slaves[_j])>> every chance $he gets; this @@.hotpink;thrills@@ $slaves[$i].slaveName, but $slaves[_j].slaveName is @@.golden;frightened@@ that you let it happen.
								<<set $slaves[$i].need = 0, $slaves[$i].devotion += 3, $slaves[_j].trust -= 3, $slaves[$i].penetrativeCount += 5, $slaves[_j].oralCount += 5>>
								<<if $slaves[$i].rivalry < 3>>
									Of course, this @@.lightsalmon;worsens their rivalry.@@
									<<set $slaves[_j].rivalry += 1, $slaves[$i].rivalry += 1, _worsenedRivalry = 1>>
								<</if>>
							<<elseif $slaves[$i].fetish == "dom">>
								$slaves[$i].slaveName is horny and dominant, so $he forces $his rival <<= SlaveFullName($slaves[_j])>> to submit to $him whenever $he can; this @@.hotpink;thoroughly satisfies@@ $slaves[$i].slaveName, but $slaves[_j].slaveName is @@.golden;angered@@ that you let it happen.
								<<set $slaves[$i].need = 0, $slaves[$i].devotion += 3, $slaves[_j].devotion -= 3, $slaves[$i].penetrativeCount += 5, $slaves[_j].oralCount += 5>>
								<<if $slaves[$i].rivalry < 3>>
									Of course, this @@.lightsalmon;worsens their rivalry.@@
									<<set $slaves[_j].rivalry += 1, $slaves[$i].rivalry += 1, _worsenedRivalry = 1>>
								<</if>>
							<</if>>
						<</if>>
					<</if>>
				<</if>>
			<</if>>
		<</if>>
		<<set _roll = random(0,100)>>
		<<if _worsenedRivalry != 1>>
			<<if _roll > 50>>
				<<if $slaves[_j].fetish == $slaves[$i].fetish>>
					$slaves[$i].slaveName and <<= SlaveFullName($slaves[_j])>> share sexual interests, and in the sexual atmosphere of the arcology, it's @@.lightgreen;difficult for them to keep up their dislike@@ of one another with the mutual attraction.
					<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1, _lightenedRivalry = 1>>
				<</if>>
				<<if $slaves[_j].ID == $slaves[$i].relationshipTarget>>
					<<if $slaves[$i].relationship > 3>>
						<<set $slaves[_j].rivalry = 0, $slaves[_j].rivalryTarget = 0>>
						<<set $slaves[$i].rivalry = 0, $slaves[$i].rivalryTarget = 0>>
					<</if>>
				<</if>>
				<<if _roll > 80 && $slaves[$i].rivalry > 0>>
					<<if $slaves[_j].trust < -20>>
						<<if $slaves[$i].trust < -20>>
							Since both $slaves[$i].slaveName and <<= SlaveFullName($slaves[_j])>> are terrified of you, they work together to @@.lightgreen;get over their feud,@@ since it brings punishment on both of them.
							<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1, _lightenedRivalry = 1>>
						<</if>>
					<</if>>
					<<if $slaves[_j].devotion > 50>>
						<<if $slaves[$i].devotion > 50>>
							Since both $slaves[$i].slaveName and <<= SlaveFullName($slaves[_j])>> are devoted to you, they work together to @@.lightgreen;get over their feud,@@ since it gets in the way of their duties.
							<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1, _lightenedRivalry = 1>>
						<</if>>
					<</if>>
					<<if _roll > 90 && $slaves[$i].rivalry > 0>>
						<<if $slaves[$i].energy > 95>>
							$slaves[$i].slaveName lusts after <<= SlaveFullName($slaves[_j])>>, and does everything $he can to @@.lightgreen;patch up their differences.@@
							<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1, _lustyFix = 1, _lightenedRivalry = 1>>
						<</if>>
						<<if _lustyFix != 1>>
							<<if $slaves[$i].attrXX > 85>>
								<<if ($slaves[_j].vagina > -1) || ($slaves[_j].faceShape != "masculine")>>
									$slaves[$i].slaveName lusts after <<= SlaveFullName($slaves[_j])>>, and does everything $he can to @@.lightgreen;patch up their differences.@@
									<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1, _lustyFix = 1, _lightenedRivalry = 1>>
								<</if>>
							<</if>>
						<</if>>
						<<if _lustyFix != 1>>
							<<if $slaves[$i].attrXY > 85>>
								<<if ($slaves[_j].balls > 0) || ($slaves[_j].faceShape == "masculine")>>
									$slaves[$i].slaveName lusts after <<= SlaveFullName($slaves[_j])>>, and does everything $he can to @@.lightgreen;patch up their differences.@@
									<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1, _lustyFix = 1, _lightenedRivalry = 1>>
								<</if>>
							<</if>>
						<</if>>
						<<if _lustyFix != 1>>
							<<if $slaves[_j].assignment != $slaves[$i].assignment>>
								<<if $slaves[$i].subTarget != $slaves[_j].ID>>
									<<if $slaves[_j].subTarget != $slaves[$i].ID>>
										With time apart $slaves[$i].slaveName and <<= SlaveFullName($slaves[_j])>> @@.lightgreen;dislike each other less.@@
										<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1, _lightenedRivalry = 1>>
									<</if>>
								<</if>>
							<</if>>
						<</if>>
					<</if>>
				<</if>>
			<</if>>
		<</if>>
	<</if>>
	<<if $familyTesting>>
		<<if $slaves[$i].mother == $slaves[_j].ID || $slaves[$i].father == $slaves[_j].ID || $slaves[_j].mother == $slaves[$i].ID || $slaves[_j].father == $slaves[$i].ID || areSisters($slaves[$i], $slaves[_j])>>
			<<if _roll > 70 && $slaves[$i].rivalry < 3 && _lightenedRivalry != 1>>
				$slaves[$i].slaveName and <<= SlaveFullName($slaves[_j])>> @@.lightsalmon;pursue their family rivalry.@@
				<<set $slaves[_j].rivalry += 1, $slaves[$i].rivalry += 1>>
			<<elseif _roll > 40 && $slaves[$i].rivalry > 0 && _worsenedRivalry != 1>>
				$slaves[$i].slaveName and <<= SlaveFullName($slaves[_j])>> @@.lightgreen;patch up their family relationship.@@
				<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1, _lightenedRivalry = 1>>
			<</if>>
		<</if>>
	<<else>>
		<<if $slaves[$i].relation && $slaves[$i].relationTarget == $slaves[$i].rivalryTarget>>
			<<if _roll > 70 && $slaves[$i].rivalry < 3 && _lightenedRivalry != 1>>
				$slaves[$i].slaveName and <<= SlaveFullName($slaves[_j])>> @@.lightsalmon;pursue their family rivalry.@@
				<<set $slaves[_j].rivalry += 1, $slaves[$i].rivalry += 1>>
			<<elseif _roll > 40 && $slaves[$i].rivalry > 0 && _worsenedRivalry != 1>>
				$slaves[$i].slaveName and <<= SlaveFullName($slaves[_j])>> @@.lightgreen;patch up their family relationship.@@
				<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1, _lightenedRivalry = 1>>
			<</if>>
		<</if>>
	<</if>>
	<<if $slaves[_j].origBodyOwnerID == $slaves[$i].ID && _lightenedRivalry != 1>>
		<<if $slaves[$i].rivalry < 3>>
			$slaves[$i].slaveName @@.lightsalmon;refuses to accept <<= SlaveFullName($slaves[_j])>>'s control of $his former body,@@ worsening their rivalry.
			<<set $slaves[_j].rivalry += 1, $slaves[$i].rivalry += 1>>
		<</if>>
	<<elseif _roll > $slaves[$i].devotion-$slaves[$i].trust+10 && _lightenedRivalry != 1>>
		<<if $slaves[$i].rivalry < 3>>
			$slaves[$i].slaveName @@.lightsalmon;bickers with <<= SlaveFullName($slaves[_j])>>@@ whenever $he can, worsening their rivalry.
			<<set $slaves[_j].rivalry += 1, $slaves[$i].rivalry += 1>>
		<</if>>
	<<elseif _roll < $slaves[$i].devotion-$slaves[$i].trust-10 && $slaves[$i].rivalry > 0 && _worsenedRivalry != 1>>
		$slaves[$i].slaveName does $his best to be nice to <<= SlaveFullName($slaves[_j])>>, and manages to @@.lightgreen;de-escalate their little feud.@@
		<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1>>
	<</if>>
<<else>>
	@@.red;Error, rivalryTarget not found.@@
<</if>>

<</if>>

<<if $slaves[$i].rivalry>>
	<<set _j = $slaveIndices[$slaves[$i].rivalryTarget]>>
	<<if def _j && ($slaves[$i].ID != $slaves[_j].rivalryTarget)>>
		<<set $slaves[_j].rivalry = 0, $slaves[_j].rivalryTarget = 0>>
		<<set $slaves[$i].rivalry = 0, $slaves[$i].rivalryTarget = 0>>
	<</if>>
<</if>>

repo_name: AnonDev/fc