code:
:: StoryCaption

<<if $intro is 0>>
	<<effectstime>>
	<<weatherdisplay>>
	<<if $gamemode is "soft">>
		<<set $pain to 0>>
	<</if>>
	<<if $images is 1>>
		<<addclass body has-images>>
		<<removeclass body no-images>>

			<>

	<<else>>
		<<removeclass body has-images>>
		<<addclass body no-images>>
	<</if>>
	<<combateffects>>

	<<if $numpad is true>>

1

2

3

4

5

6

7

8

9

0

	<</if>>
	<<if $endeventerror isnot undefined>>
		<<if $debugdisable is "f">>
			<<if $images is 1>><</if>><<print StartConfig.version>> Error: An NPC generated on the "$endeventerror" passage broke free. Please inform Vrelnir. <<if $cheatdisable is "f">>Disregard this if you've just used a cheat.<</if>>

		<</if>>
		<<unset $endeventerror>>
	<</if>>

	<<if $physiquechange is 1>><<set $physiquechange to 0>>
		<<if $physiqueuse gte $physique / 1000>>
			Your physique is improving due to all the exercise you are getting.
			<<set $physiqueuse to 0>>

		<<else>>
			You didn't get enough exercise yesterday, your physique has deteriorated slightly as a result.
			<<set $physiqueuse to 0>>

		<</if>>
	<</if>>
	<<if !$lessonmissedtext>>
	<<else>>
		<<if $lessonmissedtext is 1>>
			You missed a lesson yesterday.
		<<elseif $lessonmissedtext gte 2>>
			You missed $lessonmissedtext lessons yesterday.
		<</if>>
		<<if $lessonmissed gte 50>>
			You've missed many lessons. The police have been informed.
			<<crimeup 25>>
		<</if>>
		<<set $lessonmissedtext to 0>>

	<</if>>
	<<if $images is 1>>

			<<statsCaption>>

	<<else>>

			<<statsMoneyNoImg>>

		It is <<ampm>>

		It is <<if $weekday eq 1>><<print "Sunday">><<elseif $weekday eq 2>><<print "Monday">><<elseif $weekday eq 3>><<print "Tuesday">><<elseif $weekday eq 4>><<print "Wednesday">><<elseif $weekday eq 5>><<print "Thursday">><<elseif $weekday eq 6>><<print "Friday">><<elseif $weekday eq 7>><<print "Saturday">>.<</if>>

	<</if>>
	<<schoolday>>

		<<sidebarlookdescription>>

	<<clamp>>

	<<calculateallure>>
	<<set $rng to random(1, 100)>>

	<<if $worn.neck.collared gte 1>>
		A collar encases your neck.

	<</if>>

	<<if $penilechastityparasite isnot 0>>
		You feel $penilechastityparasite squirming around your penis.

	<</if>>
	<<if $vaginalchastityparasite isnot 0 and $vaginalchastityparasite eq $analchastityparasite>>
		You feel $vaginalchastityparasite squirming inside your vagina and lower intestine.

	<<else>>
		<<if $vaginalchastityparasite isnot 0>>
			You feel $vaginalchastityparasite squirming inside your vagina.

		<</if>>
		<<if $analchastityparasite isnot 0>>
			You feel $analchastityparasite squirming inside your lower intestine.

		<</if>>
	<</if>>

	<<for _type range $parasite.types>>
		<<switch $parasite[_type].length>>
		<<case 0>>
		<<case 1>>
			<<if $parasite[_type][0] is "nipples">>
				The _type parasites clinging to your <<print $parasite[_type][0]>> suck and massage you.
			<<else>>
				The _type parasite clinging to your <<print $parasite[_type][0]>> sucks and massages you.
			<</if>>

		<<case 2>>
			The _type parasites clinging to your <<print $parasite[_type][0]>> and <<print $parasite[_type][1]>> suck and massage you.

		<<default>>
			<<set _pstring to $parasite[_type][0]>>
			<<for _i to 1; _i lt $parasite[_type].length - 1; _i++>>
				<<set _pstring += ", " + $parasite[_type][_i]>>
			<</for>>
			<<set _pstring += ", and " + $parasite[_type][_i]>>
			The _type parasites clinging to your _pstring suck and massage you.

		<</switch>>
	<</for>>

	<<if $parasite.left_ear.name and $parasite.left_ear.name eq $parasite.right_ear.name>>
		<<if $parasite.left_ear.name is "slime">>
			The $parasite.left_ear.name in each ear influences your thoughts.

		<</if>>
	<<else>>
		<<if $parasite.left_ear.name is "slime">>
			The $parasite.left_ear.name in your left ear influences your thoughts.

		<</if>>
		<<if $parasite.right_ear.name is "slime">>
			The $parasite.right_ear.name in your right ear influences your thoughts.

		<</if>>
	<</if>>

	<<if $leftarm is "bound" and $rightarm is "bound">>
		Your arms are bound.

	<<elseif $leftarm is "bound">>
		Your left arm is bound.

	<<elseif $rightarm is "bound">>
		Your right arm is bound.

	<</if>>
	<<if $feetuse is "bound" or $worn.feet.type.includes("shackle")>>
		Your legs are bound.

	<</if>>
	<<goo>>

		<<if $gamemode isnot "soft">>
			<<paincaption>>
		<</if>>
		<<arousalcaption>>
		<<tirednesscaption>>
		<<stresscaption>>
		<<if $innocencestate is 1>>
			<<innocencecaption>>
		<<else>>
			<<traumacaption>>
		<</if>>
		<<if $gamemode isnot "soft">>
			<<controlcaption>>
		<</if>>
		<<allurecaption>>
		<<if $underwater is 1>>
			<<oxygencaption true>>
		<</if>>
		<<drunk>><<drugged>><<hallucinogen>>

	<<if $passage isnot "Start" and $passage isnot "Start2">>
		<<if $sidebarTime is "top">>
			<<append #mobileStats>><<mobileStatsTime>><</append>>
		<</if>>
		<<if $sidebarStats isnot "Disabled">>
			<<append #mobileStats>><<mobileStats>><</append>>
		<</if>>
		<<if $sidebarTime is "bottom">>
			<<append #mobileStats>><<mobileStatsTime>><</append>>
		<</if>>
	<</if>>

	<<if $tipdisable is "f">>
		Tip: <<tips>>

	<</if>>

	<<button CHARACTERISTICS>>
		<<overlayReplace "characteristics">>
	<</button>>
	<<button SOCIAL>>
		<<overlayReplace "social">>
	<</button>>

		<<button TRAITS>>
			<<overlayReplace "traits">>
		<</button>>
		<<button JOURNAL>>
			<<overlayReplace "journal">>
		<</button>>

		<<button STATS>>
			<<overlayReplace "statistics">>
		<</button>>
		<<button FEATS>>
			<<overlayReplace "gameFeats">>
		<</button>>

		<<if $dancing is 0 and $combat is 0 and $passage isnot "Start2" and $cheatdisable is "f" or $debug is 1>>
			<<button CHEATS>>
				<<overlayReplace "cheats">>
			<</button>>
		<</if>>
		<<if $debug is 1>>
			<<debug>>
		<</if>>

	<<if $event isnot undefined and $debugdisable is "f">>
		<<set _temp to "SHOW EVENT INFO">>
		<<if EventSystem.Get(0).area[0] is $passage>>
			<<set _eventalertmajorarea to false>>
			<<set _temp to "EVENT ACTIVE">>
		<<elseif setup.majorAreas.includes($passage)>>
			<<set _eventalertmajorarea to true>>
			<<set _temp to "EVENT ACTIVE">>
		<<elseif $event.buffer.map(e => e.area[0]).length is 1 and ["Forest Cabin", "Eden Cabin", "Eden Clearing"].includes(EventSystem.Get(0).area[0])>>
			<<set _temp to "EVENT ACTIVE">>
		<</if>>
		<<button _temp>><<overlayReplace "eventExtraInfo">><</button>>
		<<unset _temp>>
	<</if>>
	<<if $showDebugRenderer>>
		<<button "DEBUG RENDERER">><<overlayReplace "canvasModel">><</button>>
	<</if>>

		<<button OPTIONS>>
			<<overlayReplace "options">>
		<</button>>
		<<button SAVES>>
			<<overlayReplace "saves">>
		<</button>>

<<else>>
	<<if StartConfig.enableImages is true>>

	<</if>>

<<versioninfo>>

		<<button SAVES>>
			<<overlayReplace "saves">>
		<</button>>

		<<button OPTIONS>>
			<<overlayReplace "options">>
		<</button>>
		<<button FEATS>>
			<<overlayReplace "startFeats">>
		<</button>>

<</if>>

<<set $currentOverlay to null>>

:: Widgets Clothing Caption [widget]
<<widget "sidebarlookdescription">>

	<<clothingCaptionText>>

	<<switch $body_temperature>>
	<<case "hot">>
		You are sweltering.
	<<case "warm">>
		You are warm and sweaty.
	<<case "chilly">>
		<<if _water_warmth>>
			You're chilled by cold water.
		<<else>>
			You are chilly.
		<</if>>
	<<case "cold">>
		<<if _water_warmth>>
			You shiver in freezing water.
		<<else>>
			You shiver.
		<</if>>
	<<default>>
		<<if _water_warmth>>
			The water feels warm.
		<<else>>
			You are snug.
		<</if>>
	<</switch>>
<</widget>>

<<widget "calculateallure">>
	<<if $daystate is "night">>
		<<set $nightmod to 1.5>>
	<<else>>
		<<set $nightmod to 1>>
	<</if>>

	<<if $exposed gte 2>>
		<<set $exposedmod to 1.4>>
	<<elseif $exposed gte 1>>
		<<set $exposedmod to 1.2>>
	<<else>>
		<<set $exposedmod to 1>>
	<</if>>

	<<set $allure to (($beauty / 3) + $hairlength / 4 + $worn.upper.reveal + $worn.lower.reveal)>>
	<<if $worn.upper.type.includes("naked")>><<set $allure += $worn.under_upper.reveal>><</if>>
	<<if $worn.lower.type.includes("naked")>><<set $allure += $worn.under_lower.reveal>><</if>>
	<<set $allure *= $nightmod>>
	<<set $allure *= $exposedmod>>
	<<set $allure += $worn.head.reveal>>
	<<set $allure += $worn.face.reveal>>
	<<set $allure += $worn.neck.reveal>>
	<<set $allure += $worn.legs.reveal>>
	<<set $allure += $worn.feet.reveal>>
	<<if $wolfgirl gte 6>><<set $allure += 500>><</if>>
	<<if $demon gte 6>><<set $allure += 500>><</if>>
	<<if $angel gte 6>><<set $allure += 500>><</if>>
	<<if $fallenangel gte 2>><<set $allure += 500>><</if>>
	<<if $cat gte 6>><<set $allure += 500>><</if>>
	<<if $cow gte 6>><<set $allure += 500>><</if>>
	<<if $harpy gte 6>><<set $allure += 500>><</if>>
	<<if $bunny gte 6>><<set $allure += 1000>><</if>>
	<<goocount>><<set $allure += ($goocount * 50) + ($semencount * 50)>>

	<<if $makeup.lipstick != 0>><<set $allure += 100>><</if>>
	<<if $makeup.eyeshadow != 0>><<set $allure += 100>><</if>>
	<<if $makeup.mascara != 0>><<set $allure += 100>><</if>>

	<<set $allure += ($famesex / 10)>>
	<<set $allure += ($famerape / 10)>>
	<<set $allure += ($famebestiality / 10)>>
	<<set $allure += ($fameexhibitionism / 10)>>
	<<set $allure += ($famepregnancy / 10)>>

	<<set $allure -= ($famescrap / 2)>>
	<<set $allure -= ($famegood / 2)>>
	<<set $allure -= ($famebusiness / 2)>>
	<<set $allure -= ($famesocial / 2)>>
	<<if $dev is 1>>
		<<set $allure -= ($famepimp / 2)>>
	<</if>>
	<<if $moonstate is "evening" and $hour gte 21 or $moonstate is "morning" and $hour lt 6>>
		<<set $allure += 2000>>
	<</if>>
	<<set $allure *= $alluremod>>
	<<if $allure gte 8000 * $alluremod>><<set $allure to 8000 * $alluremod>><</if>>
	<<if $moorLuck gt 0>>
		<<set $allure to Math.floor($allure * (1 - ($moorLuck / 100)))>>
	<</if>>
	<<if $allure lt 0>>
		<<set $allure to 0>>
	<</if>>

	<<set $attractiveness to (($beauty / 3) + $hairlength / 4 + $worn.upper.reveal + $worn.lower.reveal)>>
	<<if $worn.upper.type.includes("naked")>><<set $attractiveness += $worn.under_upper.reveal>><</if>>
	<<if $worn.lower.type.includes("naked")>><<set $attractiveness += $worn.under_lower.reveal>><</if>>
	<<set $attractiveness += $worn.head.reveal>>
	<<set $attractiveness += $worn.face.reveal>>
	<<set $attractiveness += $worn.neck.reveal>>
	<<set $attractiveness += $worn.legs.reveal>>
	<<set $attractiveness += $worn.feet.reveal>>
	<<if $wolfgirl gte 6>><<set $attractiveness += 500>><</if>>
	<<if $demon gte 6>><<set $attractiveness += 500>><</if>>
	<<if $angel gte 6>><<set $attractiveness += 500>><</if>>
	<<if $fallenangel gte 2>><<set $attractiveness += 500>><</if>>
	<<if $cat gte 6>><<set $attractiveness += 500>><</if>>
	<<if $cow gte 6>><<set $attractiveness += 500>><</if>>
	<<if $harpy gte 6>><<set $attractiveness += 500>><</if>>
	<<if $bunny gte 6>><<set $attractiveness += 1000>><</if>>
	<<if $makeup.lipstick != 0>><<set $attractiveness += 100>><</if>>
	<<if $makeup.eyeshadow != 0>><<set $attractiveness += 100>><</if>>
	<<if $makeup.mascara != 0>><<set $attractiveness += 100>><</if>>
<</widget>>

<<widget "clock">><<silently>>
<<if $hour gte 12>>
	<<set _hour to $hour - 12>>
<<else>>
	<<set _hour to $hour>>
<</if>>
<<if $time - $hour * 60 lt 30>>
	<<switch _hour>>
		<<case 1>><<set _text_output to "🕐">>
		<<case 2>><<set _text_output to "🕑">>
		<<case 3>><<set _text_output to "🕒">>
		<<case 4>><<set _text_output to "🕓">>
		<<case 5>><<set _text_output to "🕔">>
		<<case 6>><<set _text_output to "🕕">>
		<<case 7>><<set _text_output to "🕖">>
		<<case 8>><<set _text_output to "🕗">>
		<<case 9>><<set _text_output to "🕘">>
		<<case 10>><<set _text_output to "🕙">>
		<<case 11>><<set _text_output to "🕚">>
		<<case 0>><<set _text_output to "🕛">>
		<<default>><<set _text_output to "OHNO">>
	<</switch>>
<<else>>
	<<switch _hour>>
		<<case 1>><<set _text_output to "🕜">>
		<<case 2>><<set _text_output to "🕝">>
		<<case 3>><<set _text_output to "🕞">>
		<<case 4>><<set _text_output to "🕟">>
		<<case 5>><<set _text_output to "🕠">>
		<<case 6>><<set _text_output to "🕡">>
		<<case 7>><<set _text_output to "🕢">>
		<<case 8>><<set _text_output to "🕣">>
		<<case 9>><<set _text_output to "🕤">>
		<<case 10>><<set _text_output to "🕥">>
		<<case 11>><<set _text_output to "🕦">>
		<<case 0>><<set _text_output to "🕧">>
		<<default>><<set _text_output to "OHNO">>
	<</switch>>
<</if>>
<</silently>>
<<print _text_output>>
<</widget>>

<<widget "statsCaption">>
	<<if $dev is 1>>
		<<set $money = Math.trunc($money)>>
		£<<print ($money / 100)>>.
	<<else>>
		<<printmoney $money true>>
	<</if>>

	<<if !$oldclock>>
		<<clock>>
	<<else>>

	<</if>>
	<<ampm>>

	<<if $extendedStats>>

	<</if>>

	<<switch $weekday>>
	<<case 1>>Sun<<case 2>>Mon<<case 3>>Tue<<case 4>>Wed<<case 5>>Thu<<case 6>>Fri<<case 7>>Sat
	<</switch>>
	<<if $extendedStats>>
		$monthday<<monthday>> <<month true>>
	<</if>>
<</widget>>

<<widget "statsMoneyNoImg">>
	<<if $dev is 1>>
		<<set $money = Math.trunc($money)>>
		You have £<<print ($money / 100)>>

	<<else>>
		You have <<printmoney $money true>>

	<</if>>
<</widget>>

<<widget "startingPlayerImage">>
<<set $naturalhaircolour to $hairselect>>
<<set _filters to {
	"body": skinColor("t", $skinColor.range, setup.skinColor[$skinColor.natural]),
	"breasts": skinColor("t", $skinColor.range, setup.skinColor[$skinColor.natural]),
	"penis": skinColor("t", $skinColor.range, setup.skinColor[$skinColor.natural]),
	"mouth": skinColor("t", $skinColor.range, setup.skinColor[$skinColor.natural]),
}>>
<<set _img to setup.tanImg.sidebar["t"]>>
<<if $hairlength gte 900>>
	<<set _hairlengthstage to "feet">>
<<elseif $hairlength gte 700>>
	<<set _hairlengthstage to "thighs">>
<<elseif $hairlength gte 600>>
	<<set _hairlengthstage to "navel">>
<<elseif $hairlength gte 400>>
	<<set _hairlengthstage to "chest">>
<<elseif $hairlength gte 200>>
	<<set _hairlengthstage to "shoulder">>
<<else>>
	<<set _hairlengthstage to "short">>
<</if>>

<<set _fringelengthstage to "short">>
<<if _showClothes is undefined>>
	<<set _showClothes to true>>
<</if>>

<<if $player.gender is "m">>
	<<set _clothesType to "male">>
<<elseif $player.gender is "h">>
	<<if $player.gender_body is "m" or ($player.gender_body is "a" and $breastsize lte 3)>>
		<<set _clothesType to "male">>
	<<else>>
		<<set _clothesType to "female">>
	<</if>>
<<else>>
	<<set _clothesType to "female">>
<</if>>

<<if $background is "crossdresser">>
	<<set _clothesType to (_clothesType is "male" ? "female" : "male")>>
<</if>>

	/*Prep for image checks*/
	<<switch $breastsize>>
	<<case 12>>
		<<set _breastSize to 6>>
	<<case 8 9 10 11>>
		<<set _breastSize to 5>>
	<<case 6 7>>
		<<set _breastSize to 4>>
	<<case 4 5>>
		<<set _breastSize to 3>>
	<<case 3>>
		<<set _breastSize to 2>>
	<<case 0 1 2>>
		<<set _breastSize to 1>>
	<</switch>>
	<<if $player.gender is "m" or $player.gender is "h">>
		<<set _penisSize to $penissize>>
	<<else>>
		<<unset _penisSize>>
	<</if>>
	<<set _disabled to ["disabled","hidden"]>>

	<<if $sidebarRenderer is undefined>>
		<<set $sidebarRenderer to 'canvas'>>
	<</if>>
	<<if $sidebarRenderer isnot 'img'>>
		<<selectmodel "main" "sidebar">>
		<<twinescript>>
			_modeloptions.breast_size = _breastSize;
			_modeloptions.breasts = (!_showUnderwear && !_showClothes) ? "default" : "cleavage";
			if (_penisSize isnot undefined) {
				_modeloptions.penis = $player.virginity.penile is true ? "virgin" : "default";
				_modeloptions.penis_size = _penisSize;
				_modeloptions.balls = $player.gender is "h" ? $player.ballsExist : true;
			}

			_modeloptions.skin_type = $skinColor.natural;
			_modeloptions.skin_tone = $skinColor.range/100;

			_modeloptions.hair_colour = $hairselect;
			_modeloptions.hair_sides_position = $hairposition;
			_modeloptions.hair_sides_length = _hairlengthstage;
			_modeloptions.hair_fringe_length = _hairlengthstage;

			_modeloptions.eyes_colour = $eyeselect;
			_modeloptions.mouth = "neutral";
			_modeloptions.freckles = $player.freckles is true;

			_modeloptions.demon_wings_type = $transformationParts.demon.wings;
			_modeloptions.angel_wings_type = $transformationParts.angel.wings;
			_modeloptions.fallen_wings_type = $transformationParts.fallenAngel.wings;

			if (_clothesType is "male") {
				if (_showClothes) {
					_modeloptions.worn_upper = 4; /* t-shirt */
					_modeloptions.worn_upper_colour = "tangerine";
					_modeloptions.worn_lower = 5; /* shorts */
					_modeloptions.worn_lower_colour = "blue";
					_modeloptions.worn_legs = 2; /* boysgymsocks */
					_modeloptions.worn_feet = 1; /* schoolshoes */
				}
				if (_showUnderwear) {
					_modeloptions.worn_under_lower = 4; /* briefs */
					_modeloptions.worn_under_lower_colour = "black";
				}
			} else if (_clothesType is "female") {
				if (_showClothes) {
					_modeloptions.worn_upper = 1; /* sundress */
					_modeloptions.worn_upper_colour = "white";
					_modeloptions.worn_lower = 1; /* sundress */
					_modeloptions.worn_lower_colour = "white";
					_modeloptions.worn_legs = 3; /* girlsgymsocks */
					_modeloptions.worn_feet = 1; /* schoolshoes */
				}
				if (_showUnderwear) {
					if ($breastsize > 3) {
						_modeloptions.worn_under_upper = 12; /* plainbra */
						_modeloptions.worn_under_upper_colour = "pale white";
					}
					_modeloptions.worn_under_lower = 1; /* plainpanties */
					_modeloptions.worn_under_lower_colour = "pale white";
				}
			}
			_modeloptions.crotch_visible = !_showClothes && !_showUnderwear;
		<</twinescript>>
		<<rendermodel `($sidebarRenderer is 'both' ? 'canvasimg-both' : '')`>>
	<</if>>
	<<if $sidebarRenderer isnot 'canvas'>>

	<<if $skinColor.tanImgEnabled is "t" and $skinColor.tanValues[0] isnot $skinColor.tanValues[1]>>

	<</if>>

	<<if !_disabled.includes($transformationParts.demon.wings)>>
		<<if $exposed gte 2 and $dontHide is false and $uncomfortable.flaunting is false>>

		<<else>>

		<</if>>
	<</if>>
	<<if !_disabled.includes($transformationParts.angel.wings)>>

	<</if>>
	<<if !_disabled.includes($transformationParts.fallenAngel.wings)>>

	<</if>>

	<<if $hairposition is "front">>

	<<else>>

	<</if>>

	<<if _hairlengthstage is "thighs" and $hairtype is "default">>

	<<elseif _hairlengthstage is "feet" and $hairtype is "default">>

	<</if>>

	<<if _penisSize isnot undefined and _showClothes is false and _showUnderwear is false>>
		<<if $player.virginity.penile is true>>

		<<else>>

		<</if>>
	<</if>>
	<<if $skinColor.tanImgEnabled is "f">>
		<<set $skinColor.tanImgEnabled to "t">>
		<<set _tanReset to true>>
	<</if>>
	<<faceimg 1>>
	<<if _tanReset>>
		<<set $skinColor.tanImgEnabled to "f">>
		<<unset _tanReset>>
	<</if>>
	<<if _clothesType is "male">>
		<<if _showClothes is true>>

		<</if>>
		<<if _showUnderwear is true>>

		<</if>>
	<<elseif _clothesType is "female">>
		<<if _showClothes is true>>

		<</if>>
		<<if _showUnderwear is true>>
			<<if $breastsize gt 3>>

			<</if>>

		<</if>>
	<</if>>
	<</if>>

<</widget>>

<<widget "startingPlayerImageUpdate">>
<<if $passage is "Start">>
	<<replace #settingsExit>><<settingsExit>><</replace>>
	<<replace #startingPlayerImage>>
		<<startingPlayerImage>>
	<</replace>>
<</if>>
<</widget>>

:: StoryRightSidebar

Testing

repo_name: Area/degrees

license: mit


code:
:: Characteristics [widget]

<<widget "characteristics">>

It is the $monthday<<monthday>> of <<month>> $year.

It has been $days days since the game started.

<<if $hardmodedays isnot undefined>>
	You survived $hardmodedays days on hard mode.

<</if>>
<<schoolterm>>

It is $season.

You are
<<if $wolfgirl gte 6 or $cat gte 6 or $cow gte 6 or $harpy gte 6>>
	<<if $angel gte 6>>
		an angelic
	<<elseif $fallenangel gte 2>>
		a fallen
	<<elseif $demon gte 6>>
		a demonic
	<<else>>
		a
	<</if>>
	<<if $wolfgirl gte 6 and ($demon gte 6 or $fallenangel gte 2)>>
		hellhound
	<<elseif $wolfgirl gte 6 and $angel gte 6>>
		dog
	<<elseif $wolfgirl gte 6>>
		wolf
	<<elseif $cat gte 6>>
		cat
	<<elseif $bunny gte 6>>
		bunny
	<<elseif $cow gte 6>>
		<<if $player.gender_appearance is "m">>
			bull
		<<else>>
			cow
		<</if>>
	<<elseif $harpy gte 6>>
		<<if $hallucinations gte 2 or $bestialitydisable is "t">>
			harpy
		<<else>>
			bird
		<</if>>
	<</if>>
<<else>>
	<<if $angel gte 6>>
		an angel
	<<elseif $fallenangel gte 2>>
		a fallen angel
	<<elseif $demon gte 6>>
		a demon
	<<else>>
		a
	<</if>>
<</if>>
<<gender>>.

<<switch $devlevel>>
	<<case 6>>You are tiny compared to others.
	<<case 10>>You are small compared to others.
	<<case 12>>You are of average height.
	<<case 16>>You are large compared to others.
<</switch>>
<<if $makeup.eyelenses>>
	You have $eyecolour eyes beneath <<print $makeup.eyelenses>> lenses.
<<else>>
	You have $eyecolour eyes.
<</if>>
You have a <<skincolourtext>> <<if $breastsize gte 1>>You have <<breasts>>.<</if>> You have a <<bottom>>. <<if $player.penisExist>>You have a <<penis>>.<</if>>

<<set _hairTextConfig = { currentValue : $hairlength, states : [
		{ requiredValue: 0,   	color: '',	preText: 'Your ', 									description: '<<haircolourtext>>', postText: ' hair is short.' },
		{ requiredValue: 100,   color: '',	preText: 'When left natural, your ',				description: '<<haircolourtext>>', postText: ' hair passes your chin, <<fringelength>>' },
		{ requiredValue: 200,   color: '',	preText: 'When left natural, your ',				description: '<<haircolourtext>>', postText: ' hair comes down to your shoulders, <<fringelength>>' },
		{ requiredValue: 300,   color: '',	preText: 'When left natural, your ',				description: '<<haircolourtext>>', postText: ' hair is quite long, and comes down to the top of your chest, <<fringelength>>' },
		{ requiredValue: 400,   color: '',	preText: 'When left natural, your long ',			description: '<<haircolourtext>>', postText: ' hair hangs down to your nipples, <<fringelength>>' },
		{ requiredValue: 500,   color: '',	preText: 'When left natural, your long ',			description: '<<haircolourtext>>', postText: ' hair reaches the top of your tummy, <<fringelength>>' },
		{ requiredValue: 600,   color: '',	preText: 'When left natural, your long ',			description: '<<haircolourtext>>', postText: ' hair reaches your navel, <<fringelength>>' },
		{ requiredValue: 700,  	color: '',	preText: 'When left natural, your very long ',		description: '<<haircolourtext>>', postText: ' hair reaches your thighs, <<fringelength>>' },
		{ requiredValue: 800,   color: '',	preText: 'When left natural, your very long ',		description: '<<haircolourtext>>', postText: ' hair reaches your knees, <<fringelength>>' },
		{ requiredValue: 900,   color: '',	preText: 'When left natural, your extremely long ',	description: '<<haircolourtext>>', postText: ' hair reaches your ankles, <<fringelength>>' },
		{ requiredValue: 1000,  color: '',	preText: 'When left natural, your ',				description: '<<haircolourtext>>', postText: ' hair is so long you need be careful lest you trip on it, <<fringelength>>' }
	]
}>>
<<characteristic-text _hairTextConfig>>

<<if $sexStats.vagina.pregnancy.awareOf is true>>
	<<set _pregnancy to $sexStats.vagina.pregnancy>>
	<<if _pregnancy.timer gte _pregnancy.timerStart * 0.66>>
		You know your in the first trimester of your pregnancy.
	<<elseif _pregnancy.timer gte _pregnancy.timerStart * 0.33>>
		You know your in the second trimester of your pregnancy.
	<<else>>
		You know your in the third trimester of your pregnancy.
	<</if>>
	<<if _pregnancy.potentialFathers.length is 1>>
		Your sure the father is <<print _pregnancy.potentialFathers[0]>>.
	<<elseif _pregnancy.potentialFathers.length is 2>>
		Your pretty sure the father is either <<print _pregnancy.potentialFathers[0]>> or <<print _pregnancy.potentialFathers[1]>>.
	<<elseif _pregnancy.potentialFathers.length is 3>>
		Your pretty sure the father is either <<print _pregnancy.potentialFathers[0]>>, <<print _pregnancy.potentialFathers[1]>> or <<print _pregnancy.potentialFathers[2]>>.
	<<else>>
		Your unsure on who the father is.
	<</if>>

<</if>>

<<if $player.penisExist>>
	<<set _semenCapacityTextConfig = { currentValue : $semen_volume, preText: 'You produce ', states : [
			{ requiredValue: 0,   	color: '',		 description: '', 				postText: ' no cum.' },
			{ requiredValue: 1, 	color: 'red',	 description: 'a tiny', 		postText: ' amount of cum, ' },
			{ requiredValue: 100,   color: 'pink',	 description: 'a small', 		postText: ' amount of cum, ' },
			{ requiredValue: 300,   color: 'purple', description: 'a limited', 		postText: ' amount of cum, ' },
			{ requiredValue: 500,   color: 'blue',	 description: 'a decent',		postText: ' amount of cum, ' },
			{ requiredValue: 1000,	color: 'lblue',	 description: 'a large', 		postText: ' amount of cum, ' },
			{ requiredValue: 1500,	color: 'teal',	 description: 'a huge',			postText: ' amount of cum, ' },
			{ requiredValue: 2000,	color: 'green',	 description: 'a prodigious',	postText: ' amount of cum, ' }
		]
	}>>
	<<set _semenVolumeTextConfig = { currentValue : $semen_amount, states : [
			{ requiredValue: 0, 						color: 'red',	 preText: "", 				description: "but you\'ve been milked completely dry."},
			{ requiredValue: ($semen_volume / 7) * 2,   color: 'pink',	 preText: "but you\'re ",	description: 'running out. '},
			{ requiredValue: ($semen_volume / 7) * 3,   color: 'purple', preText: "but you\'re ",	description: 'running low. '},
			{ requiredValue: ($semen_volume / 7) * 4,   color: 'blue',	 preText: "and you\'ve ",	description: 'about half left. '},
			{ requiredValue: ($semen_volume / 7) * 5,	color: 'lblue',	 preText: "and you have ", 	description: 'plenty left. '},
			{ requiredValue: ($semen_volume / 7) * 6,	color: 'teal',	 preText: "and you\'re ", 	description: 'almost full. '},
			{ requiredValue:  $semen_volume,			color: 'green',	 preText: "and you\'re ",	description: 'full to the brim. '}
		]
	}>>
	<<characteristic-text _semenCapacityTextConfig>>
	<<if $semen_volume gt 0>>
		<<characteristic-text _semenVolumeTextConfig>>
		<<if $semen_amount gte $semen_volume>>
			<<if $arousal gte ($arousalmax / 5) * 4>>
				As you're already full, your arousal is increasing your capacity.
			<<elseif $arousal gte ($arousalmax / 5) * 3>>
				As you're already full, your arousal is increasing your capacity.
			<</if>>
		<<else>>
			<<if $arousal gte ($arousalmax / 5) * 4>>
				Your arousal is helping recover.
			<<elseif $arousal gte ($arousalmax / 5) * 3>>
				Your arousal is helping recover.
			<</if>>
		<</if>>
	<</if>>

<</if>>

<<if $lactating is 1 and $breastfeedingdisable is "f">>
	<<set _milkCapacityTextConfig = { currentValue : $milk_volume, preText: 'Your breasts produce a ', postText: ' amount of milk, ', states : [
				{ requiredValue: 0, 	color: 'red',	 description: 'tiny'},
				{ requiredValue: 100,   color: 'pink',	 description: 'small'},
				{ requiredValue: 300,   color: 'purple', description: 'limited'},
				{ requiredValue: 500,   color: 'blue',	 description: 'decent'},
				{ requiredValue: 1000,	color: 'lblue',	 description: 'large'},
				{ requiredValue: 1500,	color: 'teal',	 description: 'huge'},
				{ requiredValue: 2000,	color: 'green',	 description: 'prodigious'}
			]
		}>>
	<<set _milkVolumeTextConfig = { currentValue : $milk_amount, states : [
			{ requiredValue: 0, 						color: 'red',	 preText: "", 				description: " but you\'ve been milked completely dry."},
			{ requiredValue: ($milk_volume / 7) * 2,	color: 'pink',	 preText: "but you\'re ",	description: ' running out.'},
			{ requiredValue: ($milk_volume / 7) * 3,	color: 'purple', preText: "but you\'re ",	description: ' running low.'},
			{ requiredValue: ($milk_volume / 7) * 4,	color: 'blue',	 preText: "and you\'ve  ",	description: ' about half left.'},
			{ requiredValue: ($milk_volume / 7) * 5,	color: 'lblue',	 preText: "and you have ", 	description: ' plenty left.'},
			{ requiredValue: ($milk_volume / 7) * 6,	color: 'teal',	 preText: "and you\'re ", 	description: ' almost full.'},
			{ requiredValue:  $milk_volume,				color: 'green',	 preText: "and you\'re ",	description: ' full to the brim.'}
		]
	}>>
	<<characteristic-text _milkCapacityTextConfig>>
	<<characteristic-text _milkVolumeTextConfig>>

<</if>>

<<set _holeWetnessStates = [
		{ requiredValue: 0,		color: 'green',	description: 'dry.',			postText: ' Insertions will be difficult.' },
		{ requiredValue: 15,	color: 'teal',	description: 'a little slick.',	postText: ' Insertions will be difficult for all but the smallest penises.' },
		{ requiredValue: 30,	color: 'lblue',	description: 'slick.',			postText: ' Most penises will have a hard time penetrating.' },
		{ requiredValue: 45,	color: 'blue',	description: 'moist.',			postText: ' Some penises will be able to penetrate without difficulty.' },
		{ requiredValue: 60,	color: 'purple',description: 'wet.', 			postText: ' Most penises will have an easy time sliding in.' },
		{ requiredValue: 75,	color: 'pink',	description: 'dripping.',		postText: ' All but the largest penises will have an easy time sliding in.' },
		{ requiredValue: 90,	color: 'red',	description: 'drenched.',		postText: ' Even the largest penises will have an easy time sliding in.' }
]>>

<<if $player.vaginaExist>>
	<<set _vaginaWetnessTextConfig = { currentValue : $vaginaWetness, preText: 'Your vagina is ', states: _holeWetnessStates}>>
	<<characteristic-text _vaginaWetnessTextConfig>>

<</if>>

<<if $player.penisExist>>
	<<set _penisWetnessTextConfig = { currentValue : $penisWetness, preText: 'Your penis is ', states: [
		{ requiredValue: 0,		color: 'green',	description: 'dry.',				postText: ($penissize >= 2) ? " Insertions may be difficult." : ''},
		{ requiredValue: 15,	color: 'teal',	description: 'a little slick.',	postText: ''},
		{ requiredValue: 30,	color: 'lblue',	description: 'slick.',			postText: ''},
		{ requiredValue: 45,	color: 'blue',	description: 'moist.',			postText: ''},
		{ requiredValue: 60,	color: 'purple',description: 'wet.', 			postText: ''},
		{ requiredValue: 75,	color: 'pink',	description: 'dripping.',		postText: ''},
		{ requiredValue: 90,	color: 'red',	description: 'well-lubricated.',	postText: ($penissize >= 4) ? " It shouldn\'t have much trouble sliding into places, even at your size." : ''}
	]}>>
	<<characteristic-text _penisWetnessTextConfig>>

<</if>>

<<if $analdisable is "f">>
	<<set _analWetnessTextConfig = { currentValue : $anusWetness, preText: 'Your ass is ', states: _holeWetnessStates}>>
	<<characteristic-text _analWetnessTextConfig>>
<</if>>

<<bodywriting>>

Core Characteristics

		<<silently>>

			<<if $demon gte 6>>
				<<set _purityIcon='ui/sym_demon_purity'>>
			<<elseif $fallenangel gte 2>>
				<<set _purityIcon='ui/sym_fallen_purity'>>
			<<else>>
				<<set _purityIcon='ui/sym_purity'>>
			<</if>>
			<<set _purityConfig = { name : "Purity", icon : _purityIcon, displayType : "level", currentValue : $purity, modifier: 100,
				states : [
					{ requiredValue: 0, 	level: 0, color: 'red',		description: 'You are beyond defiled.'},
					{ requiredValue: 1, 	level: 1, color: 'red',		description: 'You feel utterly defiled.'},
					{ requiredValue: 500, 	level: 2, color: 'pink',	description: 'You feel defiled.'},
					{ requiredValue: 600, 	level: 3, color: 'purple',	description: 'You feel somewhat defiled.'},
					{ requiredValue: 700, 	level: 4, color: 'blue',	description: 'You feel soiled.'},
					{ requiredValue: 800, 	level: 5, color: 'lblue',	description: 'You feel slightly soiled.'},
					{ requiredValue: 900, 	level: 6, color: 'teal',	description: "You don\'t feel entirely pure."},
					{ requiredValue: 1000,	level: 7, color: 'green',	description: 'You are angelic.'}
				]
			}>>

			<<set _awarenessConfig = { name : "Awareness", icon : "ui/sym_awareness", displayType : "level", currentValue : $awareness, modifier: 100,
				states : [
					{ requiredValue: -200, 	level: 0, color: 'green',	description: 'You are innocent.'},
					{ requiredValue: 1, 	level: 1, color: 'teal',	description: 'You are almost entirely innocent.'},
					{ requiredValue: 100, 	level: 2, color: 'lblue',	description: 'You have a limited understanding of sexuality.'},
					{ requiredValue: 200, 	level: 3, color: 'blue',	description: 'You have a normal understanding of sexuality.'},
					{ requiredValue: 300, 	level: 4, color: 'purple',	description: 'Your knowledge of sexual depravity extends beyond that of most people.'},
					{ requiredValue: 400, 	level: 5, color: 'pink',	description: 'You have seen things that few are privy to.'},
					{ requiredValue: 500, 	level: 6, color: 'red',		description: 'You have peered into the depths of depravity.'},
					{ requiredValue: 1000,	level: 7, color: 'red',		description: 'Your understanding is transcendental.'}
				]
			}>>

			<<set _physiqueConfig = { name : "Physique", icon : "ui/sym_physique", displayType : "level", currentValue : $physique, maxValue: $physiquesize, modifier: 100,
				states : [
					{ requiredValue: 0, 						level: 0, color: 'red',		description: 'You are emaciated.'},
					{ requiredValue:  $physiquesize / 7, 		level: 1, color: 'pink',	description: 'You are skinny.'},
					{ requiredValue: ($physiquesize / 7) * 2, 	level: 2, color: 'purple',	description: 'Your body is lithe and slender.'},
					{ requiredValue: ($physiquesize / 7) * 3, 	level: 3, color: 'blue',	description: 'Your body is slim.'},
					{ requiredValue: ($physiquesize / 7) * 4, 	level: 4, color: 'lblue',	description: 'Your body is slim and athletic.'},
					{ requiredValue: ($physiquesize / 7) * 5, 	level: 5, color: 'teal',	description: 'Your body is toned and firm.'},
					{ requiredValue: ($physiquesize / 7) * 6, 	level: 6, color: 'green',	description: 'Your body is toned and powerful.'}
				]
			}>>
			<<if $moorLuck gt 0>>
				<<set _physiqueConfig.modifier to Math.floor(_physiqueConfig.modifier * (1 + ($moorLuck / 100)))>>
			<</if>>
			<<if $sexStats.vagina.pregnancy.bellySize gte 10>>
				<<switch $pregnancyStats.mother>>
					<<case 0>><<set _pregnancyModifier to 30>>
					<<case 1>><<set _pregnancyModifier to 40>>
					<<case 2>><<set _pregnancyModifier to 50>>
					<<case 3>><<set _pregnancyModifier to 65>>
					<<case 4>><<set _pregnancyModifier to 100>>
				<</switch>>
				<<set _physiqueConfig.modifier to Math.floor(_physiqueConfig.modifier * (1 - ($sexStats.vagina.pregnancy.bellySize / _pregnancyModifier)))>>
			<</if>>
			<<switch $location>>
				<<case "forest" "moor" "farm" "alex_farm">>
					<<if $worn.feet.type.includes("heels")>>
						<<set _physiqueConfig.modifier to Math.floor(_physiqueConfig.modifier * (1 - ($worn.feet.reveal / 5000)))>>
					<</if>>
					<<if $worn.feet.type.includes("rugged")>>
						<<set _physiqueConfig.modifier to Math.floor(_physiqueConfig.modifier * (1 + ($feetskill / 10000)))>>
					<</if>>
			<</switch>>

			<<set _willpowerConfig = { name : "Willpower", icon : "ui/redbolt", displayType : "level", currentValue : $willpower, maxValue: $willpowermax, modifier: 100,
				states : [
					{ requiredValue: 0, 						level: 0, color: 'red',		description: 'You are timid.'},
					{ requiredValue:  $willpowermax / 7, 		level: 1, color: 'pink',	description: 'You are fainthearted.'},
					{ requiredValue: ($willpowermax / 7) * 2, 	level: 2, color: 'purple',	description: 'You are mindful.'},
					{ requiredValue: ($willpowermax / 7) * 3, 	level: 3, color: 'blue',	description: 'You are resolved.'},
					{ requiredValue: ($willpowermax / 7) * 4, 	level: 4, color: 'lblue',	description: 'You are determined.'},
					{ requiredValue: ($willpowermax / 7) * 5, 	level: 5, color: 'teal',	description: 'You are tenacious.'},
					{ requiredValue: ($willpowermax / 7) * 6, 	level: 6, color: 'green',	description: 'Your will is iron.'}
				]
			}>>
			<<if $moorLuck gt 0>>
				<<set _willpowerConfig.modifier to Math.floor(_willpowerConfig.modifier * (1 + ($moorLuck / 100)))>>
			<</if>>
			<<if $parasite.left_ear.name is "slime" and $parasite.right_ear.name is "slime">>
				<<set _willpowerConfig.modifier to Math.floor(_willpowerConfig.modifier * 0.9)>>
			<</if>>

			<<set _beautyConfig = { name : "Beauty", icon : "ui/sym_beauty", displayType : "level", currentValue : $beauty, maxValue: $beautymax, modifier: 100,
				states : [
					{ requiredValue: 0, 					level: 0, color: 'red',		description: 'You are plain.'},
					{ requiredValue:  $beautymax / 7, 		level: 1, color: 'pink',	description: 'You are cute.'},
					{ requiredValue: ($beautymax / 7) * 2, 	level: 2, color: 'purple',	description: 'You are pretty.'},
					{ requiredValue: ($beautymax / 7) * 3, 	level: 3, color: 'blue',	description: 'You are charming.'},
					{ requiredValue: ($beautymax / 7) * 4, 	level: 4, color: 'lblue',	description: 'You are beautiful.'},
					{ requiredValue: ($beautymax / 7) * 5, 	level: 5, color: 'teal',	description: 'You are ravishing.'},
					{ requiredValue: ($beautymax / 7) * 6, 	level: 6, color: 'green',	description: 'Your beauty is divine.'}
				]
			}>>

			<<set _promiscuityConfig = { name : "Promiscuity", icon : "ui/sym_promiscuity", displayType : "level", currentValue : $promiscuity, maxValue: 100, modifier: 100,
				states : [
					{ requiredValue: 0,		level: 0, color: 'green',	description: 'You are chaste and pure.'},
					{ requiredValue: 1,		level: 1, color: 'teal',	description: 'You are prudish.'},
					{ requiredValue: 15, 	level: 2, color: 'lblue',	description: 'You are sexually curious.'},
					{ requiredValue: 35, 	level: 3, color: 'blue',	description: 'The thought of sexual contact excites you.'},
					{ requiredValue: 55, 	level: 4, color: 'purple',	description: 'You crave sexual contact.'},
					{ requiredValue: 75, 	level: 5, color: 'pink',	description: 'You are a slut.'},
					{ requiredValue: 95, 	level: 6, color: 'red',		description: 'Your sexual appetite is insatiable.'}
				]
			}>>

			<<set _exhibitionismConfig = { name : "Exhibitionism", icon : "ui/sym_exhibitionism", displayType : "level", currentValue : $exhibitionism, maxValue: 100, modifier: 100,
				states : [
					{ requiredValue: 0, 	level: 0, color: 'green',	description: 'You are coy.'},
					{ requiredValue: 1,		level: 1, color: 'teal',	description: 'You are shy.'},
					{ requiredValue: 15, 	level: 2, color: 'lblue',	description: 'You like being sexualised.'},
					{ requiredValue: 35, 	level: 3, color: 'blue',	description: 'You enjoy lewd attention.'},
					{ requiredValue: 55, 	level: 4, color: 'purple',	description: 'Feeling exposed excites you.'},
					{ requiredValue: 75, 	level: 5, color: 'pink',	description: 'You are shameless.'},
					{ requiredValue: 95, 	level: 6, color: 'red',		description: 'The thought of exposure fills you with wild abandon.'}
				]
			}>>

			<<set _deviancyConfig = { name : "Deviancy", icon : "ui/sym_deviancy", displayType : "level", currentValue : $deviancy, maxValue: 100, modifier: 100,
				states : [
					{ requiredValue: 0, 	level: 0, color: 'green',	description: 'You are squeamish.'},
					{ requiredValue: 1,		level: 1, color: 'teal',	description: 'You are conventional.'},
					{ requiredValue: 15, 	level: 2, color: 'lblue',	description: 'Your tastes are strange.'},
					{ requiredValue: 35, 	level: 3, color: 'blue',	description: 'Your tastes are shocking.'},
					{ requiredValue: 55, 	level: 4, color: 'purple',	description: 'Your desires are scandalous.'},
					{ requiredValue: 75, 	level: 5, color: 'pink',	description: "You crave acts others wouldn\'t conceive of."},
					{ requiredValue: 95, 	level: 6, color: 'red',		description: 'You lust for the unspeakable.'}
				]
			}>>
		<</silently>>

		<<characteristic-box _purityConfig>>
		<<characteristic-box _beautyConfig>>
		<<characteristic-box _physiqueConfig>>
		<<characteristic-box _willpowerConfig>>
		<<characteristic-box _awarenessConfig>>
		<<characteristic-box _promiscuityConfig>>
		<<characteristic-box _exhibitionismConfig>>
		<<characteristic-box _deviancyConfig>>

	<<silently>>
		<<set _basicSkillGrades=[
			{ requiredValue: 0, 	level: "None",	color: 'red'},
			{ requiredValue: 1, 	level: "F",		color: 'pink'},
			{ requiredValue: 200, 	level: "D",		color: 'purple'},
			{ requiredValue: 400, 	level: "C",		color: 'blue'},
			{ requiredValue: 600, 	level: "B",		color: 'lblue'},
			{ requiredValue: 800, 	level: "A",		color: 'teal'},
			{ requiredValue: 1000, 	level: "S",		color: 'green'}
		]>>
		<<set _detailedSkillGrades=[
			{ requiredValue: 0, 	level: "None",	color: 'red'},
			{ requiredValue: 1, 	level: "F",		color: 'pink'},
			{ requiredValue: 100, 	level: "F+",	color: 'pink'},
			{ requiredValue: 200, 	level: "D",		color: 'purple'},
			{ requiredValue: 300, 	level: "D+",	color: 'purple'},
			{ requiredValue: 400, 	level: "C",		color: 'blue'},
			{ requiredValue: 500, 	level: "C+",	color: 'blue'},
			{ requiredValue: 600, 	level: "B",		color: 'lblue'},
			{ requiredValue: 700, 	level: "B+",	color: 'lblue'},
			{ requiredValue: 800, 	level: "A",		color: 'teal'},
			{ requiredValue: 900, 	level: "A+",	color: 'teal'},
			{ requiredValue: 1000, 	level: "S",		color: 'green'}
		]>>
	<</silently>>

Skills

		<<silently>>
			<<set _corruptionConfig = 	{ name : "Corruption", 	displayType : "none",	currentValue : $corruption_slime, modifier: 100,	meterColor: 'red'}>>
			<<set _skulduggeryConfig = 	{ name : "Skulduggery", displayType : "grade",	currentValue : $skulduggery,	modifier: 100,		states : _detailedSkillGrades}>>
			<<set _dancingConfig = 		{ name : "Dancing", 	displayType : "grade",	currentValue : $danceskill,		modifier: 100,		states : _basicSkillGrades}>>
			<<set _swimmingConfig = 	{ name : "Swimming", 	displayType : "grade",	currentValue : $swimmingskill,	modifier: 100,		states : _detailedSkillGrades}>>
			<<set _athleticsConfig = 	{ name : "Athletics", 	displayType : "grade",	currentValue : $athletics, 		modifier: 100, 		states : _detailedSkillGrades}>>
			<<set _tendingConfig = 		{ name : "Tending", 	displayType : "grade",	currentValue : $tending, 		modifier: 100, 		states : _detailedSkillGrades}>>

			<<if $moorLuck gt 0>>
				<<set _skulduggeryConfig.modifier to Math.floor(_skulduggeryConfig.modifier * (1 + ($moorLuck / 100)))>>
				<<set _dancingConfig.modifier to Math.floor(_dancingConfig.modifier * (1 + ($moorLuck / 100)))>>
				<<set _swimmingConfig.modifier to Math.floor(_swimmingConfig.modifier * (1 + ($moorLuck / 100)))>>
				<<set _athleticsConfig.modifier to Math.floor(_athleticsConfig.modifier * (1 + ($moorLuck / 100)))>>
				<<set _tendingConfig.modifier to Math.floor(_tendingConfig.modifier * (1 + ($moorLuck / 100)))>>
			<</if>>
			<<if $sexStats.vagina.pregnancy.bellySize gte 10>>
				<<switch $pregnancyStats.mother>>
					<<case 0>><<set _pregnancyModifier to 30>>
					<<case 1>><<set _pregnancyModifier to 40>>
					<<case 2>><<set _pregnancyModifier to 50>>
					<<case 3>><<set _pregnancyModifier to 65>>
					<<case 4>><<set _pregnancyModifier to 100>>
				<</switch>>
				<<set _dancingConfig.modifier to Math.floor(_dancingConfig.modifier * (1 - ($sexStats.vagina.pregnancy.bellySize / _pregnancyModifier)))>>
				<<set _swimmingConfig.modifier to Math.floor(_swimmingConfig.modifier * (1 - ($sexStats.vagina.pregnancy.bellySize / _pregnancyModifier)))>>
				<<set _athleticsConfig.modifier to Math.floor(_athleticsConfig.modifier * (1 - ($sexStats.vagina.pregnancy.bellySize / _pregnancyModifier)))>>
			<</if>>
			<<if $worn.hands.type.includes("sticky_fingers")>>
				<<set _skulduggeryConfig.modifier to Math.floor(_skulduggeryConfig.modifier * 1.05)>>
			<</if>>
			<<if $harpy gte 2 or $cat gte 2>>
				<<set _skulduggeryConfig.modifier to Math.floor(_skulduggeryConfig.modifier * 1.05)>>
			<</if>>
			<<if $bunny gte 2>>
				<<set _athleticsConfig.modifier to Math.floor(_athleticsConfig.modifier * 1.05)>>
			<</if>>
			<<if $worn.under_upper.type.includesAny("dance", "naked") and $worn.under_lower.type.includesAny("dance", "naked")
			and $worn.upper.type.includesAny("dance", "naked")and $worn.lower.type.includesAny("dance", "naked")>>
				<<set _dancingConfig.modifier to Math.floor(_dancingConfig.modifier * 1.05)>>
			<</if>>
			<<if $worn.under_upper.type.includesAny("swim", "naked") and $worn.under_lower.type.includesAny("swim", "naked")
			and $worn.upper.type.includesAny("swim", "naked")and $worn.lower.type.includesAny("swim", "naked")>>
				<<set _swimmingConfig.modifier to Math.floor(_swimmingConfig.modifier * 1.05)>>
			<</if>>
			<<if $worn.feet.type.includes("swim")>>
				<<set _swimmingConfig.modifier to Math.floor(_swimmingConfig.modifier * (1 + ($feetskill / 10000)))>>
			<<elseif !$worn.feet.type.includes("naked")>>
				<<if $worn.feet.type.includes("heels")>>
					<<set _heels to 0.1>>
				<<else>>
					<<set _heels to 0>>
				<</if>>
				<<set _swimmingConfig.modifier to Math.floor(_swimmingConfig.modifier * (0.9 + ($feetskill / 10000) - _heels))>>
			<</if>>
			<<switch $location>>
				<<case "forest" "moor" "farm" "alex_farm">>
					<<if $worn.feet.type.includes("heels")>>
						<<set _athleticsConfig.modifier to Math.floor(_athleticsConfig.modifier * (1 - ($worn.feet.reveal / 5000)))>>
					<</if>>
					<<if $worn.feet.type.includes("rugged")>>
						<<set _athleticsConfig.modifier to Math.floor(_athleticsConfig.modifier * (1 + ($feetskill / 10000)))>>
					<</if>>
			<</switch>>
			<<if $worn.feet.type.includes("shackle")>>
				<<set _athleticsConfig.modifier to 0>>
				<<set _swimmingConfig.modifier to Math.floor(_swimmingConfig.modifier * 0.5)>>
				<<set _dancingConfig.modifier to Math.floor(_dancingConfig.modifier * 0.5)>>
			<</if>>
			<<if $backgroundTraits.includes("plantlover")>>
				<<set _tendingConfig.modifier to Math.floor(_tendingConfig.modifier * (1 + ($trauma / ($traumamax * 2))))>>
			<</if>>
		<</silently>>

		<<if $parasite.left_ear.name is "slime" or $parasite.right_ear.name is "slime">>
			<<characteristic-box _corruptionConfig>>
		<</if>>
		<<characteristic-box _skulduggeryConfig>>
		<<characteristic-box _dancingConfig>>
		<<characteristic-box _swimmingConfig>>
		<<characteristic-box _athleticsConfig>>
		<<characteristic-box _tendingConfig>>

		<<if $blackmoney gte 1>>
			You are carrying £<<print $blackmoney>> in stolen goods.

		<</if>>
		<<set _plant_keys to Object.keys($plants)>>
		<<for _t to 0; _t lt _plant_keys.length; _t++>>
			<<if $plants[_plant_keys[_t]].amount gte 1>><<set _plant_temp to 1>>
				You have <<print $plants[_plant_keys[_t]].amount>> <<print $plants[_plant_keys[_t]].plural>>. |
			<</if>>
		<</for>>
		<<if _plant_temp is 1>>You can sell them by renting a stand on Connudatus Street at dawn.<</if>>
		<<if $phials_held gte 2>>
			You are carrying $phials_held phials of aphrodisiac. You can sell them on Elk Street.
		<<elseif $phials_held gte 1>>
			You are carrying a phial of aphrodisiac. You can sell it on Elk Street.
		<</if>>
		<<if $lurkers_held gte 1>>
			You are carrying a lurker.
		<</if>>

Sex Skills

	<<silently>>
		<<set _seductionConfig =	{ name : "Seduction",	displayType : "grade",	currentValue : $seductionskill, modifier: 100,		states : _basicSkillGrades}>>
		<<set _oralConfig = 		{ name : "Oral", 		displayType : "grade",	currentValue : $oralskill, 		modifier: 100,		states : _basicSkillGrades}>>
		<<set _chestConfig = 		{ name : "Chest", 		displayType : "grade",	currentValue : $chestskill, 	modifier: 100,		states : _basicSkillGrades}>>
		<<set _handsConfig = 		{ name : "Hands", 		displayType : "grade",	currentValue : $handskill, 		modifier: 100,		states : _basicSkillGrades}>>
		<<set _buttocksConfig =		{ name : "Buttocks", 	displayType : "grade",	currentValue : $bottomskill, 	modifier: 100,		states : _basicSkillGrades}>>
		<<set _analConfig = 		{ name : "Anal", 		displayType : "grade",	currentValue : $analskill, 		modifier: 100,		states : _basicSkillGrades}>>
		<<set _thighsConfig = 		{ name : "Thighs", 		displayType : "grade",	currentValue : $thighskill, 	modifier: 100,		states : _basicSkillGrades}>>
		<<set _feetConfig = 		{ name : "Feet", 		displayType : "grade",	currentValue : $feetskill, 		modifier: 100,		states : _basicSkillGrades}>>
		<<if $player.penisExist>>
			<<set _penileConfig = 	{ name : "Penile", 		displayType : "grade",	currentValue : $penileskill, 	modifier: 100,	states : _basicSkillGrades}>>
		<</if>>
		<<if $player.vaginaExist>>
			<<set _vaginalConfig = 	{ name : "Vaginal", 	displayType : "grade",	currentValue : $vaginalskill, 	modifier: 100,	states : _basicSkillGrades}>>
		<</if>>
	<</silently>>
	<<if $images is 1>>

			<<player-base-body>>

					<<characteristic-box _seductionConfig>>

					<<characteristic-box _chestConfig>>
					<<connector-box 52 35 10>>

					<<characteristic-box _buttocksConfig>>
					<<connector-box 37 50 20>>

				<<if $player.vaginaExist>>

						<<characteristic-box _vaginalConfig>>
						<<connector-box 0 50 3>>

						<<characteristic-box _thighsConfig>>
						<<connector-box 37 35 10 true>>

				<<else>>

						<<characteristic-box _thighsConfig>>
						<<connector-box 0 35 10>>

				<</if>>

					<<connector-box 71 35 3>>
					<<characteristic-box _oralConfig>>

					<<connector-box 74 50 15>>
					<<characteristic-box _handsConfig>>

				<<if $player.penisExist>>

						<<connector-box 36 65 2>>
						<<characteristic-box _penileConfig>>

						<<connector-box 2 50 12 true>>
						<<characteristic-box _analConfig>>

						<<connector-box 0 50 14>>
						<<characteristic-box _feetConfig>>

				<<else>>

						<<connector-box 39 65 12>>
						<<characteristic-box _analConfig>>

						<<connector-box 45 80 15>>
						<<characteristic-box _feetConfig>>

				<</if>>

	<<else>>

			<<characteristic-box _seductionConfig>>
			<<characteristic-box _oralConfig>>
			<<if $player.vaginaExist>>
				<<characteristic-box _vaginalConfig>>
			<</if>>
			<<if $player.penisExist>>
				<<characteristic-box _penileConfig>>
			<</if>>
			<<characteristic-box _analConfig>>
			<<characteristic-box _handsConfig>>
			<<characteristic-box _feetConfig>>
			<<characteristic-box _thighsConfig>>
			<<characteristic-box _buttocksConfig>>
			<<characteristic-box _chestConfig>>

	<</if>>

School Performance

		<<silently>>
			<<set _schoolGradeStates= [
				{ requiredValue: -1, 	level: 'F',	 color: 'red'},
				{ requiredValue: 0, 	level: 'D',  color: 'purple'},
				{ requiredValue: 1, 	level: 'C',  color: 'blue'},
				{ requiredValue: 2, 	level: 'B',  color: 'lblue'},
				{ requiredValue: 3,		level: 'A',  color: 'teal'},
				{ requiredValue: 4,		level: 'A*', color: 'green'}
			]>>

			<<set _scienceConfig = 	{ name : 'Science', icon : 'misc/icon/science', displayType : "grade",	currentValue : $sciencetrait, 	modifier: 100,	percent: $science_exam, 	showStars: true, starLevel: $science_star,	states : _schoolGradeStates}>>
			<<set _mathsConfig = 	{ name : 'Maths', 	icon : 'misc/icon/math', 	displayType : "grade",	currentValue : $mathstrait, 	modifier: 100,	percent: $maths_exam,	 	showStars: true, starLevel: $maths_star,	states : _schoolGradeStates}>>
			<<set _englishConfig = 	{ name : 'English', icon : 'misc/icon/english', displayType : "grade",	currentValue : $englishtrait, 	modifier: 100,	percent: $english_exam, 	showStars: true, starLevel: $english_star,	states : _schoolGradeStates}>>
			<<set _historyConfig = 	{ name : 'History', icon : 'misc/icon/history', displayType : "grade",	currentValue : $historytrait, 	modifier: 100,	percent: $history_exam, 	showStars: true, starLevel: $history_star,	states : _schoolGradeStates}>>
			<<if $moorLuck gt 0>>
				<<set _scienceConfig.modifier to Math.floor(_scienceConfig.modifier * (1 + ($moorLuck / 100)))>>
				<<set _mathsConfig.modifier to Math.floor(_mathsConfig.modifier * (1 + ($moorLuck / 100)))>>
				<<set _englishConfig.modifier to Math.floor(_englishConfig.modifier * (1 + ($moorLuck / 100)))>>
				<<set _historyConfig.modifier to Math.floor(_historyConfig.modifier * (1 + ($moorLuck / 100)))>>
			<</if>>
		<</silently>>

		<<characteristic-box _scienceConfig>>
		<<characteristic-box _mathsConfig>>
		<<characteristic-box _englishConfig>>
		<<characteristic-box _historyConfig>>

		<<set _schoolPerformanceConfig = { currentValue : $school, preText: 'Your overall school performance is ', modifier: 100, states : [
				{ requiredValue: 0,   	color: 'red',		description: 'appalling.'},
				{ requiredValue: 1, 	color: 'pink',		description: 'awful.'},
				{ requiredValue: 400,   color: 'purple',	description: 'bad.'},
				{ requiredValue: 800,   color: 'blue',		description: 'okay.'},
				{ requiredValue: 1600,  color: 'lblue',		description: 'good.'},
				{ requiredValue: 2800,	color: 'teal',		description: 'excellent.'},
				{ requiredValue: 4000,	color: 'green',		description: 'exemplary.'}
			]
		}>>
		<<characteristic-text _schoolPerformanceConfig>>

		<<if $antiquemoney gt 0>>
			You are carrying antiques worth £<<print $antiquemoney>>.
		<</if>>

Weapon skills

		<<silently>>
			<<set _sprayConfig = 		{ name : "Sprays", 		displayType : "grade",	currentValue : $prof.spray, 		modifier: 100,		states : _basicSkillGrades}>>
			<<set _netConfig = 		{ name : "Nets", 		displayType : "grade",	currentValue : $prof.net, 		modifier: 100,		states : _basicSkillGrades}>>
			<<set _hiddenConfig = 		{ name : "????", 		displayType : "grade",	currentValue : 0, 		modifier: 100,		states : _basicSkillGrades}>>
		<</silently>>
		<<characteristic-box _sprayConfig>>
		<<if $prof.net isnot undefined>>
			<<characteristic-box _netConfig>>
		<<else>>
			<<characteristic-box _hiddenConfig>>
		<</if>>

__Insecurities__ - Scrutiny becomes harder to take as insecurity increases, inflicting more stress and damaging control. Acceptance renders you immune to the effect.

<<if $insecurity_penis_tiny gte 1 and $penissize lte 0 and $acceptance_penis_tiny lte 999>>
	Insecurity: Tiny Penis

		<<set _percent=Math.floor(($insecurity_penis_tiny/1000)*100)>>
		<<print '

'>>

	<<if $acceptance_penis_tiny gte 1 and $acceptance_penis_tiny lte 999 and $penissize lte 0>>
		Acceptance: Tiny Penis

			<<set _percent=Math.floor(($acceptance_penis_tiny/1000)*100)>>
			<<print '

'>>

	<</if>>
<</if>>
<<if $insecurity_penis_small gte 1 and $penissize is 1 and $acceptance_penis_small lte 999>>
	Insecurity: Small Penis

		<<set _percent=Math.floor(($insecurity_penis_small/1000)*100)>>
		<<print '

'>>

	<<if $acceptance_penis_small gte 1 and $acceptance_penis_small lte 999 and $penissize is 1>>
		Acceptance: Small Penis

			<<set _percent=Math.floor(($acceptance_penis_small/1000)*100)>>
			<<print '

'>>

	<</if>>
<</if>>
<<if $player.gender is "m">>
	<<if $insecurity_penis_big gte 1 and $penissize gte 4 and $acceptance_penis_big lte 999>>
		Insecurity: Enormous Penis

			<<set _percent=Math.floor(($insecurity_penis_big/1000)*100)>>
			<<print '

'>>

		<<if $acceptance_penis_big gte 1 and $acceptance_penis_big lte 999 and $penissize gte 4>>
			Acceptance: Big Penis

				<<set _percent=Math.floor(($acceptance_penis_big/1000)*100)>>
				<<print '

'>>

		<</if>>
	<</if>>
<<else>>
	<<if $insecurity_penis_big gte 1 and $penissize gte 2 and $acceptance_penis_big lte 999>>
		Insecurity: Enormous Penis

			<<set _percent=Math.floor(($insecurity_penis_big/1000)*100)>>
			<<print '

'>>

		<<if $acceptance_penis_big gte 1 and $acceptance_penis_big lte 999 and $penissize gte 2>>
			Acceptance: Big Penis

				<<set _percent=Math.floor(($acceptance_penis_big/1000)*100)>>
				<<print '

'>>

		<</if>>
	<</if>>
<</if>>
<<if $insecurity_breasts_tiny gte 1 and $breastsize lte 0 and $player.gender is "f" and $acceptance_breasts_tiny lte 999>>
	Insecurity: Flat Chest

		<<set _percent=Math.floor(($insecurity_breasts_tiny/1000)*100)>>
		<<print '

'>>

	<<if $acceptance_breasts_tiny gte 1 and $acceptance_breasts_tiny lte 999 and $breastsize lte 0 and $player.gender is "f">>
		Acceptance: Tiny Breasts

			<<set _percent=Math.floor(($acceptance_breasts_tiny/1000)*100)>>
			<<print '

'>>

	<</if>>
<</if>>
<<if $insecurity_breasts_small gte 1 and $breastsize gte 1 and $breastsize lte 5 and $acceptance_breasts_small lte 999>>
	Insecurity: Small Breasts

		<<set _percent=Math.floor(($insecurity_breasts_small/1000)*100)>>
		<<print '

'>>

	<<if $acceptance_breasts_small gte 1 and $acceptance_breasts_small lte 999 and $breastsize gte 1 and $breastsize lte 5>>
		Acceptance: Small Breasts

			<<set _percent=Math.floor(($acceptance_breasts_small/1000)*100)>>
			<<print '

'>>

	<</if>>
<</if>>
<<if $player.gender is "f">>
	<<if $insecurity_breasts_big gte 1 and $breastsize gte 8 and $acceptance_breasts_big lte 999>>
	Insecurity: Huge Breasts

			<<set _percent=Math.floor(($insecurity_breasts_big/1000)*100)>>
			<<print '

'>>

		<<if $acceptance_breasts_big gte 1 and $acceptance_breasts_big lte 999 and $breastsize gte 8>>
			Acceptance: Big Breasts

				<<set _percent=Math.floor(($acceptance_breasts_big/1000)*100)>>
				<<print '

'>>

		<</if>>
	<</if>>
<<else>>
	<<if $insecurity_breasts_big gte 1 and $breastsize gte 6 and $acceptance_breasts_big lte 999>>
		Insecurity: Huge Breasts

			<<set _percent=Math.floor(($insecurity_breasts_big/1000)*100)>>
			<<print '

'>>

		<<if $acceptance_breasts_big gte 1 and $acceptance_breasts_big lte 999 and $breastsize gte 6>>
			Acceptance: Big Breasts

				<<set _percent=Math.floor(($acceptance_breasts_big/1000)*100)>>
				<<print '

'>>

		<</if>>
	<</if>>
<</if>>

<</widget>>