code:
:: Widgets Actions Vagina [widget]

<<widget "actionsvaginatopenis">>

<<if $combattype is "train">>
	<<set _end to $enemyno-1>>
<<else>>
	<<set _end to 0>>
<</if>>

	<<for _j = $enemyno-1; _j gte _end; _j-->>
		<<if $NPCList[_j].penis is 0>>
			<<if $consensual is 1 and $promiscuity lte 74 and $enemytype is "man" or $consensual is 1 and $deviancy lte 74 and $enemytype isnot "man">>

			<<elseif $NPCList[_j].stance isnot "topface">>
				<<if $vaginaactiondefault is "vaginatopenis">>
					| Straddle <<his>> penis <<radiobutton "$vaginaaction" "vaginatopenis" checked>><<vaginaldifficulty>> <<combatpromiscuous5>>
				<<else>>
					| Straddle <<his>> penis <<radiobutton "$vaginaaction" "vaginatopenis">><<vaginaldifficulty>> <<combatpromiscuous5>>
				<</if>>
				<<break>>
			<</if>>
		<</if>>
	<</for>>

<</widget>>

<<widget "actionsvaginatovagina">>
<<if $combattype is "train">>
	<<set _end to $enemyno-1>>
<<else>>
	<<set _end to 0>>
<</if>>

<<if !$worn.genitals.type.includes("chastity")>>
	<<for _j = $enemyno-1; _j gte _end; _j-->>
		<<if $NPCList[_j].vagina is 0>>
			<<if $consensual is 1 and $promiscuity lte 74 and $enemytype is "man" or $consensual is 1 and $deviancy lte 74 and $enemytype isnot "man">>

			<<elseif $NPCList[_j].stance isnot "topface">>
				<<if $vaginaactiondefault is "vaginatovagina">>
					| Straddle <<his>> pussy <<radiobutton "$vaginaaction" "vaginatovagina" checked>><<vaginaldifficulty>> <<combatpromiscuous5>>
				<<else>>
					| Straddle <<his>> pussy <<radiobutton "$vaginaaction" "vaginatovagina">><<vaginaldifficulty>> <<combatpromiscuous5>>
				<</if>>
				<<break>>
			<</if>>
		<</if>>
	<</for>>
<</if>>
<</widget>>

<<widget "actionsvaginatovaginafuck">>
<<if $combattype is "train">>
	<<set _end to $enemyno-1>>
<<else>>
	<<set _end to 0>>
<</if>>

<<if !$worn.genitals.type.includes("chastity")>>
	<<for _j = $enemyno-1; _j gte _end; _j-->>
		<<if $NPCList[_j].vagina is "vaginaentrance" or $NPCList[_j].vagina is "vaginaimminent">>
			<<if $consensual is 1 and $promiscuity lte 74 and $enemytype is "man" or $consensual is 1 and $deviancy lte 74 and $enemytype isnot "man">>

			<<elseif $NPCList[_j].stance isnot "topface">>
				<<if $vaginaactiondefault is "vaginatovaginafuck">>
					| Push your pussy against theirs <<radiobutton "$vaginaaction" "vaginatovaginafuck" checked>><<vaginaldifficulty>> <<combatpromiscuous5>>
				<<else>>
					| Push your pussy against theirs <<radiobutton "$vaginaaction" "vaginatovaginafuck">><<vaginaldifficulty>> <<combatpromiscuous5>>
				<</if>>
				<<break>>
			<</if>>
		<</if>>
	<</for>>
<</if>>
<</widget>>

<<widget "actionsvaginatopenisnew">>
<<if $NPCList[$vaginatarget].penis is 0>>
	<<if $consensual is 1 and ($promiscuity lte 74 and $enemytype is "man" or $deviancy lte 74 and $enemytype isnot "man") and !$promiscuityIgnore>>

	<<elseif $NPCList[$vaginatarget].stance isnot "topface" and ($enemytype isnot "man" or ($NPCList[$vaginatarget].location.genitals is 0 and $NPCList[$vaginatarget].location.head isnot "genitals"))>>
		<<if $NPCList[$vaginatarget].chastity.penis.includes("chastity")>>
			<<set _vaginaaction["Straddle " + $NPCList[$vaginatarget].pronouns.his + " " + $NPCList[$vaginatarget].chastity.penis] to "vaginatopenis">>
		<<else>>
			<<set _vaginaaction["Straddle " + $NPCList[$vaginatarget].pronouns.his + " penis"] to "vaginatopenis">>
		<</if>>
	<</if>>
<</if>>
<</widget>>

<<widget "actionsvaginatovaginanew">>
<<if $NPCList[$vaginatarget].vagina is 0>>
	<<if $consensual is 1 and ($promiscuity lte 74 and $enemytype is "man" or $deviancy lte 74 and $enemytype isnot "man") and !$promiscuityIgnore>>

	<<elseif $NPCList[$vaginatarget].stance isnot "topface" and ($enemytype isnot "man" or ($NPCList[$vaginatarget].location.genitals is 0 and $NPCList[$vaginatarget].location.head isnot "genitals"))>>
		<<if $NPCList[$vaginatarget].chastity.penis.includes("chastity")>>
			<<set _vaginaaction["Straddle " + $NPCList[$vaginatarget].pronouns.his + " " + $NPCList[$vaginatarget].chastity.vagina] to "vaginatovagina">>
		<<else>>
			<<set _vaginaaction["Straddle " + $NPCList[$vaginatarget].pronouns.his + " pussy"] to "vaginatovagina">>
		<</if>>
	<</if>>
<</if>>
<</widget>>

<<widget "actionsvaginatovaginafucknew">>
<<if $NPCList[$vaginatarget].vagina is "vaginaentrance" or $NPCList[$vaginatarget].vagina is "vaginaimminent">>
	<<if $consensual is 1 and (($promiscuity lte 74 and $enemytype is "man" or $deviancy lte 74 and $enemytype isnot "man") and !$promiscuityIgnore) or $NPCList[$vaginatarget].chastity.vagina.includes("chastity")>>

	<<else>>
		<<set _vaginaaction["Push your pussy against " + $NPCList[$vaginatarget].pronouns.hers] to "vaginatovaginafuck">>
	<</if>>
<</if>>
<</widget>>

<<widget "actionsvaginapenisfuck">>

<<if $combattype is "train">>
	<<set _end to $enemyno-1>>
<<else>>
	<<set _end to 0>>
<</if>>

<<if !$worn.genitals.type.includes("chastity") and $worn.under_lower.vagina_exposed is 1 and $worn.lower.vagina_exposed is 1>>
	<<for _j = $enemyno-1; _j gte _end; _j-->>
		<<if $NPCList[_j].penis is "vaginaentrance" or $NPCList[_j].penis is "vaginaimminent">>
			<<if $consensual is 1 and $promiscuity lte 74 and $enemytype is "man" or $consensual is 1 and $deviancy lte 74 and $enemytype isnot "man">>

			<<else>>
				<<if $vaginaactiondefault is "vaginapenisfuck">>
					| Envelop <<his>> penis <<radiobutton "$vaginaaction" "vaginapenisfuck" checked>> <<combatpromiscuous5>><<vaginalvirginitywarning>><<NPCvirginitywarning $NPCList[_j].fullDescription "penile">>
				<<else>>
					| Envelop <<his>> penis <<radiobutton "$vaginaaction" "vaginapenisfuck">> <<combatpromiscuous5>><<vaginalvirginitywarning>><<NPCvirginitywarning $NPCList[_j].fullDescription "penile">>
				<</if>>
				<<break>>
			<</if>>
		<</if>>
	<</for>>
<</if>>

<</widget>>

<<widget "actionsvaginapenisfucknew">>
<<if !$worn.genitals.type.includes("chastity") and $worn.under_lower.vagina_exposed is 1 and $worn.lower.vagina_exposed is 1>>
	<<if $NPCList[$vaginatarget].penis is "vaginaentrance" or $NPCList[$vaginatarget].penis is "vaginaimminent">>
		<<if $consensual is 1 and (($promiscuity lte 74 and $enemytype is "man" or $deviancy lte 74 and $enemytype isnot "man") and !$promiscuityIgnore) or $NPCList[$vaginatarget].chastity.penis.includes("chastity")>>

		<<else>>
			<<set _vaginaaction["Envelop " + $NPCList[$vaginatarget].pronouns.his + " penis"] to "vaginapenisfuck">>
		<</if>>
	<</if>>
<</if>>
<</widget>>

<<widget "actionsvaginaMouthEntrance">>
<<if $NPCList[$vaginatarget].mouth is "vaginaentrance">>
	<<set _vaginaaction["Press your thigh against " + $NPCList[$vaginatarget].pronouns.his + " mouth"] to "thighbay">>
	<<set _vaginaaction["Rub against " + $NPCList[$vaginatarget].pronouns.his + " face"] to "othermouthtease">>
<</if>>
<</widget>>

<<widget "actionsvaginaVaginaImminent">>
<<if $consensual is 0 or ($promiscuity lte 54 and $enemytype is "man" and !$promiscuityIgnore) or ($deviancy lte 54 and $enemytype isnot "man" and !$promiscuityIgnore)>>
   <<set _vaginaaction["Cooperate"] to "othervaginarub">>
<<else>>
   <<set _vaginaaction["Rub"] to "othervaginarub">>
<</if>>
	<<set _vaginaaction["Pull away"] to "tribescape">>
<</widget>>

<<widget "actionsvaginaMouthImminent">>
<<if $NPCList[$vaginatarget].mouth is "vaginaimminent">>
	<<set _vaginaaction["Rub against " + $NPCList[$vaginatarget].pronouns.his + " lips"] to "othermouthrub">>
	<<set _vaginaaction["Pull away"] to "othermouthescape">>
<</if>>
<</widget>>

<<widget "actionsvaginaMouthPenetrated">>
<<if $consensual is 0 or ($promiscuity lte 54 and $enemytype is "man" and !$promiscuityIgnore) or ($deviancy lte 54 and $enemytype isnot "man" and !$promiscuityIgnore)>>
   <<set _vaginaaction["Cooperate"] to "othermouthcooperate">>
<<else>>
   <<set _vaginaaction["Hump"] to "othermouthcooperate">>
<</if>>
<</widget>>

<<widget "actionsvaginaPenisEntrance">>
<<actionsvaginapenisfucknew>>
<<if $consensual is 1 and ($promiscuity lte 54 and $enemytype is "man" or $deviancy lte 54 and $enemytype isnot "man") and !$promiscuityIgnore>>
<<else>>
	<<if $thighuse is 0>>
		<<set _vaginaaction["Try to keep it away with your thighs"] to "penisthighs">>
	<</if>>
<</if>>
<<if $anususe is 0 and $worn.genitals.anal_shield isnot 1>>
	<<set _vaginaaction["Offer your anus instead"] to "penisanus">>
<</if>>
<<if $analdoubledisable is "f" and $awareness gt 300 and $anususe is "penis" and $worn.genitals.anal_shield isnot 1>>
	<<if $NPCList[$anustarget].penissize gte 2 and !($consensual is 1 and ($promiscuity lte 74 and $enemytype is "man" or $deviancy lte 74 and $enemytype isnot "man") and !$promiscuityIgnore)>>
		<<set _vaginaaction["Offer double anal instead"] to "penisanusdouble">>
	<</if>>
<</if>>
<<set _vaginaaction["Tease the tip"] to "penistease">>
<<if $vaginaldoubledisable is "f" and _secondtarget is true and ($anususe is 0 or ($anususe isnot 0 and $anususe isnot "penisdouble")) and $awareness gte 300>>
	<<if $npc.includes($NPCList[$vaginadoubletarget].fullDescription)>>
		<<set _vaginaaction["Straddle " + $NPCList[$vaginadoubletarget].fullDescription + "'s " + $NPCList[$vaginadoubletarget].penisdesc] to "vaginatopenisdouble">>
	<<else>>
		<<set _vaginaaction["Straddle the " + $NPCList[$vaginadoubletarget].fullDescription + "'s " + $NPCList[$vaginadoubletarget].penisdesc] to "vaginatopenisdouble">>
	<</if>>
<</if>>
<</widget>>

<<widget "actionsvaginaVaginaEntrance">>
<<if $consensual is 0 or ($promiscuity lte 54 and $enemytype is "man" and !$promiscuityIgnore) or ($deviancy lte 54 and $enemytype isnot "man" and !$promiscuityIgnore)>>
   <<set _vaginaaction["Cooperate"] to "othervaginarub">>
<<else>>
   <<set _vaginaaction["Rub"] to "othervaginarub">>
<</if>>
<</widget>>

<<widget "actionsvaginaPenisImminent">>
<<actionsvaginapenisfucknew>>
<<set _vaginaaction["Rub"] to "rub">>
<<if ($consensual is 0 or ($promiscuity gte 55 and $enemytype is "man") or ($deviancy gte 55 and $enemytype isnot "man")) and $vaginalskill gte 800>>
   <<set _vaginaaction["Edging"] to "penisEdging">>
<</if>>
<<set _vaginaaction["Pull away"] to "escape">>
<</widget>>

<<widget "actionsvaginaPenisPenetrated">>
<<set _vaginaaction["Take it"] to "take">>
<<if $consensual is 0 or ($promiscuity lte 54 and $enemytype is "man" and !$promiscuityIgnore) or ($deviancy lte 54 and $enemytype isnot "man" and !$promiscuityIgnore)>>
   <<set _vaginaaction["Cooperate"] to "cooperate">>
<<else>>
   <<set _vaginaaction["Fuck"] to "cooperate">>
<</if>>
<<if ($consensual is 0 or ($promiscuity gte 55 and $enemytype is "man") or ($deviancy gte 55 and $enemytype isnot "man")) and $vaginalskill gte 800>>
   <<set _vaginaaction["Edging"] to "penisEdging">>
<</if>>
<<if $vaginaldoubledisable is "f" and _secondtarget is true and ($anususe is 0 or ($anususe isnot 0 and $anususe isnot "penisdouble")) and $awareness gte 300>>
	<<if $npc.includes($NPCList[$vaginadoubletarget].fullDescription)>>
		<<set _vaginaaction["Straddle " + $NPCList[$vaginadoubletarget].fullDescription + "'s " + $NPCList[$vaginadoubletarget].penisdesc] to "vaginatopenisdouble">>
	<<else>>
		<<set _vaginaaction["Straddle the " + $NPCList[$vaginadoubletarget].fullDescription + "'s " + $NPCList[$vaginadoubletarget].penisdesc] to "vaginatopenisdouble">>
	<</if>>
<</if>>
<</widget>>

<<widget "actionsvaginaVagina">>
<<if $consensual is 0 or ($promiscuity lte 54 and $enemytype is "man" and !$promiscuityIgnore) or ($deviancy lte 54 and $enemytype isnot "man" and !$promiscuityIgnore)>>
   <<set _vaginaaction["Cooperate"] to "tribcooperate">>
<<else>>
   <<set _vaginaaction["Rub"] to "tribcooperate">>
<</if>>
	<<set _vaginaaction["Take it"] to "tribtake">>
	<<set _vaginaaction["Pull away"] to "tribescape">>
<</widget>>

<<widget "actionsTribRest">>
<<set _vaginaaction["Rest"] to "tribrest">>
<</widget>>

<<widget "actionsvaginaPenisDoubleEntrance">>
	<<actionsvaginapenisdoublefuck>>
	<<if $consensual is 1 and ($promiscuity lte 54 and $enemytype is "man" or $deviancy lte 54 and $enemytype isnot "man") and !$promiscuityIgnore>>
	<<else>>/*
		<<if $thighuse is 0>>
			<<set _vaginaaction["Try to keep it away with your thighs"] to "penisthighs">>
		<</if>>*/
	<</if>>
	<<if $anususe is 0 and $worn.genitals.anal_shield isnot 1>>
		<<set _vaginaaction["Offer your anus instead"] to "penisanusdvp">>
	<</if>>
	<<set _vaginaaction["Tease the tip"] to "penistease">>
<</widget>>

<<widget "actionsvaginaPenisDoubleImminent">>
	<<actionsvaginapenisdoublefuck>>
	<<set _vaginaaction["Rub"] to "rub">>
	<<if ($consensual is 0 or ($promiscuity gte 55 and $enemytype is "man") or ($deviancy gte 55 and $enemytype isnot "man")) and $vaginalskill gte 800>>
	<<set _vaginaaction["Edging"] to "penisDoubleEdging">>
	<</if>>
	<<if $anususe is 0 and $worn.genitals.anal_shield isnot 1>>
		<<set _vaginaaction["Offer your anus instead"] to "penisanusdvp">>
	<</if>>
	<<set _vaginaaction["Pull away"] to "doubleescape">>
<</widget>>

<<widget "actionsvaginaPenisDoublePenetrated">>
	<<set _vaginaaction["Take it"] to "take">>
	<<if $consensual is 0 or ($promiscuity lte 54 and $enemytype is "man" and !$promiscuityIgnore) or ($deviancy lte 54 and $enemytype isnot "man" and !$promiscuityIgnore)>>
		<<set _vaginaaction["Cooperate"] to "doublecooperate">>
	<<else>>
		<<set _vaginaaction["Fuck"] to "doublecooperate">>
	<</if>>
	<<if ($consensual is 0 or ($promiscuity gte 55 and $enemytype is "man") or ($deviancy gte 55 and $enemytype isnot "man")) and $vaginalskill gte 800>>
		<<set _vaginaaction["Edging"] to "penisDoubleEdging">>
	<</if>>
<</widget>>

<<widget "actionsvaginapenisdoublefuck">>
<<if !$worn.genitals.type.includes("chastity") and $worn.under_lower.vagina_exposed is 1 and $worn.lower.vagina_exposed is 1 and $awareness gte 300>>

		<<if $consensual is 1 and (($promiscuity lte 74 and $enemytype is "man" or $deviancy lte 74 and $enemytype isnot "man" and $awareness lt 300) and !$promiscuityIgnore) or $NPCList[$vaginatarget].chastity.penis.includes("chastity")>>

		<<else>>
			<<if $NPCList[$vaginatarget].penis is "vaginadouble" or $NPCList[$vaginatarget].chastity.penis.includes("chastity")>>
				<<set _vaginaaction["Envelop " + $NPCList[$vaginadoubletarget].pronouns.his + " " + $NPCList[$vaginadoubletarget].penisdesc] to "vaginapenisdoublefuck">>
			<<elseif $NPCList[$vaginadoubletarget].penis is "vaginadouble" or $NPCList[$vaginadoubletarget].chastity.penis.includes("chastity")>>
				<<set _vaginaaction["Envelop " + $NPCList[$vaginatarget].pronouns.his + " " + $NPCList[$vaginatarget].penisdesc] to "vaginapenisdoublefuck">>
			<<elseif !($NPCList[$vaginatarget].chastity.penis.includes("chastity") and $NPCList[$vaginadoubletarget].chastity.penis.includes("chastity"))>>
				<<set _vaginaaction["Envelop both their penises"] to "vaginapenisdoublefuck">>
			<</if>>
		<</if>>
<</if>>
<</widget>>

:: Widgets Effects Vagina [widget]

<<widget "effectsvaginatopenis">>
<<if $vaginaaction is "vaginatopenis">>
	<<personselect $vaginatarget>>
	<<set $vaginaaction to 0>><<submission 10 $vaginatarget>><<vaginalskilluse>><<combatpromiscuity5>>
	<<if (1000 - ($rng * 10) - ($enemytrust * 10) - $vaginalskill + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>>
		<<if $NPCList[$vaginatarget].penis is 0>>
			<<submission 2 $vaginatarget>><<set $vaginause to "penis">><<set $NPCList[$vaginatarget].penis to "vaginaentrance">><<set $vaginastate to "entrance">><<set $vaginaactiondefault to "penistease">>
			<<if $leftarm is "vagina">>
				<<set $leftarm to 0>>
			<</if>>
			<<if $rightarm is "vagina">>
				<<set $rightarm to 0>>
			<</if>>
			<<if $condomUse is false>>
			<<elseif ($condomUse is true or (random(0,100) lt $condomautochance and $npcCondoms isnot undefined)) and $NPCList[$vaginatarget].condom is false>>
				<<equipCondom $vaginatarget>>
				<<He>> slips a condom on <<his>> penis.
			<</if>>
			You straddle <<combatperson>> and kiss <<his>> $NPCList[$vaginatarget].penisdesc with your <<pussy>><<if $NPCList[$vaginatarget].chastity.penis.includes("chastity")>> through <<his>> $NPCList[$vaginatarget].chastity.penis<</if>>.
			<<if $enemytype is "beast">><<set $NPCList[$vaginatarget].stance to "top">><</if>>
			<<set $NPCList[$vaginatarget].location.genitals to "genitals">>
		<<else>>
			You try to straddle <<combatpersons>> $NPCList[$vaginatarget].penisdesc, but the phallus is already occupied.<<set $vaginaactiondefault to "vaginatopenis">>
		<</if>>
	<<else>>
		You try to straddle <<combatperson>> but <<ohe>> pushes you off.<<set $vaginaactiondefault to "vaginatopenis">>
	<</if>>
<</if>>

<</widget>>

<<widget "effectsvaginatovagina">>
<<if $vaginaaction is "vaginatovagina">>
	<<personselect $vaginatarget>>
	<<set $vaginaaction to 0>><<submission 5 $vaginatarget>><<vaginalskilluse>><<combatpromiscuity5>>
	<<if (1000 - ($rng * 10) - ($enemytrust * 10) - $vaginalskill + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>>
		<<if $NPCList[$vaginatarget].vagina is 0>>
			<<set $vaginause to "othervagina">><<set $vaginastate to "othervaginaentrance">><<set $NPCList[$vaginatarget].vagina to "vaginaentrance">><<submission 5 $vaginatarget>><<set $vaginaactiondefault to "othervaginarub">>
			<<if $leftarm is "vagina">>
				<<set $leftarm to 0>>
			<</if>>
			<<if $rightarm is "vagina">>
				<<set $rightarm to 0>>
			<</if>>
			You kiss <<combatperson>>'s pussy with your own<<if $NPCList[$vaginatarget].chastity.vagina.includes("chastity")>> through <<his>> $NPCList[$vaginatarget].chastity.vagina<</if>>.
			<<if $enemytype is "beast">><<set $NPCList[$vaginatarget].stance to "top">><</if>>
			<<set $NPCList[$vaginatarget].location.genitals to "genitals">>
		<<else>>
			You try to move your <<pussy>> nearer <<combatpersons>>, but the entrance is already occupied.<<set $vaginaactiondefault to "vaginatovagina">>
		<</if>>
	<<else>>
		You try to move your <<pussy>> nearer <<combatpersons>>, but <<ohe>> pushes you off.<<set $vaginaactiondefault to "vaginatovagina">>
	<</if>>
<</if>>
<</widget>>

<<widget "effectsvaginatovaginafuck">>
<<if $vaginaaction is "vaginatovaginafuck">>
	<<set $vaginaaction to 0>><<submission 5 $vaginatarget>><<vaginalskilluse>><<combatpromiscuity5>>
	<<if (1000 - ($rng * 10) - ($enemytrust * 10) - $vaginalskill + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>>
		<<submission 5 $vaginatarget>><<set $vaginause to "othervagina">><<set $vaginastate to "othervagina">><<set $NPCList[$vaginatarget].vagina to "vagina">><<set $vaginaactiondefault to "tribcooperate">>
		You press <<personselect $vaginatarget>><<combatperson>>'s pussy with your own.
	<<else>>
		You try to press your <<pussy>> against <<personselect $vaginatarget>><<combatperson>>'s, but <<ohe>> keeps you away.<<set $vaginaactiondefault to "vaginatovaginafuck">>
	<</if>>
<</if>>
<</widget>>

<<widget "effectsvaginapenisfuck">>
<<if $vaginaaction is "vaginapenisfuck">>
	<<set $vaginaaction to 0>><<submission 20 $vaginatarget>><<vaginalskilluse>><<combatpromiscuity5>>
	<<if $vaginaWetness + ($vaginalskill / 10) gte ($NPCList[$vaginatarget].penissize * 15) + random(1, 40) or random(1, 2) is 2>>
		<<if $player.virginity.vaginal isnot true>>
			<<set $NPCList[$vaginatarget].penis to "vagina">>
			<<vagina_lube_text>> you <<vaginaltext>> push against <<personselect $vaginatarget>><<combatpersons>> $NPCList[$vaginatarget].penisdesc, taking it deep into your <<pussy>>.
			<<switch $NPCList[$vaginatarget].penissize>>
			<<case 5>>
				The sheer size of it forces the breath from your body.
			<<case 4>>
				You shudder as your <<pussy>> stretches to accommodate <<his>> cock.
			<<case 1>>
				It's so small you can barely feel it.
			<<default>>

			<</switch>>
			<<sex 30 $vaginatarget>><<vaginalstat>><<raped>><<vaginaraped>><<takeVirginity $NPCList[$vaginatarget].fullDescription "vaginal">><<takeNPCVirginity $NPCList[$vaginatarget].fullDescription "penile">><<set $vaginastate to "penetrated">><<set $vaginaactiondefault to "cooperate">>
		<<elseif $player.virginity.vaginal is true>>
			<<set $NPCList[$vaginatarget].penis to "vagina">><<set $vaginaactiondefault to "cooperate">>
			<<vagina_lube_text>> you <<vaginaltext>> push against <<personselect $vaginatarget>><<combatpersons>> $NPCList[$vaginatarget].penisdesc, taking it deep into your virgin pussy.
			<<if $sexStats.vagina.pregnancy.totalBirthEvents gt 0>>
				Despite your lack of a hymen, you feel something inside you change as your virginity and purity are taken.
				<<violence 10 $vaginatarget>>
			<<else>>
				<<switch $NPCList[$vaginatarget].penissize>>
					<<case 5>>
						The sheer size forces all thought from your mind. Your hymen is obliterated, forever robbing you of your purity.
						<<violence 50 $vaginatarget>>
					<<case 4>>
						Your hymen is destroyed, forever robbing you of your purity.
						<<violence 40 $vaginatarget>>
					<<case 1>>
						You feel your hymen tear despite its size, forever robbing you of your purity.  While technically no longer a virgin, you can barely feel it.
						<<violence 20 $vaginatarget>>
					<<default>>
						You feel your hymen tear, forever robbing you of your purity.
						<<violence 30 $vaginatarget>>
				<</switch>>
			<</if>>
			<<sex 100 $vaginatarget>><<bruise vagina>><<vaginalstat>><<raped>><<vaginaraped>><<takeVirginity $NPCList[$vaginatarget].fullDescription "vaginal">><<takeNPCVirginity $NPCList[$vaginatarget].fullDescription "penile">><<set $vaginastate to "penetrated">><<set $speechvaginavirgin to 1>>
		<</if>>
	<<else>>
		You <<vaginaltext>> press your <<pussy>> against <<personselect $vaginatarget>><<combatpersons>> <<print $NPCList[$vaginatarget].penisdesc>>, but fail to envelop. <<His>> penis angles away and rubs against your <<if $player.penisExist>><<penis>><<else>>clit<</if>>.
		<<sex 20 $vaginatarget>><<set $vaginaactiondefault to "vaginapenisfuck">>
	<</if>>
<</if>>
<</widget>>

<<widget "effectsvaginatopenisdouble">>
	<<if $vaginaaction is "vaginatopenisdouble">>
		<<set $vaginaaction to 0>><<submission 10 $vaginatarget $vaginadoubletarget>><<vaginalskilluse>><<set $vaginaactiondefault to "vaginatopenisdouble">><<combatpromiscuity5>>
		<<if (1000 - ($rng * 10) - ($enemytrust * 10) - $vaginalskill + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>>
			<<submission 2 $vaginatarget $vaginadoubletarget>><<set $vaginause to "penisdouble">><<set $NPCList[$vaginadoubletarget].penis to "vaginadoubleentrance">><<set $vaginastate to "doubleentrance">>
			<<if $NPCList[$vaginatarget].penis is "vaginaimminent">>
				<<set $NPCList[$vaginatarget].penis to "vaginadoubleimminent">>
				<<set $vaginastate to "doubleimminent">>
			<<elseif $NPCList[$vaginatarget].penis is "vaginaentrance">>
				<<set $NPCList[$vaginatarget].penis to "vaginadoubleentrance">>
			<<else>>
				<<set $NPCList[$vaginatarget].penis to "vaginadouble">>
				<<set $vaginastate to "doublepenetrated">>
			<</if>>

			<<if $leftarm is "vagina">>
				<<set $leftarm to 0>>
			<</if>>
			<<if $rightarm is "vagina">>
				<<set $rightarm to 0>>
			<</if>>
			<<if $condomUse is false>>
			<<elseif ($condomUse is true or (random(0,100) lt $condomautochance and $npcCondoms isnot undefined)) and $NPCList[$vaginadoubletarget].condom is false>>
				<<equipCondom $vaginadoubletarget>>
				<<He>> slips a condom on <<his>> penis.
			<</if>>
			You straddle <<personselect $vaginadoubletarget>><<combatperson>> and kiss <<his>> $NPCList[$vaginadoubletarget].penisdesc with your <<pussy>><<if $NPCList[$vaginadoubletarget].chastity.penis.includes("chastity")>> through <<his>> $NPCList[$vaginadoubletarget].chastity.penis<</if>>, joining <<personselect $vaginatarget>><<combatpersons>> <<npcPenisSimple $vaginatarget>>.
			<<if $enemytype is "beast">><<set $NPCList[$vaginadoubletarget].stance to "top">><</if>>
			<<set $NPCList[$vaginadoubletarget].location.genitals to "genitals">>
		<<else>>
			You try to straddle <<personselect $vaginadoubletarget>><<combatperson>> but <<ohe>> pushes you off.
		<</if>>
	<</if>>

<</widget>>

<<widget "effectsvaginapenisdoublefuck">>

	<<if $vaginaaction is "vaginapenisdoublefuck">>
		<<set $vaginaaction to 0>><<submission 20 $vaginatarget $vaginadoubletarget>><<vaginalskilluse>><<set $vaginaactiondefault to "vaginapenisdoublefuck">><<combatpromiscuity5>>

			<<set _npcA to $vaginatarget>>
			<<set _npcB to $vaginadoubletarget>>
			<<set _doublepenissize to $NPCList[$vaginatarget].penissize>>
			<<set _npcdicksizeA to $NPCList[_npcA].penissize>>
			<<set _npcdicksizeB to $NPCList[_npcB].penissize>>
			<<if _npcdicksizeA gte _npcdicksizeB>>
				<<set _doublepenissize to (_npcdicksizeA+1)>>
			<<else>>
				<<set _doublepenissize to (_npcdicksizeB+1)>>
			<</if>>
			<<if _doublepenissize gt 5>> /* Ensure combined they're not larger than the largest possible phallus */
				<<set _doublepenissize to 5>>
			<</if>>

			<<if $vaginaWetness + ($vaginalskill / 10) gte (_doublepenissize * 15) + random(1, 40) or random(0, 2) isnot 3>>
				<<if $player.virginity.vaginal isnot true>>
					<<set $NPCList[_npcA].penis to "vaginadouble">>
					<<set $NPCList[_npcB].penis to "vaginadouble">>
					<<vagina_lube_text>> you <<vaginaltext>> push against the $NPCList[_npcA].fullDescription's $NPCList[_npcA].penisdesc and the $NPCList[_npcB].fullDescription's $NPCList[_npcB].penisdesc, taking them deep into your <<pussy>>.
					<<switch _doublepenissize>>
						<<case 5>>
							The sheer size of them forces the breath from your body.
						<<case 4>>
							You shudder as your <<pussy>> stretches to accommodate their cocks.
						<<default>>

					<</switch>>
					Your nipples harden while your body shivers from taking two cocks.
					<<set _mydesc to ($NPCList[_npcA].fullDescription + " and " + $NPCList[_npcB].fullDescription)>>
					<<sex 30 $vaginatarget $vaginadoubletarget>><<vaginalstat>><<raped>><<vaginaraped>><<set $vaginastate to "doublepenetrated">>
					<<takeVirginity _mydesc "vaginal">><<takeNPCVirginity $NPCList[_npcA].fullDescription "penile">><<takeNPCVirginity $NPCList[_npcB].fullDescription "penile">>
				<<elseif $player.virginity.vaginal is true>>
					<<set $NPCList[_npcA].penis to "vaginadouble">>
					<<set $NPCList[_npcB].penis to "vaginadouble">>
					<<vagina_lube_text>> you <<vaginaltext>> push against the $NPCList[_npcA].fullDescription's $NPCList[_npcA].penisdesc and the $NPCList[_npcB].fullDescription's $NPCList[_npcB].penisdesc, taking them deep into your virgin pussy.
					<<if $sexStats.vagina.pregnancy.totalBirthEvents gt 0>>
						Despite your lack of a hymen, you feel something inside you change as your virginity and purity are taken.
						<<violence 10 $vaginatarget $vaginadoubletarget>>
					<<else>>
						<<switch _doublepenissize>>
							<<case 5>>
								The sheer size of their cocks forces all thought from your mind. Your hymen is obliterated, forever robbing you of your purity.
								<<violence 50 $vaginatarget $vaginadoubletarget>>
							<<case 4>>
								Your hymen is destroyed by both cocks, forever robbing you of your purity.
								<<violence 40 $vaginatarget $vaginadoubletarget>>
							<<default>>
								You feel your hymen tear from both cocks, forever robbing you of your purity.
								<<violence 30 $vaginatarget $vaginadoubletarget>>
						<</switch>>
					<</if>>
					Your nipples harden while your body shivers from taking two cocks.
					<<set _mydesc to ($NPCList[_npcA].fullDescription + " and " + $NPCList[_npcB].fullDescription)>>
					<<sex 100 $vaginatarget $vaginadoubletarget>><<bruise vagina>><<vaginalstat>><<raped>><<vaginaraped>><<takeVirginity _mydesc "vaginal">><<takeNPCVirginity $NPCList[_npcA].fullDescription "penile">><<takeNPCVirginity $NPCList[_npcB].fullDescription "penile">><<set $vaginastate to "doublepenetrated">><<set $speechvaginavirgin to 1>>
				<</if>>
			<<else>>
				You <<vaginaltext>> press your <<pussy>> against <<personselect $vaginatarget>><<combatpersons>> <<print $NPCList[$vaginatarget].penisdesc>>, but fail to envelop. <<His>> penis angles away and rubs against your <<if $player.penisExist>><<penis>><<else>>clit<</if>>.
				<<sex 20 $vaginatarget $vaginadoubletarget>><<set $vaginaactiondefault to "vaginapenisdoublefuck">>
			<</if>>
		<</if>>

<</widget>>

repo_name: Area/degrees

license: mit


code:
:: Widgets Actions Man [widget]
<<widget "actionsman">>

<<exposure>>
<<set $face to 0>>

/*ToDo: Pregnancy, remove to properly enable*/
<<if $pregnancyTesting is undefined>>
	<<set $condomUse to false>>
<</if>>

<<if $enemyno gte 2>>
	<<set $pronoun to "n">>
<<else>>
	<<if $NPCList[0].pronoun is "m">>
		<<set $pronoun to "m">>
	<</if>>
	<<if $NPCList[0].pronoun is "f">>
		<<set $pronoun to "f">>
	<</if>>
	<<if $NPCList[0].pronoun is "i">>
		<<set $pronoun to "i">>
	<</if>>
	<<if $NPCList[0].pronoun is "n">>
		<<set $pronoun to "n">>
	<</if>>
	<<if $NPCList[0].pronoun is "t">>
		<<set $pronoun to "t">>
	<</if>>
<</if>>

<<if $images is 1>>
	<<if $position isnot "stalk">>
		<<timed 100ms>>
		<<combatimg>>

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

<<if $traumafocus gte 1 and $traumafocusintro isnot 1>>
	<<set $traumafocusintro to 1>>
	As you gain focus, you become more and more likely to escape your helpless state of dissociation.

<</if>>

<<if $traumafocus gt random(1, 1000) and $dissociation gte 2 and $combat is 1>>
	<<set $traumafocus to 0>><<set $trauma -= 1000>><<set $dissociation to 1>>
	Your lucidity returns.
	<<ltrauma>>

	The weight of reality crashes down on you.

<</if>>

<<oxygen 50>>

<<willpowerpain>>
<<willpowerorgasm>>
<<actioncarry>>
<<actioncarrydrop>>

<<combatstate>>
<<carryblock>>

<<if $trance lte 0 and $panicparalysis is 0 and ($panicviolence is 0 or $position is "stalk") and !$possessed>>
	<<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined)>>
		<<if $images is 1 and $consensual is 1 and $position_lock isnot 1>>
			<<if $position is "doggy">>
				| Roll over <<radiobutton "$bodyaction" "missionary">>
			<<elseif $position is "missionary">>
				| Roll over <<radiobutton "$bodyaction" "doggy">>
			<</if>>
			<<if $position isnot "stalk">>
				| Rest <<radiobutton "$bodyaction" "rest" checked>>

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

	<<if $combatControls isnot "disabled">>
		<<generateActionsMan>>
	<</if>>

<</if>>

<<set $face to 0>>

/*Due to how combat is setup, this is the best location for it*/
<<setupMidOrgasm>>

/* Above comment does not refer to this debug section */
<<if $debug is 1>>
	__Debug__

	Enemy Health: $enemyhealth -- Enemy Health Max: $enemyhealthmax

	Enemy number: $enemyno -- Enemy max number: $enemynomax

	<<for _i to 0; _i lt $enemynomax; _i++>>
		#<<print _i>>: $NPCList[_i].fullDescription

		Head Location: $NPCList[_i].location.head -- Genitals Location: $NPCList[_i].location.genitals

		Active: $NPCList[_i].active -- Stance: $NPCList[_i].stance -- Health: $NPCList[_i].health

		Penis: $NPCList[_i].penis -- Vagina: $NPCList[_i].vagina -- Mouth: $NPCList[_i].mouth -- Anus: $NPCList[_i].anus
		/* Note: Anus is literally not a real var for npcs yet. Don't think anything is wrong when you see it isn't printing a logical value. A rework is required first. */

		Left Hand: $NPCList[_i].lefthand -- Right Hand: $NPCList[_i].righthand

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