code:
:: saRulesWidgets [nobr widget]

/* needed to manage the obscene code duplication present in the revised saRules.tw */

<<widget "saRulesAttractionDiscovery">>

<<if $slaves[$i].attrXY <= 5>>
	@@.red;disgusted by men@@
<<elseif $slaves[$i].attrXY <= 15>>
	@@.red;turned off by men@@
<<elseif $slaves[$i].attrXY <= 35>>
	@@.red;not attracted to men@@
<<elseif $slaves[$i].attrXY <= 65>>
	indifferent to men
<<elseif $slaves[$i].attrXY <= 85>>
	@@.green;attracted to men@@
<<elseif $slaves[$i].attrXY <= 95>>
	@@.green;aroused by men@@
<<else>>
	@@.green;passionate about men@@
<</if>>
and
<<if $slaves[$i].attrXX <= 5>>
	@@.red;disgusted by women.@@
<<elseif $slaves[$i].attrXX <= 15>>
	@@.red;turned off by women.@@
<<elseif $slaves[$i].attrXX <= 35>>
	@@.red;not attracted to women.@@
<<elseif $slaves[$i].attrXX <= 65>>
	indifferent to women.
<<elseif $slaves[$i].attrXX <= 85>>
	@@.green;attracted to women.@@
<<elseif $slaves[$i].attrXX <= 95>>
	@@.green;aroused by women.@@
<<else>>
	@@.green;passionate about women.@@
<</if>>

<</widget>>

<<widget "saRulesPlayerFetishPlay">>

					<<if ($slaves[$i].fetishKnown == 1) && ($slaves[$i].fetishStrength > 60)>>
						<<switch $slaves[$i].fetish>>
						<<case "submissive">>
							hold her down and fuck her
						<<case "cumslut">>
							<<if $PC.dick == 1>>
								cum in her mouth
							<<else>>
								use your strap-on on her mouth
							<</if>>
						<<case "humiliation">>
							use her in public
						<<case "buttslut">>
							fuck her butt
						<<case "boobs">>
							fondle her breasts
						<<case "sadist">>
							let her help you abuse other slaves
						<<case "masochist">>
							hurt her
						<<case "dom">>
							let her help you use other slaves
						<<case "pregnancy">>
							<<if isFertile($slaves[$i]) && $PC.dick == 1>>
								put a baby in her
							<<elseif $slaves[$i].bellyPreg >= 1500 || $slaves[$i].bellyImplant >= 1500>>
								enjoy her fecund curves
							<<else>>
								breed her
							<</if>>
						<<default>>
							fuck her
						<</switch>>
					<<else>>
						fuck her
					<</if>>

<</widget>>

<<widget "saRulesPlayerEnergy">>

						<<if $freeSexualEnergy > 0>>
							<<if $freeSexualEnergy == 3>>
								You have surplus sexual energy to burn, even when she doesn't ask, and she
								<<if $slaves[$i].devotion <= 20>>
									@@.hotpink;hates herself@@ for how often she gets off on you relieving your needs with her body.
								<<else>>
									@@.hotpink;gets used to being a sex slave@@ every time she climaxes as you use her.
								<</if>>
								<<set $slaves[$i].devotion += 2, $slaves[$i].need = 0>>
								<<SimpleSexAct $slaves[$i] 10>>
							<<elseif $freeSexualEnergy == 2>>
								You have surplus sexual energy to fuck her whenever she forces herself to ask, and she is @@.hotpink;sexually dependent@@ on you.
								<<set $slaves[$i].devotion += 1, $slaves[$i].need -= 40>>
								<<SimpleSexAct $slaves[$i] 5>>
							<<else>>
								You have little surplus sexual energy, and occasionally, she asks in vain.
								<<set $slaves[$i].need -= 20>>
								<<SimpleSexAct $slaves[$i] 2>>
							<</if>>
						<<else>>
							You have no surplus sexual energy, and she asks in vain, @@.gold;reducing her trust@@ in you.
							<<set $slaves[$i].trust -= 1>>
						<</if>>

<</widget>>

<<widget "saRulesPlayerDiscoversFetish">>

					<<if $slaves[$i].fetishKnown == 0>>
						<<if $freeSexualEnergy > 0>>
							<<if $freeSexualEnergy > random(0,5)>>
								<<set $slaves[$i].fetishKnown = 1>>
								You discover that she really likes it when you
								<<switch $slaves[$i].fetish>>
								<<case "submissive">>
									hold her down and fuck her; @@.lightcoral;she's a submissive!@@
								<<case "cumslut">>
									<<if $PC.dick == 1>>
										cum in her mouth; @@.lightcoral;she's a cumslut!@@
									<<else>>
										use your strap-on in her mouth; @@.lightcoral;she's a cumslut!@@
									<</if>>
								<<case "humiliation">>
									use her in public; @@.lightcoral;she's a humiliation fetishist!@@
								<<case "buttslut">>
									<<if canDoAnal($slaves[$i])>>fuck her butt<<else>>tease her anus<</if>>; @@.lightcoral;she's an anal slut!@@
								<<case "boobs">>
									fondle her breasts; @@.lightcoral;she's a boob fetishist!@@
								<<case "sadist">>
									let her help you abuse other slaves; @@.lightcoral;she's a sadist!@@
								<<case "masochist">>
									hurt her; @@.lightcoral;she's a masochist!@@
								<<case "dom">>
									let her help you use other slaves; @@.lightcoral;she's dominant!@@
								<<case "pregnancy">>
									<<if $PC.dick == 1>>
										<<if $slaves[$i].mpreg == 0>>
											come <<if canDoVaginal($slaves[$i])>>inside<<else>>on<</if>> her; @@.lightcoral;she's a pregnancy fetishist!@@
										<<else>>
											come <<if canDoAnal($slaves[$i])>>inside<<else>>on<</if>> her; @@.lightcoral;she's a pregnancy fetishist!@@
										<</if>>
									<<else>>
										talk dirty and call her a mother; @@.lightcoral;she's a pregnancy fetishist!@@
									<</if>>
								<<default>>
									fuck her; @@.lightcoral;she's got a normal sexuality.@@
								<</switch>>
							<</if>>
						<</if>>
					<</if>> /* closes fetish discovery */

<</widget>>

<<widget "saRulesPlayerDrugEffects">>

					<<if $slaves[$i].balls > 0>>
						<<if ($slaves[$i].drugs == "testicle enhancement" || $slaves[$i].drugs == "intensive testicle enhancement")>>
							<<if ($slaves[$i].devotion > 20) || ($slaves[$i].trust < -20)>>
								<<if $slaves[$i].hormoneBalance >= 100>>
									She can't seem to get enough cum out of her terribly swollen balls in one orgasm to relieve the pressure:
									<<if $slaves[$i].dick>>
										her poor soft dick produces slow, anemic ejaculations, no matter how backed up she is.
									<<else>>
										her cumhole produces slow, anemic ejaculations, no matter how backed up she is.
									<</if>>
									This forces her to come to you for release many times a day, and she @@.mediumaquamarine;is desperately reliant@@
									<<if $slaves[$i].anus > 0 && canDoAnal($slaves[$i]) && $freeSexualEnergy > 0>>
										on your <<if $PC.dick == 0>>strap-on<<else>>penis<</if>> inside her ass as a source of relief.
									<<else>>
										on you for relief.
									<</if>>
									<<set $slaves[$i].trust += 2>>
								<<else>>
									Her terribly swollen balls force her to come to you for release several times a day, and she @@.mediumaquamarine;learns to rely@@
									<<if $slaves[$i].anus > 0 && canDoAnal($slaves[$i]) && $freeSexualEnergy > 0>>
										on your <<if $PC.dick == 0>>strap-on<<else>>penis<</if>> inside her ass as a source of relief.
									<<else>>
										on you for relief.
									<</if>>
									<<set $slaves[$i].trust += 1>>
								<</if>>
							<<else>>
								She refuses to come to you for help with her terribly swollen balls, no matter how backed up she becomes. The intense blueballing only @@.mediumorchid;makes her dislike you more.@@
								<<set $slaves[$i].devotion -= 1>>
							<</if>>
						<<elseif $slaves[$i].drugs == "hyper testicle enhancement">>
							<<if ($slaves[$i].devotion > 20) || ($slaves[$i].trust < -20)>>
								<<if $slaves[$i].hormonebalance >= 100>>
									She can't seem to get enough cum out of her grotesquely swollen balls in one orgasm to get relieve the pressure:
									<<if $slaves[$i].dick>>
										her poor soft dick produces slow, anemic ejaculations, no matter how backed up she is.
									<<else>>
										her cumhole produces slow, anemic ejaculations, no matter how backed up she is.
									<</if>>
									This forces her to come to you for release many times a day, and she @@.mediumaquamarine;is desperately reliant@@
									<<if $slaves[$i].anus > 0 && canDoAnal($slaves[$i]) && $freeSexualEnergy > 0>>
										on your <<if $PC.dick == 0>>strap-on<<else>>penis<</if>> inside her ass as a source of relief.
									<<else>>
										on you for relief.
									<</if>>
									<<set $slaves[$i].trust += 2>>
								<<else>>
									Her grotesquely swollen balls force her to come to you for release dozens of times a day, and she @@.mediumaquamarine;is desperately reliant@@
									<<if $slaves[$i].anus > 0 && canDoAnal($slaves[$i]) && $freeSexualEnergy > 0>>
										on your <<if $PC.dick == 0>>strap-on<<else>>penis<</if>> inside her ass as a source of relief.
									<<else>>
										on you for relief.
									<</if>>
									<<set $slaves[$i].trust += 1>>
								<</if>>
							<<else>>
								She refuses to come to you for help with her grotesquely swollen balls, no matter how backed up and sore she becomes. The intense blueballing only @@.mediumorchid;makes her hate you more.@@
								<<set $slaves[$i].devotion -= 3>>
							<</if>>
						<</if>>
					<</if>> /* close overactive balls block */
					<<if $slaves[$i].drugs == "super fertility drugs" && canGetPregnant($slaves[$i]) && $slaves[$i].eggType == "human" && $PC.dick == 1>>
						<<if ($slaves[$i].devotion > 20) || ($slaves[$i].trust < -20)>>
							Her reproductive system is in overdrive leading her to come to you for insemination several times a day; she @@.mediumaquamarine;desperately hopes@@ for the day your seed takes root in her womb.
							<<set $slaves[$i].trust += 1>>
						<</if>>
					<</if>>

<</widget>>

<<widget "saRulesMasturbationFetishPlay">>
						<<if ($slaves[$i].fetishKnown == 1) && ($slaves[$i].fetishStrength > 60)>>
							<<if ($slaves[$i].fetish == "submissive")>>
								frequently pretends to be getting held down and dominated.
							<<elseif ($slaves[$i].fetish == "cumslut")>>
								<<if $slaves[$i].dick > 5>>
									enjoys giving herself head.
								<<elseif $slaves[$i].dick > 0>>
									enjoys licking up her own cum.
								<<else>>
									always has a dildo in her mouth.
								<</if>>
							<<elseif ($slaves[$i].fetish == "humiliation")>>
								usually does it out in the open for all to see.
							<<elseif ($slaves[$i].fetish == "buttslut")>>
								<<if ($slaves[$i].anus > 0)>>
									usually pounds her ass with the largest dildo she can find.
								<<else>>
									enjoys fiddling with her virgin asshole.
								<</if>>
							<<elseif ($slaves[$i].fetish == "boobs")>>
								pays extra attention to her breasts and nipples.
							<<elseif ($slaves[$i].fetish == "sadist")>>
								frequently poses threats at herself.
							<<elseif ($slaves[$i].fetish == "masochist")>>
								frequently pretends to be getting held down and forcibly raped.
							<<elseif ($slaves[$i].fetish == "dom")>>
								usually pretends to dominate herself.
							<<elseif ($slaves[$i].fetish == "pregnancy")>>
								<<if $slaves[$i].belly > 1500>>
									<<set _belly = bellyAdjective($activeSlave)>>
									always rubs and teases her _belly belly while doing so.
								<<elseif isItemAccessible("a small empathy belly")>>
									frequently straps on a fake belly to enhance her fun.
								<<else>>
									frequently pretends to be
									<<if $activeSlave.balls > 0>>
										getting a girl pregnant.
									<<else>>
										getting knocked up.
									<</if>>
								<</if>>
							<<elseif ($slaves[$i].energy > 95)>>
								strives to achieve as many orgasms as she can in one session.
							<<else>>
								quickly gets off and moves on.
							<</if>>
						<<elseif ($slaves[$i].energy > 95)>>
							strives to achieve as many orgasms as she can in one session.
						<<else>>
							quickly gets off and moves on.
						<</if>> /* closes ($slaves[$i].fetishKnown == 1) && ($slaves[$i].fetishStrength > 60) */

<</widget>>

<<widget "saRulesMasturbationDiscoversFetish">>

						<<if ($slaves[$i].fetishKnown == 0) && (random(1,20) == 1)>>
							<<set $slaves[$i].fetishKnown = 1>>
							However, you start to notice a trend in her fantasies,
							<<if ($slaves[$i].fetish == "submissive")>>
								she likes to tie herself up and boss herself around; @@.lightcoral;she's a submissive!@@
							<<elseif ($slaves[$i].fetish == "cumslut")>>
								<<if $slaves[$i].dick > 0>>
									she often eats her own cum when she's finished; @@.lightcoral;she's a cumslut!@@
								<<else>>
									she likes to have something, anything, in her mouth while she masturbates; @@.lightcoral;she's a cumslut!@@
								<</if>>
							<<elseif ($slaves[$i].fetish == "humiliation")>>
								she tends to masturbate in places where others can walk in on her; @@.lightcoral;she's a humiliation fetishist!@@
							<<elseif ($slaves[$i].fetish == "buttslut")>>
								she always pays special attention to her butthole; @@.lightcoral;she's an anal slut!@@
							<<elseif ($slaves[$i].fetish == "boobs")>>
								she always has a hand to her nipples; @@.lightcoral;she's a boob fetishist!@@
							<<elseif ($slaves[$i].fetish == "sadist")>>
								she tends to threaten her toys; @@.lightcoral;she's a sadist!@@
							<<elseif ($slaves[$i].fetish == "masochist")>>
								she often to abuses herself; @@.lightcoral;she's a masochist!@@
							<<elseif ($slaves[$i].fetish == "dom")>>
								she sometimes bosses her toys around; @@.lightcoral;she's dominant!@@
							<<elseif ($slaves[$i].fetish == "pregnancy")>>
								she frequently pretends to either get pregnant, be pregnant, or get someone else pregnant; @@.lightcoral;she's a pregnancy fetishist!@@
							<<elseif ($slaves[$i].energy > 95)>>
								she's always horny; @@.lightcoral;she's a nympho!@@
							<<else>>
								@@.lightcoral;they are incredibly mundane.@@
							<</if>>
						<</if>>

<</widget>>

<<widget "saRulesMasturbationDrugEffects">>

					<<if $slaves[$i].balls > 0>>
						<<if $slaves[$i].drugs == "testicle enhancement" || $slaves[$i].drugs == "intensive testicle enhancement">>
							<<if $slaves[$i].hormonebalance >= 100>>
								She can't seem to get enough cum out of her terribly swollen balls in one orgasm to get relieve the pressure:
								<<if $slaves[$i].dick>>
										her poor soft dick produces slow, anemic ejaculations, no matter how backed up she is.
									<<else>>
										her cumhole produces slow, anemic ejaculations, no matter how backed up she is.
									<</if>>
								She masturbates as often as she can, but @@.mediumorchid;can't find relief.@@
								<<set $slaves[$i].devotion-->>
							<<else>>
								Her terribly swollen balls force her to masturbate several times a day, cultivating a need for sex that @@.mediumorchid;she can't fulfill.@@
								<<set $slaves[$i].devotion -= 1>>
							<</if>>
						<<elseif $slaves[$i].drugs == "hyper testicle enhancement">>
							<<if $slaves[$i].hormonebalance >= 100>>
								She can't seem to get enough cum out of her grotesquely swollen balls in one orgasm to get relieve the pressure:
								<<if $slaves[$i].dick>>
										her poor soft dick produces slow, anemic ejaculations, no matter how backed up she is.
									<<else>>
										her cumhole produces slow, anemic ejaculations, no matter how backed up she is.
									<</if>>
								She masturbates non-stop, but @@.mediumorchid;can't find relief.@@
								<<set $slaves[$i].devotion -= 3>>
							<<else>>
								Her grotesquely swollen balls force her to masturbate constantly, cultivating a need for sex that @@.mediumorchid;she can't fulfill.@@
								<<set $slaves[$i].devotion -= 1>>
							<</if>>
							<<if $slaves[$i].energy > 40>>
								The constant orgasms steadily lose their impact, @@.red;weakening her sex drive.@@
								<<set $slaves[$i].energy -= 2>>
							<</if>>
						<</if>>
					<</if>>
					<<if $slaves[$i].drugs == "super fertility drugs" && canGetPregnant($slaves[$i])>>
						Her reproductive system is in overdrive,
						<<if $slaves[$i].dick > 9>>
							leaving her @@.mediumorchid;desperately fucking herself@@ in an effort to get pregnant since @@.gold;you won't <<if $PC.dick == 1>>give her<<else>>let her find<</if>> the dick she needs.@@
							<<if canImpregnate($slaves[$i], $slaves[$i])>>
								<<KnockMeUp $slaves[$i] 5 2 $slaves[$i].ID 1>>
							<</if>>
							<<if $slaves[$i].mpreg == 1 && $slaves[$i].anus == 0>>
								@@.lime;She is so baby crazed she takes her own anal virginity.@@
								<<set $slaves[$i].anus++>>
							<<elseif $slaves[$i].vagina == 0>>
								@@.lime;She is so baby crazed she takes her own virginity.@@
								<<set $slaves[$i].vagina++>>
							<</if>>
							<<set $slaves[$i].devotion -= 3, $slaves[$i].trust -= 2>>
						<<elseif ($slaves[$i].devotion > -20)>>
							leaving her @@.mediumorchid;completely unfulfilled@@ since @@.gold;you won't <<if $PC.dick == 1>>give her<<else>>let her find<</if>> the dick she needs.@@
							<<set $slaves[$i].devotion -= 3, $slaves[$i].trust -= 2>>
						<<else>>
							leaving her desperate for a thorough seeding @@.mediumorchid;that you've forbidden her from having.@@
							<<set $slaves[$i].devotion -= 3>>
						<</if>>
					<</if>>
					<<if $slaves[$i].energy > 60>>
						Her chronic masturbation @@.red;steadily dulls@@ her sexual pleasure.
						<<set $slaves[$i].energy-->>
					<</if>>

<</widget>>

<<widget "saRulesRapeFetish">>

							<<if ($slaves[$i].fetishKnown == 1) && ($slaves[$i].fetishStrength > 60)>>
								<<if ($slaves[$i].fetish == "submissive")>>
									plead that other slaves fuck her.
									<<if $averageDick > 4>>
										<<if $slaves[$i].anus > 0 && $slaves[$i].anus < 3 && canDoAnal($slaves[$i])>>
											<<if ($slaves[$i].anus*40)-($averageDick*5) < random(1,100)>>
												@@.lime;Her asshole is loosened@@ during sex with other slaves, since most of the cocks she enticed a dominating buttfuck from are very large.
												<<set $slaves[$i].anus++>>
												<<set $slaves[$i].analCount += 3, $analTotal += 3>>
											<</if>>
										<</if>>
											<<if $averageDick > 5>>
											<<if $slaves[$i].vagina > 0 && $slaves[$i].vagina < 3 && canDoVaginal($slaves[$i])>>
												<<if ($slaves[$i].vagina*40)-($averageDick*5) < random(1,100)>>
													Since most of the slaves she enticed a pounding from are extremely hung, @@.lime;her cunt gets stretched out.@@
													<<set $slaves[$i].vagina++>>
													<<set $slaves[$i].vaginalCount += 3, $vaginalTotal += 3>>
												<</if>>
											<</if>>
										<</if>>
									<</if>>
									<<SimpleSlaveFucking $slaves[$i] 7>>
								<<elseif ($slaves[$i].fetish == "cumslut")>>
									suck or be sucked by any slave she fancies.
									<<set _fuckCount = random(5,15)>>
									<<set $slaves[$i].oralCount += _fuckCount, $oralTotal += _fuckCount>>
								<<elseif ($slaves[$i].fetish == "humiliation")>>
									demand that other slaves let her fuck them in public.
									<<if $slaves[$i].assignmentVisible>>
									<<if !$slaves[$i].rivalry>>
										<<SlaveSort $RapeableIDs>>
										<<for _dI = 0; _dI < $RapeableIDs.length; _dI++>>
											<<set _j = $slaveIndices[$RapeableIDs[_dI]]>>
											<<if !$slaves[_j].rivalry>>
											<<if $slaves[_j].assignmentVisible || $slaves[_j].assignment == $slaves[$i].assignment>>
											<<if $slaves[_j].devotion < 20>>
											<<if $slaves[_j].trust < -20>>
												Craving a rush, she repeatedly forces a reluctant <<SlaveFullName $slaves[_j]>> to have sex with her in public. $slaves[_j].slaveName resents this, and $slaves[$i].slaveName's ongoing sexual abuse @@.lightsalmon;starts a rivalry@@ between them.
												<<set $slaves[$i].rivalry = 1, $slaves[_j].rivalry = 1, $slaves[$i].rivalryTarget = $slaves[_j].ID, $slaves[_j].rivalryTarget = $slaves[$i].ID>>
												<<SimpleSlaveFucking $slaves[_j] 4>>
												<<if canPenetrate($slaves[_j])>>
													<<set _fuckCount = random(1,3)>>
													<<set $slaves[_j].penetrativeCount += _fuckCount, $penetrativeTotal += _fuckCount>>
												<</if>>
												<<break>>
											<</if>>
											<</if>>
											<</if>>
											<</if>>
										<</for>>
									<</if>>
									<</if>>
									<<SimpleSlaveFucking $slaves[$i] 4>>
									<<if canPenetrate($slaves[$i])>>
										<<set _fuckCount = random(1,3)>>
										<<set $slaves[$i].penetrativeCount += _fuckCount, $penetrativeTotal += _fuckCount>>
									<</if>>
								<<elseif ($slaves[$i].fetish == "buttslut") && canDoAnal($slaves[$i])>>
									demand that other slaves penetrate her anus.
									<<if $averageDick > 4>>
										<<if $slaves[$i].anus > 0 && $slaves[$i].anus < 3 && canDoAnal($slaves[$i])>>
											<<if ($slaves[$i].anus*30)-($averageDick*5) < random(1,100)>>
												Since most of the slaves she demands anal sex from are extremely hung, @@.lime;her asshole gets stretched out.@@
												<<set $slaves[$i].anus += 1>>
											<</if>>
										<</if>>
									<</if>>
									<<set _fuckCount = random(5,12)>>
									<<set $slaves[$i].analCount += _fuckCount, $analTotal += _fuckCount>>
								<<elseif ($slaves[$i].fetish == "boobs")>>
									demand that other slaves massage her breasts.
									<<set _fuckCount = random(10,25)>>
									<<set $slaves[$i].mammaryCount += _fuckCount, $mammaryTotal += _fuckCount>>
								<<elseif ($slaves[$i].fetish == "sadist")>>
									force the most reluctant slaves to let her fuck them.
									<<if $slaves[$i].assignmentVisible>>
									<<if !$slaves[$i].rivalry>>
										<<SlaveSort $RapeableIDs>>
										<<for _dI = 0; _dI < $RapeableIDs.length; _dI++>>
											<<set _j = $slaveIndices[$RapeableIDs[_dI]]>>
											<<if !$slaves[_j].rivalry>>
											<<if $slaves[_j].assignmentVisible || $slaves[_j].assignment == $slaves[$i].assignment>>
											<<if $slaves[_j].devotion <= 50>>
											<<if $slaves[_j].sexualFlaw != "none">>
												She focuses on <<SlaveFullName $slaves[_j]>>, who has a sexual flaw $slaves[$i].slaveName can exploit. She sadistically
												<<if $slaves[_j].sexualFlaw == "hates oral">>
													rapes the poor slave's face<<if !canAchieveErection($slaves[$i])>> with her fingers<</if>>. $slaves[_j].slaveName hates oral
												<<elseif $slaves[_j].sexualFlaw == "hates penetration" && canDoVaginal($slaves[_j])>>
													rapes the poor slave's pussy<<if !canAchieveErection($slaves[$i])>> with her fingers<</if>>. $slaves[_j].slaveName hates penetration
												<<elseif ($slaves[_j].sexualFlaw == "hates anal" || $slaves[_j].sexualFlaw == "hates penetration") && canDoAnal($slaves[_j])>>
													rapes the poor slave's ass<<if !canAchieveErection($slaves[$i])>> with her fingers<</if>>. $slaves[_j].slaveName hates anal
												<<elseif $slaves[_j].sexualFlaw == "shamefast">>
													rapes the poor slave in public. $slaves[_j].slaveName is terribly shamefast
												<<elseif $slaves[_j].sexualFlaw == "idealistic">>
													rapes the poor slave every time she catches her being romantic. $slaves[_j].slaveName is still idealistic
												<<else>>
													rapes the poor slave every chance she gets,
												<</if>>
												and the sexual abuse @@.lightsalmon;starts a rivalry@@ between them.
												<<set $slaves[$i].rivalry = 1, $slaves[_j].rivalry = 1, $slaves[$i].rivalryTarget = $slaves[_j].ID, $slaves[_j].rivalryTarget = $slaves[$i].ID>>
												<<break>>
												<<SimpleSlaveFucking $slaves[_j] 4>>
												<<if canPenetrate($slaves[_j])>>
													<<set _fuckCount = random(1,3)>>
													<<set $slaves[_j].penetrativeCount += _fuckCount, $penetrativeTotal += _fuckCount>>
												<</if>>
											<</if>>
											<</if>>
											<</if>>
											<</if>>
										<</for>>
									<</if>>
									<</if>>
									<<SimpleSlaveFucking $slaves[$i] 4>>
									<<if canPenetrate($slaves[$i])>>
										<<set _fuckCount = random(1,3)>>
										<<set $slaves[$i].penetrativeCount += _fuckCount, $penetrativeTotal += _fuckCount>>
									<</if>>
								<<elseif ($slaves[$i].fetish == "masochist")>>
									demand that other slaves hurt her.
									<<if $averageDick > 4>>
										<<if $slaves[$i].anus > 0 && $slaves[$i].anus < 3 && canDoAnal($slaves[$i])>>
											<<if ($slaves[$i].anus*30)-($averageDick*5) < random(1,100)>>
												@@.lime;Her asshole is loosened@@ during sex with hung slaves, since she often relies on painal to address her needs.
												<<set $slaves[$i].anus += 1>>
												<<set $slaves[$i].analCount += 3, $analTotal += 3>>
											<</if>>
										<</if>>
										<<if $averageDick > 5>>
											<<if $slaves[$i].vagina > 0 && $slaves[$i].vagina < 3 && canDoVaginal($slaves[$i])>>
												<<if ($slaves[$i].vagina*30)-($averageDick*5) < random(1,100)>>
													Since she usually demands that hung slaves fuck her hard enough to make her pussy hurt, @@.lime;her cunt gets stretched out.@@
													<<set $slaves[$i].vagina += 1>>
													<<set $slaves[$i].vaginalCount += 3, $vaginalTotal += 3>>
												<</if>>
											<</if>>
										<</if>>
									<</if>>
									<<SimpleSlaveFucking $slaves[$i] 12>>
								<<elseif ($slaves[$i].fetish == "dom")>>
									force other slaves to submit to her.
									<<if $slaves[$i].assignmentVisible>>
									<<if !$slaves[$i].rivalry>>
										<<SlaveSort $RapeableIDs>>
										<<for _dI = 0; _dI < $RapeableIDs.length; _dI++>>
											<<set _j = $slaveIndices[$RapeableIDs[_dI]]>>
											<<if !$slaves[_j].rivalry>>
											<<if $slaves[_j].assignmentVisible || $slaves[_j].assignment == $slaves[$i].assignment>>
											<<if $slaves[_j].devotion < 20>>
											<<if $slaves[_j].trust < -20>>
												She repeatedly rapes a reluctant <<SlaveFullName $slaves[_j]>>; she can't seem to keep her hands off the poor slave, who can't avoid her. Not surprisingly, $slaves[_j].slaveName resents this, and $slaves[$i].slaveName's ongoing sexual abuse @@.lightsalmon;starts a rivalry@@ between them.
												<<set $slaves[$i].rivalry = 1, $slaves[_j].rivalry = 1, $slaves[$i].rivalryTarget = $slaves[_j].ID, $slaves[_j].rivalryTarget = $slaves[$i].ID>>
												<<break>>
												<<SimpleSlaveFucking $slaves[_j] 4>>
											<</if>>
											<</if>>
											<</if>>
											<</if>>
										<</for>>
									<</if>>
									<</if>>
									<<SimpleSlaveFucking $slaves[$i] 7>>
									<<if canPenetrate($slaves[$i])>>
										<<set _fuckCount = random(6,9)>>
										<<set $slaves[$i].penetrativeCount += _fuckCount, $penetrativeTotal += _fuckCount>>
									<</if>>
								<<elseif ($slaves[$i].fetish == "pregnancy")>>
									demand that other slaves indulge her pregnancy fetish.
									<<if $averageDick > 5>>
										<<if $slaves[$i].mpreg == 0>>
											<<if $slaves[$i].vagina > 0 && $slaves[$i].vagina < 3 && canDoVaginal($slaves[$i])>>
											<<if ($slaves[$i].vagina*40)-($averageDick*5) < random(1,100)>>
												Since she constantly demands to be fucked deeply to get her womb filled with cum, @@.lime;her cunt gets stretched out.@@
												<<set $slaves[$i].vagina += 1>>
												<<set _fuckCount = random(7,14)>>
												<<set $slaves[$i].vaginalCount += _fuckCount, $vaginalTotal += _fuckCount>>
											<</if>>
											<</if>>
										<<else>>
											<<if $slaves[$i].anus > 0 && $slaves[$i].anus < 3 && canDoAnal($slaves[$i])>>
											<<if ($slaves[$i].anus*40)-($averageDick*5) < random(1,100)>>
												Since she constantly demands to be fucked deeply to get her womb filled with cum, @@.lime;her ass gets stretched out.@@
												<<set $slaves[$i].anus += 1>>
												<<set _fuckCount = random(7,14)>>
												<<set $slaves[$i].analCount += _fuckCount, $analTotal += _fuckCount>>
											<</if>>
											<</if>>
										<</if>>
									<</if>>
									<<if canPenetrate($slaves[$i])>>
										<<set _fuckCount = random(6,9)>>
										<<set $slaves[$i].penetrativeCount += _fuckCount, $penetrativeTotal += _fuckCount>>
									<</if>>
								<<elseif ($slaves[$i].energy > 95)>>
									demand that your other slaves satisfy her formidable appetites.
									<<if $averageDick > 4>>
										<<if $slaves[$i].anus > 0 && $slaves[$i].anus < 3 && canDoAnal($slaves[$i])>>
											<<if ($slaves[$i].anus*30)-($averageDick*5) < random(1,100)>>
												@@.lime;Her asshole is loosened@@ during sex with well endowed slaves, since she's so addicted to sex all her holes see heavy traffic.
												<<set $slaves[$i].anus += 1>>
												<<set $slaves[$i].analCount += 3, $analTotal += 3>>
											<</if>>
										<</if>>
										<<if $averageDick > 5>>
											<<if $slaves[$i].vagina > 0 && $slaves[$i].vagina < 3 && canDoVaginal($slaves[$i])>>
												<<if ($slaves[$i].vagina*30)-($averageDick*5) < random(1,100)>>
													She indulges in non-stop sex with your well endowed slaves, so much so that @@.lime;her cunt gets stretched out.@@
													<<set $slaves[$i].vagina += 1>>
													<<set $slaves[$i].vaginalCount += 3, $vaginalTotal += 3>>
												<</if>>
											<</if>>
										<</if>>
									<</if>>
									<<SimpleSlaveFucking $slaves[$i] 7>>
									<<if canPenetrate($slaves[$i])>>
										<<set _fuckCount = random(3,6)>>
										<<set $slaves[$i].penetrativeCount += _fuckCount, $penetrativeTotal += _fuckCount>>
									<</if>>
								<<else>>
									demand that other slaves have sex with her.
									<<SimpleSlaveFucking $slaves[$i] 7>>
									<<if canPenetrate($slaves[$i])>>
										<<set _fuckCount = random(3,6)>>
										<<set $slaves[$i].penetrativeCount += _fuckCount, $penetrativeTotal += _fuckCount>>
									<</if>>
								<</if>>
							<<else>>
								demand that other slaves have sex with her.
								<<SimpleSlaveFucking $slaves[$i] 7>>
								<<if canPenetrate($slaves[$i])>>
									<<set _fuckCount = random(3,6)>>
									<<set $slaves[$i].penetrativeCount += _fuckCount, $penetrativeTotal += _fuckCount>>
								<</if>>
							<</if>> /* closes ($slaves[$i].fetishKnown == 1) && ($slaves[$i].fetishStrength > 60) */

<</widget>>

<<widget "saRulesConsentFetish">>

							<<if ($slaves[$i].fetishKnown == 1) && ($slaves[$i].fetishStrength > 60)>>
								<<if ($slaves[$i].fetish == "submissive")>>
									usually pairing off with a more dominant slave.
									<<if $averageDick > 4>>
										<<if $slaves[$i].anus > 0 && $slaves[$i].anus < 3 && canDoAnal($slaves[$i])>>
											<<if ($slaves[$i].anus*40)-($averageDick*5) < random(1,100)>>
												@@.lime;Her asshole is loosened@@ during sex with other slaves, since most of the cocks she lets dominate her backdoor are very large.
												<<set $slaves[$i].anus += 1>>
												<<set $slaves[$i].analCount += 3, $analTotal += 3>>
											<</if>>
										<</if>>
										<<if $averageDick > 5>>
											<<if $slaves[$i].vagina > 0 && $slaves[$i].vagina < 3 && canDoVaginal($slaves[$i])>>
												<<if ($slaves[$i].vagina*40)-($averageDick*5) < random(1,100)>>
													Since most of the slaves she takes a pounding from are extremely hung, @@.lime;her cunt gets stretched out.@@
													<<set $slaves[$i].vagina += 1>>
													<<set $slaves[$i].vaginalCount += 3, $vaginalTotal += 3>>
												<</if>>
											<</if>>
										<</if>>
									<</if>>
									<<SimpleSlaveFucking $slaves[$i] 7>>
								<<elseif ($slaves[$i].fetish == "cumslut")>>
									and is popular for her willingness to give oral.
									<<set _fuckCount = random(5,15)>>
									<<set $slaves[$i].oralCount += _fuckCount, $oralTotal += _fuckCount>>
								<<elseif ($slaves[$i].fetish == "humiliation")>>
									usually asking them to fuck out in the open.
									<<SimpleSlaveFucking $slaves[$i] 7>>
									<<if canPenetrate($slaves[$i])>>
										<<set _fuckCount = random(1,3)>>
										<<set $slaves[$i].penetrativeCount += _fuckCount, $penetrativeTotal += _fuckCount>>
									<</if>>
								<<elseif ($slaves[$i].fetish == "buttslut")>>
									looking after anyone who will
									<<if ($slaves[$i].anus > 0)>>
										<<if canDoAnal($slaves[$i])>>
											penetrate
											<<set _fuckCount = random(5,12)>>
											<<set $slaves[$i].analCount += _fuckCount, $analTotal += _fuckCount>>
										<<else>>
											tease
										<</if>>
										her ass
									<<else>>
										tease her virgin anus
									<</if>>
									in return.
									<<if $averageDick > 4>>
										<<if $slaves[$i].anus > 0 && $slaves[$i].anus < 3 && canDoAnal($slaves[$i])>>
											<<if ($slaves[$i].anus*30)-($averageDick*5) < random(1,100)>>
												Since most of the slaves she enjoys anal sex with are extremely hung, @@.lime;her asshole gets stretched out.@@
												<<set $slaves[$i].anus += 1>>
											<</if>>
										<</if>>
									<</if>>
								<<elseif ($slaves[$i].fetish == "boobs")>>
									seeing to anyone who will show her breasts some love.
									<<set _fuckCount = random(10,25)>>
									<<set $slaves[$i].mammaryCount += _fuckCount, $mammaryTotal += _fuckCount>>
								<<elseif ($slaves[$i].fetish == "sadist")>>
									usually pairing off with a masochistic slave willing to accept her abuse.
									<<SimpleSlaveFucking $slaves[$i] 7>>
									<<if canPenetrate($slaves[$i])>>
										<<set _fuckCount = random(1,3)>>
										<<set $slaves[$i].penetrativeCount += _fuckCount, $penetrativeTotal += _fuckCount>>
									<</if>>
								<<elseif ($slaves[$i].fetish == "masochist")>>
									usually pairing off with an abusive slave.
									<<if $averageDick > 4>>
										<<if $slaves[$i].anus > 0 && $slaves[$i].anus < 3 && canDoAnal($slaves[$i])>>
											<<if ($slaves[$i].anus*30)-($averageDick*5) < random(1,100)>>
												@@.lime;Her asshole is loosened@@, since she begs hung slaves to fuck her butt until she cries.
												<<set $slaves[$i].anus += 1>>
												<<set $slaves[$i].analCount += 3, $analTotal += 3>>
											<</if>>
										<</if>>
										<<if $averageDick > 5>>
											<<if $slaves[$i].vagina > 0 && $slaves[$i].vagina < 3 && canDoVaginal($slaves[$i])>>
												<<if ($slaves[$i].vagina*30)-($averageDick*5) < random(1,100)>>
													Since she eagerly begs hung slaves to fuck her until she cries, @@.lime;her cunt gets stretched out.@@
													<<set $slaves[$i].vagina += 1>>
													<<set $slaves[$i].vaginalCount += 3, $vaginalTotal += 3>>
												<</if>>
											<</if>>
										<</if>>
									<</if>>
									<<SimpleSlaveFucking $slaves[$i] 6>>
								<<elseif ($slaves[$i].fetish == "dom")>>
									usually pairing off with a submissive bitch.
									<<SimpleSlaveFucking $slaves[$i] 6>>
									<<if canPenetrate($slaves[$i])>>
										<<set _fuckCount = random(1,3)>>
										<<set $slaves[$i].penetrativeCount += _fuckCount, $penetrativeTotal += _fuckCount>>
									<</if>>
								<<elseif ($slaves[$i].fetish == "pregnancy")>>
									doing her best to pair off with any pregnant slaves.
									<<if $slaves[$i].mpreg == 0>>
										<<if $averageDick > 5>>
											<<if $slaves[$i].vagina > 0 && $slaves[$i].vagina < 3 && canDoVaginal($slaves[$i])>>
											<<if ($slaves[$i].vagina*40)-($averageDick*5) < random(1,100)>>
												She also takes cock whenever she can, begging to be fucked deeply to get her womb filled with cum, so @@.lime;her cunt gets stretched out.@@
												<<set $slaves[$i].vagina += 1>>
												<<set $slaves[$i].vaginalCount += 3, $vaginalTotal += 3>>
											<</if>>
											<</if>>
										<</if>>
									<<else>>
										<<if $averageDick > 5>>
											<<if $slaves[$i].anus > 0 && $slaves[$i].anus < 3 && canDoAnal($slaves[$i])>>
											<<if ($slaves[$i].anus*40)-($averageDick*5) < random(1,100)>>
												She also takes cock whenever she can, begging to be fucked deeply to get her womb filled with cum, so @@.lime;her ass gets stretched out.@@
												<<set $slaves[$i].anus += 1>>
												<<set $slaves[$i].analCount += 3, $analTotal += 3>>
											<</if>>
											<</if>>
										<</if>>
									<</if>>
									<<SimpleSlaveFucking $slaves[$i] 7>>
									<<if canPenetrate($slaves[$i])>>
										<<set _fuckCount = random(6,9)>>
										<<set $slaves[$i].penetrativeCount += _fuckCount, $penetrativeTotal += _fuckCount>>
									<</if>>
								<<elseif ($slaves[$i].energy > 95)>>
									and has to give out a lot of favors to get enough attention for herself.
									<<if $averageDick > 4>>
										<<if $slaves[$i].anus > 0 && $slaves[$i].anus < 3 && canDoAnal($slaves[$i])>>
											<<if ($slaves[$i].anus*30)-($averageDick*5) < random(1,100)>>
												@@.lime;Her asshole is loosened@@ during sex with well endowed slaves, since she's so addicted to sex all her holes see heavy traffic.
												<<set $slaves[$i].anus += 1>>
												<<set $slaves[$i].analCount += 3, $analTotal += 3>>
											<</if>>
										<</if>>
										<<if $averageDick > 5>>
											<<if $slaves[$i].vagina > 0 && $slaves[$i].vagina < 3 && canDoVaginal($slaves[$i])>>
												<<if ($slaves[$i].vagina*30)-($averageDick*5) < random(1,100)>>
													She indulges in non-stop sex with your well endowed slaves, so much so that @@.lime;her cunt gets stretched out.@@
													<<set $slaves[$i].vagina += 1>>
													<<set $slaves[$i].vaginalCount += 3, $vaginalTotal += 3>>
												<</if>>
											<</if>>
										<</if>>
									<</if>>
									<<SimpleSlaveFucking $slaves[$i] 7>>
									<<if canPenetrate($slaves[$i])>>
										<<set _fuckCount = random(3,6)>>
										<<set $slaves[$i].penetrativeCount += _fuckCount, $penetrativeTotal += _fuckCount>>
									<</if>>
								<<else>>
									doing her best to get off and move on.
									<<SimpleSlaveFucking $slaves[$i] 7>>
									<<if canPenetrate($slaves[$i])>>
										<<set _fuckCount = random(3,6)>>
										<<set $slaves[$i].penetrativeCount += _fuckCount, $penetrativeTotal += _fuckCount>>
									<</if>>
								<</if>>
							<<else>>
								doing her best to get off and move on.
								<<SimpleSlaveFucking $slaves[$i] 7>>
								<<if canPenetrate($slaves[$i])>>
									<<set _fuckCount = random(3,6)>>
									<<set $slaves[$i].penetrativeCount += _fuckCount, $penetrativeTotal += _fuckCount>>
								<</if>>
							<</if>> /* closes ($slaves[$i].fetishKnown == 1) && ($slaves[$i].fetishStrength > 60) */

<</widget>>

<<widget "saRulesConsentDiscoversFetish">>

							<<if ($slaves[$i].fetishKnown == 0)>>
								<<if (random(1,2) == 1)>>
									<<set $slaves[$i].fetishKnown = 1>>
									However, one of her partners
									<<if ($slaves[$i].fetish == "submissive")>>
										holds her down, and she loves it; @@.lightcoral;she's a submissive!@@
									<<elseif ($slaves[$i].fetish == "cumslut")>>
										finally has to push her away to get her to stop sucking; @@.lightcoral;she's a cumslut!@@
									<<elseif ($slaves[$i].fetish == "humiliation")>>
										fucks her in public, and she loves it; @@.lightcoral;she's a humiliation fetishist!@@
									<<elseif ($slaves[$i].fetish == "buttslut")>>
										<<if ($slaves[$i].anus > 0)>>
											<<if canDoAnal($slaves[$i])>>fucks her butt<<else>>teases her anus<</if>>, and she loves it;
										<<else>>
										teases her virgin anus, and she loves it;
										<</if>>
										@@.lightcoral;she's an anal slut!@@
									<<elseif ($slaves[$i].fetish == "boobs")>>
										fondles her breasts, and she loves it; @@.lightcoral;she's a boob fetishist!@@
									<<elseif ($slaves[$i].fetish == "sadist")>>
										asks $slaves[$i].slaveName to hit her, which $slaves[$i].slaveName enjoys doing; @@.lightcoral;she's a sadist!@@
									<<elseif ($slaves[$i].fetish == "masochist")>>
										hits $slaves[$i].slaveName while fucking her, which only makes her hornier; @@.lightcoral;she's a masochist!@@
									<<elseif ($slaves[$i].fetish == "dom")>>
										asks $slaves[$i].slaveName to make her $slaves[$i].slaveName's bitch, which $slaves[$i].slaveName manages like a natural; @@.lightcoral;she's dominant!@@
									<<elseif ($slaves[$i].fetish == "pregnancy")>>
										pretends to get her pregnant, which she really enjoys; @@.lightcoral;she's a pregnancy fetishist!@@
									<<elseif ($slaves[$i].energy > 95)>>
										discovers that she cannot be satisfied; @@.lightcoral;she's a nympho!@@
									<<else>>
										discovers that she isn't terribly exciting; @@.lightcoral;she's got a normal sexuality.@@
									<</if>>
								<</if>>
							<</if>>

<</widget>>

<<widget "saRulesRapeDiscoversFetish">>

							<<if ($slaves[$i].fetishKnown == 0)>>
								<<if (random(1,2) == 1)>>
								<<set $slaves[$i].fetishKnown = 1>>
								You discover that she really likes it when other girls
								<<if ($slaves[$i].fetish == "submissive")>>
									hold her down and fuck her; @@.lightcoral;she's a submissive!@@
								<<elseif ($slaves[$i].fetish == "cumslut")>>
									cum in her mouth; @@.lightcoral;she's a cumslut!@@
								<<elseif ($slaves[$i].fetish == "humiliation")>>
									use her in public; @@.lightcoral;she's a humiliation fetishist!@@
								<<elseif ($slaves[$i].fetish == "buttslut")>>
									<<if ($slaves[$i].anus > 0)>>
										<<if canDoAnal($slaves[$i])>>fuck her butt<<else>>tease her anus<</if>>;
									<<else>>
									tease her virgin anus;
									<</if>>
									@@.lightcoral;she's an anal slut!@@
								<<elseif ($slaves[$i].fetish == "boobs")>>
									fondle her breasts; @@.lightcoral;she's a boob fetishist!@@
								<<elseif ($slaves[$i].fetish == "sadist")>>
									let her abuse them; @@.lightcoral;she's a sadist!@@
								<<elseif ($slaves[$i].fetish == "masochist")>>
									hurt her; @@.lightcoral;she's a masochist!@@
								<<elseif ($slaves[$i].fetish == "dom")>>
									let her dominate them; @@.lightcoral;she's dominant!@@
								<<elseif ($slaves[$i].fetish == "pregnancy")>>
									<<if $slaves[$i].mpreg == 0>>
										come <<if canDoVaginal($slaves[$i])>>inside<<else>>on<</if>> her; @@.lightcoral;she's a pregnancy fetishist!@@
									<<else>>
										come <<if canDoAnal($slaves[$i])>>inside<<else>>on<</if>> her; @@.lightcoral;she's a pregnancy fetishist!@@
									<</if>>
								<<else>>
									fuck her; @@.lightcoral;she's got a normal sexuality.@@
								<</if>>
								<</if>>
							<</if>>

<</widget>>

<<widget "saRulesPermissiveDrugEffects">>

					<<if $slaves[$i].balls > 0>>
						<<if $slaves[$i].drugs == "testicle enhancement" || $slaves[$i].drugs == "intensive testicle enhancement">>
							<<if ($slaves[$i].devotion > 20) || ($slaves[$i].trust < -20)>>
								<<if $slaves[$i].hormonebalance >= 100>>
									She can't seem to get enough cum out of her terribly swollen balls in one orgasm to relieve the pressure:
									<<if $slaves[$i].dick>>
										her poor soft dick produces slow, anemic ejaculations, no matter how backed up she is.
									<<else>>
										her cumhole produces slow, anemic ejaculations, no matter how backed up she is.
									<</if>>
									She is very reliant on your other girls to help her, which @@.mediumaquamarine;habituates her@@ to slave sex.
								<<else>>
									Her terribly swollen balls force her to rely on other slaves for release several times a day, and jetting cum into and onto your other girls @@.mediumaquamarine;habituates her@@ to slave sex.
								<</if>>
								<<set $slaves[$i].trust += 1>>
							<<else>>
								She can't seem to get enough cum out of her terribly swollen balls to relieve the pressure and is either unwilling or unable to get help with it, something she @@.mediumorchid;blames you for.@@
								<<set $slaves[$i].devotion -= 1>>
							<</if>>
						<<elseif $slaves[$i].drugs == "hyper testicle enhancement">>
							<<if ($slaves[$i].devotion > 20) || ($slaves[$i].trust < -20) || !canPenetrate($slaves[$i])>>
								<<if $slaves[$i].hormonebalance >= 100>>
									She can't seem to get enough cum out of her grotesquely swollen balls in one orgasm to get relieve the pressure:
									<<if $slaves[$i].dick>>
										her poor soft dick produces slow, anemic ejaculations, no matter how backed up she is.
									<<else>>
										her cumhole produces slow, anemic ejaculations, no matter how backed up she is.
									<</if>>
									She is completely dependent on your other girls to help her, which @@.mediumaquamarine;habituates her@@ to slave sex.
								<<else>>
									Her grotesquely swollen balls force her to rely on other slaves for release throughout times a day, and swelling your other girls with cum @@.mediumaquamarine;habituates her@@ to slave sex, though you have to take precautions so she doesn't knock up your entire stock.
								<</if>>
								<<set $slaves[$i].trust += 1>>
							<<else>>
								She can't seem to get enough cum out of her grotesquely swollen balls to relieve the pressure and is either unwilling or unable to get help with it, something she @@.mediumorchid;blames you for.@@
								<<set $slaves[$i].devotion -= 1>>
							<</if>>
						<</if>>
					<</if>>
					<<if $slaves[$i].drugs == "super fertility drugs" && canGetPregnant($slaves[$i])>>
							Her reproductive system is in overdrive leading her to seek out any dicked girl she can find several times a day. She @@.mediumaquamarine;desperately longs@@ for the day her efforts fill her womb with child.
							<<set $slaves[$i].trust += 1>>
					<</if>>

<</widget>>


code:
:: slave generation widgets [nobr widget]

<<widget "NationalityToRace">>
<<set $args[0].race
	= hashChoice(setup.raceSelector[$args[0].nationality] || setup.raceSelector[""])>>
<</widget>>

<<widget "NationalityToName">>
<<set $args[0].birthName =
	(setup.namePoolSelector[$args[0].nationality + "." + $args[0].race]
		|| setup.namePoolSelector[$args[0].nationality]
		|| setup.whiteAmericanSlaveNames).random()>>
<<set $args[0].birthSurname =
	(setup.surnamePoolSelector[$args[0].nationality + "." + $args[0].race]
		|| setup.surnamePoolSelector[$args[0].nationality]
		|| setup.whiteAmericanSlaveSurnames).random()>>
<<set $args[0].slaveName = $args[0].birthName>>
<<set $args[0].slaveName = $args[0].birthName, $args[0].slaveSurname = $args[0].birthSurname>>
<<if $useFSNames == 1>>
<<if $arcologies[0].FSChattelReligionist > 20>>
	<<set $args[0].slaveName = setup.chattelReligionistSlaveNames.random(), $args[0].slaveSurname = 0>>
<<elseif $arcologies[0].FSRomanRevivalist > 20>>
	<<set $args[0].slaveName = setup.romanSlaveNames.random(), $args[0].slaveSurname = setup.romanSlaveSurnames.random()>>
<<elseif $arcologies[0].FSAztecRevivalist > 20>>
	<<set $args[0].slaveName = setup.aztecSlaveNames.random(), $args[0].slaveSurname = 0>>
<<elseif $arcologies[0].FSEgyptianRevivalist > 20>>
	<<set $args[0].slaveName = setup.ancientEgyptianSlaveNames.random(), $args[0].slaveSurname = 0>>
<<elseif $arcologies[0].FSEdoRevivalist > 20>>
	<<set $args[0].slaveName = setup.edoSlaveNames.random(), $args[0].slaveSurname = setup.edoSlaveSurnames.random()>>
<<elseif $arcologies[0].FSDegradationist != "unset">>
	<<DegradingName $args[0]>>
<</if>>
<</if>>

<</widget>>

<<widget "NationalityToAccent">>

<<set _naturalAccent = either(0,1,1,2,2,2,3,3,3,3)>>

<<switch $args[0].nationality>>
<<case "American">>
	<<if $args[0].race == "black">>
	<<if $language == "English">>
		<<set $args[0].accent = 0>>
	<<else>>
		<<set $args[0].accent = _naturalAccent>>
	<</if>>
	<<elseif $args[0].race == "latina">>
	<<if $language == "English">>
		<<set $args[0].accent = 0>>
	<<elseif $language == "Spanish">>
		<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
		<<set $args[0].accent = _naturalAccent>>
	<</if>>
	<<elseif $args[0].race == "asian">>
	<<if $language == "English">>
		<<set $args[0].accent = 0>>
	<<elseif $language == "Chinese">>
		<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
		<<set $args[0].accent = _naturalAccent>>
	<</if>>
	<<elseif $args[0].race == "middle eastern">>
	<<if $language == "English">>
		<<set $args[0].accent = 0>>
	<<elseif $language == "Arabic">>
		<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
		<<set $args[0].accent = _naturalAccent>>
	<</if>>
	<<else>>
	<<if $language == "English">>
		<<set $args[0].accent = 0>>
	<<else>>
		<<set $args[0].accent = _naturalAccent>>
	<</if>>
	<</if>>
<<case "Canadian">>
	<<if $language == "English">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Mexican">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Puerto Rican">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Haitian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Jamaican">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Cuban">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Guatemalan">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Chilean">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Peruvian">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Bolivian">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Venezuelan">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Russian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Ukrainian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Italian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Spanish">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "British">>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "French">>
	<<set $args[0].accent = _naturalAccent>>
<<case "German">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Lithuanian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Norwegian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Slovak">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Danish">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Dutch">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Austrian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Swiss">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Serbian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Belgian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Czech">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Portuguese">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Swedish">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Romanian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Hungarian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Estonian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Irish">>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Icelandic">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Finnish">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Greek">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Polish">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Brazilian">>
	<<if $language == "Portuguese">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Egyptian">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Colombian">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Argentinian">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Turkish">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Iranian">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Armenian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Israeli">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Saudi">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "South African">>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Nigerian">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Congolese">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Kenyan">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Tanzanian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Zimbabwean">>
	<<if $language == "English" && $args[0].race == "white">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Ghanan">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Ugandan">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Ethiopian">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Moroccan">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Chinese">>
	<<if $language == "Chinese">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Korean">>
	<<if $language == "Chinese">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Thai">>
	<<if $language == "Chinese">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Vietnamese">>
	<<if $language == "Chinese">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Japanese">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Indonesian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Filipina">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Bangladeshi">>
	<<if $language == "Indian">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Malaysian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Uzbek">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Afghan">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Nepalese">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Burmese">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Iraqi">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Yemeni">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Sudanese">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Algerian">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Tunisian">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Libyan">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Omani">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Malian">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Jordanian">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Lebanese">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Emirati">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Kazakh">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Pakistani">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Indian">>
	<<if $language == "Indian">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Australian">>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "a New Zealander">>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Sammarinese">>
	<<if $language == "Italian">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Marshallese">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Syrian">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Bermudian">>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Uruguayan">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Monégasque">>
	<<if $language == "French">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Montenegrin")>>
	<<set $args[0].accent = _naturalAccent>>
<<case "Cambodian")>>
	<<set $args[0].accent = _naturalAccent>>
<<case "Cameroonian">>
	<<if $language == "French">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Gabonese">>
	<<if $language == "French">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Djiboutian">>
	<<if $language == "French">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Greenlandic")>>
	<<set $args[0].accent = _naturalAccent>>
<<case "Tuvaluan")>>
	<<set $args[0].accent = _naturalAccent>>
<<case "Zambian">>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Albanian")>>
	<<set $args[0].accent = _naturalAccent>>
<<case "Bruneian")>>
	<<set $args[0].accent = _naturalAccent>>
<<case "Singaporean")>>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Laotian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Mongolian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Taiwanese">>
	<<if $language == "Chinese">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Belizean">>
	<<if $language == "English">>
	<<set $args[0].accent = 2>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Grenadian">>
	<<if $language == "English">>
	<<set $args[0].accent = 2>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "I-Kiribati">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Malagasy">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Maldivian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Bosnian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Croatian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Kosovan">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Macedonian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Honduran">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Maltese">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Nauruan">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Micronesian">>
	<<if $language == "English">>
	<<set $args[0].accent = 2>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Costa Rican">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Salvadoran">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Nicaraguan">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Panamanian">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Nigerien">>
	<<if $language == "French">>
	<<set $args[0].accent = either(0,1,2,3)>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Andorran">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Bulgarian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Luxembourgian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Moldovan">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Bahamian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Barbadian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Dominiquais">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Trinidadian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Palauan">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Papua New Guinean">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Kittitian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Ecuadorian">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "French Guianan">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Guyanese">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Paraguayan">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Surinamese">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Bhutanese">>
	<<set $args[0].accent = _naturalAccent>>
<<case "East Timorese">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Kyrgyz">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Sri Lankan">>
	<<set $args[0].accent = _naturalAccent>>
<<case "a Liechtensteiner">>
	<<if $language == "German">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Scottish">>
	<<if $language == "English">>
	<<set $args[0].accent = 2>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Vatican">>
	<<if $language == "Italian">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Belarusian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Burundian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Latvian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Seychellois">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Slovene">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Antiguan">>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Dominican">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Saint Lucian">>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Aruban">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Azerbaijani">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Bahraini">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Cypriot">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Georgian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Kuwaiti">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Qatari">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Tajik">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Turkmen">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Vincentian">>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "a Cook Islander">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Fijian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Ni-Vanuatu">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Niuean">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Palestinian">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Samoan">>
	<<set $args[0].accent = _naturalAccent>>
<<case "a Solomon Islander">>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Tongan">>
	<<set $args[0].accent = _naturalAccent>>
	<<case "Catalan">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Equatoguinean">>
	<<if $language == "Spanish">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "French Polynesian">>
	<<if $language == "French">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Kurdish">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Tibetan">>
	<<if $language == "Chinese">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Bissau-Guinean">>
	<<if $language == "Portuguese">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Chadian">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Comorian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Ivorian">>
	<<if $language == "French">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Mauritanian">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Mauritian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Mosotho">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Sierra Leonean">>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Swazi">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Angolan">>
	<<if $language == "Portuguese">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Sahrawi">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Burkinabé">>
	<<if $language == "French">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Cape Verdean">>
	<<if $language == "Portuguese">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Motswana">>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Somali">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Rwandan">>
	<<set $args[0].accent = _naturalAccent>>
<<case "São Toméan">>
	<<if $language == "Portuguese">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Beninese">>
	<<if $language == "French">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Central African">>
	<<if $language == "French">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Gambian">>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Senegalese">>
	<<if $language == "French">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Togolese">>
	<<if $language == "French">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Eritrean">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Guinean">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Malawian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Zairian">>
	<<set $args[0].accent = _naturalAccent>>
<<case "Liberian">>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Mozambican">>
	<<if $language == "Portuguese">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Namibian">>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "South Sudanese">>
	<<if $language == "English">>
	<<set $args[0].accent = 1>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Roman Revivalist">>
	<<if $language == "Latin">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Aztec Revivalist">>
	<<if $language == "Nahuatl">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Ancient Egyptian Revivalist">>
	<<if $language == "Ancient Egyptian">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Edo Revivalist">>
	<<if $language == "Japanese">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Arabian Revivalist">>
	<<if $language == "Arabic">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<case "Ancient Chinese Revivalist">>
	<<if $language == "Chinese">>
	<<set $args[0].accent = 0>>
	<<else>>
	<<set $args[0].accent = _naturalAccent>>
	<</if>>
<<default>>
	<<set $args[0].accent = _naturalAccent>>
<</switch>>

<<if $args[0].nationality == $language>>
	<<set $args[0].accent = 0>>
<</if>>

<</widget>>

/* Call as <<GenerateAge slave>> */
<<widget "GenerateAge">>

<<if $activeSlaveOneTimeMaxAge > 998>>
	<<if $pedo_mode == 1>>
		<<set $activeSlaveOneTimeMaxAge = 18>>
	<<else>>
		<<set $activeSlaveOneTimeMaxAge = 42>>
	<</if>>
<<elseif $pedo_mode == 1 && $one_time_age_overrides_pedo_mode == 0 && $activeSlaveOneTimeMaxAge > 18>>
	<<set $activeSlaveOneTimeMaxAge = 18>>
<</if>>
<<if $retirementAge < $activeSlaveOneTimeMaxAge>>
	<<set $activeSlaveOneTimeMaxAge = ($retirementAge-1)>>
<</if>>
<<if $activeSlaveOneTimeMinAge < $minimumSlaveAge>>
	<<set $activeSlaveOneTimeMinAge = $minimumSlaveAge>>
<<elseif $pedo_mode == 1 && $one_time_age_overrides_pedo_mode == 0>>
	<<set $activeSlaveOneTimeMinAge = $minimumSlaveAge>>
<</if>>
<<if $activeSlaveOneTimeMaxAge < $activeSlaveOneTimeMinAge>>
	<<set $activeSlaveOneTimeMaxAge = $activeSlaveOneTimeMinAge>>
<</if>>
<<if ($activeSlaveOneTimeMaxAge >= 30) && ($arcologies[0].FSMaturityPreferentialist != "unset")>>
	<<if $ageAdjustOverride != 1>>
		<<set $activeSlaveOneTimeMaxAge = ($activeSlaveOneTimeMaxAge + 10)>>
	<</if>>
<</if>>
<<set $args[0].actualAge = random($activeSlaveOneTimeMinAge,$activeSlaveOneTimeMaxAge)>>
<<set _secondAgeRoll = random($activeSlaveOneTimeMinAge,$activeSlaveOneTimeMaxAge)>>
<<if ($arcologies[0].FSYouthPreferentialist != "unset") && ($arcologies[0].FSYouthPreferentialist >= random(1,100))>>
	<<set $args[0].actualAge = Math.min($args[0].actualAge, _secondAgeRoll)>>
<<elseif ($arcologies[0].FSMaturityPreferentialist != "unset") && ($arcologies[0].FSMaturityPreferentialist >= random(1,100))>>
	<<set $args[0].actualAge = Math.max($args[0].actualAge, _secondAgeRoll)>>
<</if>>
<<if $args[0].actualAge >= $retirementAge>>
	<<set $args[0].actualAge = ($retirementAge-2)>>
<</if>>
<<set $activeSlaveOneTimeMinAge = 0>>
<<set $activeSlaveOneTimeMaxAge = 999>>
<<set $one_time_age_overrides_pedo_mode = 0>>
<<set $ageAdjustOverride = 0>>
<<set $args[0].visualAge = $args[0].actualAge>>
<<set $args[0].physicalAge = $args[0].actualAge>>
<<set $args[0].ovaryAge = $args[0].actualAge>>
<<set $args[0].age = $args[0].actualAge>> /*compatibility*/
<<set $args[0].pubertyAgeXX = $fertilityAge>>
<<set $args[0].pubertyAgeXY = $potencyAge>>

<</widget>>


code:
:: Summary Widgets [widget nobr]

/%
 Call as <<SlaveStatClamp $slave>>
%/
<<widget "SlaveStatClamp">>
<<set $args[0].energy = Math.clamp($args[0].energy, 0, 100)>>

<<if $args[0].devotion > 100>>
	<<if $args[0].trust < -95>>
		<<set $args[0].trust = -100>>
	<<elseif ($args[0].trust < 100) && ($args[0].trust >= 20)>>
		<<set $args[0].trust += (Math.trunc(($args[0].devotion-100)*5)/10)>>
	<<else>>
		<<set $rep += 10*($args[0].devotion-100)>>
	<</if>>
	<<set $args[0].devotion = 100>>
<<elseif $args[0].devotion < -95>>
	<<set $args[0].devotion = -100>>
<</if>>
<<if $args[0].trust > 100>>
	<<if $args[0].devotion < -95>>
		<<set $args[0].devotion = -100>>
	<<elseif $args[0].devotion < 100 && $args[0].devotion >= 20>>
		<<set $args[0].devotion += Math.trunc($args[0].trust-100)>>
	<<else>>
		<<set $rep += 10*($args[0].trust-100)>>
	<</if>>
	<<set $args[0].trust = 100>>
<<elseif $args[0].trust < -95>>
	<<set $args[0].trust = -100>>
<</if>>
<<if $args[0].trust < -100>><<set $args[0].trust = -100>><</if>>
<<if $args[0].devotion < -100>><<set $args[0].devotion = -100>><</if>>
<<if isNaN($args[0].oralCount)>><<set $args[0].oralCount = 0>>//Oral count has broken, report what you just did!<</if>>
<<if isNaN($args[0].analCount)>><<set $args[0].analCount = 0>>//Anal count has broken, report what you just did!<</if>>
<<if isNaN($args[0].vaginalCount)>><<set $args[0].vaginalCount = 0>>//Vaginal count has broken, report what you just did!<</if>>
<<if isNaN($args[0].mammaryCount)>><<set $args[0].mammaryCount = 0>>//Titfuck count has broken, report what you just did!<</if>>
<<if isNaN($args[0].penetrativeCount)>><<set $args[0].penetrativeCount = 0>>//Penetration count has broken, report what you just did!<</if>>
<<if ndef $args[0].foreskin>><<set $args[0].foreskin = 0>><</if>>
<<if $args[0].amp != 0 && $args[0].heels == 1>><<set $args[0].heels = 0>><</if>>
<<if $args[0].vagina < 0 && $args[0].mpreg == 0 && $args[0].preg == -1>><<set $args[0].preg = 0, WombFlush($args[0])>><</if>>
<</widget>>


code:
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto

###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs     diff=csharp

###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln       merge=binary
#*.csproj    merge=binary
#*.vbproj    merge=binary
#*.vcxproj   merge=binary
#*.vcproj    merge=binary
#*.dbproj    merge=binary
#*.fsproj    merge=binary
#*.lsproj    merge=binary
#*.wixproj   merge=binary
#*.modelproj merge=binary
#*.sqlproj   merge=binary
#*.wwaproj   merge=binary

###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg   binary
#*.png   binary
#*.gif   binary

###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc   diff=astextplain
#*.DOC   diff=astextplain
#*.docx  diff=astextplain
#*.DOCX  diff=astextplain
#*.dot   diff=astextplain
#*.DOT   diff=astextplain
#*.pdf   diff=astextplain
#*.PDF   diff=astextplain
#*.rtf   diff=astextplain
#*.RTF   diff=astextplain

repo_name: Nothingforfree/rimworld

path: .gitattributes

license: unknown


code:
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/

# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/

# Visual Studio 2017 auto generated files
Generated\ Files/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

# NUNIT
*.VisualState.xml
TestResult.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

# Benchmark Results
BenchmarkDotNet.Artifacts/

# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/

# StyleCop
StyleCopReport.xml

# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Chutzpah Test files
_Chutzpah*

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb

# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap

# Visual Studio Trace Files
*.e2e

# TFS 2012 Local Workspace
$tf/

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

# JustCode is a .NET coding add-in
.JustCode

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json

# Visual Studio code coverage results
*.coverage
*.coveragexml

# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*

# MightyMoose
*.mm.*
AutoTest.Net/

# Web workbench (sass)
.sass-cache/

# Installshield output folder
[Ee]xpress/

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj

# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/

# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets

# Microsoft Azure Build Output
csx/
*.build.csdef

# Microsoft Azure Emulator
ecf/
rcf/

# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx

# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/

# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs

# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk

# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak

# SQL Server files
*.mdf
*.ldf
*.ndf

# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- Backup*.rdl

# Microsoft Fakes
FakesAssemblies/

# GhostDoc plugin setting file
*.GhostDoc.xml

# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/

# Visual Studio 6 build log
*.plg

# Visual Studio 6 workspace options file
*.opt

# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw

# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions

# Paket dependency manager
.paket/paket.exe
paket-files/

# FAKE - F# Make
.fake/

# JetBrains Rider
.idea/
*.sln.iml

# CodeRush personal settings
.cr/personal

# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc

# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config

# Tabs Studio
*.tss

# Telerik's JustMock configuration file
*.jmconfig

# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs

# OpenCover UI analysis results
OpenCover/

# Azure Stream Analytics local run output
ASALocalRun/

# MSBuild Binary and Structured Log
*.binlog

# NVidia Nsight GPU debugger configuration file
*.nvuser

# MFractors (Xamarin productivity tool) working folder
.mfractor/

# Local History for Visual Studio
.localhistory/

# BeatPulse healthcheck temp database
healthchecksdb
/Source/Patches/PawnAnimationPatches/HarmonyPatch_Pawn_DrawTracker.cs
/Source/Patches/PawnAnimationPatches/HarmonyPatch_PawnRotation.cs
/Source/Patches/PawnAnimationPatches/HarmonyPatch_PawnRenderer.cs
/Source/Patches/OtherModPatches/HarmonyPatch_ShowHairWithHats.cs
/Source/Patches/OtherModPatches/HarmonyPatch_FacialAnimation.cs
/Source/Patches/OtherModPatches/HarmonyPatch_DontShaveYourHead.cs
/Source/Patches/OtherModPatches/HarmonyPatch_CSL.cs
/Source/Patches/OtherModPatches/HarmonyPatch_AlienRace.cs
/Source/Patches/ThingAnimationPatches/HarmonyPatch_ThingDrawAt.cs
/Defs/AnimationDefs/Animations_SexToys.xml
/1.5/Defs/AnimationDefs/BasicBestiality/HumanRotatedOffset.xml
/1.5/Defs/AnimationDefs/BasicBestiality/BasicBestiality4v1.xml
/1.5/Defs/AnimationDefs/BasicBestiality/BasicBestiality3v1.xml
/1.5/Defs/AnimationDefs/BasicBestiality/BasicBestiality2v1.xml
/1.5/Defs/AnimationDefs/BasicBestiality/BasicBestiality1v1.xml
/1.5/Defs/AnimationDefs/BasicBestiality/!BasicBestiality.xml
/1.5/Defs/TestDoNotPush
/1.5/Textures/AnimationProps/BEV

path: .gitignore


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
	<PawnRenderNodeTagDef>
		<defName>RenderNodeTag_Banana</defName>
	</PawnRenderNodeTagDef>

	<Rimworld_Animations.AnimationPropDef>
		<defName>AnimationProp_Banana</defName>
		<animPropProperties>
			<debugLabel>Banana</debugLabel>
			<tagDef>RenderNodeTag_Banana</tagDef>
			<parentTagDef>Body</parentTagDef>
			<texPath>AnimationProps/Banana/Banana</texPath>
			<overlayLayer>Head</overlayLayer>
			<baseLayer>95</baseLayer>
		</animPropProperties>
	</Rimworld_Animations.AnimationPropDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
	<PawnRenderNodeTagDef>
		<defName>RenderNodeTag_Hand</defName>
	</PawnRenderNodeTagDef>

	<Rimworld_Animations.AnimationPropDef>
		<defName>AnimationProp_Hand</defName>
		<animPropProperties Class="Rimworld_Animations.PawnRenderNodeProperties_GraphicVariants">
			<debugLabel>Hand</debugLabel>
			<nodeClass>Rimworld_Animations.PawnRenderNode_GraphicVariants</nodeClass>
			<workerClass>Rimworld_Animations.PawnRenderNodeWorker_GraphicVariants</workerClass>
			<tagDef>RenderNodeTag_Hand</tagDef>
			<absoluteTransform>True</absoluteTransform>
			<parentTagDef>Root</parentTagDef>
			<texPath>AnimationProps/Hand/Hand</texPath>
			<!-- for height -->
			<overlayLayer>Head</overlayLayer>
			<useSkinShader>True</useSkinShader>
			<linkedBodyPartsGroup>LeftHand</linkedBodyPartsGroup>
			<colorType>Skin</colorType>
			<baseLayer>95</baseLayer>
		</animPropProperties>
	</Rimworld_Animations.AnimationPropDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
	<PawnRenderNodeTagDef>
		<defName>RenderNodeTag_Knees</defName>
	</PawnRenderNodeTagDef>

	<Rimworld_Animations.AnimationPropDef>
		<defName>AnimationProp_Knees</defName>
		<animPropProperties Class="Rimworld_Animations.PawnRenderNodeProperties_BodyTypeVariants">
			<debugLabel>Knees</debugLabel>
			<nodeClass>Rimworld_Animations.PawnRenderNode_BodyTypeVariants</nodeClass>
			<workerClass>Rimworld_Animations.PawnRenderNodeWorker_BodyTypeVariants</workerClass>
			<tagDef>RenderNodeTag_Knees</tagDef>
			<absoluteTransform>False</absoluteTransform>
			<parentTagDef>Root</parentTagDef>

			<overlayLayer>Head</overlayLayer>
			<useSkinShader>True</useSkinShader>
			<colorType>Skin</colorType>
			<baseLayer>95</baseLayer>
			<bodyTypeVariantsDef>

					<bodyType>Female</bodyType>
					<texPathVariantsDef>TexPathVariants_Knees</texPathVariantsDef>

			</bodyTypeVariantsDef>
		</animPropProperties>
	</Rimworld_Animations.AnimationPropDef>

	<PawnRenderNodeTagDef>
		<defName>RenderNodeTag_Arms</defName>
	</PawnRenderNodeTagDef>

	<Rimworld_Animations.AnimationPropDef>
		<defName>AnimationProp_Arms</defName>
		<animPropProperties Class="Rimworld_Animations.PawnRenderNodeProperties_BodyTypeVariants">
			<debugLabel>Arms</debugLabel>
			<nodeClass>Rimworld_Animations.PawnRenderNode_BodyTypeVariants</nodeClass>
			<workerClass>Rimworld_Animations.PawnRenderNodeWorker_BodyTypeVariants</workerClass>
			<tagDef>RenderNodeTag_Knees</tagDef>
			<absoluteTransform>False</absoluteTransform>
			<parentTagDef>Root</parentTagDef>
			<useSkinShader>True</useSkinShader>
			<colorType>Skin</colorType>

			<overlayLayer>Body</overlayLayer>
			<baseLayer>-1</baseLayer>
			<bodyTypeVariantsDef>

					<bodyType>Female</bodyType>
					<texPathVariantsDef>TexPathVariants_Arms</texPathVariantsDef>

			</bodyTypeVariantsDef>
		</animPropProperties>
	</Rimworld_Animations.AnimationPropDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>

	<PawnRenderNodeTagDef>
		<defName>RenderNodeTag_Xray_Inside</defName>
	</PawnRenderNodeTagDef>

	<Rimworld_Animations.AnimationPropDef>
		<defName>AnimationProp_Xray_Inside</defName>
		<animPropProperties Class="Rimworld_Animations.PawnRenderNodeProperties_GraphicVariants">
			<debugLabel>Xray Inside</debugLabel>
			<nodeClass>Rimworld_Animations.PawnRenderNode_GraphicVariants</nodeClass>
			<workerClass>Rimworld_Animations.PawnRenderNodeWorker_GraphicVariants</workerClass>
			<tagDef>RenderNodeTag_Xray_Inside</tagDef>
			<absoluteTransform>True</absoluteTransform>
			<parentTagDef>Body</parentTagDef>
			<!-- for height -->
			<overlayLayer>Head</overlayLayer>
			<baseLayer>95</baseLayer>
			<texPathVariantsDef>TexPathVariants_Xray_Inside</texPathVariantsDef>
		</animPropProperties>
	</Rimworld_Animations.AnimationPropDef>

</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
	<PawnRenderNodeTagDef>
		<defName>RenderNodeTag_Xray_Penis</defName>
	</PawnRenderNodeTagDef>
	<Rimworld_Animations.AnimationPropDef>
		<defName>AnimationProp_Penis</defName>
		<animPropProperties Class="Rimworld_Animations.PawnRenderNodeProperties_GraphicHediffVariants">
			<debugLabel>Xray Penis</debugLabel>
			<nodeClass>Rimworld_Animations.PawnRenderNode_GraphicHediffVariants</nodeClass>
			<workerClass>Rimworld_Animations.PawnRenderNodeWorker_GraphicHediffVariants</workerClass>
			<tagDef>RenderNodeTag_Xray_Penis</tagDef>
			<parentTagDef>Body</parentTagDef>
			<texPath>AnimationProps/Banana/Banana</texPath>

			<overlayLayer>Head</overlayLayer>
			<baseLayer>95</baseLayer>
			<absoluteTransform>True</absoluteTransform>

			<texPathVariantsDef>TexPathVariants_XrayPenis_Human</texPathVariantsDef>

			<hediffVariants>

					<hediffs>

HorsePenis

RaccoonPenis

					</hediffs>
					<texPathVariantsDef>TexPathVariants_XrayPenis_Horse</texPathVariantsDef>

			</hediffVariants>
		</animPropProperties>
	</Rimworld_Animations.AnimationPropDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
	<Rimworld_Animations.GroupAnimationDef>
		<defName>GroupAnimation_DogBeast</defName>
		<numActors>2</numActors>
		<animationStages>

				<loops>1</loops>
				<loopOptions>

						<probability>1</probability>
						<animationDefs>

DogBeast_Human1

DogBeast_Dog1

						</animationDefs>

				</loopOptions>

				<loops>1</loops>
				<loopOptions>

						<probability>1</probability>
						<animationDefs>

DogBeast_Human2

DogBeast_Dog2

						</animationDefs>

				</loopOptions>

				<loops>60</loops>
				<loopOptions>

						<probability>1</probability>
						<animationDefs>

DogBeast_Human3_1

DogBeast_Dog3_1

						</animationDefs>

						<probability>1</probability>
						<animationDefs>

DogBeast_Human3_2

DogBeast_Dog3_2

						</animationDefs>

						<probability>1</probability>
						<animationDefs>

DogBeast_Human3_3

DogBeast_Dog3_3

						</animationDefs>

				</loopOptions>

				<loops>1</loops>
				<loopOptions>

						<probability>1</probability>
						<animationDefs>

DogBeast_Human4

DogBeast_Dog4

						</animationDefs>

				</loopOptions>

				<loops>30</loops>
				<loopOptions>

						<probability>1</probability>
						<animationDefs>

DogBeast_Human5_1

DogBeast_Dog5_1

						</animationDefs>

						<probability>1</probability>
						<animationDefs>

DogBeast_Human5_2

DogBeast_Dog5_2

						</animationDefs>

						<probability>1</probability>
						<animationDefs>

DogBeast_Human5_3

DogBeast_Dog5_3

						</animationDefs>

				</loopOptions>

				<loops>1</loops>
				<loopOptions>

						<probability>1</probability>
						<animationDefs>

DogBeast_Human6

DogBeast_Dog6

						</animationDefs>

				</loopOptions>

		</animationStages>

		<contexts>

				<priority>1</priority>
				<actorShift>1</actorShift>
				<whitelist>

						<tests>

								<races>

Wolf_Timber

Wolf_Arctic

Warg

Husky

LabradorRetriever

								</races>

						</tests>

				</whitelist>
				<interactionDefs>

Bestiality_Vaginal

Bestiality_Anal

Bestiality_Double_Penetration_M

				</interactionDefs>

				<priority>1</priority>
				<whitelist>

						<tests>

								<races>

Wolf_Timber

Wolf_Arctic

Warg

Husky

LabradorRetriever

								</races>

						</tests>

				</whitelist>
				<interactionDefs>

Bestiality_Reverse_Vaginal

Bestiality_Reverse_Anal

Bestiality_Reverse_Double_Penetration_M

				</interactionDefs>

		</contexts>

		<offsetDefs>

Offset_Placeholder

Offset_Placeholder

		</offsetDefs>

	</Rimworld_Animations.GroupAnimationDef>

</Defs>


code:
<?xml version="1.0" encoding="utf-8"?>
<Defs>
  <AnimationDef>
    <defName>DogBeast_Human1</defName>
    <durationTicks>85</durationTicks>
    <animationParts>

        <key>Root</key>
        <value>
          <workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
          <keyframes>

              <tick>0</tick>
              <angle>4</angle>
              <visible>true</visible>
              <offset>(-0.3716815, 0, 0.2713863)</offset>
              <rotation>East</rotation>

              <tick>15</tick>
              <angle>8</angle>
              <visible>true</visible>
              <offset>(-0.3539823, 0, 0.2654868)</offset>
              <rotation>East</rotation>

              <tick>25</tick>
              <angle>-14</angle>
              <visible>true</visible>
              <offset>(-0.4011799, 0, 0.2241887)</offset>
              <rotation>East</rotation>

              <tick>35</tick>
              <angle>-7</angle>
              <visible>true</visible>
              <offset>(-0.3834807, 0, 0.2359883)</offset>
              <rotation>East</rotation>

              <tick>55</tick>
              <angle>-9</angle>
              <visible>true</visible>
              <offset>(-0.4011799, 0, 0.2359883)</offset>
              <rotation>East</rotation>

              <tick>85</tick>
              <angle>-7</angle>
              <visible>true</visible>
              <offset>(-0.3893807, 0, 0.2359883)</offset>
              <rotation>East</rotation>

          </keyframes>
        </value>

        <key>Head</key>
        <value>
          <workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
          <keyframes>

              <tick>0</tick>
              <angle>0</angle>
              <visible>true</visible>
              <rotation>East</rotation>

              <tick>25</tick>
              <angle>0</angle>
              <visible>true</visible>
              <rotation>South</rotation>

          </keyframes>
        </value>

        <key>RenderNodeTag_Hand</key>
        <value>
          <workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
          <keyframes>

              <tick>0</tick>
              <angle>0</angle>
              <visible>true</visible>
              <offset>(0.1946907, 1, 0.4483777)</offset>
              <rotation>North</rotation>

              <tick>5</tick>
              <angle>0</angle>
              <visible>true</visible>
              <offset>(0.235988, 1, 0.4365782)</offset>
              <rotation>North</rotation>

              <tick>10</tick>
              <angle>0</angle>
              <visible>true</visible>
              <offset>(0.1238946, 1, 0.377581)</offset>
              <rotation>North</rotation>

              <tick>13</tick>
              <angle>0</angle>
              <visible>true</visible>
              <offset>(0.1710922, 1, 0.3952804)</offset>
              <rotation>North</rotation>

              <tick>17</tick>
              <angle>0</angle>
              <visible>true</visible>
              <offset>(0.05899817, 1, 0.4660767)</offset>
              <rotation>North</rotation>

              <tick>25</tick>
              <angle>0</angle>
              <visible>true</visible>
              <offset>(-0.1828904, 1, 0.4896755)</offset>
              <rotation>North</rotation>

              <tick>35</tick>
              <angle>0</angle>
              <visible>true</visible>
              <offset>(-0.1356928, 1, 0.4778759)</offset>
              <rotation>North</rotation>

          </keyframes>
        </value>

    </animationParts>
  </AnimationDef>
  <AnimationDef>
    <defName>DogBeast_Dog1</defName>
    <durationTicks>85</durationTicks>
    <animationParts>

        <key>Root</key>
        <value>
          <workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
          <keyframes>

              <tick>0</tick>
              <angle>0</angle>
              <visible>true</visible>
              <offset>(0.6666666, 1, 0.1120945)</offset>
              <rotation>West</rotation>

              <tick>15</tick>
              <angle>-5</angle>
              <visible>true</visible>
              <offset>(0.5722714, 1, 0.06489658)</offset>
              <scale>(1, 1, 0.9351034)</scale>
              <rotation>West</rotation>

              <tick>25</tick>
              <angle>35</angle>
              <visible>true</visible>
              <offset>(0.1356932, 1, 0.2477875)</offset>
              <scale>(0.9999999, 1, 1.053097)</scale>
              <rotation>West</rotation>

              <tick>35</tick>
              <angle>31</angle>
              <visible>true</visible>
              <offset>(0.1356932, 1, 0.2477875)</offset>
              <rotation>West</rotation>

              <tick>45</tick>
              <angle>35</angle>
              <visible>true</visible>
              <offset>(0.1356932, 1, 0.2477875)</offset>
              <rotation>West</rotation>

              <tick>55</tick>
              <angle>31</angle>
              <visible>true</visible>
              <offset>(0.1356932, 1, 0.2477875)</offset>
              <rotation>West</rotation>

              <tick>65</tick>
              <angle>35</angle>
              <visible>true</visible>
              <offset>(0.1356932, 1, 0.2477875)</offset>
              <rotation>West</rotation>

              <tick>75</tick>
              <angle>31</angle>
              <visible>true</visible>
              <offset>(0.1356932, 1, 0.2477875)</offset>
              <rotation>West</rotation>

              <tick>85</tick>
              <angle>35</angle>
              <visible>true</visible>
              <offset>(0.1356932, 1, 0.2477875)</offset>
              <rotation>West</rotation>

          </keyframes>
        </value>

        <key>Head</key>
        <value>
          <workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
          <keyframes>

              <tick>0</tick>
              <angle>0</angle>
              <visible>true</visible>
              <rotation>North</rotation>

          </keyframes>
        </value>

        <key>AnimalPenis</key>
        <value>
          <workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
          <keyframes>

              <tick>0</tick>
              <angle>0</angle>
              <visible>true</visible>
              <offset>(0, -2, 0)</offset>
              <rotation>North</rotation>

          </keyframes>
        </value>

    </animationParts>
  </AnimationDef>
</Defs>