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>>

repo_name: Drosil/fc

license: mit


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")>>
	<<set $activeSlaveOneTimeMaxAge = ($activeSlaveOneTimeMaxAge + 10)>>
<</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 $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:
**/mousetrap.js
**/pako.js
**/sugarCubeConfig.js
**/format.js
**/displayVariables.js
**/dTree.min.js
**/optionsMacro.js
temp.**
**.temp
**/001-lib
/build/**/*
/devNotes/legacy files/**/*
bin/*
/FCHost/**/*

repo_name: Nithhogg/fc

path: .eslintignore


code:
{
	"root": true,
	"env": {
		"browser": true,
		"es6": true,
		"es2022": true,
		"jquery": true
	},
	"extends": ["eslint:recommended"],
	"plugins": [
		"jsdoc",
		"sonarjs"
	],
	"globals": {
		"SugarCube": false,
		"Config": false,
		"State": false,
		"Story": false,
		"settings": false,
		"setup": false,
		"App": false,
		"prehistory": true,
		"predisplay": true,
		"prerender": true,
		"postrender": true,
		"postdisplay": true
	},
	"parserOptions": {
		"ecmaVersion": 2022,
		"sourceType": "script",
		"ecmaFeatures": {
			"impliedStrict": true
		}
	},
	"overrides": [
		{
			// overrides for helper scripts that are written
			// using imports and/or exports
			"files": ["gulpfile.js", "devTools/scripts/**/*.js"],
			"parserOptions": {
				"sourceType": "module",
				"ecmaVersion": 2022
			}
		}
	],
	"settings": {
		"jsdoc": {
			"mode": "typescript"
		}
	},
	"rules": {
		"no-prototype-builtins": "off",
		"semi": ["warn", "always"],
		"semi-spacing": "warn",
		"semi-style": "warn",
		"block-spacing": ["warn", "always"],
		"curly": ["warn", "all"],
		"eqeqeq": ["warn", "smart"],
		"space-before-function-paren": ["warn", {
			"anonymous": "never",
			"named": "never",
			"asyncArrow": "always"
		}],
		"template-curly-spacing": ["warn", "never"],
		"no-trailing-spaces": "warn",
		"no-mixed-spaces-and-tabs": ["warn", "smart-tabs"],
		"no-unneeded-ternary": "warn",
		"camelcase": "warn",
		"padded-blocks": ["warn", "never"],
		"comma-spacing": "warn",
		"comma-style": "warn",
		"object-curly-newline": ["warn",
			{
				"ObjectExpression":{
					"minProperties": 4,
					"consistent": true
				},
				"ImportDeclaration": {
					"minProperties": 4,
					"consistent": true
				},
				"ExportDeclaration": {
					"minProperties": 4,
					"consistent": true
				},
				"ObjectPattern": {
					"minProperties": 8,
					"consistent": true
				}
			}
		],
		"object-curly-spacing": "warn",
		"no-var": "warn",
		"spaced-comment": "warn",
		"no-undef": "off",
		"indent": ["error", "tab", { "SwitchCase": 1 }],
		"no-unused-vars": ["error", {"args": "none"}],
		"no-unused-expressions": "error",
		"block-scoped-var": "error",
		"dot-notation": "warn",
		"eol-last": "warn",
		"unicode-bom": [
			"error",
			"never"
		],
		"brace-style": [
			"warn",
			"1tbs",
			{
				"allowSingleLine": true
			}
		],
		"no-sequences": "warn",
		"no-unreachable-loop": "warn",
		"generator-star-spacing": [
			"warn",
			{
				"before": false,
				"after": true,
				"anonymous": "neither"
			}
		],
		"one-var": ["warn", "never"],
		"keyword-spacing": "warn",
		"no-template-curly-in-string": "error",
		"operator-linebreak": ["warn", "after", { "overrides": { "?": "before", ":": "before" }}],
		"jsdoc/check-alignment": 1,
		"jsdoc/check-examples": 0, // interferes with SugarCube examples
		"jsdoc/check-indentation": 0,
		"jsdoc/check-param-names": 1,
		"jsdoc/check-property-names": 1,
		"jsdoc/check-syntax": 1,
		"jsdoc/check-tag-names": 1,
		"jsdoc/check-types": 1,
		"jsdoc/implements-on-classes": 1,
		"jsdoc/match-description": 0, // rejects SugarCube syntax
		"jsdoc/newline-after-description": 0,
		"jsdoc/no-types": 0,
		"jsdoc/no-undefined-types": 0,
		"jsdoc/require-jsdoc": [
			"warn",
			{
				"enableFixer": false,
				"require": {
					"ArrowFunctionExpression": false,
					"ClassDeclaration": false,
					"ClassExpression": false,
					"FunctionDeclaration": true,
					"FunctionExpression": true,
					"MethodDefinition": false
				},
				"exemptEmptyFunctions": true,
				"checkGetters": false,
				"checkSetters": false
			}
		],
		"jsdoc/require-param": ["warn"],
		"jsdoc/require-param-description": 0,
		"jsdoc/require-param-name": 1,
		"jsdoc/require-param-type": 1,
		"jsdoc/require-returns": ["off"],
		"jsdoc/require-returns-check": 1,
		"jsdoc/require-returns-description": 0,
		"jsdoc/require-returns-type": 1,
		"jsdoc/valid-types": 1,
		"sonarjs/no-all-duplicated-branches": "error",
		"sonarjs/no-element-overwrite": "error",
		"sonarjs/no-extra-arguments": "error",
		"sonarjs/no-identical-conditions": "error",
		"sonarjs/no-identical-expressions": "error",
		"sonarjs/no-one-iteration-loop": "error",
		"sonarjs/no-use-of-empty-return-value": "error",
		"sonarjs/no-collection-size-mischeck": "warn",
		"sonarjs/no-same-line-conditional": "warn",
		"sonarjs/no-unused-collection": "warn"
	}
}


code:
*.bat	text eol=crlf
*.js	text eol=lf
*.tw	text eol=lf
*.sh	text eol=lf
*.py	text eol=lf
*.txt	text eol=lf

path: .gitattributes


code:
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# Vim stuff
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
Session.vim
Sessionx.vim
.netrwhist
*~
tags
[._]*.un~

# celery beat schedule file
celerybeat-schedule

# dotenv
.env

# virtualenv
venv/
ENV/

# Spyder project settings
.spyderproject

# Rope project settings
.ropeproject

# Start.tw
src/002-config/start.tw

# eslint
node_modules
package-lock.json
yarn.lock
pnpm-lock.yaml

# Visual Studio Code
.vscode/settings.json
.vscode/tasks.json
# .vscode/bookmarks.json is created by the amazing https://marketplace.visualstudio.com/items?itemName=alefragnani.Bookmarks VSCode extension
.vscode/bookmarks.json
*.code-workspace

# WebStorm
.idea

# Gulp
build/

# backup
*.bak
*.gho
*.ori
*.orig
*.tmp

# misc
fc-pregmod
bin/*
*.outline
*.todo
/TODO.*
TODO.txt
temp.*
*.temp
src/002-config/fc-version.js.commitHash.js
devTools/scripts/.package.json.diff
/settings.json
.eslintcache
/sanityCheck.log
/.tsbuildinfo

# macOS devices
*.icloud

# legacy
devNotes/legacy files/*
/.vs

# mod development
/mods/dev/

# cSpell
.cspellcache

path: .gitignore


code:
workflow:
  rules:
    # only run when on the main repo
    - if: '$CI_PROJECT_ID == "3528"'
      when: always

.official-releases:
  rules:
    - if: $CI_COMMIT_TAG =~ /\A\d+\.\d+\.\d+/

stages:
  - build
  - upload
  - release

variables:
  FC_PREGMOD_ARCHIVE: "FC_pregmod_${CI_COMMIT_TAG}.zip"
  # precompiled / assets
  # the URLs are the same as inside the game, change both if updating
  WEBGL_NAME: "WebGL art assets"
  WEBGL_URL: "https://mega.nz/folder/CgRiQaxS#Cjok57jXZwQt-jP7zkRh2Q"
  RENDER_NAME: "Rendered imagepack (outdated)"
  RENDER_URL: "https://mega.nz/file/upoAlBaZ#EbZ5wCixxZxBhMN_ireJTXt0SIPOywO2JW9XzTIPhe0"

build:
  stage: build
  image: ggcr.io/pregmodfan/fc-pregmod/build
  cache:
    paths:
      - node_modules/
  rules:
    # official release
    - if: $CI_COMMIT_TAG =~ /\A\d+\.\d+\.\d+/
    # latest
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
  before_script:
    - npm update --no-audit --no-fund --omit=dev
  script:
    - npx gulp html --minify --release --ci
  artifacts:
    paths:
      - bin/FC_pregmod.html

upload:
  stage: upload
  image: ggcr.io/pregmodfan/fc-pregmod:megacmd
  extends: .official-releases
  script:
    - mega-login $MEGA_MAIL $MEGA_PWD
    - zip bin/$FC_PREGMOD_ARCHIVE bin/FC_pregmod.html
    - mega-put bin/$FC_PREGMOD_ARCHIVE /
    - echo "MEGA_URL=$(mega-export -a /$FC_PREGMOD_ARCHIVE | grep -o https.*)" >> variables.env
  artifacts:
    # carry MEGA_URL over to the release job
    reports:
      dotenv: variables.env

release:
  stage: release
  image: registry.gitlab.com/gitlab-org/release-cli:latest
  extends: .official-releases
  script:
    # extract changes from changelog
    # get line of version header + 1
    - START=$(awk 'match($1,"##") && match($2,v){print NR+1; exit}' v="0.10.7.1-$CI_COMMIT_TAG" CHANGELOG.md)
    # drop everything above the release including the release header
    - tail -n +$START CHANGELOG.md > tmp
    # get line of next version header - 1
    - END=$(awk 'match($1,"##") && match($2,v){print NR-1; exit}' v="0.10.7.1" tmp)
    # drop everything after current release
    - DESCRIPTION=$(head -n $END tmp)
    # create release
    # assets are displayed in inverse order to how they are defined here
    - |
      release-cli create --name "$CI_COMMIT_TAG" --description "$DESCRIPTION" \
        --tag-name "$CI_COMMIT_TAG" \
        --assets-link "{\"name\":\"${RENDER_NAME}\",\"url\":\"${RENDER_URL}\"}" \
        --assets-link "{\"name\":\"${WEBGL_NAME}\",\"url\":\"${WEBGL_URL}\"}" \
        --assets-link "{\"name\":\"${FC_PREGMOD_ARCHIVE}\",\"url\":\"${MEGA_URL}\"}"


code:
/label ~Bug

## Expected Behavior
<!--- If you're describing a bug, tell us what should happen -->

## Current Behavior
<!-- If describing a bug, tell us what happened instead of the expected behavior. Provide screenshots of the problem if possible. -->

## Steps to Reproduce
<!-- Provide an unambiguous sequence of steps to reproduce the bug. -->
1.
2.
3.
4.

## Additional information
<!-- Release ID and commit can be found on the starting splash screen or the options page. -->
* Release ID:
* Commit: (if available)
* Save file


code:
/label ~Feature

### Is your proposal related to a problem?
<!--
  Provide a clear and concise description of what the problem is.
  For example, "I'm always frustrated when..."
-->

### Describe the solution you'd like
<!--
  Provide a clear and concise description of what you want to happen.
-->

### Describe alternatives you've considered
<!--
  Let us know about other solutions you've tried or researched.
-->

### Additional context
<!--
  Is there anything else you can add about the proposal?
  You might want to link to related issues here, if you haven't already.
-->


code:
/label ~Question

<!-- Make sure to read the ingame encyclopedia before asking your question -->


code:
#### Description and notes

Merge Checklist

- [ ] I have read [CONTRIBUTING.md](https://gitgud.io/pregmodfan/fc-pregmod/-/blob/pregmod-master/CONTRIBUTING.md)
  - and
    - my code editor has
      - [ ] ESLint support enabled
      - [ ] TypeScript support enabled
      - [ ] some form of spell checker
        - We suggest using a spell checker compatible with cSpell if possible
    - [ ] my changes compile successfully and seem to work properly
    - [ ] I am using the simple compiler (`simple-compiler.[bat or sh]`)
    - [ ] I am using the normal compiler (`compile.[bat or sh]`)
    - [ ] this is my first merge request
    - [ ] the changes in this merge request comply with the [coding style defined in CONTRIBUTING.md](https://gitgud.io/pregmodfan/fc-pregmod/-/blob/pregmod-master/CONTRIBUTING.md#code-style)

Changes made

- Some change
- Another change

#### Things left to do

- [ ] code review (this is done by one or more people other than you)
- [ ] final tests
- [ ] let Pregmodder know that this is ready for merging


code:
[submodule "submodules/sugarcube-2"]
	path = submodules/sugarcube-2
	url = https://gitgud.io/Arkerthan/sugarcube-2.git
	branch = fc

path: .gitmodules


brace_style: collapse,preserve-inline

path: .jsbeautifyrc


code:
// Minified files
**/dTree.min.js
**/js/displayVariables.js

path: .jshintignore


code:
{
    // This is our suggested VSCode settings. To use them as is just copy this file and name the copy settings.json
    "[javascript]": {
        "editor.defaultFormatter": "dbaeumer.vscode-eslint",
        "editor.formatOnPaste": true,
        "editor.formatOnSave": true,
        "editor.formatOnType": true
    },
    "[json]": {
        "editor.defaultFormatter": "vscode.json-language-features",
        "editor.formatOnPaste": true,
        "editor.formatOnSave": true,
        "editor.formatOnType": true
    },
    "cSpell.enabledFileTypes": {
        "*": true
    },
    "editor.inlineSuggest.enabled": true,
    "editor.rulers": [
        {
            "column": 80,
            "color": "#1f8300"
        },
        {
            "column": 120,
            "color": "#ff7700"
        }
    ],
    "editor.semanticHighlighting.enabled": true,
    "eslint.format.enable": true,
    "eslint.probe": [
        "javascript",
        "javascriptreact",
        "typescript",
        "typescriptreact",
        "html",
        "vue",
        "markdown",
        "twee3-sugarcube-2"
    ],
    "files.associations": {
        "*.tw": "twee3-sugarcube-2"
    },
    "gitlens.integrations.enabled": true,
    "gitlens.remotes": [
        {
            "domain": "gitgud.io",
            "type": "GitLab"
        }
    ],
    "todo-tree.regex.regex": "(//|#|--|<!--|;|/\\*|^|^[ \\t]*(-|\\d+.))\\s*($TAGS)",
    "twee3LanguageTools.storyformat.current": "sugarcube-2"
}